From: Daniel Kirschten Date: Sun, 1 Sep 2019 11:28:16 +0000 (+0200) Subject: Merge branch 'fusebug' into development X-Git-Url: https://mograsim.net/gitweb/?a=commitdiff_plain;h=21ffb2a7f764069fb3c55b71647b43e8803e668c;hp=a89919ed17e728953766d9d617e7db86fcf315ee;p=Mograsim.git Merge branch 'fusebug' into development --- diff --git a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Clock.java b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Clock.java index 65621358..b691d7e7 100644 --- a/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Clock.java +++ b/net.mograsim.logic.core/src/net/mograsim/logic/core/components/Clock.java @@ -1,7 +1,11 @@ package net.mograsim.logic.core.components; +import java.util.Collection; +import java.util.HashSet; import java.util.List; +import net.mograsim.logic.core.LogicObservable; +import net.mograsim.logic.core.LogicObserver; import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.timeline.TimelineEvent; import net.mograsim.logic.core.timeline.TimelineEventHandler; @@ -10,8 +14,9 @@ import net.mograsim.logic.core.wires.Wire; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; -public class Clock extends Component implements TimelineEventHandler +public class Clock extends Component implements TimelineEventHandler, LogicObservable { + private Collection observers; private boolean toggle = false; private ReadWriteEnd out; private int delta; @@ -26,6 +31,7 @@ public class Clock extends Component implements TimelineEventHandler super(timeline); this.delta = delta; this.out = out; + this.observers = new HashSet<>(); addToTimeline(); } @@ -35,6 +41,7 @@ public class Clock extends Component implements TimelineEventHandler addToTimeline(); out.feedSignals(toggle ? Bit.ONE : Bit.ZERO); toggle = !toggle; + notifyObservers(); } public ReadWriteEnd getOut() @@ -42,6 +49,11 @@ public class Clock extends Component implements TimelineEventHandler return out; } + public boolean isOn() + { + return !toggle; + } + private void addToTimeline() { timeline.addEvent(this, delta); @@ -58,4 +70,22 @@ public class Clock extends Component implements TimelineEventHandler { return List.of(out); } + + @Override + public void registerObserver(LogicObserver ob) + { + observers.add(ob); + } + + @Override + public void deregisterObserver(LogicObserver ob) + { + observers.remove(ob); + } + + @Override + public void notifyObservers() + { + observers.forEach(ob -> ob.update(this)); + } } diff --git a/net.mograsim.logic.model.am2900/FusionNotWorkingTest.json b/net.mograsim.logic.model.am2900/FusionNotWorkingTest.json deleted file mode 100644 index da84908c..00000000 --- a/net.mograsim.logic.model.am2900/FusionNotWorkingTest.json +++ /dev/null @@ -1,648 +0,0 @@ -{ - "width": 0.0, - "height": 0.0, - "interfacePins": [], - "innerScale": 1.0, - "submodel": { - "components": [ - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#2", - "pos": { - "x": 185.0, - "y": 170.0 - }, - "params": 1 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", - "pos": { - "x": 391.0, - "y": 150.0 - }, - "params": 1 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", - "pos": { - "x": 391.0, - "y": 195.0 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#4", - "pos": { - "x": 185.0, - "y": 190.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", - "pos": { - "x": 380.0, - "y": 205.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", - "pos": { - "x": 370.0, - "y": 175.0 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#5", - "pos": { - "x": 185.0, - "y": 210.0 - }, - "params": 1 - }, - { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#7", - "pos": { - "x": 335.0, - "y": 135.0 - }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } - }, - { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#4", - "pos": { - "x": 335.0, - "y": 105.0 - }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", - "pos": { - "x": 360.0, - "y": 110.0 - }, - "params": 1 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", - "pos": { - "x": 391.0, - "y": 180.0 - }, - "params": 1 - }, - { - "id": "file:FusionNotWorkingTestInner.json", - "name": "inner", - "pos": { - "x": 220.0, - "y": 175.0 - } - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#32", - "pos": { - "x": 300.0, - "y": 107.5 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#33", - "pos": { - "x": 300.0, - "y": 137.5 - }, - "params": 1 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", - "pos": { - "x": 391.0, - "y": 165.0 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#0", - "pos": { - "x": 240.0, - "y": 150.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", - "pos": { - "x": 375.0, - "y": 190.0 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#35", - "pos": { - "x": 300.0, - "y": 122.5 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#34", - "pos": { - "x": 300.0, - "y": 92.5 - }, - "params": 1 - }, - { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#5", - "pos": { - "x": 335.0, - "y": 90.0 - }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", - "pos": { - "x": 345.0, - "y": 85.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", - "pos": { - "x": 365.0, - "y": 160.0 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#36", - "pos": { - "x": 300.0, - "y": 77.5 - }, - "params": 1 - }, - { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#6", - "pos": { - "x": 185.0, - "y": 230.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 360.0, - "y": 125.0 - }, - "params": 1 - }, - { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#6", - "pos": { - "x": 335.0, - "y": 120.0 - }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } - } - ], - "wires": [ - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "inner", - "pinName": "YN" - }, - "name": "unnamedWire#15", - "path": [ - { - "x": 375.0, - "y": 210.0 - } - ] - }, - { - "pin1": { - "compName": "GUIManualSwitch#35", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#6", - "pinName": "IN" - }, - "name": "unnamedWire#56", - "path": [] - }, - { - "pin1": { - "compName": "inner", - "pinName": "YOVR" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "name": "unnamedWire#14", - "path": [ - { - "x": 380.0, - "y": 220.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#6", - "pinName": "EN" - }, - "name": "unnamedWire#64", - "path": [] - }, - { - "pin1": { - "compName": "inner", - "pinName": "YC" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "name": "unnamedWire#68", - "path": [ - { - "x": 370.0, - "y": 200.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#61", - "path": [ - { - "x": 360.0, - "y": 85.0 - } - ] - }, - { - "pin1": { - "compName": "GUIManualSwitch#0", - "pinName": "" - }, - "pin2": { - "compName": "inner", - "pinName": "_OEY" - }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "GUIBitDisplay#3", - "pinName": "" - }, - "name": "unnamedWire#72", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "EN" - }, - "name": "unnamedWire#59", - "path": [] - }, - { - "pin1": { - "compName": "inner", - "pinName": "YZ" - }, - "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "name": "unnamedWire#17", - "path": [ - { - "x": 365.0, - "y": 190.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "GUIManualSwitch#36", - "pinName": "" - }, - "name": "unnamedWire#60", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "GUIBitDisplay#2", - "pinName": "" - }, - "name": "unnamedWire#71", - "path": [] - }, - { - "pin1": { - "compName": "GUIManualSwitch#6", - "pinName": "" - }, - "pin2": { - "compName": "inner", - "pinName": "IOVR" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "inner", - "pinName": "IZ" - }, - "pin2": { - "compName": "GUIManualSwitch#2", - "pinName": "" - }, - "name": "unnamedWire#4", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "OUT" - }, - "name": "unnamedWire#67", - "path": [ - { - "x": 365.0, - "y": 100.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "name": "unnamedWire#63", - "path": [] - }, - { - "pin1": { - "compName": "GUITriStateBuffer#7", - "pinName": "IN" - }, - "pin2": { - "compName": "GUIManualSwitch#33", - "pinName": "" - }, - "name": "unnamedWire#55", - "path": [] - }, - { - "pin1": { - "compName": "inner", - "pinName": "IN" - }, - "pin2": { - "compName": "GUIManualSwitch#5", - "pinName": "" - }, - "name": "unnamedWire#2", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "OUT" - }, - "name": "unnamedWire#69", - "path": [ - { - "x": 370.0, - "y": 115.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#6", - "pinName": "OUT" - }, - "name": "unnamedWire#70", - "path": [ - { - "x": 375.0, - "y": 130.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "EN" - }, - "name": "unnamedWire#62", - "path": [] - }, - { - "pin1": { - "compName": "GUIManualSwitch#4", - "pinName": "" - }, - "pin2": { - "compName": "inner", - "pinName": "IC" - }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "GUITriStateBuffer#7", - "pinName": "EN" - }, - "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "name": "unnamedWire#65", - "path": [ - { - "x": 360.0, - "y": 140.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "GUIBitDisplay#0", - "pinName": "" - }, - "name": "unnamedWire#66", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#7", - "pinName": "OUT" - }, - "name": "unnamedWire#73", - "path": [ - { - "x": 380.0, - "y": 145.0 - } - ] - }, - { - "pin1": { - "compName": "GUITriStateBuffer#4", - "pinName": "IN" - }, - "pin2": { - "compName": "GUIManualSwitch#32", - "pinName": "" - }, - "name": "unnamedWire#57", - "path": [] - }, - { - "pin1": { - "compName": "GUIManualSwitch#34", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "IN" - }, - "name": "unnamedWire#58", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUIBitDisplay#1", - "pinName": "" - }, - "name": "unnamedWire#16", - "path": [] - } - ], - "version": "0.1.1" - }, - "symbolRendererSnippetID": "default", - "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default", - "version": "0.1.4" -} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/FusionNotWorkingTestInner.json b/net.mograsim.logic.model.am2900/FusionNotWorkingTestInner.json deleted file mode 100644 index 3218cfc9..00000000 --- a/net.mograsim.logic.model.am2900/FusionNotWorkingTestInner.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "width": 115.0, - "height": 70.0, - "interfacePins": [ - { - "location": { - "x": 0.0, - "y": 45.0 - }, - "name": "IOVR", - "logicWidth": 1 - }, - { - "location": { - "x": 115.0, - "y": 15.0 - }, - "name": "YZ", - "logicWidth": 1 - }, - { - "location": { - "x": 0.0, - "y": 15.0 - }, - "name": "IZ", - "logicWidth": 1 - }, - { - "location": { - "x": 115.0, - "y": 35.0 - }, - "name": "YN", - "logicWidth": 1 - }, - { - "location": { - "x": 0.0, - "y": 35.0 - }, - "name": "IN", - "logicWidth": 1 - }, - { - "location": { - "x": 55.0, - "y": 0.0 - }, - "name": "_OEY", - "logicWidth": 1 - }, - { - "location": { - "x": 115.0, - "y": 25.0 - }, - "name": "YC", - "logicWidth": 1 - }, - { - "location": { - "x": 0.0, - "y": 25.0 - }, - "name": "IC", - "logicWidth": 1 - }, - { - "location": { - "x": 115.0, - "y": 45.0 - }, - "name": "YOVR", - "logicWidth": 1 - } - ], - "innerScale": 1.0, - "submodel": { - "components": [ - { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#0", - "pos": { - "x": 45.0, - "y": 20.0 - }, - "params": { - "logicWidth": 4, - "orientation": "RIGHT" - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", - "pos": { - "x": 35.0, - "y": 45.0 - }, - "params": 4 - }, - { - "id": "GUIMerger", - "name": "GUIMerger#2", - "pos": { - "x": 17.0, - "y": 15.0 - }, - "params": 4 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", - "pos": { - "x": 75.0, - "y": 35.0 - }, - "params": 4 - }, - { - "id": "GUISplitter", - "name": "GUISplitter#1", - "pos": { - "x": 100.0, - "y": 15.0 - }, - "params": 4 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", - "pos": { - "x": 65.0, - "y": 5.0 - }, - "params": 1 - } - ], - "wires": [ - { - "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "IN" - }, - "pin2": { - "compName": "GUIMerger#2", - "pinName": "O" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "YOVR" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O3" - }, - "name": "unnamedWire#52", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O0" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "YZ" - }, - "name": "unnamedWire#49", - "path": [] - }, - { - "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "_OEY" - }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "IOVR" - }, - "pin2": { - "compName": "GUIMerger#2", - "pinName": "I3" - }, - "name": "unnamedWire#17", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "IN" - }, - "pin2": { - "compName": "GUIMerger#2", - "pinName": "I2" - }, - "name": "unnamedWire#18", - "path": [] - }, - { - "pin1": { - "compName": "GUIBitDisplay#2", - "pinName": "" - }, - "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "IN" - }, - "name": "unnamedWire#3", - "path": [ - { - "x": 30.0, - "y": 40.0 - } - ] - }, - { - "pin1": { - "compName": "GUIMerger#2", - "pinName": "I0" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "IZ" - }, - "name": "unnamedWire#4", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "IC" - }, - "pin2": { - "compName": "GUIMerger#2", - "pinName": "I1" - }, - "name": "unnamedWire#19", - "path": [] - }, - { - "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" - }, - "pin2": { - "compName": "GUIBitDisplay#3", - "pinName": "" - }, - "name": "unnamedWire#232", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "YC" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O1" - }, - "name": "unnamedWire#50", - "path": [] - }, - { - "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "OUT" - }, - "pin2": { - "compName": "GUIBitDisplay#1", - "pinName": "" - }, - "name": "unnamedWire#230", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#1", - "pinName": "O2" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "YN" - }, - "name": "unnamedWire#51", - "path": [] - }, - { - "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "OUT" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "I" - }, - "name": "unnamedWire#2", - "path": [] - } - ], - "version": "0.1.1" - }, - "symbolRendererSnippetID": "default", - "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default", - "version": "0.1.4" -} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/GUIAm2904Testbench.json b/net.mograsim.logic.model.am2900/GUIAm2904Testbench.json index faea225d..a36c8e03 100644 --- a/net.mograsim.logic.model.am2900/GUIAm2904Testbench.json +++ b/net.mograsim.logic.model.am2900/GUIAm2904Testbench.json @@ -6,485 +6,469 @@ "submodel": { "components": [ { - "id": "TextComponent", - "name": "TextComponent#1", + "id": "GUIAm2904", + "name": "Am2904", "pos": { - "x": 140.0, - "y": 125.0 - }, - "params": "IC" + "x": 220.0, + "y": 175.0 + } }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#4", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#0", "pos": { - "x": 335.0, - "y": 105.0 + "x": 391.0, + "y": 150.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#8", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#1", "pos": { - "x": 125.0, - "y": 230.0 + "x": 391.0, + "y": 165.0 }, - "params": "_EN" + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#2", "pos": { - "x": 185.0, - "y": 310.0 + "x": 391.0, + "y": 180.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#3", "pos": { - "x": 345.0, - "y": 85.0 + "x": 391.0, + "y": 195.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#4", "pos": { - "x": 375.0, - "y": 190.0 + "x": 365.0, + "y": 240.0 }, "params": 1 }, { "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", + "name": "GUIBitDisplay#5", "pos": { - "x": 391.0, - "y": 180.0 + "x": 365.0, + "y": 275.0 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#6", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#6", "pos": { - "x": 125.0, - "y": 200.0 + "x": 365.0, + "y": 370.0 }, - "params": "_EZ" + "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#14", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#7", "pos": { - "x": 40.0, - "y": 130.0 + "x": 365.0, + "y": 385.0 }, - "params": "I1" + "params": 1 }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#13", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#8", "pos": { - "x": 60.0, - "y": 132.5 + "x": 365.0, + "y": 330.0 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#48", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#9", "pos": { - "x": 350.0, - "y": 220.0 + "x": 365.0, + "y": 315.0 }, - "params": "_OECT" + "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#3", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#0", "pos": { - "x": 175.0, - "y": 370.0 + "x": 255.0, + "y": 152.5 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#42", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#1", "pos": { - "x": 270.0, - "y": 135.0 + "x": 170.0, + "y": 82.5 }, - "params": "YOVR" + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#10", "pos": { - "x": 355.0, - "y": 380.0 + "x": 160.0, + "y": 247.5 }, "params": 1 }, { - "id": "GUIMerger", - "name": "GUIMerger#0", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#11", "pos": { - "x": 85.0, - "y": 130.0 + "x": 160.0, + "y": 217.5 }, - "params": 13 + "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#36", + "name": "GUIManualSwitch#12", "pos": { - "x": 300.0, - "y": 77.5 + "x": 160.0, + "y": 202.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#24", + "name": "GUIManualSwitch#13", "pos": { - "x": 55.0, - "y": 162.5 + "x": 60.0, + "y": 132.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#31", + "name": "GUIManualSwitch#14", "pos": { - "x": 55.0, - "y": 242.5 + "x": 165.0, + "y": 287.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#25", + "name": "GUIManualSwitch#15", "pos": { - "x": 55.0, - "y": 182.5 + "x": 140.0, + "y": 317.5 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#16", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#16", "pos": { - "x": 35.0, - "y": 160.0 + "x": 140.0, + "y": 332.5 }, - "params": "I4" + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#17", "pos": { - "x": 380.0, - "y": 200.0 + "x": 140.0, + "y": 387.5 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#29", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#18", "pos": { - "x": 416.0, - "y": 195.0 + "x": 140.0, + "y": 372.5 }, - "params": "YOVR" + "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#23", + "name": "GUIManualSwitch#19", "pos": { - "x": 60.0, - "y": 172.5 + "x": 140.0, + "y": 357.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#35", + "name": "GUIManualSwitch#2", "pos": { - "x": 300.0, - "y": 122.5 + "x": 170.0, + "y": 112.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#4", + "name": "GUIManualSwitch#20", "pos": { - "x": 170.0, - "y": 127.5 + "x": 140.0, + "y": 302.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#21", "pos": { - "x": 360.0, - "y": 125.0 + "x": 55.0, + "y": 142.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#22", "pos": { - "x": 215.0, - "y": 340.0 + "x": 60.0, + "y": 152.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#3", + "name": "GUIManualSwitch#23", "pos": { - "x": 55.0, - "y": 122.5 + "x": 60.0, + "y": 172.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#24", "pos": { - "x": 370.0, - "y": 175.0 + "x": 55.0, + "y": 162.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#34", + "name": "GUIManualSwitch#25", "pos": { - "x": 300.0, - "y": 92.5 + "x": 55.0, + "y": 182.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#2", + "name": "GUIManualSwitch#26", "pos": { - "x": 170.0, - "y": 112.5 + "x": 60.0, + "y": 192.5 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#44", - "pos": { - "x": 270.0, - "y": 90.0 - }, - "params": "YZ" - }, - { - "id": "TextComponent", - "name": "TextComponent#32", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#27", "pos": { - "x": 390.0, - "y": 315.0 + "x": 60.0, + "y": 232.5 }, - "params": "SIOn" + "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#6", + "name": "GUIManualSwitch#28", "pos": { - "x": 170.0, - "y": 157.5 + "x": 55.0, + "y": 202.5 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#39", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#29", "pos": { - "x": 110.0, - "y": 370.0 + "x": 55.0, + "y": 222.5 }, - "params": "SIO0" + "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#6", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#3", "pos": { - "x": 365.0, - "y": 370.0 + "x": 55.0, + "y": 122.5 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#41", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#30", "pos": { - "x": 110.0, - "y": 330.0 + "x": 60.0, + "y": 212.5 }, - "params": "QIOn" + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#31", "pos": { - "x": 185.0, - "y": 365.0 + "x": 55.0, + "y": 242.5 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#10", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#32", "pos": { - "x": 35.0, - "y": 120.0 + "x": 300.0, + "y": 107.5 }, - "params": "I0" + "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#15", + "name": "GUIManualSwitch#33", "pos": { - "x": 140.0, - "y": 317.5 + "x": 300.0, + "y": 137.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#20", + "name": "GUIManualSwitch#34", "pos": { - "x": 140.0, - "y": 302.5 + "x": 300.0, + "y": 92.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#17", + "name": "GUIManualSwitch#35", "pos": { - "x": 140.0, - "y": 387.5 + "x": 300.0, + "y": 122.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#10", + "name": "GUIManualSwitch#36", "pos": { - "x": 160.0, - "y": 247.5 + "x": 300.0, + "y": 77.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#11", + "name": "GUIManualSwitch#37", "pos": { - "x": 160.0, - "y": 217.5 + "x": 165.0, + "y": 270.0 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#35", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#38", "pos": { - "x": 390.0, - "y": 385.0 + "x": 385.0, + "y": 220.0 }, - "params": "QIO0" + "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#30", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#4", "pos": { - "x": 390.0, - "y": 240.0 + "x": 170.0, + "y": 127.5 }, - "params": "CT" + "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#40", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#5", "pos": { - "x": 110.0, - "y": 315.0 + "x": 170.0, + "y": 142.5 }, - "params": "SIOn" + "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#12", + "id": "GUIManualSwitch", + "name": "GUIManualSwitch#6", "pos": { - "x": 35.0, - "y": 140.0 + "x": 170.0, + "y": 157.5 }, - "params": "I2" + "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#18", + "name": "GUIManualSwitch#7", "pos": { - "x": 140.0, - "y": 372.5 + "x": 155.0, + "y": 172.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#5", + "name": "GUIManualSwitch#8", "pos": { - "x": 170.0, - "y": 142.5 + "x": 155.0, + "y": 187.5 }, "params": 1 }, { "id": "GUIManualSwitch", - "name": "GUIManualSwitch#8", + "name": "GUIManualSwitch#9", "pos": { - "x": 155.0, - "y": 187.5 + "x": 160.0, + "y": 232.5 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#15", + "id": "GUIMerger", + "name": "GUIMerger#0", "pos": { - "x": 40.0, - "y": 150.0 + "x": 85.0, + "y": 130.0 }, - "params": "I3" + "params": 13 }, { "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#6", + "name": "GUITriStateBuffer#0", "pos": { - "x": 335.0, - "y": 120.0 + "x": 175.0, + "y": 315.0 }, "params": { "logicWidth": 1, @@ -492,29 +476,35 @@ } }, { - "id": "TextComponent", - "name": "TextComponent#43", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#1", "pos": { - "x": 270.0, - "y": 120.0 + "x": 175.0, + "y": 330.0 }, - "params": "YN" + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#29", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#2", "pos": { - "x": 55.0, - "y": 222.5 + "x": 175.0, + "y": 385.0 }, - "params": 1 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#1", + "name": "GUITriStateBuffer#3", "pos": { "x": 175.0, - "y": 330.0 + "y": 370.0 }, "params": { "logicWidth": 1, @@ -522,40 +512,40 @@ } }, { - "id": "TextComponent", - "name": "TextComponent#45", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#4", "pos": { - "x": 270.0, + "x": 335.0, "y": 105.0 }, - "params": "YC" - }, - { - "id": "TextComponent", - "name": "TextComponent#17", - "pos": { - "x": 35.0, - "y": 180.0 - }, - "params": "I6" + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#5", "pos": { - "x": 365.0, - "y": 160.0 + "x": 335.0, + "y": 90.0 }, - "params": 1 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { - "id": "TextComponent", - "name": "TextComponent#11", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#6", "pos": { - "x": 35.0, - "y": 240.0 + "x": 335.0, + "y": 120.0 }, - "params": "I12" + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { "id": "GUITriStateBuffer", @@ -571,272 +561,282 @@ }, { "id": "TextComponent", - "name": "TextComponent#3", + "name": "TextComponent#0", "pos": { "x": 140.0, - "y": 155.0 + "y": 110.0 }, - "params": "IOVR" + "params": "IZ" }, { "id": "TextComponent", - "name": "TextComponent#36", + "name": "TextComponent#1", "pos": { - "x": 30.0, - "y": 300.0 + "x": 140.0, + "y": 125.0 }, - "params": "enable S/QIOn input" + "params": "IC" }, { "id": "TextComponent", - "name": "TextComponent#19", + "name": "TextComponent#10", "pos": { "x": 35.0, - "y": 200.0 + "y": 120.0 }, - "params": "I8" + "params": "I0" }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "id": "TextComponent", + "name": "TextComponent#11", "pos": { - "x": 360.0, - "y": 110.0 + "x": 35.0, + "y": 240.0 }, - "params": 1 + "params": "I12" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#22", + "id": "TextComponent", + "name": "TextComponent#12", "pos": { - "x": 60.0, - "y": 152.5 + "x": 35.0, + "y": 140.0 }, - "params": 1 + "params": "I2" }, { "id": "TextComponent", - "name": "TextComponent#47", + "name": "TextComponent#13", "pos": { - "x": 145.0, - "y": 270.0 + "x": 40.0, + "y": 170.0 }, - "params": "_SE" + "params": "I5" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#9", + "id": "TextComponent", + "name": "TextComponent#14", "pos": { - "x": 160.0, - "y": 232.5 + "x": 40.0, + "y": 130.0 }, - "params": 1 + "params": "I1" }, { "id": "TextComponent", - "name": "TextComponent#9", + "name": "TextComponent#15", "pos": { - "x": 125.0, - "y": 245.0 + "x": 40.0, + "y": 150.0 }, - "params": "_EOVR" + "params": "I3" }, { "id": "TextComponent", - "name": "TextComponent#28", + "name": "TextComponent#16", "pos": { - "x": 416.0, + "x": 35.0, + "y": 160.0 + }, + "params": "I4" + }, + { + "id": "TextComponent", + "name": "TextComponent#17", + "pos": { + "x": 35.0, "y": 180.0 }, - "params": "YN" + "params": "I6" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#12", + "id": "TextComponent", + "name": "TextComponent#18", "pos": { - "x": 160.0, - "y": 202.5 + "x": 40.0, + "y": 190.0 }, - "params": 1 + "params": "I7" }, { "id": "TextComponent", - "name": "TextComponent#27", + "name": "TextComponent#19", "pos": { - "x": 416.0, - "y": 165.0 + "x": 35.0, + "y": 200.0 }, - "params": "YC" + "params": "I8" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#32", + "id": "TextComponent", + "name": "TextComponent#2", "pos": { - "x": 300.0, - "y": 107.5 + "x": 140.0, + "y": 140.0 }, - "params": 1 + "params": "IN" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#33", + "id": "TextComponent", + "name": "TextComponent#20", "pos": { - "x": 300.0, - "y": 137.5 + "x": 40.0, + "y": 210.0 }, - "params": 1 + "params": "I9" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#37", + "id": "TextComponent", + "name": "TextComponent#21", "pos": { - "x": 165.0, - "y": 270.0 + "x": 35.0, + "y": 220.0 }, - "params": 1 + "params": "I10" }, { "id": "TextComponent", - "name": "TextComponent#4", + "name": "TextComponent#22", "pos": { - "x": 115.0, - "y": 170.0 + "x": 40.0, + "y": 230.0 }, - "params": "_CEM" + "params": "I11" }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#9", + "id": "TextComponent", + "name": "TextComponent#23", "pos": { - "x": 365.0, - "y": 315.0 + "x": 145.0, + "y": 285.0 }, - "params": 1 + "params": "CX" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#0", + "id": "TextComponent", + "name": "TextComponent#24", "pos": { - "x": 255.0, - "y": 152.5 + "x": 150.0, + "y": 80.0 }, - "params": 1 + "params": "C" }, { "id": "TextComponent", - "name": "TextComponent#21", + "name": "TextComponent#25", "pos": { - "x": 35.0, - "y": 220.0 + "x": 225.0, + "y": 150.0 }, - "params": "I10" + "params": "_OEY" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#1", + "id": "TextComponent", + "name": "TextComponent#26", "pos": { - "x": 170.0, - "y": 82.5 + "x": 416.0, + "y": 150.0 }, - "params": 1 + "params": "YZ" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#16", + "id": "TextComponent", + "name": "TextComponent#27", "pos": { - "x": 140.0, - "y": 332.5 + "x": 416.0, + "y": 165.0 }, - "params": 1 + "params": "YC" }, { "id": "TextComponent", - "name": "TextComponent#46", + "name": "TextComponent#28", "pos": { - "x": 220.0, - "y": 75.0 + "x": 416.0, + "y": 180.0 }, - "params": "enable Y input" + "params": "YN" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#30", + "id": "TextComponent", + "name": "TextComponent#29", "pos": { - "x": 60.0, - "y": 212.5 + "x": 416.0, + "y": 195.0 }, - "params": 1 + "params": "YOVR" }, { "id": "TextComponent", - "name": "TextComponent#0", + "name": "TextComponent#3", "pos": { "x": 140.0, - "y": 110.0 + "y": 155.0 }, - "params": "IZ" + "params": "IOVR" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#14", + "id": "TextComponent", + "name": "TextComponent#30", "pos": { - "x": 165.0, - "y": 287.5 + "x": 390.0, + "y": 240.0 }, - "params": 1 + "params": "CT" }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#8", + "id": "TextComponent", + "name": "TextComponent#31", "pos": { - "x": 365.0, - "y": 330.0 + "x": 390.0, + "y": 275.0 }, - "params": 1 + "params": "C0" }, { "id": "TextComponent", - "name": "TextComponent#5", + "name": "TextComponent#32", "pos": { - "x": 115.0, - "y": 185.0 + "x": 390.0, + "y": 315.0 }, - "params": "_CEmu" + "params": "SIOn" }, { - "id": "GUIAm2904", - "name": "Am2904", + "id": "TextComponent", + "name": "TextComponent#33", "pos": { - "x": 220.0, - "y": 175.0 - } + "x": 390.0, + "y": 330.0 + }, + "params": "QIOn" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#7", + "id": "TextComponent", + "name": "TextComponent#34", "pos": { - "x": 155.0, - "y": 172.5 + "x": 390.0, + "y": 370.0 }, - "params": 1 + "params": "SIO0" }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#5", + "id": "TextComponent", + "name": "TextComponent#35", "pos": { - "x": 365.0, - "y": 275.0 + "x": 390.0, + "y": 385.0 }, - "params": 1 + "params": "QIO0" }, { "id": "TextComponent", - "name": "TextComponent#18", + "name": "TextComponent#36", "pos": { - "x": 40.0, - "y": 190.0 + "x": 30.0, + "y": 300.0 }, - "params": "I7" + "params": "enable S/QIOn input" }, { "id": "TextComponent", @@ -849,529 +849,561 @@ }, { "id": "TextComponent", - "name": "TextComponent#13", + "name": "TextComponent#38", "pos": { - "x": 40.0, - "y": 170.0 + "x": 110.0, + "y": 385.0 }, - "params": "I5" + "params": "QIO0" }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "TextComponent", + "name": "TextComponent#39", "pos": { - "x": 210.0, - "y": 325.0 + "x": 110.0, + "y": 370.0 }, - "params": 1 + "params": "SIO0" }, { "id": "TextComponent", - "name": "TextComponent#22", + "name": "TextComponent#4", "pos": { - "x": 40.0, - "y": 230.0 + "x": 115.0, + "y": 170.0 }, - "params": "I11" + "params": "_CEM" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#19", + "id": "TextComponent", + "name": "TextComponent#40", "pos": { - "x": 140.0, - "y": 357.5 + "x": 110.0, + "y": 315.0 }, - "params": 1 + "params": "SIOn" }, { "id": "TextComponent", - "name": "TextComponent#7", + "name": "TextComponent#41", "pos": { - "x": 125.0, - "y": 215.0 + "x": 110.0, + "y": 330.0 }, - "params": "_EC" + "params": "QIOn" }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#5", + "id": "TextComponent", + "name": "TextComponent#42", "pos": { - "x": 335.0, - "y": 90.0 + "x": 270.0, + "y": 135.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": "YOVR" }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "TextComponent", + "name": "TextComponent#43", "pos": { - "x": 360.0, - "y": 390.0 + "x": 270.0, + "y": 120.0 }, - "params": 1 + "params": "YN" }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#4", + "id": "TextComponent", + "name": "TextComponent#44", "pos": { - "x": 365.0, - "y": 240.0 + "x": 270.0, + "y": 90.0 }, - "params": 1 + "params": "YZ" + }, + { + "id": "TextComponent", + "name": "TextComponent#45", + "pos": { + "x": 270.0, + "y": 105.0 + }, + "params": "YC" }, { "id": "TextComponent", - "name": "TextComponent#25", + "name": "TextComponent#46", "pos": { - "x": 225.0, - "y": 150.0 + "x": 220.0, + "y": 75.0 }, - "params": "_OEY" + "params": "enable Y input" }, { "id": "TextComponent", - "name": "TextComponent#31", + "name": "TextComponent#47", "pos": { - "x": 390.0, - "y": 275.0 + "x": 145.0, + "y": 270.0 }, - "params": "C0" + "params": "_SE" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#28", + "id": "TextComponent", + "name": "TextComponent#48", "pos": { - "x": 55.0, - "y": 202.5 + "x": 350.0, + "y": 220.0 }, - "params": 1 + "params": "_OECT" }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#2", + "id": "TextComponent", + "name": "TextComponent#5", "pos": { - "x": 175.0, - "y": 385.0 + "x": 115.0, + "y": 185.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": "_CEmu" }, { "id": "TextComponent", - "name": "TextComponent#23", + "name": "TextComponent#6", "pos": { - "x": 145.0, - "y": 285.0 + "x": 125.0, + "y": 200.0 }, - "params": "CX" + "params": "_EZ" }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#21", + "id": "TextComponent", + "name": "TextComponent#7", "pos": { - "x": 55.0, - "y": 142.5 + "x": 125.0, + "y": 215.0 }, - "params": 1 + "params": "_EC" }, { "id": "TextComponent", - "name": "TextComponent#26", + "name": "TextComponent#8", "pos": { - "x": 416.0, - "y": 150.0 + "x": 125.0, + "y": 230.0 }, - "params": "YZ" + "params": "_EN" }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", + "id": "TextComponent", + "name": "TextComponent#9", "pos": { - "x": 391.0, - "y": 150.0 + "x": 125.0, + "y": 245.0 }, - "params": 1 + "params": "_EOVR" }, { - "id": "TextComponent", - "name": "TextComponent#20", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 40.0, - "y": 210.0 + "x": 185.0, + "y": 365.0 }, - "params": "I9" + "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 391.0, - "y": 195.0 + "x": 185.0, + "y": 310.0 }, "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { - "x": 391.0, - "y": 165.0 + "x": 370.0, + "y": 175.0 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#34", + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { - "x": 390.0, - "y": 370.0 + "x": 375.0, + "y": 190.0 }, - "params": "SIO0" + "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#38", + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { - "x": 110.0, - "y": 385.0 + "x": 380.0, + "y": 200.0 }, - "params": "QIO0" + "params": 1 }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#27", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 60.0, - "y": 232.5 + "x": 210.0, + "y": 325.0 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#24", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 150.0, - "y": 80.0 + "x": 215.0, + "y": 340.0 }, - "params": "C" + "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 175.0, - "y": 315.0 + "x": 355.0, + "y": 380.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#26", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 60.0, - "y": 192.5 + "x": 360.0, + "y": 390.0 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 140.0, - "y": 140.0 + "x": 345.0, + "y": 85.0 }, - "params": "IN" + "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { - "x": 365.0, - "y": 385.0 + "x": 360.0, + "y": 110.0 }, "params": 1 }, { - "id": "GUIManualSwitch", - "name": "GUIManualSwitch#38", + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { - "x": 385.0, - "y": 220.0 + "x": 360.0, + "y": 125.0 }, "params": 1 }, { - "id": "TextComponent", - "name": "TextComponent#33", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 390.0, - "y": 330.0 + "x": 365.0, + "y": 160.0 }, - "params": "QIOn" + "params": 1 } ], "wires": [ { "pin1": { - "compName": "GUIManualSwitch#20", + "compName": "GUIManualSwitch#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "Am2904", + "pinName": "_OEY" }, - "name": "unnamedWire#31", - "path": [] + "name": "unnamedWire#0", + "path": [ + { + "x": 280.0, + "y": 160.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "GUIManualSwitch#1", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "EN" + "compName": "Am2904", + "pinName": "C" }, - "name": "unnamedWire#62", - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 215.0, + "y": 90.0 + }, + { + "x": 215.0, + "y": 180.0 + } + ] }, { "pin1": { "compName": "Am2904", - "pinName": "QIO0" + "pinName": "_EOVR" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "GUIManualSwitch#10", "pinName": "" }, - "name": "unnamedWire#41", + "name": "unnamedWire#10", "path": [ { - "x": 360.0, - "y": 305.0 + "x": 205.0, + "y": 220.0 + }, + { + "x": 205.0, + "y": 255.0 } ] }, { "pin1": { - "compName": "GUIManualSwitch#18", + "compName": "GUIManualSwitch#9", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#3", - "pinName": "IN" + "compName": "Am2904", + "pinName": "_EN" }, - "name": "unnamedWire#27", - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 200.0, + "y": 240.0 + }, + { + "x": 200.0, + "y": 215.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "O" }, "pin2": { - "compName": "GUITriStateBuffer#6", - "pinName": "EN" + "compName": "Am2904", + "pinName": "I" }, - "name": "unnamedWire#64", - "path": [] + "name": "unnamedWire#12", + "path": [ + { + "x": 105.0, + "y": 190.0 + }, + { + "x": 105.0, + "y": 265.0 + }, + { + "x": 210.0, + "y": 265.0 + }, + { + "x": 210.0, + "y": 235.0 + } + ] }, { "pin1": { - "compName": "GUIManualSwitch#3", + "compName": "GUIManualSwitch#14", "pinName": "" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I0" + "compName": "Am2904", + "pinName": "Cx" }, - "name": "unnamedWire#42", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 200.0, + "y": 295.0 + }, + { + "x": 200.0, + "y": 285.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "Am2904", + "pinName": "YOVR" }, "pin2": { - "compName": "GUIBitDisplay#1", + "compName": "WireCrossPoint#12", "pinName": "" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#1", - "pinName": "EN" + "compName": "Am2904", + "pinName": "YN" }, - "name": "unnamedWire#33", + "name": "unnamedWire#15", "path": [ { - "x": 200.0, - "y": 310.0 - }, - { - "x": 200.0, - "y": 335.0 + "x": 375.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "OUT" + "compName": "GUIBitDisplay#1", + "pinName": "" }, - "name": "unnamedWire#21", + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "Am2904", + "pinName": "YZ" }, "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "OUT" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#67", + "name": "unnamedWire#17", "path": [ { "x": 365.0, - "y": 100.0 + "y": 185.0 } ] }, { "pin1": { "compName": "Am2904", - "pinName": "_CEmu" + "pinName": "CT" }, "pin2": { - "compName": "GUIManualSwitch#8", + "compName": "GUIBitDisplay#4", "pinName": "" }, - "name": "unnamedWire#7", + "name": "unnamedWire#18", "path": [ { - "x": 185.0, - "y": 205.0 + "x": 345.0, + "y": 235.0 }, { - "x": 185.0, - "y": 195.0 + "x": 345.0, + "y": 250.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "Am2904", + "pinName": "C0" }, "pin2": { - "compName": "Am2904", - "pinName": "YN" + "compName": "GUIBitDisplay#5", + "pinName": "" }, - "name": "unnamedWire#15", - "path": [ - { - "x": 375.0, - "y": 195.0 - } - ] + "name": "unnamedWire#19", + "path": [] }, { "pin1": { - "compName": "Am2904", - "pinName": "IOVR" + "compName": "GUIManualSwitch#2", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#6", - "pinName": "" + "compName": "Am2904", + "pinName": "IZ" }, - "name": "unnamedWire#5", + "name": "unnamedWire#2", "path": [ { - "x": 195.0, - "y": 200.0 + "x": 210.0, + "y": 120.0 }, { - "x": 195.0, - "y": 165.0 + "x": 210.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "Am2904", + "pinName": "SIOn" }, "pin2": { - "compName": "GUITriStateBuffer#6", - "pinName": "OUT" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#70", + "name": "unnamedWire#20", "path": [ { - "x": 375.0, - "y": 130.0 + "x": 210.0, + "y": 295.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#36", - "pinName": "" + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" }, - "name": "unnamedWire#60", + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#38", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { "compName": "Am2904", - "pinName": "_OECT" + "pinName": "QIOn" }, - "name": "unnamedWire#75", + "name": "unnamedWire#22", "path": [ { - "x": 410.0, - "y": 230.0 - }, - { - "x": 410.0, - "y": 215.0 - }, - { - "x": 345.0, - "y": 215.0 - }, - { - "x": 345.0, - "y": 225.0 + "x": 215.0, + "y": 305.0 } ] }, @@ -1389,272 +1421,322 @@ }, { "pin1": { - "compName": "GUIManualSwitch#19", + "compName": "GUIManualSwitch#15", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "GUITriStateBuffer#0", + "pinName": "IN" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "GUIManualSwitch#16", "pinName": "" }, - "name": "unnamedWire#28", + "pin2": { + "compName": "GUITriStateBuffer#1", + "pinName": "IN" + }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I8" + "compName": "GUITriStateBuffer#2", + "pinName": "IN" }, "pin2": { - "compName": "GUIManualSwitch#28", + "compName": "GUIManualSwitch#17", "pinName": "" }, - "name": "unnamedWire#47", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#26", + "compName": "GUIManualSwitch#18", "pinName": "" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I7" + "compName": "GUITriStateBuffer#3", + "pinName": "IN" }, - "name": "unnamedWire#48", + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#15", + "compName": "GUIManualSwitch#19", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "IN" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#24", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#3", + "compName": "GUITriStateBuffer#3", + "pinName": "EN" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "Am2904", + "pinName": "IC" + }, + "pin2": { + "compName": "GUIManualSwitch#4", "pinName": "" }, - "name": "unnamedWire#72", + "name": "unnamedWire#3", "path": [ { - "x": 380.0, - "y": 205.0 + "x": 205.0, + "y": 190.0 + }, + { + "x": 205.0, + "y": 135.0 } ] }, { "pin1": { - "compName": "GUIManualSwitch#5", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "Am2904", - "pinName": "IN" + "compName": "GUITriStateBuffer#2", + "pinName": "EN" }, - "name": "unnamedWire#4", + "name": "unnamedWire#30", "path": [ { "x": 200.0, - "y": 150.0 + "y": 365.0 }, { "x": 200.0, - "y": 195.0 + "y": 390.0 } ] }, { "pin1": { - "compName": "GUIManualSwitch#35", + "compName": "GUIManualSwitch#20", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#6", - "pinName": "IN" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#56", + "name": "unnamedWire#31", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#31", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I12" + "compName": "GUITriStateBuffer#0", + "pinName": "EN" }, - "name": "unnamedWire#43", + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "Am2904", - "pinName": "_OEY" + "compName": "GUITriStateBuffer#1", + "pinName": "EN" }, - "name": "unnamedWire#0", + "name": "unnamedWire#33", "path": [ { - "x": 280.0, - "y": 160.0 + "x": 200.0, + "y": 310.0 + }, + { + "x": 200.0, + "y": 335.0 } ] }, { "pin1": { - "compName": "GUITriStateBuffer#7", - "pinName": "IN" - }, - "pin2": { - "compName": "GUIManualSwitch#33", - "pinName": "" - }, - "name": "unnamedWire#55", - "path": [] - }, - { - "pin1": { - "compName": "GUIManualSwitch#14", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "Am2904", - "pinName": "Cx" + "compName": "GUIBitDisplay#9", + "pinName": "" }, - "name": "unnamedWire#13", + "name": "unnamedWire#34", "path": [ { - "x": 200.0, - "y": 295.0 + "x": 210.0, + "y": 375.0 }, { - "x": 200.0, - "y": 285.0 + "x": 345.0, + "y": 375.0 + }, + { + "x": 345.0, + "y": 325.0 } ] }, { "pin1": { - "compName": "Am2904", - "pinName": "_SE" + "compName": "GUIBitDisplay#8", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#37", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#74", + "name": "unnamedWire#35", "path": [ { - "x": 215.0, - "y": 260.0 + "x": 350.0, + "y": 340.0 + }, + { + "x": 350.0, + "y": 380.0 }, { "x": 215.0, - "y": 280.0 + "y": 380.0 } ] }, { "pin1": { - "compName": "GUITriStateBuffer#7", - "pinName": "EN" + "compName": "GUITriStateBuffer#3", + "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#65", + "name": "unnamedWire#36", "path": [ { - "x": 360.0, - "y": 140.0 + "x": 210.0, + "y": 380.0 + }, + { + "x": 210.0, + "y": 385.0 + }, + { + "x": 355.0, + "y": 385.0 } ] }, { "pin1": { - "compName": "GUITriStateBuffer#2", - "pinName": "IN" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#17", - "pinName": "" + "compName": "GUITriStateBuffer#2", + "pinName": "OUT" }, - "name": "unnamedWire#26", - "path": [] + "name": "unnamedWire#37", + "path": [ + { + "x": 210.0, + "y": 390.0 + }, + { + "x": 210.0, + "y": 395.0 + } + ] }, { "pin1": { - "compName": "GUIManualSwitch#23", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I5" + "compName": "GUIBitDisplay#7", + "pinName": "" }, - "name": "unnamedWire#50", - "path": [] + "name": "unnamedWire#38", + "path": [ + { + "x": 360.0, + "y": 395.0 + } + ] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I6" + "compName": "GUIBitDisplay#6", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#25", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#49", + "name": "unnamedWire#39", "path": [] }, { "pin1": { - "compName": "Am2904", - "pinName": "_EOVR" + "compName": "GUIManualSwitch#5", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#10", - "pinName": "" + "compName": "Am2904", + "pinName": "IN" }, - "name": "unnamedWire#10", + "name": "unnamedWire#4", "path": [ { - "x": 205.0, - "y": 220.0 + "x": 200.0, + "y": 150.0 }, { - "x": 205.0, - "y": 255.0 + "x": 200.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "Am2904", - "pinName": "SIOn" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "Am2904", + "pinName": "SIO0" }, - "name": "unnamedWire#20", + "name": "unnamedWire#40", "path": [ { - "x": 210.0, + "x": 355.0, "y": 295.0 } ] @@ -1662,435 +1744,357 @@ { "pin1": { "compName": "Am2904", - "pinName": "YC" + "pinName": "QIO0" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#68", + "name": "unnamedWire#41", "path": [ { - "x": 370.0, - "y": 190.0 + "x": 360.0, + "y": 305.0 } ] }, { "pin1": { - "compName": "GUIBitDisplay#8", + "compName": "GUIManualSwitch#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I0" }, - "name": "unnamedWire#35", - "path": [ - { - "x": 350.0, - "y": 340.0 - }, - { - "x": 350.0, - "y": 380.0 - }, - { - "x": 215.0, - "y": 380.0 - } - ] + "name": "unnamedWire#42", + "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#1", + "compName": "GUIManualSwitch#31", "pinName": "" }, "pin2": { - "compName": "Am2904", - "pinName": "C" + "compName": "GUIMerger#0", + "pinName": "I12" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 215.0, - "y": 90.0 - }, - { - "x": 215.0, - "y": 180.0 - } - ] + "name": "unnamedWire#43", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I11" }, "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" + "compName": "GUIManualSwitch#27", + "pinName": "" }, - "name": "unnamedWire#32", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#22", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I10" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "GUIManualSwitch#29", + "pinName": "" }, - "name": "unnamedWire#52", + "name": "unnamedWire#45", "path": [] }, { "pin1": { - "compName": "Am2904", - "pinName": "YOVR" + "compName": "GUIManualSwitch#30", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I9" }, - "name": "unnamedWire#14", + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "Am2904", - "pinName": "C0" + "compName": "GUIMerger#0", + "pinName": "I8" }, "pin2": { - "compName": "GUIBitDisplay#5", + "compName": "GUIManualSwitch#28", "pinName": "" }, - "name": "unnamedWire#19", + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#30", + "compName": "GUIManualSwitch#26", "pinName": "" }, "pin2": { "compName": "GUIMerger#0", - "pinName": "I9" + "pinName": "I7" }, - "name": "unnamedWire#46", + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#7", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I6" }, "pin2": { - "compName": "Am2904", - "pinName": "_CEM" + "compName": "GUIManualSwitch#25", + "pinName": "" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 190.0, - "y": 180.0 - }, - { - "x": 190.0, - "y": 205.0 - } - ] + "name": "unnamedWire#49", + "path": [] }, { "pin1": { "compName": "Am2904", - "pinName": "IC" + "pinName": "IOVR" }, "pin2": { - "compName": "GUIManualSwitch#4", + "compName": "GUIManualSwitch#6", "pinName": "" }, - "name": "unnamedWire#3", + "name": "unnamedWire#5", "path": [ { - "x": 205.0, - "y": 190.0 + "x": 195.0, + "y": 200.0 }, { - "x": 205.0, - "y": 135.0 + "x": 195.0, + "y": 165.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "GUIManualSwitch#23", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "EN" + "compName": "GUIMerger#0", + "pinName": "I5" }, - "name": "unnamedWire#59", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "Am2904", - "pinName": "YZ" + "compName": "GUIMerger#0", + "pinName": "I4" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "GUIManualSwitch#24", "pinName": "" }, - "name": "unnamedWire#17", - "path": [ - { - "x": 365.0, - "y": 185.0 - } - ] + "name": "unnamedWire#51", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "GUIManualSwitch#22", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#2", - "pinName": "EN" + "compName": "GUIMerger#0", + "pinName": "I3" }, - "name": "unnamedWire#30", - "path": [ - { - "x": 200.0, - "y": 365.0 - }, - { - "x": 200.0, - "y": 390.0 - } - ] + "name": "unnamedWire#52", + "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#2", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I2" }, "pin2": { - "compName": "Am2904", - "pinName": "IZ" + "compName": "GUIManualSwitch#21", + "pinName": "" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 210.0, - "y": 120.0 - }, - { - "x": 210.0, - "y": 185.0 - } - ] + "name": "unnamedWire#53", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I1" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "GUIManualSwitch#13", "pinName": "" }, - "name": "unnamedWire#63", + "name": "unnamedWire#54", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#3", - "pinName": "OUT" + "compName": "GUITriStateBuffer#7", + "pinName": "IN" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "GUIManualSwitch#33", "pinName": "" }, - "name": "unnamedWire#36", - "path": [ - { - "x": 210.0, - "y": 380.0 - }, - { - "x": 210.0, - "y": 385.0 - }, - { - "x": 355.0, - "y": 385.0 - } - ] + "name": "unnamedWire#55", + "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#16", + "compName": "GUIManualSwitch#35", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#1", + "compName": "GUITriStateBuffer#6", "pinName": "IN" }, - "name": "unnamedWire#25", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUITriStateBuffer#4", + "pinName": "IN" }, "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "OUT" + "compName": "GUIManualSwitch#32", + "pinName": "" }, - "name": "unnamedWire#69", - "path": [ - { - "x": 370.0, - "y": 115.0 - } - ] + "name": "unnamedWire#57", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "GUIManualSwitch#34", "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#7", - "pinName": "" + "compName": "GUITriStateBuffer#5", + "pinName": "IN" }, - "name": "unnamedWire#38", - "path": [ - { - "x": 360.0, - "y": 395.0 - } - ] + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "Am2904", - "pinName": "SIO0" + "compName": "GUITriStateBuffer#5", + "pinName": "EN" }, - "name": "unnamedWire#40", - "path": [ - { - "x": 355.0, - "y": 295.0 - } - ] + "name": "unnamedWire#59", + "path": [] }, { "pin1": { - "compName": "GUIManualSwitch#9", + "compName": "GUIManualSwitch#7", "pinName": "" }, "pin2": { "compName": "Am2904", - "pinName": "_EN" + "pinName": "_CEM" }, - "name": "unnamedWire#11", + "name": "unnamedWire#6", "path": [ { - "x": 200.0, - "y": 240.0 + "x": 190.0, + "y": 180.0 }, { - "x": 200.0, - "y": 215.0 + "x": 190.0, + "y": 205.0 } ] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I10" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#29", + "compName": "GUIManualSwitch#36", "pinName": "" }, - "name": "unnamedWire#45", + "name": "unnamedWire#60", "path": [] }, { "pin1": { - "compName": "Am2904", - "pinName": "_EZ" + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#61", + "path": [ + { + "x": 360.0, + "y": 85.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#12", - "pinName": "" + "compName": "GUITriStateBuffer#4", + "pinName": "EN" }, - "name": "unnamedWire#8", + "name": "unnamedWire#62", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I4" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#24", + "compName": "WireCrossPoint#8", "pinName": "" }, - "name": "unnamedWire#51", + "name": "unnamedWire#63", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "Am2904", - "pinName": "QIOn" + "compName": "GUITriStateBuffer#6", + "pinName": "EN" }, - "name": "unnamedWire#22", - "path": [ - { - "x": 215.0, - "y": 305.0 - } - ] + "name": "unnamedWire#64", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUITriStateBuffer#7", + "pinName": "EN" }, "pin2": { - "compName": "GUIBitDisplay#9", + "compName": "WireCrossPoint#8", "pinName": "" }, - "name": "unnamedWire#34", + "name": "unnamedWire#65", "path": [ { - "x": 210.0, - "y": 375.0 - }, - { - "x": 345.0, - "y": 375.0 - }, - { - "x": 345.0, - "y": 325.0 + "x": 360.0, + "y": 140.0 } ] }, @@ -2108,95 +2112,90 @@ }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" - }, - "pin2": { - "compName": "GUIManualSwitch#13", + "compName": "WireCrossPoint#9", "pinName": "" }, - "name": "unnamedWire#54", - "path": [] - }, - { - "pin1": { - "compName": "GUIMerger#0", - "pinName": "I2" - }, "pin2": { - "compName": "GUIManualSwitch#21", - "pinName": "" + "compName": "GUITriStateBuffer#5", + "pinName": "OUT" }, - "name": "unnamedWire#53", - "path": [] + "name": "unnamedWire#67", + "path": [ + { + "x": 365.0, + "y": 100.0 + } + ] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "O" + "compName": "Am2904", + "pinName": "YC" }, "pin2": { - "compName": "Am2904", - "pinName": "I" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#12", + "name": "unnamedWire#68", "path": [ { - "x": 105.0, + "x": 370.0, "y": 190.0 - }, - { - "x": 105.0, - "y": 265.0 - }, - { - "x": 210.0, - "y": 265.0 - }, - { - "x": 210.0, - "y": 235.0 } ] }, { "pin1": { - "compName": "GUITriStateBuffer#4", - "pinName": "IN" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#32", - "pinName": "" + "compName": "GUITriStateBuffer#4", + "pinName": "OUT" }, - "name": "unnamedWire#57", - "path": [] + "name": "unnamedWire#69", + "path": [ + { + "x": 370.0, + "y": 115.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "Am2904", + "pinName": "_CEmu" }, "pin2": { - "compName": "GUITriStateBuffer#3", - "pinName": "EN" + "compName": "GUIManualSwitch#8", + "pinName": "" }, - "name": "unnamedWire#29", - "path": [] + "name": "unnamedWire#7", + "path": [ + { + "x": 185.0, + "y": 205.0 + }, + { + "x": 185.0, + "y": 195.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#7", + "compName": "GUITriStateBuffer#6", "pinName": "OUT" }, - "name": "unnamedWire#73", + "name": "unnamedWire#70", "path": [ { - "x": 380.0, - "y": 145.0 + "x": 375.0, + "y": 130.0 } ] }, @@ -2214,119 +2213,120 @@ }, { "pin1": { - "compName": "Am2904", - "pinName": "_EC" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "GUIManualSwitch#11", + "compName": "GUIBitDisplay#3", "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#72", "path": [ { - "x": 195.0, - "y": 215.0 - }, - { - "x": 195.0, - "y": 225.0 + "x": 380.0, + "y": 205.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#2", + "compName": "GUITriStateBuffer#7", "pinName": "OUT" }, - "name": "unnamedWire#37", + "name": "unnamedWire#73", "path": [ { - "x": 210.0, - "y": 390.0 - }, - { - "x": 210.0, - "y": 395.0 + "x": 380.0, + "y": 145.0 } ] }, { "pin1": { "compName": "Am2904", - "pinName": "CT" + "pinName": "_SE" }, "pin2": { - "compName": "GUIBitDisplay#4", + "compName": "GUIManualSwitch#37", "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#74", "path": [ { - "x": 345.0, - "y": 235.0 + "x": 215.0, + "y": 260.0 }, { - "x": 345.0, - "y": 250.0 + "x": 215.0, + "y": 280.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "GUIManualSwitch#38", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "Am2904", + "pinName": "_OECT" }, - "name": "unnamedWire#61", + "name": "unnamedWire#75", "path": [ { - "x": 360.0, - "y": 85.0 + "x": 410.0, + "y": 230.0 + }, + { + "x": 410.0, + "y": 215.0 + }, + { + "x": 345.0, + "y": 215.0 + }, + { + "x": 345.0, + "y": 225.0 } ] }, { "pin1": { - "compName": "GUIBitDisplay#6", - "pinName": "" + "compName": "Am2904", + "pinName": "_EZ" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "GUIManualSwitch#12", "pinName": "" }, - "name": "unnamedWire#39", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I11" + "compName": "Am2904", + "pinName": "_EC" }, "pin2": { - "compName": "GUIManualSwitch#27", - "pinName": "" - }, - "name": "unnamedWire#44", - "path": [] - }, - { - "pin1": { - "compName": "GUIManualSwitch#34", + "compName": "GUIManualSwitch#11", "pinName": "" }, - "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "IN" - }, - "name": "unnamedWire#58", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 195.0, + "y": 215.0 + }, + { + "x": 195.0, + "y": 225.0 + } + ] } ], "version": "0.1.1" @@ -2334,5 +2334,5 @@ "symbolRendererSnippetID": "default", "outlineRendererSnippetID": "default", "highLevelStateHandlerSnippetID": "default", - "version": "0.1.4" + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json b/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json index 6f679a91..89eab0a4 100644 --- a/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json +++ b/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Q", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "_Q", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "_R", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,50 +35,63 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "_S", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { - "x": 40.0, - "y": 12.5 + "x": 10.0, + "y": 7.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { - "x": 10.0, - "y": 7.5 + "x": 40.0, + "y": 12.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { - "x": 64.0, - "y": 36.5 + "x": 34.0, + "y": 16.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { - "x": 34.0, - "y": 16.5 + "x": 64.0, + "y": 36.5 }, "params": 1 } ], - "innerWires": [ + "wires": [ + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_Q" + }, + "name": "_q", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#0", @@ -108,14 +123,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_S" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "_q", + "name": "unnamedWire#0", "path": [] }, { @@ -141,37 +156,29 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_S" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [ { "x": 65.0, - "y": 42.5 - }, - { - "x": 5.0, - "y": 42.5 - }, - { - "x": 5.0, "y": 22.5 } ] @@ -190,34 +197,31 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#3", + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#5", "path": [ { "x": 65.0, + "y": 42.5 + }, + { + "x": 5.0, + "y": 42.5 + }, + { + "x": 5.0, "y": 22.5 } ] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#2", - "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -244,5 +248,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIand.json b/net.mograsim.logic.model.am2900/components/GUIand.json index ef577973..5e343e09 100644 --- a/net.mograsim.logic.model.am2900/components/GUIand.json +++ b/net.mograsim.logic.model.am2900/components/GUIand.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,26 +26,27 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { - "x": 50.0, + "x": 20.0, "y": 15.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { - "x": 20.0, + "x": 50.0, "y": 15.0 }, "params": 1 @@ -59,39 +61,40 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "B" + "pinName": "A" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#1" + "name": "unnamedWire#0" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "B" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#0" + "name": "unnamedWire#1" }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#5" + "name": "unnamedWire#2", + "path": [] }, { "pin1": { @@ -100,13 +103,13 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#1", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#3", "path": [ { "x": 45.0, - "y": 30.0 + "y": 20.0 } ] }, @@ -117,29 +120,29 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#3", + "name": "unnamedWire#4", "path": [ { "x": 45.0, - "y": 20.0 + "y": 30.0 } ] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#2", - "path": [] + "name": "unnamedWire#5" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -149,5 +152,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIand41.json b/net.mograsim.logic.model.am2900/components/GUIand41.json index 87b73945..c7ae05e5 100644 --- a/net.mograsim.logic.model.am2900/components/GUIand41.json +++ b/net.mograsim.logic.model.am2900/components/GUIand41.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 50.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "A2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,23 +26,26 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "A3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 35.0 }, - "name": "B", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 45.0 }, - "name": "A4", - "logicWidth": 1 + "name": "B", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,7 +53,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -57,7 +62,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,7 +71,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -73,39 +80,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 24.0, - "y": 71.5 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 24.0, - "y": 46.5 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 24.0, - "y": 96.5 - }, - "params": 1 - }, + "components": [ { "id": "GUIand", "name": "GUIand#0", @@ -116,18 +97,18 @@ mograsim version: 0.1.3 }, { "id": "GUIand", - "name": "GUIand#2", + "name": "GUIand#1", "pos": { "x": 30.0, - "y": 57.5 + "y": 32.5 } }, { "id": "GUIand", - "name": "GUIand#1", + "name": "GUIand#2", "pos": { "x": 30.0, - "y": 32.5 + "y": 57.5 } }, { @@ -137,31 +118,58 @@ mograsim version: 0.1.3 "x": 30.0, "y": 82.5 } + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 46.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 71.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 24.0, + "y": 96.5 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIand#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIand#0", + "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUIand#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIand#1", + "pinName": "A" }, - "name": "unnamedWire#13", + "name": "unnamedWire#1", "path": [] }, { @@ -170,101 +178,89 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUIand#1", + "compName": "GUIand#0", "pinName": "B" }, - "name": "unnamedWire#9", - "path": [] + "name": "unnamedWire#10", + "path": [ + { + "x": 25.0, + "y": 22.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#11", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand#1", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIand#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#6", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUIand#3", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#1", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#1", + "name": "unnamedWire#14", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "A3" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUIand#2", "pinName": "A" }, - "name": "unnamedWire#0", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { "compName": "GUIand#3", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [] }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUIand#0", - "pinName": "B" - }, - "name": "unnamedWire#10", - "path": [ - { - "x": 25.0, - "y": 22.5 - } - ] - }, { "pin1": { "compName": "_submodelinterface", @@ -284,53 +280,66 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { "compName": "GUIand#3", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#3", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "GUIand#1", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#12", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { "compName": "GUIand#2", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIand#1", + "pinName": "B" + }, + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -340,5 +349,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIandor414.json b/net.mograsim.logic.model.am2900/components/GUIandor414.json index bd61b9df..5f6d292b 100644 --- a/net.mograsim.logic.model.am2900/components/GUIandor414.json +++ b/net.mograsim.logic.model.am2900/components/GUIandor414.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, @@ -6,74 +5,83 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 85.0 + "y": 45.0 }, - "name": "B", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 55.0 }, - "name": "C1", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 65.0 }, - "name": "C2", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 75.0 }, - "name": "C3", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 85.0 }, - "name": "A1", - "logicWidth": 1 + "name": "B", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 5.0 }, - "name": "C4", - "logicWidth": 1 + "name": "C1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 15.0 }, - "name": "A2", - "logicWidth": 1 + "name": "C2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 25.0 }, - "name": "A3", - "logicWidth": 1 + "name": "C3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 35.0 }, - "name": "A4", - "logicWidth": 1 + "name": "C4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -81,7 +89,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -89,7 +98,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -97,7 +107,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -105,20 +116,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "GUIor_4", - "name": "GUIor_4#0", - "pos": { - "x": 35.0, - "y": 37.5 - } - }, + "components": [ { "id": "GUIand41", "name": "GUIand41#0", @@ -126,206 +130,272 @@ mograsim version: 0.1.3 "x": 15.0, "y": 137.5 } + }, + { + "id": "GUIor_4", + "name": "GUIor_4#0", + "pos": { + "x": 35.0, + "y": 37.5 + } } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUIand41#0", + "pinName": "A1" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", "path": [ { - "x": 80.0, - "y": 52.5 + "x": 10.0, + "y": 112.5 }, { - "x": 80.0, - "y": 37.5 + "x": 10.0, + "y": 142.5 } ] }, { "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUIand41#0", + "pinName": "A2" }, - "name": "unnamedWire#13", + "name": "unnamedWire#1", "path": [ { - "x": 75.0, - "y": 42.5 + "x": 5.0, + "y": 137.5 }, { - "x": 75.0, - "y": 12.5 + "x": 5.0, + "y": 152.5 } ] }, { "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y4" + "compName": "GUIand41#0", + "pinName": "Y2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIor_4#0", + "pinName": "B2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#10", "path": [ { - "x": 80.0, - "y": 72.5 + "x": 65.0, + "y": 152.5 }, { - "x": 80.0, - "y": 87.5 + "x": 65.0, + "y": 125.0 + }, + { + "x": 25.0, + "y": 125.0 + }, + { + "x": 25.0, + "y": 92.5 } ] }, { "pin1": { - "compName": "GUIor_4#0", + "compName": "GUIand41#0", "pinName": "Y3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIor_4#0", + "pinName": "B3" }, - "name": "unnamedWire#15", - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 60.0, + "y": 162.5 + }, + { + "x": 60.0, + "y": 130.0 + }, + { + "x": 20.0, + "y": 130.0 + }, + { + "x": 20.0, + "y": 102.5 + } + ] }, { "pin1": { "compName": "GUIand41#0", - "pinName": "Y1" + "pinName": "Y4" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "B1" + "pinName": "B4" }, - "name": "unnamedWire#9", + "name": "unnamedWire#12", "path": [ { - "x": 70.0, - "y": 142.5 + "x": 55.0, + "y": 172.5 }, { - "x": 70.0, - "y": 120.0 + "x": 55.0, + "y": 135.0 }, { - "x": 30.0, - "y": 120.0 + "x": 15.0, + "y": 135.0 }, { - "x": 30.0, - "y": 82.5 + "x": 15.0, + "y": 112.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C4" + "compName": "GUIor_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIor_4#0", - "pinName": "A4" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#13", "path": [ { - "x": 5.0, - "y": 87.5 + "x": 75.0, + "y": 42.5 }, { - "x": 5.0, - "y": 72.5 + "x": 75.0, + "y": 12.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C3" + "compName": "GUIor_4#0", + "pinName": "Y2" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y2" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 80.0, + "y": 52.5 + }, + { + "x": 80.0, + "y": 37.5 + } + ] + }, + { + "pin1": { "compName": "GUIor_4#0", - "pinName": "A3" + "pinName": "Y3" }, - "name": "unnamedWire#7", + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C2" + "compName": "GUIor_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIor_4#0", - "pinName": "A2" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#6", + "name": "unnamedWire#16", "path": [ { - "x": 5.0, - "y": 37.5 + "x": 80.0, + "y": 72.5 }, { - "x": 5.0, - "y": 52.5 + "x": 80.0, + "y": 87.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "A3" }, "pin2": { "compName": "GUIand41#0", - "pinName": "A2" + "pinName": "A3" }, - "name": "unnamedWire#1", + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A4" + }, + "pin2": { + "compName": "GUIand41#0", + "pinName": "A4" + }, + "name": "unnamedWire#3", "path": [ { "x": 5.0, - "y": 137.5 + "y": 187.5 }, { "x": 5.0, - "y": 152.5 + "y": 172.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "B" }, "pin2": { "compName": "GUIand41#0", - "pinName": "A1" + "pinName": "B" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [ { "x": 10.0, - "y": 112.5 + "y": 212.5 }, { "x": 10.0, - "y": 142.5 + "y": 182.5 } ] }, @@ -352,146 +422,89 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "C2" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "B2" + "pinName": "A2" }, - "name": "unnamedWire#10", + "name": "unnamedWire#6", "path": [ { - "x": 65.0, - "y": 152.5 - }, - { - "x": 65.0, - "y": 125.0 - }, - { - "x": 25.0, - "y": 125.0 + "x": 5.0, + "y": 37.5 }, { - "x": 25.0, - "y": 92.5 + "x": 5.0, + "y": 52.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B" + "pinName": "C3" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "GUIor_4#0", + "pinName": "A3" }, - "name": "unnamedWire#4", - "path": [ - { - "x": 10.0, - "y": 212.5 - }, - { - "x": 10.0, - "y": 182.5 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A4" + "pinName": "C4" }, "pin2": { - "compName": "GUIand41#0", + "compName": "GUIor_4#0", "pinName": "A4" }, - "name": "unnamedWire#3", + "name": "unnamedWire#8", "path": [ { "x": 5.0, - "y": 187.5 + "y": 87.5 }, { "x": 5.0, - "y": 172.5 - } - ] - }, - { - "pin1": { - "compName": "GUIand41#0", - "pinName": "Y4" - }, - "pin2": { - "compName": "GUIor_4#0", - "pinName": "B4" - }, - "name": "unnamedWire#12", - "path": [ - { - "x": 55.0, - "y": 172.5 - }, - { - "x": 55.0, - "y": 135.0 - }, - { - "x": 15.0, - "y": 135.0 - }, - { - "x": 15.0, - "y": 112.5 + "y": 72.5 } ] }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" - }, - "name": "unnamedWire#2", - "path": [] - }, { "pin1": { "compName": "GUIand41#0", - "pinName": "Y3" + "pinName": "Y1" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "B3" + "pinName": "B1" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { - "x": 60.0, - "y": 162.5 + "x": 70.0, + "y": 142.5 }, { - "x": 60.0, - "y": 130.0 + "x": 70.0, + "y": 120.0 }, { - "x": 20.0, - "y": 130.0 + "x": 30.0, + "y": 120.0 }, { - "x": 20.0, - "y": 102.5 + "x": 30.0, + "y": 82.5 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -501,5 +514,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIdemux2.json b/net.mograsim.logic.model.am2900/components/GUIdemux2.json index 3523e99e..7e28bfd7 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdemux2.json +++ b/net.mograsim.logic.model.am2900/components/GUIdemux2.json @@ -1,31 +1,33 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Y00", - "logicWidth": 1 + "name": "S0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 15.0 }, - "name": "Y11", - "logicWidth": 1 + "name": "S1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 25.0 + "y": 5.0 }, - "name": "Y10", - "logicWidth": 1 + "name": "Y00", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -33,43 +35,46 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y01", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 25.0 }, - "name": "S0", - "logicWidth": 1 + "name": "Y10", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 35.0 }, - "name": "S1", - "logicWidth": 1 + "name": "Y11", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 10.0, - "y": 27.5 + "y": 2.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { "x": 10.0, - "y": 2.5 + "y": 27.5 }, "params": 1 }, @@ -83,18 +88,18 @@ mograsim version: 0.1.3 }, { "id": "GUIand", - "name": "GUIand#2", + "name": "GUIand#1", "pos": { "x": 40.0, - "y": 52.5 + "y": 27.5 } }, { "id": "GUIand", - "name": "GUIand#1", + "name": "GUIand#2", "pos": { "x": 40.0, - "y": 27.5 + "y": 52.5 } }, { @@ -105,6 +110,15 @@ mograsim version: 0.1.3 "y": 77.5 } }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 6.5, + "y": 11.5 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#1", @@ -116,10 +130,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { - "x": 6.5, - "y": 11.5 + "x": 36.5, + "y": 61.5 }, "params": 1 }, @@ -134,10 +148,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#4", "pos": { - "x": 36.5, - "y": 61.5 + "x": 4.0, + "y": 41.5 }, "params": 1 }, @@ -152,10 +166,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#6", "pos": { - "x": 4.0, - "y": 41.5 + "x": 31.5, + "y": 11.5 }, "params": 1 }, @@ -167,32 +181,71 @@ mograsim version: 0.1.3 "y": 36.5 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", - "pos": { - "x": 31.5, - "y": 11.5 + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] + }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#6", "pinName": "" }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, "pin2": { - "compName": "GUIand#1", + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUIand#0", "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#12", "path": [ { - "x": 37.5, - "y": 32.5 + "x": 32.5, + "y": 7.5 } ] }, @@ -215,18 +268,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIand#2", + "compName": "GUIand#1", "pinName": "A" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { - "x": 32.5, - "y": 57.5 + "x": 37.5, + "y": 32.5 } ] }, @@ -249,18 +302,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIand#3", + "compName": "GUIand#2", "pinName": "A" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [ { - "x": 37.5, - "y": 82.5 + "x": 32.5, + "y": 57.5 } ] }, @@ -278,106 +331,98 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUIand#3", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [ { - "x": 32.5, - "y": 92.5 + "x": 37.5, + "y": 82.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIand#3", + "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#19", "path": [ - { - "x": 5.0, - "y": 67.5 - }, { "x": 32.5, - "y": 67.5 + "y": 92.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#8", + "name": "unnamedWire#2", "path": [ { "x": 7.5, - "y": 62.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y00" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#20" }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y01" }, - "name": "unnamedWire#6", - "path": [] + "name": "unnamedWire#21" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "GUIand#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y10" }, - "name": "unnamedWire#1", - "path": [] + "name": "unnamedWire#22" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "compName": "GUIand#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y11" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#23" }, { "pin1": { @@ -385,144 +430,105 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#3", + "path": [ + { + "x": 5.0, + "y": 32.5 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIand#1", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y01" - }, - "name": "unnamedWire#21" - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y00" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#20" + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 5.0, - "y": 32.5 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#12", + "name": "unnamedWire#8", "path": [ { - "x": 32.5, - "y": 7.5 + "x": 7.5, + "y": 62.5 } ] }, { "pin1": { - "compName": "GUIand#3", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y11" - }, - "name": "unnamedWire#23" - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#9", "path": [ { - "x": 7.5, - "y": 7.5 + "x": 5.0, + "y": 67.5 + }, + { + "x": 32.5, + "y": 67.5 } ] - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#11", - "path": [] - }, - { - "pin1": { - "compName": "GUIand#2", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y10" - }, - "name": "unnamedWire#22" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -532,5 +538,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIdff.json b/net.mograsim.logic.model.am2900/components/GUIdff.json index 66af673f..30c17e6c 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdff.json +++ b/net.mograsim.logic.model.am2900/components/GUIdff.json @@ -1,44 +1,56 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Q", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 15.0 }, - "name": "_Q", - "logicWidth": 1 + "name": "D", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "C", - "logicWidth": 1 + "name": "Q", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 15.0 }, - "name": "D", - "logicWidth": 1 + "name": "_Q", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 120.0, + "y": 60.0 + }, + "params": 1 + }, { "id": "GUI_rsLatch", "name": "GUI_rsLatch#0", @@ -47,6 +59,14 @@ mograsim version: 0.1.3 "y": 10.0 } }, + { + "id": "GUI_rsLatch", + "name": "GUI_rsLatch#1", + "pos": { + "x": 120.0, + "y": 30.0 + } + }, { "id": "GUInand3", "name": "GUInand3#0", @@ -56,22 +76,14 @@ mograsim version: 0.1.3 } }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 120.0, - "y": 60.0 + "x": 9.0, + "y": 24.0 }, "params": 1 }, - { - "id": "GUI_rsLatch", - "name": "GUI_rsLatch#1", - "pos": { - "x": 120.0, - "y": 30.0 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#1", @@ -83,10 +95,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { - "x": 9.0, - "y": 24.0 + "x": 99.0, + "y": 34.0 }, "params": 1 }, @@ -98,153 +110,123 @@ mograsim version: 0.1.3 "y": 44.0 }, "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 99.0, - "y": 34.0 - }, - "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUI_rsLatch#1", - "pinName": "_Q" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#14" + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUI_rsLatch#1", - "pinName": "Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" + "compName": "GUI_rsLatch#0", + "pinName": "_R" }, - "name": "unnamedWire#13" + "name": "unnamedWire#1", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "Y" }, "pin2": { - "compName": "GUI_rsLatch#1", - "pinName": "_S" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "A" + "compName": "GUI_rsLatch#1", + "pinName": "_R" }, - "name": "unnamedWire#8", - "path": [ - { - "x": 30.0, - "y": 35.0 - }, - { - "x": 30.0, - "y": 45.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "_Q" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#7", + "name": "unnamedWire#12", "path": [ { "x": 100.0, - "y": 25.0 + "y": 65.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUI_rsLatch#1", + "pinName": "Q" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "C" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#6", - "path": [] + "name": "unnamedWire#13" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUI_rsLatch#1", + "pinName": "_Q" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_R" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "C" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "pinName": "_Q" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#14" }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_S" + "compName": "GUInand3#0", + "pinName": "B" }, - "name": "unnamedWire#5", + "name": "unnamedWire#2", "path": [ { - "x": 20.0, - "y": 15.0 + "x": 10.0, + "y": 55.0 } ] }, { "pin1": { - "compName": "GUInand3#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "D" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#3", "path": [] }, { @@ -274,63 +256,85 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUI_rsLatch#0", + "pinName": "_S" }, - "name": "unnamedWire#3", - "path": [] + "name": "unnamedWire#5", + "path": [ + { + "x": 20.0, + "y": 15.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUInand3#0", + "pinName": "C" }, - "name": "unnamedWire#12", + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUI_rsLatch#0", + "pinName": "_Q" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#7", "path": [ { "x": 100.0, - "y": 65.0 + "y": 25.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUInand3#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 10.0, - "y": 55.0 + "x": 30.0, + "y": 35.0 + }, + { + "x": 30.0, + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUI_rsLatch#1", - "pinName": "_R" + "pinName": "_S" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -353,5 +357,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIdff4.json b/net.mograsim.logic.model.am2900/components/GUIdff4.json index d03fafec..a7178188 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdff4.json +++ b/net.mograsim.logic.model.am2900/components/GUIdff4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, @@ -6,87 +5,113 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 55.0 + "y": 5.0 }, - "name": "D4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 25.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 35.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 45.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 55.0 }, - "name": "C", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 25.0 }, - "name": "WE", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 35.0 }, - "name": "D2", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 15.0 }, - "name": "D3", - "logicWidth": 1 + "name": "WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 55.0, + "y": 70.0 + } + }, + { + "id": "GUIdff", + "name": "GUIdff#0", + "pos": { + "x": 115.0, + "y": 20.0 + } + }, { "id": "GUIdff", "name": "GUIdff#1", @@ -97,20 +122,19 @@ mograsim version: 0.1.3 }, { "id": "GUIdff", - "name": "GUIdff#0", + "name": "GUIdff#2", "pos": { "x": 115.0, - "y": 20.0 + "y": 120.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIdff", + "name": "GUIdff#3", "pos": { - "x": 104.0, - "y": 74.0 - }, - "params": 1 + "x": 115.0, + "y": 170.0 + } }, { "id": "WireCrossPoint", @@ -123,10 +147,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 169.0, - "y": 24.0 + "x": 104.0, + "y": 74.0 }, "params": 1 }, @@ -141,10 +165,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 159.0, - "y": 124.0 + "x": 169.0, + "y": 24.0 }, "params": 1 }, @@ -157,6 +181,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 159.0, + "y": 124.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#6", @@ -165,44 +198,95 @@ mograsim version: 0.1.3 "y": 174.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 55.0, - "y": 70.0 - } + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIdff", - "name": "GUIdff#3", - "pos": { - "x": 115.0, - "y": 170.0 - } + "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 + } + ] }, { - "id": "GUIdff", - "name": "GUIdff#2", - "pos": { - "x": 115.0, - "y": 120.0 - } - } - ], - "innerWires": [ + "pin1": { + "compName": "_submodelinterface", + "pinName": "D1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" + }, + "name": "unnamedWire#10", + "path": [] + }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 5.0, + "y": 175.0 + }, + { + "x": 5.0, + "y": 135.0 + } + ] + }, + { + "pin1": { "compName": "_submodelinterface", - "pinName": "Q1" + "pinName": "D3" }, - "name": "unnamedWire#14", - "path": [] + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 10.0, + "y": 225.0 + }, + { + "x": 10.0, + "y": 145.0 + } + ] }, { "pin1": { @@ -218,14 +302,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIdff#1", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "Q1" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [] }, { @@ -242,14 +326,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIdff#2", - "pinName": "Q" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIdff#1", + "pinName": "Q" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [] }, { @@ -273,6 +357,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "GUIdff#2", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#5", @@ -287,14 +383,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdff#3", - "pinName": "Q" + "compName": "GUIdff#1", + "pinName": "D" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [] }, { @@ -311,24 +407,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y4" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { "compName": "GUIdff#3", - "pinName": "D" + "pinName": "Q" }, - "name": "unnamedWire#23", - "path": [ - { - "x": 95.0, - "y": 105.0 - }, - { - "x": 95.0, - "y": 185.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { @@ -353,26 +440,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_2" + "compName": "GUIdff#3", + "pinName": "D" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 165.0, - "y": 200.0 - }, - { - "x": 45.0, - "y": 200.0 + "x": 95.0, + "y": 105.0 }, { - "x": 45.0, - "y": 95.0 + "x": 95.0, + "y": 185.0 } ] }, @@ -403,15 +486,28 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, - "name": "unnamedWire#27", - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 165.0, + "y": 200.0 + }, + { + "x": 45.0, + "y": 200.0 + }, + { + "x": 45.0, + "y": 95.0 + } + ] }, { "pin1": { @@ -438,6 +534,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#6", @@ -465,88 +573,26 @@ mograsim version: 0.1.3 }, { "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", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIdff#2", + "compName": "GUIdff#0", "pinName": "C" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "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", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [] }, { @@ -563,95 +609,59 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_1" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIdff#0", + "compName": "GUIdff#2", "pinName": "C" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_3" + "compName": "GUIdff#3", + "pinName": "C" }, - "name": "unnamedWire#12", + "name": "unnamedWire#8", "path": [ { - "x": 10.0, - "y": 225.0 - }, - { - "x": 10.0, - "y": 145.0 + "x": 105.0, + "y": 175.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "WE" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" - }, - "name": "unnamedWire#11", - "path": [ - { - "x": 5.0, - "y": 175.0 - }, - { - "x": 5.0, - "y": 135.0 - } - ] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y2" - }, - "pin2": { - "compName": "GUIdff#1", - "pinName": "D" + "pinName": "S0" }, - "name": "unnamedWire#2", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -712,5 +722,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIdff4_invwe.json b/net.mograsim.logic.model.am2900/components/GUIdff4_invwe.json index 3108cc5f..c34cb35f 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdff4_invwe.json +++ b/net.mograsim.logic.model.am2900/components/GUIdff4_invwe.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, @@ -6,87 +5,113 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 55.0 + "y": 5.0 }, - "name": "D4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 25.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 35.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 45.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 55.0 }, - "name": "C", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 25.0 }, - "name": "_WE", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 35.0 }, - "name": "D2", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 15.0 }, - "name": "D3", - "logicWidth": 1 + "name": "_WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 55.0, + "y": 70.0 + } + }, + { + "id": "GUIdff", + "name": "GUIdff#0", + "pos": { + "x": 115.0, + "y": 20.0 + } + }, { "id": "GUIdff", "name": "GUIdff#1", @@ -97,20 +122,19 @@ mograsim version: 0.1.3 }, { "id": "GUIdff", - "name": "GUIdff#0", + "name": "GUIdff#2", "pos": { "x": 115.0, - "y": 20.0 + "y": 120.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIdff", + "name": "GUIdff#3", "pos": { - "x": 104.0, - "y": 74.0 - }, - "params": 1 + "x": 115.0, + "y": 170.0 + } }, { "id": "WireCrossPoint", @@ -123,10 +147,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 169.0, - "y": 24.0 + "x": 104.0, + "y": 74.0 }, "params": 1 }, @@ -141,10 +165,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 159.0, - "y": 124.0 + "x": 169.0, + "y": 24.0 }, "params": 1 }, @@ -157,6 +181,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 159.0, + "y": 124.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#6", @@ -165,44 +198,104 @@ mograsim version: 0.1.3 "y": 174.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 55.0, - "y": 70.0 - } + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIdff", - "name": "GUIdff#3", - "pos": { - "x": 115.0, - "y": 170.0 - } + "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 + } + ] }, { - "id": "GUIdff", - "name": "GUIdff#2", - "pos": { - "x": 115.0, - "y": 120.0 - } - } - ], - "innerWires": [ + "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#3", - "pinName": "" + "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": "_submodelinterface", - "pinName": "Q1" + "pinName": "D3" }, - "name": "unnamedWire#14", - "path": [] + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 20.0, + "y": 225.0 + }, + { + "x": 20.0, + "y": 105.0 + } + ] }, { "pin1": { @@ -218,14 +311,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIdff#1", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "Q1" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [] }, { @@ -242,14 +335,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIdff#2", - "pinName": "Q" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIdff#1", + "pinName": "Q" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [] }, { @@ -273,6 +366,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "GUIdff#2", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#5", @@ -287,14 +392,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdff#3", - "pinName": "Q" + "compName": "GUIdff#1", + "pinName": "D" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [] }, { @@ -311,24 +416,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y4" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { "compName": "GUIdff#3", - "pinName": "D" + "pinName": "Q" }, - "name": "unnamedWire#23", - "path": [ - { - "x": 95.0, - "y": 105.0 - }, - { - "x": 95.0, - "y": 185.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { @@ -353,26 +449,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" + "compName": "GUIdff#3", + "pinName": "D" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 165.0, - "y": 210.0 - }, - { - "x": 45.0, - "y": 210.0 + "x": 95.0, + "y": 105.0 }, { - "x": 45.0, - "y": 135.0 + "x": 95.0, + "y": 185.0 } ] }, @@ -403,15 +495,28 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" }, - "name": "unnamedWire#27", - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 165.0, + "y": 210.0 + }, + { + "x": 45.0, + "y": 210.0 + }, + { + "x": 45.0, + "y": 135.0 + } + ] }, { "pin1": { @@ -438,6 +543,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#6", @@ -465,88 +582,26 @@ mograsim version: 0.1.3 }, { "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", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIdff#2", + "compName": "GUIdff#0", "pinName": "C" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "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", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [] }, { @@ -563,104 +618,59 @@ mograsim version: 0.1.3 }, { "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", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIdff#0", + "compName": "GUIdff#2", "pinName": "C" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_3" + "compName": "GUIdff#3", + "pinName": "C" }, - "name": "unnamedWire#12", + "name": "unnamedWire#8", "path": [ { - "x": 20.0, - "y": 225.0 - }, - { - "x": 20.0, - "y": 105.0 + "x": 105.0, + "y": 175.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "_WE" }, "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" + "pinName": "S0" }, - "name": "unnamedWire#2", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -721,5 +731,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIdlatch.json b/net.mograsim.logic.model.am2900/components/GUIdlatch.json index 034ab797..b09c439c 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdlatch.json +++ b/net.mograsim.logic.model.am2900/components/GUIdlatch.json @@ -1,44 +1,56 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Q", - "logicWidth": 1 + "name": "D", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 15.0 }, - "name": "_Q", - "logicWidth": 1 + "name": "E", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "D", - "logicWidth": 1 + "name": "Q", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 15.0 }, - "name": "E", - "logicWidth": 1 + "name": "_Q", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 10.0, + "y": 2.5 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -57,11 +69,11 @@ mograsim version: 0.1.3 } }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 10.0, - "y": 2.5 + "x": 4.0, + "y": 36.5 }, "params": 1 }, @@ -73,97 +85,78 @@ mograsim version: 0.1.3 "y": 11.5 }, "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 4.0, - "y": 36.5 - }, - "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "_Q" + "compName": "_submodelinterface", + "pinName": "D" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#9" + "name": "unnamedWire#0" }, { "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "E" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_R" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#7", + "name": "unnamedWire#2", "path": [ { - "x": 40.0, - "y": 37.5 - }, - { - "x": 40.0, - "y": 22.5 + "x": 5.0, + "y": 17.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_S" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#6", - "path": [] + "name": "unnamedWire#3", + "path": [ + { + "x": 5.0, + "y": 42.5 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "E" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#4", "path": [] }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "D" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#0" - }, { "pin1": { "compName": "WireCrossPoint#1", @@ -191,51 +184,62 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#4", + "pin2": { + "compName": "GUI_rsLatch#0", + "pinName": "_S" + }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUI_rsLatch#0", + "pinName": "_R" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [ { - "x": 5.0, - "y": 42.5 + "x": 40.0, + "y": 37.5 + }, + { + "x": 40.0, + "y": 22.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUI_rsLatch#0", + "pinName": "Q" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 5.0, - "y": 17.5 - } - ] + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUI_rsLatch#0", + "pinName": "_Q" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_Q" + }, + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -258,5 +262,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIdlatch4.json b/net.mograsim.logic.model.am2900/components/GUIdlatch4.json index d798d7f5..3bc4df72 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdlatch4.json +++ b/net.mograsim.logic.model.am2900/components/GUIdlatch4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 50.0, @@ -6,105 +5,95 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 35.0 + "y": 45.0 }, - "name": "D4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 15.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 25.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 35.0 }, - "name": "C", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 25.0 }, - "name": "D2", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 35.0 }, - "name": "D3", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 14.0, - "y": 71.5 - }, - "params": 1 - }, + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 14.0, - "y": 46.5 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUIdlatch", + "name": "GUIdlatch#0", "pos": { - "x": 14.0, - "y": 96.5 - }, - "params": 1 + "x": 30.0, + "y": 7.5 + } }, { "id": "GUIdlatch", @@ -116,10 +105,10 @@ mograsim version: 0.1.3 }, { "id": "GUIdlatch", - "name": "GUIdlatch#0", + "name": "GUIdlatch#2", "pos": { "x": 30.0, - "y": 7.5 + "y": 57.5 } }, { @@ -131,206 +120,226 @@ mograsim version: 0.1.3 } }, { - "id": "GUIdlatch", - "name": "GUIdlatch#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 30.0, - "y": 57.5 - } + "x": 14.0, + "y": 46.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 14.0, + "y": 71.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 14.0, + "y": 96.5 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIdlatch#3", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q4" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#14", - "path": [] + "name": "unnamedWire#0", + "path": [ + { + "x": 15.0, + "y": 112.5 + } + ] }, { "pin1": { - "compName": "GUIdlatch#2", - "pinName": "Q" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q3" + "compName": "GUIdlatch#3", + "pinName": "E" }, - "name": "unnamedWire#13", + "name": "unnamedWire#1", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D3" + "pinName": "D4" }, "pin2": { - "compName": "GUIdlatch#2", + "compName": "GUIdlatch#3", "pinName": "D" }, - "name": "unnamedWire#9", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "GUIdlatch#0", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#1", - "pinName": "D" + "compName": "_submodelinterface", + "pinName": "Q1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#11", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "GUIdlatch#1", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#0", - "pinName": "D" + "compName": "_submodelinterface", + "pinName": "Q2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdlatch#2", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#0", - "pinName": "E" + "compName": "_submodelinterface", + "pinName": "Q3" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 15.0, - "y": 22.5 - } - ] + "name": "unnamedWire#13", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIdlatch#3", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#3", - "pinName": "E" + "compName": "_submodelinterface", + "pinName": "Q4" }, - "name": "unnamedWire#1", + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", - "path": [ - { - "x": 15.0, - "y": 112.5 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIdlatch#1", + "compName": "GUIdlatch#2", "pinName": "E" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch#3", - "pinName": "D" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdlatch#1", + "pinName": "E" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIdlatch#2", + "compName": "GUIdlatch#0", "pinName": "E" }, - "name": "unnamedWire#3", - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 15.0, + "y": 22.5 + } + ] }, { "pin1": { - "compName": "GUIdlatch#1", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q2" + "compName": "GUIdlatch#0", + "pinName": "D" }, - "name": "unnamedWire#12", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIdlatch#1", + "pinName": "D" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "GUIdlatch#0", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q1" + "compName": "GUIdlatch#2", + "pinName": "D" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -391,5 +400,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIfulladder.json b/net.mograsim.logic.model.am2900/components/GUIfulladder.json index d4647013..8b41bd3e 100644 --- a/net.mograsim.logic.model.am2900/components/GUIfulladder.json +++ b/net.mograsim.logic.model.am2900/components/GUIfulladder.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 30.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "C", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +35,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -41,12 +44,13 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Z", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -73,46 +77,18 @@ mograsim version: 0.1.3 } } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Z" - }, - "name": "unnamedWire#7" - }, - { - "pin1": { - "compName": "GUIhalfadder#1", - "pinName": "_Z" + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUIhalfadder#1", "pinName": "A" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 82.5, - "y": 22.5 - }, - { - "x": 82.5, - "y": 35.0 - }, - { - "x": 52.5, - "y": 35.0 - }, - { - "x": 52.5, - "y": 45.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { @@ -128,26 +104,24 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "C" }, "pin2": { - "compName": "GUIhalfadder#1", - "pinName": "A" + "compName": "GUIhalfadder#0", + "pinName": "B" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#2" }, { "pin1": { - "compName": "GUIhalfadder#1", + "compName": "GUIhalfadder#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "GUIhalfadder#1", + "pinName": "B" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#3" }, { "pin1": { @@ -163,27 +137,58 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIhalfadder#0", + "compName": "GUIhalfadder#1", "pinName": "Y" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { "compName": "GUIhalfadder#1", - "pinName": "B" + "pinName": "_Z" }, - "name": "unnamedWire#3" + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#6", + "path": [ + { + "x": 82.5, + "y": 22.5 + }, + { + "x": 82.5, + "y": 35.0 + }, + { + "x": 52.5, + "y": 35.0 + }, + { + "x": 52.5, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIhalfadder#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Z" }, - "name": "unnamedWire#2" + "name": "unnamedWire#7" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -193,5 +198,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIhalfadder.json b/net.mograsim.logic.model.am2900/components/GUIhalfadder.json index d0a0fa20..92720a8e 100644 --- a/net.mograsim.logic.model.am2900/components/GUIhalfadder.json +++ b/net.mograsim.logic.model.am2900/components/GUIhalfadder.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -33,12 +35,22 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "_Z", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 10.0, + "y": 15.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -50,10 +62,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 10.0, - "y": 15.0 + "x": 40.0, + "y": 27.5 }, "params": 1 }, @@ -68,28 +80,19 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 36.5 - }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#2", - "pos": { - "x": 40.0, - "y": 27.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 11.5 + "y": 36.5 }, "params": 1 }, @@ -103,72 +106,88 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "_submodelinterface", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#9", + "name": "unnamedWire#1", "path": [ { - "x": 35.0, - "y": 32.5 + "x": 5.0, + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#8", + "name": "unnamedWire#10", "path": [ { - "x": 35.0, - "y": 17.5 + "x": 62.5, + "y": 12.5 + }, + { + "x": 62.5, + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Z" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#7", + "name": "unnamedWire#11", "path": [ { - "x": 80.0, - "y": 25.0 + "x": 62.5, + "y": 37.5 }, { - "x": 80.0, - "y": 37.5 + "x": 62.5, + "y": 17.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#3", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#6", + "name": "unnamedWire#12", "path": [] }, { @@ -177,27 +196,27 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#2", "path": [ { "x": 5.0, - "y": 7.5 + "y": 20.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { @@ -206,35 +225,14 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#2", "pinName": "B" }, - "name": "unnamedWire#5", + "name": "unnamedWire#4", "path": [ { "x": 5.0, - "y": 30.0 - } - ] - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" - }, - "name": "unnamedWire#10", - "path": [ - { - "x": 62.5, - "y": 12.5 - }, - { - "x": 62.5, - "y": 7.5 + "y": 42.5 } ] }, @@ -244,80 +242,86 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "B" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [ { "x": 5.0, - "y": 42.5 + "y": 30.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#3", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y" + "pinName": "_Z" }, - "name": "unnamedWire#12", - "path": [] + "name": "unnamedWire#7", + "path": [ + { + "x": 80.0, + "y": 25.0 + }, + { + "x": 80.0, + "y": 37.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 5.0, - "y": 20.0 + "x": 35.0, + "y": 17.5 } ] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { - "x": 62.5, - "y": 37.5 - }, - { - "x": 62.5, - "y": 17.5 + "x": 35.0, + "y": 32.5 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -327,5 +331,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUImux1.json b/net.mograsim.logic.model.am2900/components/GUImux1.json index c0d53e56..279f905d 100644 --- a/net.mograsim.logic.model.am2900/components/GUImux1.json +++ b/net.mograsim.logic.model.am2900/components/GUImux1.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 30.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,28 +17,40 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "I1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Y", - "logicWidth": 1 + "name": "S0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "S0", - "logicWidth": 1 + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 10.0, + "y": 7.5 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -50,10 +62,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 10.0, - "y": 7.5 + "x": 35.0, + "y": 47.5 }, "params": 1 }, @@ -68,107 +80,93 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 21.5 - }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#2", - "pos": { - "x": 35.0, - "y": 47.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 11.5 + "y": 21.5 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "S0" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#9" + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#8" + "name": "unnamedWire#1", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#10" }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 5.0, - "y": 52.5 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#1", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#4" }, { "pin1": { @@ -184,51 +182,57 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#10" + "name": "unnamedWire#6", + "path": [ + { + "x": 5.0, + "y": 52.5 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#4" + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#3", - "path": [] + "name": "unnamedWire#8" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#2", - "path": [] + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -238,5 +242,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUImux1_4.json b/net.mograsim.logic.model.am2900/components/GUImux1_4.json index c90cd3eb..1caab2c4 100644 --- a/net.mograsim.logic.model.am2900/components/GUImux1_4.json +++ b/net.mograsim.logic.model.am2900/components/GUImux1_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, @@ -9,23 +8,17 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I0_1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 - }, - "name": "Y1", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 25.0 }, - "name": "Y2", - "logicWidth": 1 + "name": "I0_2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,47 +26,44 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "I0_3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 - }, - "name": "I1_2", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 25.0 + "y": 45.0 }, - "name": "Y3", - "logicWidth": 1 + "name": "I0_4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 55.0 }, - "name": "I0_2", - "logicWidth": 1 + "name": "I1_1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 65.0 }, - "name": "I1_1", - "logicWidth": 1 + "name": "I1_2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 75.0 }, - "name": "Y4", - "logicWidth": 1 + "name": "I1_3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -81,7 +71,8 @@ mograsim version: 0.1.3 "y": 85.0 }, "name": "I1_4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,28 +80,73 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 45.0 + "x": 35.0, + "y": 5.0 }, - "name": "I0_4", - "logicWidth": 1 + "name": "Y1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 75.0 + "x": 35.0, + "y": 15.0 }, - "name": "I1_3", - "logicWidth": 1 + "name": "Y2", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 25.0 + }, + "name": "Y3", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 35.0 + }, + "name": "Y4", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUImux1", + "name": "GUImux1#0", + "pos": { + "x": 30.0, + "y": 7.5 + } + }, + { + "id": "GUImux1", + "name": "GUImux1#1", + "pos": { + "x": 30.0, + "y": 42.5 + } + }, + { + "id": "GUImux1", + "name": "GUImux1#2", + "pos": { + "x": 30.0, + "y": 77.5 + } + }, { "id": "GUImux1", "name": "GUImux1#3", @@ -121,30 +157,22 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 24.0, - "y": 46.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 24.0, - "y": 11.5 + "y": 46.5 }, "params": 1 }, - { - "id": "GUImux1", - "name": "GUImux1#0", - "pos": { - "x": 30.0, - "y": 7.5 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#2", @@ -153,35 +181,77 @@ mograsim version: 0.1.3 "y": 81.5 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUImux1", - "name": "GUImux1#2", - "pos": { - "x": 30.0, - "y": 77.5 - } + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUImux1#0", + "pinName": "S0" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUImux1", - "name": "GUImux1#1", - "pos": { - "x": 30.0, - "y": 42.5 - } - } - ], - "innerWires": [ + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [] + }, { "pin1": { - "compName": "GUImux1#2", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { + "compName": "GUImux1#2", + "pinName": "S0" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { "compName": "_submodelinterface", - "pinName": "Y3" + "pinName": "I0_3" }, - "name": "unnamedWire#14" + "pin2": { + "compName": "GUImux1#2", + "pinName": "I0" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 5.0, + "y": 87.5 + }, + { + "x": 5.0, + "y": 92.5 + } + ] }, { "pin1": { @@ -206,24 +276,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I0_4" + "compName": "GUImux1#2", + "pinName": "Y" }, "pin2": { - "compName": "GUImux1#3", - "pinName": "I0" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 5.0, - "y": 112.5 - }, - { - "x": 5.0, - "y": 127.5 - } - ] + "name": "unnamedWire#14" }, { "pin1": { @@ -244,14 +304,24 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUImux1#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I0_4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUImux1#3", + "pinName": "I0" }, - "name": "unnamedWire#18" + "name": "unnamedWire#16", + "path": [ + { + "x": 5.0, + "y": 112.5 + }, + { + "x": 5.0, + "y": 127.5 + } + ] }, { "pin1": { @@ -276,91 +346,67 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUImux1#1", + "compName": "GUImux1#3", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y2" + "pinName": "Y4" }, - "name": "unnamedWire#9" + "name": "unnamedWire#18" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1_2" + "pinName": "I0_1" }, "pin2": { - "compName": "GUImux1#1", - "pinName": "I1" + "compName": "GUImux1#0", + "pinName": "I0" }, - "name": "unnamedWire#8", + "name": "unnamedWire#2", "path": [ { - "x": 15.0, - "y": 162.5 + "x": 5.0, + "y": 37.5 }, { - "x": 15.0, - "y": 67.5 + "x": 5.0, + "y": 22.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0_2" + "pinName": "I1_1" }, "pin2": { - "compName": "GUImux1#1", - "pinName": "I0" + "compName": "GUImux1#0", + "pinName": "I1" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [ { - "x": 5.0, - "y": 62.5 + "x": 10.0, + "y": 137.5 }, { - "x": 5.0, - "y": 57.5 + "x": 10.0, + "y": 32.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "GUImux1#1", - "pinName": "S0" - }, - "name": "unnamedWire#6", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { "compName": "GUImux1#0", - "pinName": "S0" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [] }, { @@ -381,100 +427,67 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { - "compName": "GUImux1#0", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUImux1#1", + "pinName": "S0" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1_1" - }, - "pin2": { - "compName": "GUImux1#0", - "pinName": "I1" - }, - "name": "unnamedWire#3", - "path": [ - { - "x": 10.0, - "y": 137.5 - }, - { - "x": 10.0, - "y": 32.5 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I0_3" + "pinName": "I0_2" }, "pin2": { - "compName": "GUImux1#2", + "compName": "GUImux1#1", "pinName": "I0" }, - "name": "unnamedWire#12", + "name": "unnamedWire#7", "path": [ { "x": 5.0, - "y": 87.5 + "y": 62.5 }, { "x": 5.0, - "y": 92.5 + "y": 57.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0_1" + "pinName": "I1_2" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I0" + "compName": "GUImux1#1", + "pinName": "I1" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 5.0, - "y": 37.5 + "x": 15.0, + "y": 162.5 }, { - "x": 5.0, - "y": 22.5 + "x": 15.0, + "y": 67.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUImux1#1", + "pinName": "Y" }, "pin2": { - "compName": "GUImux1#2", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -484,5 +497,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUImux2.json b/net.mograsim.logic.model.am2900/components/GUImux2.json index 2542ce0a..b1cf3a62 100644 --- a/net.mograsim.logic.model.am2900/components/GUImux2.json +++ b/net.mograsim.logic.model.am2900/components/GUImux2.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 70.0, "height": 70.0, @@ -9,15 +8,17 @@ mograsim version: 0.1.3 "y": 30.0 }, "name": "I00", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 60.0 + "y": 40.0 }, - "name": "I11", - "logicWidth": 1 + "name": "I01", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,23 +26,17 @@ mograsim version: 0.1.3 "y": 50.0 }, "name": "I10", - "logicWidth": 1 - }, - { - "location": { - "x": 70.0, - "y": 10.0 - }, - "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 40.0 + "y": 60.0 }, - "name": "I01", - "logicWidth": 1 + "name": "I11", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,7 +44,8 @@ mograsim version: 0.1.3 "y": 10.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,12 +53,46 @@ mograsim version: 0.1.3 "y": 20.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 70.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 60.0, + "y": 35.0 + } + }, + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 60.0, + "y": 100.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 115.0, + "y": 20.0 + } + }, { "id": "GUINandGate", "name": "GUINandGate#0", @@ -72,6 +102,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 24.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#1", @@ -83,10 +122,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { "x": 24.0, - "y": 24.0 + "y": 49.0 }, "params": 1 }, @@ -98,52 +137,72 @@ mograsim version: 0.1.3 "y": 39.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 24.0, - "y": 49.0 + "pin1": { + "compName": "GUINandGate#0", + "pinName": "A" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 20.0 + } + ] }, { - "id": "GUIsel1", - "name": "DeserializedSubmodelComponent#1", - "pos": { - "x": 60.0, - "y": 100.0 - } + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUIsel1", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 60.0, - "y": 35.0 - } + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [] }, - { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#2", - "pos": { - "x": 115.0, - "y": 20.0 - } - } - ], - "innerWires": [ { "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "S1" + "pinName": "S2" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#14", + "name": "unnamedWire#12", "path": [] }, { @@ -160,20 +219,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "S2" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 25.0, - "y": 115.0 - } - ] + "name": "unnamedWire#14", + "path": [] }, { "pin1": { @@ -194,133 +248,92 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "S1" + "pinName": "S2" }, - "name": "unnamedWire#17", + "name": "unnamedWire#16", "path": [ { - "x": 55.0, - "y": 105.0 + "x": 25.0, + "y": 115.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S1" }, - "name": "unnamedWire#9", + "name": "unnamedWire#17", "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 + "x": 55.0, + "y": 105.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I00" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", + "compName": "DeserializedSubmodelComponent#0", "pinName": "I1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#2", "path": [ { - "x": 105.0, - "y": 105.0 + "x": 35.0, + "y": 75.0 }, { - "x": 105.0, - "y": 45.0 + "x": 35.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I01" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [ { - "x": 105.0, - "y": 40.0 + "x": 40.0, + "y": 100.0 }, { - "x": 105.0, - "y": 35.0 + "x": 40.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Y" - }, - "name": "unnamedWire#6", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "pinName": "I10" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1" }, - "name": "unnamedWire#1", + "name": "unnamedWire#4", "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", @@ -344,95 +357,89 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "I10" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1" + "pinName": "Y" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I01" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [ { - "x": 40.0, - "y": 100.0 + "x": 105.0, + "y": 40.0 }, { - "x": 40.0, - "y": 70.0 + "x": 105.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I00" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "DeserializedSubmodelComponent#2", "pinName": "I1" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 35.0, - "y": 75.0 + "x": 105.0, + "y": 105.0 }, { - "x": 35.0, - "y": 60.0 + "x": 105.0, + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "S1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" }, - "name": "unnamedWire#11", - "path": [] + "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 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -443,5 +450,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ 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 index 042d9e1b..7d1342a9 100644 --- a/net.mograsim.logic.model.am2900/components/GUImux2_4.json +++ b/net.mograsim.logic.model.am2900/components/GUImux2_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 62.0, "height": 90.0, @@ -9,15 +8,17 @@ mograsim version: 0.1.3 "y": 30.0 }, "name": "I00", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 60.0 + "y": 40.0 }, - "name": "I11", - "logicWidth": 4 + "name": "I01", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { @@ -25,23 +26,17 @@ mograsim version: 0.1.3 "y": 50.0 }, "name": "I10", - "logicWidth": 4 - }, - { - "location": { - "x": 62.0, - "y": 16.0 - }, - "name": "Y", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 40.0 + "y": 60.0 }, - "name": "I01", - "logicWidth": 4 + "name": "I11", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { @@ -49,7 +44,8 @@ mograsim version: 0.1.3 "y": 10.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,29 +53,45 @@ mograsim version: 0.1.3 "y": 20.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 62.0, + "y": 16.0 + }, + "name": "Y", + "logicWidth": 4, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", "pos": { - "x": 19.0, - "y": 34.0 - }, - "params": 1 + "x": 40.0, + "y": 30.0 + } }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#1", "pos": { - "x": 25.0, - "y": 45.0 - }, - "params": 4 + "x": 40.0, + "y": 125.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 100.0, + "y": 20.0 + } }, { "id": "GUIMerger", @@ -92,97 +104,110 @@ mograsim version: 0.1.3 }, { "id": "GUISplitter", - "name": "GUISplitter#3", + "name": "GUISplitter#0", "pos": { "x": 25.0, - "y": 180.0 + "y": 45.0 }, "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#2", + "name": "GUISplitter#1", "pos": { "x": 25.0, - "y": 140.0 + "y": 85.0 }, "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#1", + "name": "GUISplitter#2", "pos": { "x": 25.0, - "y": 85.0 + "y": 140.0 }, "params": 4 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#1", - "pos": { - "x": 40.0, - "y": 125.0 - } - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#0", + "id": "GUISplitter", + "name": "GUISplitter#3", "pos": { - "x": 40.0, - "y": 30.0 - } + "x": 25.0, + "y": 180.0 + }, + "params": 4 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 100.0, - "y": 20.0 - } + "x": 19.0, + "y": 34.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_1" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", "pinName": "I0_2" }, "pin2": { - "compName": "GUISplitter#0", + "compName": "GUISplitter#2", "pinName": "O1" }, - "name": "unnamedWire#14", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "S0" + "compName": "GUISplitter#1", + "pinName": "O0" }, - "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 - } - ] + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#12", + "path": [] }, { "pin1": { @@ -198,14 +223,26 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y4" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "GUISplitter#0", + "pinName": "O1" }, - "name": "unnamedWire#35", + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "name": "unnamedWire#15", "path": [] }, { @@ -227,14 +264,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" }, - "name": "unnamedWire#15", + "name": "unnamedWire#17", "path": [] }, { @@ -254,18 +291,6 @@ mograsim version: 0.1.3 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" - }, - "name": "unnamedWire#17", - "path": [] - }, { "pin1": { "compName": "GUISplitter#0", @@ -290,23 +315,14 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUISplitter#2", - "pinName": "I" + "pinName": "O2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "I10" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_3" }, - "name": "unnamedWire#21", - "path": [ - { - "x": 15.0, - "y": 155.0 - }, - { - "x": 15.0, - "y": 125.0 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { @@ -322,15 +338,24 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y1" + "compName": "GUISplitter#2", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_1" + "compName": "_submodelinterface", + "pinName": "I10" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#21", + "path": [ + { + "x": 15.0, + "y": 155.0 + }, + { + "x": 15.0, + "y": 125.0 + } + ] }, { "pin1": { @@ -356,13 +381,13 @@ mograsim version: 0.1.3 { "pin1": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y3" + "pinName": "Y1" }, "pin2": { "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_3" + "pinName": "I0_1" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [] }, { @@ -379,24 +404,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_3" }, - "name": "unnamedWire#27", - "path": [ - { - "x": 80.0, - "y": 75.0 - }, - { - "x": 80.0, - "y": 130.0 - } - ] + "name": "unnamedWire#25", + "path": [] }, { "pin1": { @@ -413,21 +429,21 @@ mograsim version: 0.1.3 { "pin1": { "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_3" + "pinName": "I1_1" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y3" + "pinName": "Y1" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 90.0, - "y": 95.0 + "x": 80.0, + "y": 75.0 }, { - "x": 90.0, - "y": 150.0 + "x": 80.0, + "y": 130.0 } ] }, @@ -454,74 +470,35 @@ mograsim version: 0.1.3 }, { "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", + "compName": "DeserializedSubmodelComponent#2", "pinName": "I1_3" }, - "name": "unnamedWire#8", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#3", - "pinName": "O3" - }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1_4" + "pinName": "Y3" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#29", + "path": [ + { + "x": 90.0, + "y": 95.0 + }, + { + "x": 90.0, + "y": 150.0 + } + ] }, { "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" + "pinName": "I1_1" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { @@ -547,26 +524,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O1" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1_2" - }, - "name": "unnamedWire#5", - "path": [] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_1" + "compName": "GUIMerger#0", + "pinName": "O" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O0" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#10", + "name": "unnamedWire#31", "path": [] }, { @@ -583,101 +548,143 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y2" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "O3" + "compName": "GUIMerger#0", + "pinName": "I1" }, - "name": "unnamedWire#4", + "name": "unnamedWire#33", "path": [] }, { "pin1": { "compName": "GUIMerger#0", - "pinName": "O" + "pinName": "I2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y3" }, - "name": "unnamedWire#31", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1_1" + "compName": "GUIMerger#0", + "pinName": "I3" }, - "name": "unnamedWire#3", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", + "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#1", "pinName": "I0_4" }, "pin2": { - "compName": "GUISplitter#0", + "compName": "GUISplitter#2", "pinName": "O3" }, - "name": "unnamedWire#12", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "GUISplitter#3", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y3" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_2" }, - "name": "unnamedWire#34", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#3", "pinName": "O2" }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O3" + }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_3" + "pinName": "I1_4" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { "compName": "GUISplitter#1", - "pinName": "O3" + "pinName": "O2" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_4" + "pinName": "I1_3" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y2" + "compName": "GUISplitter#1", + "pinName": "O1" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" }, - "name": "unnamedWire#33", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -688,5 +695,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ 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 index 3f6a8bc1..a27f5ca3 100644 --- a/net.mograsim.logic.model.am2900/components/GUImux3.json +++ b/net.mograsim.logic.model.am2900/components/GUImux3.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 80.0, "height": 120.0, @@ -9,23 +8,17 @@ mograsim version: 0.1.3 "y": 40.0 }, "name": "I000", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 70.0 - }, - "name": "I011", - "logicWidth": 1 - }, - { - "location": { - "x": 0.0, - "y": 100.0 + "y": 50.0 }, - "name": "I110", - "logicWidth": 1 + "name": "I001", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,15 +26,17 @@ mograsim version: 0.1.3 "y": 60.0 }, "name": "I010", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 90.0 + "y": 70.0 }, - "name": "I101", - "logicWidth": 1 + "name": "I011", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,31 +44,35 @@ mograsim version: 0.1.3 "y": 80.0 }, "name": "I100", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 110.0 + "y": 90.0 }, - "name": "I111", - "logicWidth": 1 + "name": "I101", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 80.0, - "y": 10.0 + "x": 0.0, + "y": 100.0 }, - "name": "Y", - "logicWidth": 1 + "name": "I110", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 50.0 + "y": 110.0 }, - "name": "I001", - "logicWidth": 1 + "name": "I111", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -81,7 +80,8 @@ mograsim version: 0.1.3 "y": 10.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,7 +89,8 @@ mograsim version: 0.1.3 "y": 20.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -97,30 +98,22 @@ mograsim version: 0.1.3 "y": 30.0 }, "name": "S2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 80.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 24.0, - "y": 94.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 19.0, - "y": 104.0 - }, - "params": 1 - }, + "components": [ { "id": "GUImux2", "name": "DeserializedSubmodelComponent#0", @@ -129,6 +122,14 @@ mograsim version: 0.1.3 "y": 185.0 } }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 125.0, + "y": 20.0 + } + }, { "id": "GUImux2", "name": "DeserializedSubmodelComponent#3", @@ -138,36 +139,113 @@ mograsim version: 0.1.3 } }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 125.0, - "y": 20.0 - } + "x": 19.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 94.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "I111" + "pinName": "S0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 20.0, + "y": 50.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", "pinName": "I11" }, - "name": "unnamedWire#14", + "pin2": { + "compName": "_submodelinterface", + "pinName": "I011" + }, + "name": "unnamedWire#10", "path": [ { "x": 15.0, - "y": 275.0 + "y": 145.0 }, { "x": 15.0, - "y": 245.0 + "y": 175.0 + } + ] + }, + { + "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 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I101" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I01" + }, + "name": "unnamedWire#12", + "path": [] + }, { "pin1": { "compName": "DeserializedSubmodelComponent#0", @@ -191,22 +269,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I111" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I11" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { - "x": 110.0, - "y": 95.0 + "x": 15.0, + "y": 275.0 }, { - "x": 110.0, - "y": 35.0 + "x": 15.0, + "y": 245.0 } ] }, @@ -233,89 +311,56 @@ mograsim version: 0.1.3 }, { "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" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I10" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" }, - "name": "unnamedWire#9", + "name": "unnamedWire#16", "path": [ { - "x": 10.0, - "y": 150.0 + "x": 110.0, + "y": 95.0 }, { - "x": 10.0, - "y": 135.0 + "x": 110.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I01" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" }, "pin2": { "compName": "_submodelinterface", - "pinName": "I001" - }, - "name": "unnamedWire#8", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I000" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I00" + "pinName": "S2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#17", "path": [ { - "x": 10.0, - "y": 100.0 + "x": 70.0, + "y": 25.0 }, { - "x": 10.0, - "y": 115.0 + "x": 70.0, + "y": 75.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" }, - "name": "unnamedWire#6", + "name": "unnamedWire#2", "path": [] }, { @@ -324,31 +369,26 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "_submodelinterface", + "compName": "DeserializedSubmodelComponent#3", "pinName": "S1" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 20.0, - "y": 50.0 - } - ] + "name": "unnamedWire#3", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", + "compName": "DeserializedSubmodelComponent#0", "pinName": "S0" }, "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [ { "x": 25.0, - "y": 25.0 + "y": 195.0 } ] }, @@ -371,100 +411,72 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I11" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "I011" + "pinName": "Y" }, - "name": "unnamedWire#10", - "path": [ - { - "x": 15.0, - "y": 145.0 - }, - { - "x": 15.0, - "y": 175.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "I000" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I00" }, - "name": "unnamedWire#4", + "name": "unnamedWire#7", "path": [ { - "x": 25.0, - "y": 195.0 + "x": 10.0, + "y": 100.0 + }, + { + "x": 10.0, + "y": 115.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" + "compName": "_submodelinterface", + "pinName": "I001" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I00" + "compName": "_submodelinterface", + "pinName": "I010" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "I100" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I10" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { "x": 10.0, - "y": 215.0 + "y": 150.0 }, { "x": 10.0, - "y": 200.0 + "y": 135.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -475,5 +487,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUInand3.json b/net.mograsim.logic.model.am2900/components/GUInand3.json index e57eefee..28b9a601 100644 --- a/net.mograsim.logic.model.am2900/components/GUInand3.json +++ b/net.mograsim.logic.model.am2900/components/GUInand3.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 30.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "C", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,26 +35,27 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { - "x": 35.0, + "x": 10.0, "y": 15.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { - "x": 10.0, + "x": 35.0, "y": 15.0 }, "params": 1 @@ -76,39 +79,17 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ - { - "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" - }, - "name": "unnamedWire#7", - "path": [] - }, + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "C" + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 60.0, - "y": 62.5 - }, - { - "x": 60.0, - "y": 17.5 - } - ] + "name": "unnamedWire#0" }, { "pin1": { @@ -123,33 +104,30 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#0" + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [ { - "x": 57.5, - "y": 25.0 - }, - { - "x": 57.5, - "y": 7.5 + "x": 32.5, + "y": 20.0 } ] }, @@ -172,34 +150,60 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#5", "path": [ { - "x": 32.5, - "y": 20.0 + "x": 57.5, + "y": 25.0 + }, + { + "x": 57.5, + "y": 7.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#6", + "path": [ + { + "x": 60.0, + "y": 62.5 + }, + { + "x": 60.0, + "y": 17.5 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#2", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -209,5 +213,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUInot4.json b/net.mograsim.logic.model.am2900/components/GUInot4.json index a7e95a32..b80166a2 100644 --- a/net.mograsim.logic.model.am2900/components/GUInot4.json +++ b/net.mograsim.logic.model.am2900/components/GUInot4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "A2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "A3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +35,8 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "A4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -41,7 +44,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -49,7 +53,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -57,7 +62,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,21 +71,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 30.0, - "y": 27.5 - }, - "params": 1 - }, + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -91,28 +89,28 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#1", "pos": { "x": 30.0, - "y": 77.5 + "y": 27.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 14.0, - "y": 36.5 + "x": 30.0, + "y": 52.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#3", "pos": { "x": 30.0, - "y": 52.5 + "y": 77.5 }, "params": 1 }, @@ -127,10 +125,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, - "y": 86.5 + "y": 36.5 }, "params": 1 }, @@ -142,242 +140,252 @@ mograsim version: 0.1.3 "y": 61.5 }, "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 14.0, + "y": 86.5 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Y3" - }, - "name": "unnamedWire#14", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "pinName": "A1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#13", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#15", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#10", "path": [ { "x": 15.0, - "y": 42.5 + "y": 67.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#3", "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#11", "path": [ { "x": 15.0, - "y": 17.5 + "y": 92.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#7", - "path": [ - { - "x": 15.0, - "y": 82.5 - } - ] + "name": "unnamedWire#12", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y2" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { "compName": "GUINandGate#2", - "pinName": "A" + "pinName": "Y" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 15.0, - "y": 57.5 - } - ] + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#14", + "path": [] }, { "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "Y4" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#2", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "A4" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#5", + "name": "unnamedWire#4", "path": [ { "x": 15.0, - "y": 32.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#10", + "name": "unnamedWire#5", "path": [ { "x": 15.0, - "y": 67.5 + "y": 32.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [ { "x": 15.0, - "y": 7.5 + "y": 57.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" - }, - "pin2": { "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#12", - "path": [] + "name": "unnamedWire#7", + "path": [ + { + "x": 15.0, + "y": 82.5 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#2", - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 15.0, + "y": 17.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "B" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { "x": 15.0, - "y": 92.5 + "y": 42.5 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -387,5 +395,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIor4.json b/net.mograsim.logic.model.am2900/components/GUIor4.json index 5b09418b..9b6e1bf9 100644 --- a/net.mograsim.logic.model.am2900/components/GUIor4.json +++ b/net.mograsim.logic.model.am2900/components/GUIor4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "A2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "A3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +35,8 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "A4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -41,12 +44,22 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 20.0, + "y": 15.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -58,10 +71,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { "x": 20.0, - "y": 15.0 + "y": 115.0 }, "params": 1 }, @@ -76,19 +89,46 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { - "x": 20.0, - "y": 115.0 + "x": 50.0, + "y": 40.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 14.0, - "y": 74.0 + "x": 50.0, + "y": 140.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#6", + "pos": { + "x": 110.0, + "y": 40.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#7", + "pos": { + "x": 110.0, + "y": 140.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#8", + "pos": { + "x": 140.0, + "y": 90.0 }, "params": 1 }, @@ -103,10 +143,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, - "y": 174.0 + "y": 74.0 }, "params": 1 }, @@ -121,10 +161,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 104.0, - "y": 149.0 + "x": 14.0, + "y": 174.0 }, "params": 1 }, @@ -138,62 +178,84 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 140.0, - "y": 90.0 + "x": 104.0, + "y": 149.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUINandGate", - "name": "GUINandGate#5", - "pos": { - "x": 50.0, - "y": 140.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A1" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 50.0, - "y": 40.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A2" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#7", - "pos": { - "x": 110.0, - "y": 140.0 + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" }, - "params": 1 + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 15.0, + "y": 130.0 + } + ] }, { - "id": "GUINandGate", - "name": "GUINandGate#6", - "pos": { - "x": 110.0, - "y": 40.0 + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 15.0, + "y": 180.0 + } + ] + }, { "pin1": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#14" + "name": "unnamedWire#12" }, { "pin1": { @@ -208,15 +270,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#2", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, - "name": "unnamedWire#16", - "path": [] + "name": "unnamedWire#14" }, { "pin1": { @@ -231,20 +292,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#18", - "path": [ - { - "x": 105.0, - "y": 45.0 - } - ] + "name": "unnamedWire#16", + "path": [] }, { "pin1": { @@ -265,33 +321,45 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#6", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [ { "x": 105.0, - "y": 55.0 + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#21", + "name": "unnamedWire#19", "path": [ { "x": 105.0, - "y": 155.0 + "y": 55.0 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#5", @@ -311,14 +379,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#23" + "name": "unnamedWire#21", + "path": [ + { + "x": 105.0, + "y": 155.0 + } + ] }, { "pin1": { @@ -331,6 +405,17 @@ mograsim version: 0.1.3 }, "name": "unnamedWire#22" }, + { + "pin1": { + "compName": "GUINandGate#7", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "B" + }, + "name": "unnamedWire#23" + }, { "pin1": { "compName": "GUINandGate#8", @@ -344,20 +429,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 15.0, - "y": 80.0 - } - ] + "name": "unnamedWire#3", + "path": [] }, { "pin1": { @@ -366,30 +446,30 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#8", + "name": "unnamedWire#4", "path": [ { "x": 15.0, - "y": 30.0 + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#7", + "name": "unnamedWire#5", "path": [ { "x": 15.0, - "y": 170.0 + "y": 70.0 } ] }, @@ -412,59 +492,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#3", "pinName": "A" }, - "name": "unnamedWire#5", - "path": [ - { - "x": 15.0, - "y": 70.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" - }, - "name": "unnamedWire#10", + "name": "unnamedWire#7", "path": [ { "x": 15.0, - "y": 130.0 + "y": 170.0 } ] }, @@ -475,69 +514,35 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#4", + "name": "unnamedWire#8", "path": [ { "x": 15.0, - "y": 20.0 + "y": 30.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" - }, - "name": "unnamedWire#12" - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#2", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "B" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { "x": 15.0, - "y": 180.0 + "y": 80.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -547,5 +552,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIor_4.json b/net.mograsim.logic.model.am2900/components/GUIor_4.json index ed484c98..232a77f8 100644 --- a/net.mograsim.logic.model.am2900/components/GUIor_4.json +++ b/net.mograsim.logic.model.am2900/components/GUIor_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 80.0, @@ -9,55 +8,71 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 15.0 }, - "name": "B2", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 25.0 }, - "name": "A2", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 35.0 }, - "name": "B3", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 45.0 }, - "name": "A3", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 55.0 }, - "name": "B4", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 65.0 }, - "name": "A4", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 0.0, + "y": 75.0 + }, + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -65,7 +80,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -73,7 +89,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -81,7 +98,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -89,29 +107,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 - }, - { - "location": { - "x": 0.0, - "y": 45.0 - }, - "name": "B1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 15.0, - "y": 27.5 - }, - "params": 1 - }, + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -123,18 +125,18 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#1", "pos": { "x": 15.0, - "y": 77.5 + "y": 27.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#10", "pos": { - "x": 15.0, + "x": 65.0, "y": 52.5 }, "params": 1 @@ -150,64 +152,64 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#10", + "name": "GUINandGate#2", "pos": { - "x": 65.0, + "x": 15.0, "y": 52.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 6.5, - "y": 36.5 + "x": 15.0, + "y": 77.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 6.5, - "y": 11.5 + "x": 15.0, + "y": 102.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 6.5, - "y": 86.5 + "x": 15.0, + "y": 127.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 6.5, - "y": 61.5 + "x": 15.0, + "y": 152.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 6.5, - "y": 136.5 + "x": 15.0, + "y": 177.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 6.5, - "y": 111.5 + "x": 65.0, + "y": 2.5 }, "params": 1 }, @@ -222,83 +224,133 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#0", "pos": { "x": 6.5, - "y": 186.5 + "y": 11.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 65.0, - "y": 2.5 + "x": 6.5, + "y": 36.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#2", "pos": { "x": 6.5, - "y": 161.5 + "y": 61.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 15.0, - "y": 127.5 + "x": 6.5, + "y": 86.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 15.0, - "y": 102.5 + "x": 6.5, + "y": 111.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 15.0, - "y": 177.5 + "x": 6.5, + "y": 136.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 15.0, - "y": 152.5 + "x": 6.5, + "y": 161.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 6.5, + "y": 186.5 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "_submodelinterface", + "pinName": "A1" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A2" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#10", "path": [ { "x": 7.5, - "y": 82.5 + "y": 32.5 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 7.5, + "y": 42.5 } ] }, @@ -309,42 +361,47 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#2", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#13", + "name": "unnamedWire#12", "path": [ { "x": 7.5, - "y": 67.5 + "y": 57.5 } ] }, { "pin1": { - "compName": "GUINandGate#11", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#35", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 7.5, + "y": 67.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#3", "pinName": "A" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { "x": 7.5, - "y": 107.5 + "y": 82.5 } ] }, @@ -367,18 +424,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [ { "x": 7.5, - "y": 132.5 + "y": 107.5 } ] }, @@ -406,33 +463,45 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#5", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [ { "x": 7.5, - "y": 142.5 + "y": 132.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#21", + "name": "unnamedWire#19", "path": [ { "x": 7.5, - "y": 167.5 + "y": 142.5 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#6", @@ -452,18 +521,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [ { "x": 7.5, - "y": 192.5 + "y": 167.5 } ] }, @@ -486,22 +555,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 45.0, - "y": 112.5 - }, - { - "x": 45.0, - "y": 17.5 + "x": 7.5, + "y": 192.5 } ] }, @@ -528,22 +593,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#8", "pinName": "B" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [ { - "x": 50.0, - "y": 137.5 + "x": 45.0, + "y": 112.5 }, { - "x": 50.0, - "y": 42.5 + "x": 45.0, + "y": 17.5 } ] }, @@ -570,22 +635,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#9", "pinName": "B" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 55.0, - "y": 162.5 + "x": 50.0, + "y": 137.5 }, { - "x": 55.0, - "y": 67.5 + "x": 50.0, + "y": 42.5 } ] }, @@ -612,84 +677,35 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#10", "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#29", "path": [ { - "x": 7.5, - "y": 17.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#8", - "path": [ + "x": 55.0, + "y": 162.5 + }, { - "x": 7.5, - "y": 7.5 + "x": 55.0, + "y": 67.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B4" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#7", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "name": "unnamedWire#6", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "A4" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { @@ -715,30 +731,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" - }, - "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "name": "unnamedWire#5", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUINandGate#11", + "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#31", "path": [ { - "x": 7.5, - "y": 32.5 + "x": 60.0, + "y": 187.5 + }, + { + "x": 60.0, + "y": 92.5 } ] }, @@ -756,120 +764,124 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#4", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#10", "pinName": "Y" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { "compName": "GUINandGate#11", - "pinName": "B" + "pinName": "Y" }, - "name": "unnamedWire#31", - "path": [ - { - "x": 60.0, - "y": 187.5 - }, - { - "x": 60.0, - "y": 92.5 - } - ] + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y4" + }, + "name": "unnamedWire#35", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A4" + "pinName": "B1" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#3", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 7.5, - "y": 57.5 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#34", + "name": "unnamedWire#6", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A3" + "pinName": "B4" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", "path": [ { "x": 7.5, - "y": 42.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 7.5, + "y": 17.5 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -879,5 +891,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIram2.json b/net.mograsim.logic.model.am2900/components/GUIram2.json index ea3eff93..63221104 100644 --- a/net.mograsim.logic.model.am2900/components/GUIram2.json +++ b/net.mograsim.logic.model.am2900/components/GUIram2.json @@ -1,219 +1,283 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "QA1", - "logicWidth": 1 + "name": "A0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 15.0 }, - "name": "QB2", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "QB1", - "logicWidth": 1 + "name": "B0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 35.0 }, - "name": "QA3", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 75.0 + "x": 0.0, + "y": 55.0 }, - "name": "QB4", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 65.0 }, - "name": "QA2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 65.0 + "x": 0.0, + "y": 75.0 }, - "name": "QB3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 85.0 }, - "name": "QA4", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 55.0 + "x": 35.0, + "y": 5.0 }, - "name": "D1", - "logicWidth": 1 + "name": "QA1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 15.0 }, - "name": "B0", - "logicWidth": 1 + "name": "QA2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 45.0 + "x": 35.0, + "y": 25.0 }, - "name": "WE", - "logicWidth": 1 + "name": "QA3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 65.0 + "x": 35.0, + "y": 35.0 }, - "name": "D2", - "logicWidth": 1 + "name": "QA4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 45.0 }, - "name": "A0", - "logicWidth": 1 + "name": "QB1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 35.0 + "x": 35.0, + "y": 55.0 }, - "name": "B1", - "logicWidth": 1 + "name": "QB2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 75.0 + "x": 35.0, + "y": 65.0 }, - "name": "D3", - "logicWidth": 1 + "name": "QB3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 75.0 }, - "name": "A1", - "logicWidth": 1 + "name": "QB4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 45.0 }, - "name": "D4", - "logicWidth": 1 + "name": "WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUIand41", + "name": "GUIand41#0", "pos": { - "x": 44.0, - "y": 649.0 - }, - "params": 1 + "x": 130.0, + "y": 150.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUIand41", + "name": "GUIand41#1", "pos": { - "x": 39.0, - "y": 639.0 - }, - "params": 1 + "x": 235.0, + "y": 375.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUIand41", + "name": "GUIand41#2", "pos": { - "x": 129.0, - "y": 329.0 - }, - "params": 1 + "x": 135.0, + "y": 325.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIandor414", + "name": "GUIandor414#0", "pos": { - "x": 49.0, - "y": 659.0 - }, - "params": 1 + "x": 235.0, + "y": 485.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUIandor414", + "name": "GUIandor414#1", "pos": { - "x": 119.0, - "y": 349.0 - }, - "params": 1 + "x": 235.0, + "y": 635.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "id": "GUIandor414", + "name": "GUIandor414#2", "pos": { - "x": 124.0, - "y": 339.0 - }, - "params": 1 + "x": 235.0, + "y": 785.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "id": "GUIandor414", + "name": "GUIandor414#3", "pos": { - "x": 114.0, - "y": 359.0 - }, - "params": 1 + "x": 135.0, + "y": 435.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIandor414", + "name": "GUIandor414#4", "pos": { - "x": 104.0, - "y": 164.0 - }, - "params": 1 + "x": 135.0, + "y": 585.0 + } + }, + { + "id": "GUIandor414", + "name": "GUIandor414#5", + "pos": { + "x": 135.0, + "y": 735.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#0", + "pos": { + "x": 55.0, + "y": 45.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#1", + "pos": { + "x": 55.0, + "y": 150.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#0", + "pos": { + "x": 55.0, + "y": 325.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#1", + "pos": { + "x": 55.0, + "y": 475.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#2", + "pos": { + "x": 55.0, + "y": 625.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#3", + "pos": { + "x": 55.0, + "y": 775.0 + } }, { "id": "WireCrossPoint", @@ -226,224 +290,156 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 94.0, - "y": 184.0 + "x": 104.0, + "y": 164.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#10", "pos": { - "x": 99.0, - "y": 174.0 + "x": 44.0, + "y": 499.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#11", "pos": { - "x": 39.0, - "y": 649.0 + "x": 49.0, + "y": 509.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#12", "pos": { "x": 34.0, - "y": 549.0 + "y": 629.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#13", "pos": { - "x": 49.0, - "y": 809.0 + "x": 39.0, + "y": 639.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#14", "pos": { "x": 44.0, - "y": 749.0 + "y": 649.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#15", "pos": { - "x": 39.0, - "y": 489.0 + "x": 49.0, + "y": 659.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#16", "pos": { - "x": 34.0, - "y": 479.0 + "x": 129.0, + "y": 329.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#17", "pos": { - "x": 44.0, - "y": 499.0 + "x": 124.0, + "y": 339.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#18", "pos": { - "x": 34.0, - "y": 629.0 + "x": 119.0, + "y": 349.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#19", "pos": { - "x": 49.0, - "y": 509.0 + "x": 114.0, + "y": 359.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#5", - "pos": { - "x": 135.0, - "y": 735.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#3", - "pos": { - "x": 135.0, - "y": 435.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#4", - "pos": { - "x": 135.0, - "y": 585.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#1", - "pos": { - "x": 235.0, - "y": 635.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#2", - "pos": { - "x": 235.0, - "y": 785.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#0", - "pos": { - "x": 235.0, - "y": 485.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#1", - "pos": { - "x": 55.0, - "y": 475.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#0", - "pos": { - "x": 55.0, - "y": 325.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#3", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 55.0, - "y": 775.0 - } + "x": 99.0, + "y": 174.0 + }, + "params": 1 }, { - "id": "GUIdlatch4", - "name": "GUIdlatch4#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { - "x": 55.0, - "y": 625.0 - } + "x": 129.0, + "y": 479.0 + }, + "params": 1 }, { - "id": "GUIand41", - "name": "GUIand41#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { - "x": 135.0, - "y": 325.0 - } + "x": 124.0, + "y": 489.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#30", + "name": "WireCrossPoint#22", "pos": { "x": 119.0, - "y": 799.0 + "y": 499.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#31", + "name": "WireCrossPoint#23", "pos": { "x": 114.0, - "y": 809.0 + "y": 509.0 }, "params": 1 }, { - "id": "GUIand41", - "name": "GUIand41#0", - "pos": { - "x": 130.0, - "y": 150.0 - } - }, - { - "id": "GUIand41", - "name": "GUIand41#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { - "x": 235.0, - "y": 375.0 - } + "x": 129.0, + "y": 629.0 + }, + "params": 1 }, { "id": "WireCrossPoint", @@ -456,10 +452,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "name": "WireCrossPoint#26", "pos": { - "x": 129.0, - "y": 629.0 + "x": 119.0, + "y": 649.0 }, "params": 1 }, @@ -474,10 +470,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#26", + "name": "WireCrossPoint#28", "pos": { - "x": 119.0, - "y": 649.0 + "x": 129.0, + "y": 779.0 }, "params": 1 }, @@ -492,876 +488,1109 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#28", + "name": "WireCrossPoint#3", "pos": { - "x": 129.0, - "y": 779.0 + "x": 94.0, + "y": 184.0 }, "params": 1 }, { - "id": "GUIdemux2", - "name": "GUIdemux2#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#30", "pos": { - "x": 55.0, - "y": 150.0 - } + "x": 119.0, + "y": 799.0 + }, + "params": 1 }, { - "id": "GUIdemux2", - "name": "GUIdemux2#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#31", "pos": { - "x": 55.0, - "y": 45.0 - } + "x": 114.0, + "y": 809.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "name": "WireCrossPoint#4", "pos": { - "x": 124.0, - "y": 489.0 + "x": 34.0, + "y": 549.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#5", "pos": { - "x": 129.0, - "y": 479.0 + "x": 39.0, + "y": 649.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#6", "pos": { - "x": 114.0, - "y": 509.0 + "x": 44.0, + "y": 749.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "name": "WireCrossPoint#7", "pos": { - "x": 119.0, - "y": 499.0 + "x": 49.0, + "y": 809.0 }, "params": 1 - } - ], - "innerWires": [ + }, { - "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D3" + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 34.0, + "y": 479.0 }, - "name": "unnamedWire#36", - "path": [] + "params": 1 }, { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 39.0, + "y": 489.0 + }, + "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D2" + "compName": "GUIdemux2#0", + "pinName": "S0" }, - "name": "unnamedWire#35", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIdemux2#0", + "pinName": "S1" }, - "name": "unnamedWire#38", - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D4" + "compName": "GUIand41#0", + "pinName": "A3" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#31", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "A4" }, - "name": "unnamedWire#39", + "name": "unnamedWire#100", "path": [] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y2" + "compName": "GUIand41#1", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C2" + "compName": "GUIandor414#0", + "pinName": "C1" }, - "name": "unnamedWire#110", + "name": "unnamedWire#101", "path": [ { - "x": 285.0, - "y": 650.0 + "x": 290.0, + "y": 380.0 }, { - "x": 285.0, - "y": 740.0 + "x": 290.0, + "y": 445.0 }, { - "x": 225.0, - "y": 740.0 + "x": 230.0, + "y": 445.0 }, { - "x": 225.0, - "y": 800.0 + "x": 230.0, + "y": 490.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y3" + "compName": "GUIand41#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C3" + "compName": "GUIandor414#0", + "pinName": "C2" }, - "name": "unnamedWire#111", + "name": "unnamedWire#102", "path": [ { - "x": 280.0, - "y": 660.0 + "x": 285.0, + "y": 390.0 }, { - "x": 280.0, - "y": 735.0 + "x": 285.0, + "y": 440.0 }, { - "x": 220.0, - "y": 735.0 + "x": 225.0, + "y": 440.0 }, { - "x": 220.0, - "y": 810.0 + "x": 225.0, + "y": 500.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y2" + "compName": "GUIand41#1", + "pinName": "Y3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA2" + "compName": "GUIandor414#0", + "pinName": "C3" }, - "name": "unnamedWire#114", + "name": "unnamedWire#103", "path": [ { - "x": 305.0, - "y": 800.0 + "x": 280.0, + "y": 400.0 }, { - "x": 305.0, - "y": 150.0 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y3" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "QA3" - }, - "name": "unnamedWire#115", - "path": [ + "x": 280.0, + "y": 435.0 + }, { - "x": 310.0, - "y": 810.0 + "x": 220.0, + "y": 435.0 }, { - "x": 310.0, - "y": 250.0 + "x": 220.0, + "y": 510.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", + "compName": "GUIand41#1", "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#2", + "compName": "GUIandor414#0", "pinName": "C4" }, - "name": "unnamedWire#112", + "name": "unnamedWire#104", "path": [ { "x": 275.0, - "y": 670.0 + "y": 410.0 }, { "x": 275.0, - "y": 730.0 + "y": 430.0 }, { "x": 215.0, - "y": 730.0 + "y": 430.0 }, { "x": 215.0, - "y": 820.0 + "y": 520.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", + "compName": "GUIandor414#0", "pinName": "Y1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA1" + "compName": "GUIandor414#1", + "pinName": "C1" }, - "name": "unnamedWire#113", + "name": "unnamedWire#105", "path": [ { - "x": 300.0, - "y": 790.0 + "x": 290.0, + "y": 490.0 }, { - "x": 300.0, - "y": 50.0 + "x": 290.0, + "y": 595.0 + }, + { + "x": 230.0, + "y": 595.0 + }, + { + "x": 230.0, + "y": 640.0 } ] }, { "pin1": { - "compName": "GUIand41#2", + "compName": "GUIandor414#0", "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#1", "pinName": "C2" }, - "name": "unnamedWire#118", + "name": "unnamedWire#106", "path": [ { - "x": 185.0, - "y": 340.0 + "x": 285.0, + "y": 500.0 }, { - "x": 185.0, - "y": 425.0 + "x": 285.0, + "y": 590.0 }, { - "x": 125.0, - "y": 425.0 + "x": 225.0, + "y": 590.0 }, { - "x": 125.0, - "y": 450.0 + "x": 225.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIand41#2", + "compName": "GUIandor414#0", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#1", "pinName": "C3" }, - "name": "unnamedWire#119", + "name": "unnamedWire#107", "path": [ { - "x": 180.0, - "y": 350.0 + "x": 280.0, + "y": 510.0 }, { - "x": 180.0, - "y": 420.0 + "x": 280.0, + "y": 585.0 }, { - "x": 120.0, - "y": 420.0 + "x": 220.0, + "y": 585.0 }, { - "x": 120.0, - "y": 460.0 + "x": 220.0, + "y": 660.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D1" + "compName": "GUIandor414#1", + "pinName": "C4" }, - "name": "unnamedWire#41", + "name": "unnamedWire#108", "path": [ { - "x": 35.0, - "y": 780.0 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y4" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "QA4" - }, - "name": "unnamedWire#116", - "path": [ + "x": 275.0, + "y": 520.0 + }, { - "x": 315.0, - "y": 820.0 + "x": 275.0, + "y": 580.0 }, { - "x": 315.0, - "y": 350.0 + "x": 215.0, + "y": 580.0 + }, + { + "x": 215.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#40", - "path": [] - }, - { - "pin1": { - "compName": "GUIand41#2", + "compName": "GUIandor414#1", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#2", "pinName": "C1" }, - "name": "unnamedWire#117", + "name": "unnamedWire#109", "path": [ { - "x": 190.0, - "y": 330.0 + "x": 290.0, + "y": 640.0 }, { - "x": 190.0, - "y": 430.0 + "x": 290.0, + "y": 745.0 }, { - "x": 130.0, - "y": 430.0 + "x": 230.0, + "y": 745.0 }, { - "x": 130.0, - "y": 440.0 + "x": 230.0, + "y": 790.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D3" + "compName": "GUIand41#0", + "pinName": "A4" }, - "name": "unnamedWire#43", - "path": [ - { - "x": 45.0, - "y": 800.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D2" + "compName": "GUIandor414#2", + "pinName": "C2" }, - "name": "unnamedWire#42", + "name": "unnamedWire#110", "path": [ { - "x": 40.0, - "y": 790.0 + "x": 285.0, + "y": 650.0 + }, + { + "x": 285.0, + "y": 740.0 + }, + { + "x": 225.0, + "y": 740.0 + }, + { + "x": 225.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q1" - }, - "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" - }, - "name": "unnamedWire#45", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D4" - }, - "name": "unnamedWire#44", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q3" - }, - "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" - }, - "name": "unnamedWire#47", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q2" - }, - "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" - }, - "name": "unnamedWire#46", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q1" - }, - "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" - }, - "name": "unnamedWire#49", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q4" - }, - "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" - }, - "name": "unnamedWire#48", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#31", - "pinName": "" - }, - "pin2": { - "compName": "GUIandor414#5", - "pinName": "A4" - }, - "name": "unnamedWire#100", - "path": [] - }, - { - "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#1", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#2", "pinName": "C3" }, - "name": "unnamedWire#103", + "name": "unnamedWire#111", "path": [ { "x": 280.0, - "y": 400.0 + "y": 660.0 }, { "x": 280.0, - "y": 435.0 + "y": 735.0 }, { "x": 220.0, - "y": 435.0 + "y": 735.0 }, { "x": 220.0, - "y": 510.0 + "y": 810.0 } ] }, { "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#1", "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#2", "pinName": "C4" }, - "name": "unnamedWire#104", + "name": "unnamedWire#112", "path": [ { "x": 275.0, - "y": 410.0 + "y": 670.0 }, { "x": 275.0, - "y": 430.0 + "y": 730.0 }, { "x": 215.0, - "y": 430.0 + "y": 730.0 }, { "x": 215.0, - "y": 520.0 + "y": 820.0 } ] }, { "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#2", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C1" + "compName": "_submodelinterface", + "pinName": "QA1" }, - "name": "unnamedWire#101", + "name": "unnamedWire#113", "path": [ { - "x": 290.0, - "y": 380.0 - }, - { - "x": 290.0, - "y": 445.0 - }, - { - "x": 230.0, - "y": 445.0 + "x": 300.0, + "y": 790.0 }, { - "x": 230.0, - "y": 490.0 + "x": 300.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#2", "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "QA2" }, - "name": "unnamedWire#102", + "name": "unnamedWire#114", "path": [ { - "x": 285.0, - "y": 390.0 - }, - { - "x": 285.0, - "y": 440.0 - }, - { - "x": 225.0, - "y": 440.0 + "x": 305.0, + "y": 800.0 }, { - "x": 225.0, - "y": 500.0 + "x": 305.0, + "y": 150.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q2" + "compName": "GUIandor414#2", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "QA3" }, - "name": "unnamedWire#50", - "path": [] + "name": "unnamedWire#115", + "path": [ + { + "x": 310.0, + "y": 810.0 + }, + { + "x": 310.0, + "y": 250.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#2", + "pinName": "Y4" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QA4" + }, + "name": "unnamedWire#116", + "path": [ + { + "x": 315.0, + "y": 820.0 + }, + { + "x": 315.0, + "y": 350.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "C1" + }, + "name": "unnamedWire#117", + "path": [ + { + "x": 190.0, + "y": 330.0 + }, + { + "x": 190.0, + "y": 430.0 + }, + { + "x": 130.0, + "y": 430.0 + }, + { + "x": 130.0, + "y": 440.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "C2" + }, + "name": "unnamedWire#118", + "path": [ + { + "x": 185.0, + "y": 340.0 + }, + { + "x": 185.0, + "y": 425.0 + }, + { + "x": 125.0, + "y": 425.0 + }, + { + "x": 125.0, + "y": 450.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#3", "pinName": "C3" }, - "name": "unnamedWire#107", + "name": "unnamedWire#119", "path": [ { - "x": 280.0, - "y": 510.0 + "x": 180.0, + "y": 350.0 }, { - "x": 280.0, - "y": 585.0 + "x": 180.0, + "y": 420.0 }, { - "x": 220.0, - "y": 585.0 + "x": 120.0, + "y": 420.0 + }, + { + "x": 120.0, + "y": 460.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "WE" + }, + "pin2": { + "compName": "GUIand41#0", + "pinName": "B" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 5.0, + "y": 450.0 + }, + { + "x": 5.0, + "y": 300.0 + }, + { + "x": 125.0, + "y": 300.0 + }, + { + "x": 125.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "C4" + }, + "name": "unnamedWire#120", + "path": [ + { + "x": 175.0, + "y": 360.0 + }, + { + "x": 175.0, + "y": 415.0 + }, + { + "x": 115.0, + "y": 415.0 + }, + { + "x": 115.0, + "y": 470.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C1" + }, + "name": "unnamedWire#121", + "path": [ + { + "x": 190.0, + "y": 440.0 + }, + { + "x": 190.0, + "y": 580.0 + }, + { + "x": 130.0, + "y": 580.0 + }, + { + "x": 130.0, + "y": 590.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C2" + }, + "name": "unnamedWire#122", + "path": [ + { + "x": 185.0, + "y": 450.0 + }, + { + "x": 185.0, + "y": 575.0 + }, + { + "x": 125.0, + "y": 575.0 + }, + { + "x": 125.0, + "y": 600.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C3" + }, + "name": "unnamedWire#123", + "path": [ + { + "x": 180.0, + "y": 460.0 + }, + { + "x": 180.0, + "y": 570.0 + }, + { + "x": 120.0, + "y": 570.0 + }, + { + "x": 120.0, + "y": 610.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C4" + }, + "name": "unnamedWire#124", + "path": [ + { + "x": 175.0, + "y": 470.0 + }, + { + "x": 175.0, + "y": 565.0 + }, + { + "x": 115.0, + "y": 565.0 + }, + { + "x": 115.0, + "y": 620.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C1" + }, + "name": "unnamedWire#125", + "path": [ + { + "x": 190.0, + "y": 590.0 + }, + { + "x": 190.0, + "y": 730.0 + }, + { + "x": 130.0, + "y": 730.0 + }, + { + "x": 130.0, + "y": 740.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C2" + }, + "name": "unnamedWire#126", + "path": [ + { + "x": 185.0, + "y": 600.0 + }, + { + "x": 185.0, + "y": 725.0 + }, + { + "x": 125.0, + "y": 725.0 + }, + { + "x": 125.0, + "y": 750.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C3" + }, + "name": "unnamedWire#127", + "path": [ + { + "x": 180.0, + "y": 610.0 + }, + { + "x": 180.0, + "y": 720.0 + }, + { + "x": 120.0, + "y": 720.0 + }, + { + "x": 120.0, + "y": 760.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C4" + }, + "name": "unnamedWire#128", + "path": [ + { + "x": 175.0, + "y": 620.0 + }, + { + "x": 175.0, + "y": 715.0 + }, + { + "x": 115.0, + "y": 715.0 }, { - "x": 220.0, - "y": 660.0 + "x": 115.0, + "y": 770.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y4" + "compName": "GUIandor414#5", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C4" + "compName": "_submodelinterface", + "pinName": "QB1" }, - "name": "unnamedWire#108", + "name": "unnamedWire#129", "path": [ { - "x": 275.0, - "y": 520.0 + "x": 190.0, + "y": 740.0 }, { - "x": 275.0, - "y": 580.0 + "x": 190.0, + "y": 880.0 }, { - "x": 215.0, - "y": 580.0 + "x": 325.0, + "y": 880.0 }, { - "x": 215.0, - "y": 670.0 + "x": 325.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q4" - }, - "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" - }, - "name": "unnamedWire#52", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIand41#0", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C1" + "compName": "GUIdlatch4#0", + "pinName": "C" }, - "name": "unnamedWire#105", + "name": "unnamedWire#13", "path": [ { - "x": 290.0, - "y": 490.0 + "x": 185.0, + "y": 155.0 }, { - "x": 290.0, - "y": 595.0 + "x": 185.0, + "y": 250.0 }, { - "x": 230.0, - "y": 595.0 + "x": 30.0, + "y": 250.0 }, { - "x": 230.0, - "y": 640.0 + "x": 30.0, + "y": 370.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q3" - }, - "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" - }, - "name": "unnamedWire#51", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#5", "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "QB2" }, - "name": "unnamedWire#106", + "name": "unnamedWire#130", "path": [ { - "x": 285.0, - "y": 500.0 + "x": 185.0, + "y": 750.0 }, { - "x": 285.0, - "y": 590.0 + "x": 185.0, + "y": 885.0 }, { - "x": 225.0, - "y": 590.0 + "x": 330.0, + "y": 885.0 }, { - "x": 225.0, - "y": 650.0 + "x": 330.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q2" - }, - "pin2": { - "compName": "WireCrossPoint#25", - "pinName": "" - }, - "name": "unnamedWire#54", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q1" - }, - "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" - }, - "name": "unnamedWire#53", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q4" - }, - "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" - }, - "name": "unnamedWire#56", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y1" + "compName": "GUIandor414#5", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C1" + "compName": "_submodelinterface", + "pinName": "QB3" }, - "name": "unnamedWire#109", + "name": "unnamedWire#131", "path": [ { - "x": 290.0, - "y": 640.0 + "x": 180.0, + "y": 760.0 }, { - "x": 290.0, - "y": 745.0 + "x": 180.0, + "y": 890.0 }, { - "x": 230.0, - "y": 745.0 + "x": 335.0, + "y": 890.0 }, { - "x": 230.0, - "y": 790.0 + "x": 335.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q3" + "compName": "GUIandor414#5", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "QB4" }, - "name": "unnamedWire#55", - "path": [] + "name": "unnamedWire#132", + "path": [ + { + "x": 175.0, + "y": 770.0 + }, + { + "x": 175.0, + "y": 895.0 + }, + { + "x": 340.0, + "y": 895.0 + }, + { + "x": 340.0, + "y": 750.0 + } + ] }, { "pin1": { @@ -1395,29 +1624,29 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUIand41#0", - "pinName": "Y1" + "pinName": "Y3" }, "pin2": { - "compName": "GUIdlatch4#0", + "compName": "GUIdlatch4#2", "pinName": "C" }, - "name": "unnamedWire#13", + "name": "unnamedWire#15", "path": [ { - "x": 185.0, - "y": 155.0 + "x": 175.0, + "y": 175.0 }, { - "x": 185.0, - "y": 250.0 + "x": 175.0, + "y": 240.0 }, { - "x": 30.0, - "y": 250.0 + "x": 20.0, + "y": 240.0 }, { - "x": 30.0, - "y": 370.0 + "x": 20.0, + "y": 670.0 } ] }, @@ -1450,57 +1679,28 @@ mograsim version: 0.1.3 } ] }, - { - "pin1": { - "compName": "GUIand41#0", - "pinName": "Y3" - }, - "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "C" - }, - "name": "unnamedWire#15", - "path": [ - { - "x": 175.0, - "y": 175.0 - }, - { - "x": 175.0, - "y": 240.0 - }, - { - "x": 20.0, - "y": 240.0 - }, - { - "x": 20.0, - "y": 670.0 - } - ] - }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "D1" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#17", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D1" + "pinName": "D2" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#17", + "name": "unnamedWire#18", "path": [] }, { @@ -1517,18 +1717,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B0" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D1" + "compName": "GUIdemux2#1", + "pinName": "S0" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [ { - "x": 35.0, - "y": 330.0 + "x": 5.0, + "y": 250.0 + }, + { + "x": 5.0, + "y": 155.0 } ] }, @@ -1551,18 +1755,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { "compName": "GUIdlatch4#0", - "pinName": "D3" + "pinName": "D1" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [ { - "x": 45.0, - "y": 350.0 + "x": 35.0, + "y": 330.0 } ] }, @@ -1585,15 +1789,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D1" + "compName": "GUIdlatch4#0", + "pinName": "D3" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#23", + "path": [ + { + "x": 45.0, + "y": 350.0 + } + ] }, { "pin1": { @@ -1614,14 +1823,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { "compName": "GUIdlatch4#1", - "pinName": "D3" + "pinName": "D1" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [] }, { @@ -1638,14 +1847,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "D3" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [] }, { @@ -1662,544 +1871,410 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "name": "unnamedWire#30", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "name": "unnamedWire#32", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#31", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D1" - }, - "name": "unnamedWire#34", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#33", + "name": "unnamedWire#29", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A3" + "compName": "GUIdemux2#1", + "pinName": "S1" }, - "name": "unnamedWire#79", + "name": "unnamedWire#3", "path": [ { - "x": 120.0, - "y": 700.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" - }, - "pin2": { - "compName": "GUIandor414#2", - "pinName": "A1" - }, - "name": "unnamedWire#81", - "path": [ + "x": 10.0, + "y": 350.0 + }, { - "x": 130.0, - "y": 830.0 + "x": 10.0, + "y": 165.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A4" - }, - "name": "unnamedWire#80", - "path": [ - { - "x": 115.0, - "y": 710.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#12", "pinName": "" }, - "pin2": { - "compName": "GUIandor414#2", - "pinName": "A3" - }, - "name": "unnamedWire#83", - "path": [ - { - "x": 120.0, - "y": 850.0 - } - ] + "name": "unnamedWire#30", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A2" - }, - "name": "unnamedWire#82", - "path": [ - { - "x": 125.0, - "y": 840.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#13", "pinName": "" }, - "pin2": { - "compName": "GUIand41#2", - "pinName": "A1" - }, - "name": "unnamedWire#85", + "name": "unnamedWire#31", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A4" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#84", - "path": [ - { - "x": 115.0, - "y": 860.0 - } - ] + "name": "unnamedWire#32", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A3" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#87", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A2" + "compName": "GUIdlatch4#2", + "pinName": "D1" }, - "name": "unnamedWire#86", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A1" + "compName": "GUIdlatch4#2", + "pinName": "D2" }, - "name": "unnamedWire#89", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A4" + "compName": "GUIdlatch4#2", + "pinName": "D3" }, - "name": "unnamedWire#88", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A2" + "compName": "GUIdlatch4#2", + "pinName": "D4" }, - "name": "unnamedWire#9", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A1" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y11" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#7", + "name": "unnamedWire#39", "path": [] }, { "pin1": { "compName": "GUIdemux2#1", - "pinName": "Y10" + "pinName": "Y00" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A2" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#90", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A4" + "compName": "GUIdlatch4#3", + "pinName": "D1" }, - "name": "unnamedWire#92", - "path": [] + "name": "unnamedWire#41", + "path": [ + { + "x": 35.0, + "y": 780.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A3" + "compName": "GUIdlatch4#3", + "pinName": "D2" }, - "name": "unnamedWire#91", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 40.0, + "y": 790.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S1" + "compName": "GUIdlatch4#3", + "pinName": "D3" }, - "name": "unnamedWire#1", + "name": "unnamedWire#43", "path": [ { - "x": 10.0, - "y": 150.0 - }, - { - "x": 10.0, - "y": 60.0 + "x": 45.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A2" + "compName": "GUIdlatch4#3", + "pinName": "D4" }, - "name": "unnamedWire#94", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "GUIdlatch4#0", + "pinName": "Q1" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S0" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#45", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q2" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A1" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#93", + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A4" + "compName": "WireCrossPoint#18", + "pinName": "" }, - "name": "unnamedWire#96", + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q4" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A3" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#95", + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y01" + "compName": "GUIdlatch4#1", + "pinName": "Q1" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#20", "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIdemux2#1", + "pinName": "Y01" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q2" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A2" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#98", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y00" + "compName": "GUIdlatch4#1", + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#22", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q4" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A1" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#97", + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUIdlatch4#2", + "pinName": "Q1" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S1" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 10.0, - "y": 350.0 - }, - { - "x": 10.0, - "y": 165.0 - } - ] + "name": "unnamedWire#53", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "WE" + "compName": "GUIdlatch4#2", + "pinName": "Q2" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 5.0, - "y": 450.0 - }, - { - "x": 5.0, - "y": 300.0 - }, - { - "x": 125.0, - "y": 300.0 - }, - { - "x": 125.0, - "y": 195.0 - } - ] + "name": "unnamedWire#54", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "GUIdlatch4#2", + "pinName": "Q3" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S0" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 5.0, - "y": 250.0 - }, - { - "x": 5.0, - "y": 155.0 - } - ] + "name": "unnamedWire#55", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIdlatch4#2", + "pinName": "Q4" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A4" + "compName": "WireCrossPoint#27", + "pinName": "" }, - "name": "unnamedWire#11", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "GUIdlatch4#3", + "pinName": "Q1" }, - "pin2": { - "compName": "GUIandor414#5", - "pinName": "A3" + "pin2": { + "compName": "WireCrossPoint#28", + "pinName": "" }, - "name": "unnamedWire#99", + "name": "unnamedWire#57", "path": [] }, { @@ -2217,514 +2292,522 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUIdlatch4#3", - "pinName": "Q1" + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#30", "pinName": "" }, - "name": "unnamedWire#57", + "name": "unnamedWire#59", + "path": [] + }, + { + "pin1": { + "compName": "GUIdemux2#1", + "pinName": "Y10" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { "compName": "GUIdlatch4#3", - "pinName": "Q3" + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#31", "pinName": "" }, - "name": "unnamedWire#59", + "name": "unnamedWire#60", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y4" + "compName": "GUIdemux2#0", + "pinName": "Y00" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB4" + "compName": "GUIand41#1", + "pinName": "B" }, - "name": "unnamedWire#132", + "name": "unnamedWire#61", "path": [ { - "x": 175.0, - "y": 770.0 + "x": 210.0, + "y": 50.0 }, { - "x": 175.0, - "y": 895.0 - }, + "x": 210.0, + "y": 420.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdemux2#0", + "pinName": "Y01" + }, + "pin2": { + "compName": "GUIandor414#0", + "pinName": "B" + }, + "name": "unnamedWire#62", + "path": [ { - "x": 340.0, - "y": 895.0 + "x": 205.0, + "y": 60.0 }, { - "x": 340.0, - "y": 750.0 + "x": 205.0, + "y": 570.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y2" + "compName": "GUIdemux2#0", + "pinName": "Y10" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB2" + "compName": "GUIandor414#1", + "pinName": "B" }, - "name": "unnamedWire#130", + "name": "unnamedWire#63", "path": [ { - "x": 185.0, - "y": 750.0 + "x": 200.0, + "y": 70.0 }, { - "x": 185.0, - "y": 885.0 - }, + "x": 200.0, + "y": 720.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdemux2#0", + "pinName": "Y11" + }, + "pin2": { + "compName": "GUIandor414#2", + "pinName": "B" + }, + "name": "unnamedWire#64", + "path": [ { - "x": 330.0, - "y": 885.0 + "x": 195.0, + "y": 80.0 }, { - "x": 330.0, - "y": 550.0 + "x": 195.0, + "y": 870.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB3" + "compName": "GUIand41#2", + "pinName": "B" }, - "name": "unnamedWire#131", + "name": "unnamedWire#65", "path": [ { - "x": 180.0, - "y": 760.0 - }, - { - "x": 180.0, - "y": 890.0 - }, + "x": 110.0, + "y": 370.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "B" + }, + "name": "unnamedWire#66", + "path": [ { - "x": 335.0, - "y": 890.0 - }, + "x": 105.0, + "y": 520.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "B" + }, + "name": "unnamedWire#67", + "path": [ { - "x": 335.0, - "y": 650.0 + "x": 100.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y00" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", + "compName": "GUIandor414#5", "pinName": "B" }, - "name": "unnamedWire#61", + "name": "unnamedWire#68", "path": [ { - "x": 210.0, - "y": 50.0 - }, + "x": 95.0, + "y": 820.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#1", + "pinName": "A1" + }, + "name": "unnamedWire#69", + "path": [ { - "x": 210.0, - "y": 420.0 + "x": 130.0, + "y": 380.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#3", - "pinName": "Q4" + "compName": "GUIdemux2#1", + "pinName": "Y11" }, "pin2": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#60", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y10" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "B" + "compName": "GUIand41#1", + "pinName": "A2" }, - "name": "unnamedWire#63", + "name": "unnamedWire#70", "path": [ { - "x": 200.0, - "y": 70.0 - }, - { - "x": 200.0, - "y": 720.0 + "x": 125.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y01" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "B" + "compName": "GUIand41#1", + "pinName": "A3" }, - "name": "unnamedWire#62", + "name": "unnamedWire#71", "path": [ { - "x": 205.0, - "y": 60.0 - }, - { - "x": 205.0, - "y": 570.0 + "x": 120.0, + "y": 400.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#19", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#1", + "pinName": "A4" + }, + "name": "unnamedWire#72", + "path": [ + { + "x": 115.0, + "y": 410.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A1" }, - "name": "unnamedWire#65", + "name": "unnamedWire#73", "path": [ { - "x": 110.0, - "y": 370.0 + "x": 130.0, + "y": 530.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y11" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A2" }, - "name": "unnamedWire#64", + "name": "unnamedWire#74", "path": [ { - "x": 195.0, - "y": 80.0 - }, - { - "x": 195.0, - "y": 870.0 + "x": 125.0, + "y": 540.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#22", "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A3" }, - "name": "unnamedWire#67", + "name": "unnamedWire#75", "path": [ { - "x": 100.0, - "y": 670.0 + "x": 120.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A4" }, - "name": "unnamedWire#66", + "name": "unnamedWire#76", "path": [ { - "x": 105.0, - "y": 520.0 + "x": 115.0, + "y": 560.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#24", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", + "compName": "GUIandor414#1", "pinName": "A1" }, - "name": "unnamedWire#69", + "name": "unnamedWire#77", "path": [ { "x": 130.0, - "y": 380.0 + "y": 680.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "B" + "compName": "GUIandor414#1", + "pinName": "A2" }, - "name": "unnamedWire#68", + "name": "unnamedWire#78", "path": [ { - "x": 95.0, - "y": 820.0 + "x": 125.0, + "y": 690.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y1" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C1" + "compName": "GUIandor414#1", + "pinName": "A3" }, - "name": "unnamedWire#121", + "name": "unnamedWire#79", "path": [ { - "x": 190.0, - "y": 440.0 - }, - { - "x": 190.0, - "y": 580.0 - }, - { - "x": 130.0, - "y": 580.0 - }, - { - "x": 130.0, - "y": 590.0 + "x": 120.0, + "y": 700.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y2" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C2" + "compName": "GUIand41#0", + "pinName": "A1" }, - "name": "unnamedWire#122", - "path": [ - { - "x": 185.0, - "y": 450.0 - }, - { - "x": 185.0, - "y": 575.0 - }, - { - "x": 125.0, - "y": 575.0 - }, - { - "x": 125.0, - "y": 600.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y4" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C4" + "compName": "GUIandor414#1", + "pinName": "A4" }, - "name": "unnamedWire#120", + "name": "unnamedWire#80", "path": [ - { - "x": 175.0, - "y": 360.0 - }, - { - "x": 175.0, - "y": 415.0 - }, - { - "x": 115.0, - "y": 415.0 - }, { "x": 115.0, - "y": 470.0 + "y": 710.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y1" + "compName": "WireCrossPoint#28", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C1" + "compName": "GUIandor414#2", + "pinName": "A1" }, - "name": "unnamedWire#125", + "name": "unnamedWire#81", "path": [ - { - "x": 190.0, - "y": 590.0 - }, - { - "x": 190.0, - "y": 730.0 - }, - { - "x": 130.0, - "y": 730.0 - }, { "x": 130.0, - "y": 740.0 + "y": 830.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y2" + "compName": "WireCrossPoint#29", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C2" + "compName": "GUIandor414#2", + "pinName": "A2" }, - "name": "unnamedWire#126", + "name": "unnamedWire#82", "path": [ - { - "x": 185.0, - "y": 600.0 - }, - { - "x": 185.0, - "y": 725.0 - }, - { - "x": 125.0, - "y": 725.0 - }, { "x": 125.0, - "y": 750.0 + "y": 840.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A2" + "compName": "GUIandor414#2", + "pinName": "A3" }, - "name": "unnamedWire#70", + "name": "unnamedWire#83", "path": [ { - "x": 125.0, - "y": 390.0 + "x": 120.0, + "y": 850.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y3" + "compName": "WireCrossPoint#31", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C3" + "compName": "GUIandor414#2", + "pinName": "A4" }, - "name": "unnamedWire#123", + "name": "unnamedWire#84", "path": [ { - "x": 180.0, - "y": 460.0 - }, - { - "x": 180.0, - "y": 570.0 - }, - { - "x": 120.0, - "y": 570.0 - }, - { - "x": 120.0, - "y": 610.0 + "x": 115.0, + "y": 860.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y4" + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#2", + "pinName": "A1" + }, + "name": "unnamedWire#85", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#17", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#2", + "pinName": "A2" + }, + "name": "unnamedWire#86", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C4" + "compName": "GUIand41#2", + "pinName": "A3" }, - "name": "unnamedWire#124", - "path": [ - { - "x": 175.0, - "y": 470.0 - }, - { - "x": 175.0, - "y": 565.0 - }, - { - "x": 115.0, - "y": 565.0 - }, - { - "x": 115.0, - "y": 620.0 - } - ] + "name": "unnamedWire#87", + "path": [] }, { "pin1": { @@ -2732,62 +2815,35 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUIand41#1", + "compName": "GUIand41#2", "pinName": "A4" }, - "name": "unnamedWire#72", - "path": [ - { - "x": 115.0, - "y": 410.0 - } - ] + "name": "unnamedWire#88", + "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y1" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB1" + "compName": "GUIandor414#3", + "pinName": "A1" }, - "name": "unnamedWire#129", - "path": [ - { - "x": 190.0, - "y": 740.0 - }, - { - "x": 190.0, - "y": 880.0 - }, - { - "x": 325.0, - "y": 880.0 - }, - { - "x": 325.0, - "y": 450.0 - } - ] + "name": "unnamedWire#89", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A3" + "compName": "GUIand41#0", + "pinName": "A2" }, - "name": "unnamedWire#71", - "path": [ - { - "x": 120.0, - "y": 400.0 - } - ] + "name": "unnamedWire#9", + "path": [] }, { "pin1": { @@ -2795,161 +2851,122 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#3", "pinName": "A2" }, - "name": "unnamedWire#74", - "path": [ - { - "x": 125.0, - "y": 540.0 - } - ] + "name": "unnamedWire#90", + "path": [] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y3" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C3" + "compName": "GUIandor414#3", + "pinName": "A3" }, - "name": "unnamedWire#127", - "path": [ - { - "x": 180.0, - "y": 610.0 - }, - { - "x": 180.0, - "y": 720.0 - }, - { - "x": 120.0, - "y": 720.0 - }, - { - "x": 120.0, - "y": 760.0 - } - ] + "name": "unnamedWire#91", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#3", + "pinName": "A4" + }, + "name": "unnamedWire#92", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#24", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#4", "pinName": "A1" }, - "name": "unnamedWire#73", - "path": [ - { - "x": 130.0, - "y": 530.0 - } - ] + "name": "unnamedWire#93", + "path": [] }, { "pin1": { + "compName": "WireCrossPoint#25", + "pinName": "" + }, + "pin2": { "compName": "GUIandor414#4", - "pinName": "Y4" + "pinName": "A2" + }, + "name": "unnamedWire#94", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C4" + "compName": "GUIandor414#4", + "pinName": "A3" }, - "name": "unnamedWire#128", - "path": [ - { - "x": 175.0, - "y": 620.0 - }, - { - "x": 175.0, - "y": 715.0 - }, - { - "x": 115.0, - "y": 715.0 - }, - { - "x": 115.0, - "y": 770.0 - } - ] + "name": "unnamedWire#95", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#27", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#4", "pinName": "A4" }, - "name": "unnamedWire#76", - "path": [ - { - "x": 115.0, - "y": 560.0 - } - ] + "name": "unnamedWire#96", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A3" + "compName": "GUIandor414#5", + "pinName": "A1" }, - "name": "unnamedWire#75", - "path": [ - { - "x": 120.0, - "y": 550.0 - } - ] + "name": "unnamedWire#97", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#29", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#5", "pinName": "A2" }, - "name": "unnamedWire#78", - "path": [ - { - "x": 125.0, - "y": 690.0 - } - ] + "name": "unnamedWire#98", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A1" + "compName": "GUIandor414#5", + "pinName": "A3" }, - "name": "unnamedWire#77", - "path": [ - { - "x": 130.0, - "y": 680.0 - } - ] + "name": "unnamedWire#99", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -3007,5 +3024,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIram4.json b/net.mograsim.logic.model.am2900/components/GUIram4.json index e5e71cc1..55ddef82 100644 --- a/net.mograsim.logic.model.am2900/components/GUIram4.json +++ b/net.mograsim.logic.model.am2900/components/GUIram4.json @@ -1,71 +1,78 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 130.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "QA1", - "logicWidth": 1 + "name": "A0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 15.0 }, - "name": "QB2", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "QB1", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 35.0 }, - "name": "QA3", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 75.0 + "x": 0.0, + "y": 45.0 }, - "name": "QB4", - "logicWidth": 1 + "name": "B0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 55.0 }, - "name": "QA2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 65.0 }, - "name": "QB3", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 75.0 }, - "name": "QA4", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -73,187 +80,240 @@ mograsim version: 0.1.3 "y": 95.0 }, "name": "D1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 105.0 }, - "name": "B0", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 115.0 }, - "name": "WE", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 105.0 + "y": 125.0 }, - "name": "D2", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "A0", - "logicWidth": 1 + "name": "QA1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 55.0 + "x": 35.0, + "y": 15.0 }, - "name": "B1", - "logicWidth": 1 + "name": "QA2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 115.0 + "x": 35.0, + "y": 25.0 }, - "name": "D3", - "logicWidth": 1 + "name": "QA3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 35.0 }, - "name": "A1", - "logicWidth": 1 + "name": "QA4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 65.0 + "x": 35.0, + "y": 45.0 }, - "name": "B2", - "logicWidth": 1 + "name": "QB1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 125.0 + "x": 35.0, + "y": 55.0 }, - "name": "D4", - "logicWidth": 1 + "name": "QB2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 65.0 }, - "name": "A2", - "logicWidth": 1 + "name": "QB3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 75.0 }, - "name": "B3", - "logicWidth": 1 + "name": "QB4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 85.0 }, - "name": "A3", - "logicWidth": 1 + "name": "WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUIand41", + "name": "GUIand41#0", "pos": { - "x": 69.0, - "y": 854.0 - }, - "params": 1 + "x": 235.0, + "y": 150.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUIand41", + "name": "GUIand41#1", "pos": { - "x": 64.0, - "y": 844.0 - }, - "params": 1 + "x": 250.0, + "y": 375.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUIand41", + "name": "GUIand41#2", "pos": { - "x": 39.0, - "y": 484.0 - }, - "params": 1 + "x": 155.0, + "y": 325.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIandor414", + "name": "GUIandor414#0", "pos": { - "x": 74.0, - "y": 864.0 - }, - "params": 1 + "x": 250.0, + "y": 485.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUIandor414", + "name": "GUIandor414#1", "pos": { - "x": 49.0, - "y": 504.0 - }, - "params": 1 + "x": 250.0, + "y": 635.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "id": "GUIandor414", + "name": "GUIandor414#2", "pos": { - "x": 44.0, - "y": 494.0 - }, - "params": 1 + "x": 250.0, + "y": 785.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "id": "GUIandor414", + "name": "GUIandor414#3", "pos": { - "x": 54.0, - "y": 514.0 - }, - "params": 1 + "x": 155.0, + "y": 435.0 + } }, { - "id": "GUIand41", - "name": "GUIand41#2", + "id": "GUIandor414", + "name": "GUIandor414#4", "pos": { "x": 155.0, - "y": 325.0 + "y": 585.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIandor414", + "name": "GUIandor414#5", "pos": { - "x": 224.0, - "y": 164.0 - }, - "params": 1 + "x": 155.0, + "y": 735.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#0", + "pos": { + "x": 55.0, + "y": 45.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#1", + "pos": { + "x": 55.0, + "y": 150.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#0", + "pos": { + "x": 80.0, + "y": 330.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#1", + "pos": { + "x": 80.0, + "y": 480.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#2", + "pos": { + "x": 80.0, + "y": 630.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#3", + "pos": { + "x": 80.0, + "y": 780.0 + } }, { "id": "WireCrossPoint", @@ -266,169 +326,165 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 214.0, - "y": 184.0 + "x": 224.0, + "y": 164.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#10", "pos": { - "x": 219.0, - "y": 174.0 + "x": 69.0, + "y": 704.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#11", "pos": { - "x": 64.0, - "y": 544.0 + "x": 74.0, + "y": 714.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#12", "pos": { "x": 59.0, - "y": 534.0 + "y": 834.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#13", "pos": { - "x": 74.0, - "y": 564.0 + "x": 64.0, + "y": 844.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#14", "pos": { "x": 69.0, - "y": 554.0 + "y": 854.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#15", "pos": { - "x": 64.0, - "y": 694.0 + "x": 74.0, + "y": 864.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#16", "pos": { - "x": 59.0, - "y": 684.0 + "x": 39.0, + "y": 484.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#17", "pos": { - "x": 69.0, - "y": 704.0 + "x": 44.0, + "y": 494.0 }, "params": 1 }, - { - "id": "GUIand41", - "name": "GUIand41#0", - "pos": { - "x": 235.0, - "y": 150.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#18", "pos": { - "x": 59.0, - "y": 834.0 + "x": 49.0, + "y": 504.0 }, "params": 1 }, { - "id": "GUIand41", - "name": "GUIand41#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#19", "pos": { - "x": 250.0, - "y": 375.0 - } + "x": 54.0, + "y": 514.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#2", "pos": { - "x": 74.0, - "y": 714.0 + "x": 219.0, + "y": 174.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { - "x": 155.0, - "y": 735.0 - } + "x": 39.0, + "y": 634.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#25", + "name": "WireCrossPoint#21", "pos": { "x": 44.0, - "y": 349.0 + "y": 644.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "name": "WireCrossPoint#22", "pos": { - "x": 39.0, - "y": 334.0 + "x": 49.0, + "y": 654.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#3", + "id": "WireCrossPoint", + "name": "WireCrossPoint#23", "pos": { - "x": 155.0, - "y": 435.0 - } + "x": 54.0, + "y": 664.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#27", + "name": "WireCrossPoint#24", "pos": { - "x": 54.0, - "y": 749.0 + "x": 39.0, + "y": 334.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#25", "pos": { - "x": 155.0, - "y": 585.0 - } + "x": 44.0, + "y": 349.0 + }, + "params": 1 }, { "id": "WireCrossPoint", @@ -440,1173 +496,1464 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUIram2", - "name": "GUIram2#3", - "pos": { - "x": 80.0, - "y": 780.0 - } - }, - { - "id": "GUIram2", - "name": "GUIram2#2", - "pos": { - "x": 80.0, - "y": 630.0 - } - }, - { - "id": "GUIdemux2", - "name": "GUIdemux2#1", - "pos": { - "x": 55.0, - "y": 150.0 - } - }, - { - "id": "GUIram2", - "name": "GUIram2#1", - "pos": { - "x": 80.0, - "y": 480.0 - } - }, - { - "id": "GUIram2", - "name": "GUIram2#0", - "pos": { - "x": 80.0, - "y": 330.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#27", "pos": { - "x": 250.0, - "y": 635.0 - } + "x": 54.0, + "y": 749.0 + }, + "params": 1 }, { - "id": "GUIdemux2", - "name": "GUIdemux2#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 55.0, - "y": 45.0 - } + "x": 214.0, + "y": 184.0 + }, + "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 250.0, - "y": 785.0 - } + "x": 59.0, + "y": 534.0 + }, + "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 250.0, - "y": 485.0 - } + "x": 64.0, + "y": 544.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "name": "WireCrossPoint#6", "pos": { - "x": 44.0, - "y": 644.0 + "x": 69.0, + "y": 554.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#7", "pos": { - "x": 39.0, - "y": 634.0 + "x": 74.0, + "y": 564.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#8", "pos": { - "x": 54.0, - "y": 664.0 + "x": 59.0, + "y": 684.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "name": "WireCrossPoint#9", "pos": { - "x": 49.0, - "y": 654.0 + "x": 64.0, + "y": 694.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "B1" + "compName": "GUIdemux2#0", + "pinName": "S0" }, - "name": "unnamedWire#36", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "B0" - }, - "name": "unnamedWire#35", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIdemux2#0", + "pinName": "S1" }, - "pin2": { - "compName": "GUIram2#3", - "pinName": "A1" - }, - "name": "unnamedWire#38", + "name": "unnamedWire#1", "path": [ { - "x": 45.0, - "y": 795.0 + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "A0" + "compName": "GUIand41#0", + "pinName": "A3" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUIram2#0", + "pinName": "QA4" + }, + "pin2": { + "compName": "GUIand41#2", + "pinName": "A4" + }, + "name": "unnamedWire#100", "path": [ { - "x": 40.0, - "y": 785.0 + "x": 140.0, + "y": 365.0 + }, + { + "x": 140.0, + "y": 360.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIram2#1", + "pinName": "QA1" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "B0" + "compName": "GUIandor414#3", + "pinName": "A1" }, - "name": "unnamedWire#39", + "name": "unnamedWire#101", "path": [ { - "x": 50.0, - "y": 805.0 + "x": 140.0, + "y": 485.0 + }, + { + "x": 140.0, + "y": 480.0 } ] }, { "pin1": { - "compName": "GUIram2#3", + "compName": "GUIram2#1", "pinName": "QA2" }, "pin2": { - "compName": "GUIandor414#5", + "compName": "GUIandor414#3", "pinName": "A2" }, - "name": "unnamedWire#110", + "name": "unnamedWire#102", "path": [ { "x": 140.0, - "y": 795.0 + "y": 495.0 }, { "x": 140.0, - "y": 790.0 + "y": 490.0 } ] }, { "pin1": { - "compName": "GUIram2#3", + "compName": "GUIram2#1", "pinName": "QA3" }, "pin2": { - "compName": "GUIandor414#5", + "compName": "GUIandor414#3", "pinName": "A3" }, - "name": "unnamedWire#111", + "name": "unnamedWire#103", "path": [ { "x": 140.0, - "y": 805.0 + "y": 505.0 }, { "x": 140.0, - "y": 800.0 + "y": 500.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y2" + "compName": "GUIram2#1", + "pinName": "QA4" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C2" + "compName": "GUIandor414#3", + "pinName": "A4" }, - "name": "unnamedWire#114", + "name": "unnamedWire#104", "path": [ { - "x": 300.0, - "y": 390.0 - }, - { - "x": 300.0, - "y": 440.0 - }, - { - "x": 240.0, - "y": 440.0 + "x": 140.0, + "y": 515.0 }, { - "x": 240.0, - "y": 500.0 + "x": 140.0, + "y": 510.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y3" + "compName": "GUIram2#2", + "pinName": "QA1" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C3" + "compName": "GUIandor414#4", + "pinName": "A1" }, - "name": "unnamedWire#115", + "name": "unnamedWire#105", "path": [ { - "x": 295.0, - "y": 400.0 - }, - { - "x": 295.0, - "y": 435.0 - }, - { - "x": 235.0, - "y": 435.0 + "x": 140.0, + "y": 635.0 }, { - "x": 235.0, - "y": 510.0 + "x": 140.0, + "y": 630.0 } ] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QA4" + "compName": "GUIram2#2", + "pinName": "QA2" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A4" + "compName": "GUIandor414#4", + "pinName": "A2" }, - "name": "unnamedWire#112", + "name": "unnamedWire#106", "path": [ { "x": 140.0, - "y": 815.0 + "y": 645.0 }, { "x": 140.0, - "y": 810.0 + "y": 640.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y1" + "compName": "GUIram2#2", + "pinName": "QA3" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C1" + "compName": "GUIandor414#4", + "pinName": "A3" }, - "name": "unnamedWire#113", + "name": "unnamedWire#107", "path": [ { - "x": 305.0, - "y": 380.0 - }, - { - "x": 305.0, - "y": 445.0 - }, - { - "x": 245.0, - "y": 445.0 + "x": 140.0, + "y": 655.0 }, { - "x": 245.0, - "y": 490.0 + "x": 140.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y2" + "compName": "GUIram2#2", + "pinName": "QA4" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C2" + "compName": "GUIandor414#4", + "pinName": "A4" }, - "name": "unnamedWire#118", + "name": "unnamedWire#108", "path": [ { - "x": 300.0, - "y": 500.0 - }, - { - "x": 300.0, - "y": 590.0 - }, - { - "x": 240.0, - "y": 590.0 + "x": 140.0, + "y": 665.0 }, { - "x": 240.0, - "y": 650.0 + "x": 140.0, + "y": 660.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y3" + "compName": "GUIram2#3", + "pinName": "QA1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C3" + "compName": "GUIandor414#5", + "pinName": "A1" }, - "name": "unnamedWire#119", + "name": "unnamedWire#109", "path": [ { - "x": 295.0, - "y": 510.0 - }, - { - "x": 295.0, - "y": 585.0 - }, - { - "x": 235.0, - "y": 585.0 + "x": 140.0, + "y": 785.0 }, { - "x": 235.0, - "y": 660.0 + "x": 140.0, + "y": 780.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { + "compName": "GUIand41#0", + "pinName": "A4" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { "compName": "GUIram2#3", - "pinName": "B1" + "pinName": "QA2" }, - "name": "unnamedWire#41", + "pin2": { + "compName": "GUIandor414#5", + "pinName": "A2" + }, + "name": "unnamedWire#110", "path": [ { - "x": 55.0, - "y": 815.0 + "x": 140.0, + "y": 795.0 + }, + { + "x": 140.0, + "y": 790.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y4" + "compName": "GUIram2#3", + "pinName": "QA3" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C4" + "compName": "GUIandor414#5", + "pinName": "A3" }, - "name": "unnamedWire#116", + "name": "unnamedWire#111", "path": [ { - "x": 290.0, - "y": 410.0 - }, - { - "x": 290.0, - "y": 430.0 - }, - { - "x": 230.0, - "y": 430.0 + "x": 140.0, + "y": 805.0 }, { - "x": 230.0, - "y": 520.0 + "x": 140.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUIram2#3", + "pinName": "QA4" }, "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "A4" }, - "name": "unnamedWire#40", - "path": [] + "name": "unnamedWire#112", + "path": [ + { + "x": 140.0, + "y": 815.0 + }, + { + "x": 140.0, + "y": 810.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIand41#1", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#0", "pinName": "C1" }, - "name": "unnamedWire#117", + "name": "unnamedWire#113", "path": [ { "x": 305.0, - "y": 490.0 + "y": 380.0 }, { "x": 305.0, - "y": 595.0 + "y": 445.0 }, { "x": 245.0, - "y": 595.0 + "y": 445.0 }, { "x": 245.0, - "y": 640.0 + "y": 490.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "WireCrossPoint#25", - "pinName": "" - }, - "name": "unnamedWire#43", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUIand41#1", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "C2" }, - "name": "unnamedWire#42", + "name": "unnamedWire#114", "path": [ { - "x": 40.0, - "y": 250.0 + "x": 300.0, + "y": 390.0 + }, + { + "x": 300.0, + "y": 440.0 + }, + { + "x": 240.0, + "y": 440.0 + }, + { + "x": 240.0, + "y": 500.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D1" + "compName": "GUIandor414#0", + "pinName": "C3" }, - "name": "unnamedWire#45", + "name": "unnamedWire#115", "path": [ { - "x": 60.0, - "y": 385.0 + "x": 295.0, + "y": 400.0 + }, + { + "x": 295.0, + "y": 435.0 + }, + { + "x": 235.0, + "y": 435.0 + }, + { + "x": 235.0, + "y": 510.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" - }, - "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" - }, - "name": "unnamedWire#44", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D3" + "compName": "GUIandor414#0", + "pinName": "C4" }, - "name": "unnamedWire#47", + "name": "unnamedWire#116", "path": [ { - "x": 70.0, - "y": 405.0 + "x": 290.0, + "y": 410.0 + }, + { + "x": 290.0, + "y": 430.0 + }, + { + "x": 230.0, + "y": 430.0 + }, + { + "x": 230.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D2" + "compName": "GUIandor414#1", + "pinName": "C1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#117", "path": [ { - "x": 65.0, - "y": 395.0 + "x": 305.0, + "y": 490.0 + }, + { + "x": 305.0, + "y": 595.0 + }, + { + "x": 245.0, + "y": 595.0 + }, + { + "x": 245.0, + "y": 640.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "D1" + "compName": "GUIandor414#1", + "pinName": "C2" }, - "name": "unnamedWire#49", - "path": [] + "name": "unnamedWire#118", + "path": [ + { + "x": 300.0, + "y": 500.0 + }, + { + "x": 300.0, + "y": 590.0 + }, + { + "x": 240.0, + "y": 590.0 + }, + { + "x": 240.0, + "y": 650.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D4" + "compName": "GUIandor414#1", + "pinName": "C3" }, - "name": "unnamedWire#48", + "name": "unnamedWire#119", "path": [ { - "x": 75.0, - "y": 415.0 + "x": 295.0, + "y": 510.0 + }, + { + "x": 295.0, + "y": 585.0 + }, + { + "x": 235.0, + "y": 585.0 + }, + { + "x": 235.0, + "y": 660.0 } ] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA4" + "compName": "_submodelinterface", + "pinName": "WE" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A4" + "compName": "GUIand41#0", + "pinName": "B" }, - "name": "unnamedWire#100", + "name": "unnamedWire#12", "path": [ { - "x": 140.0, - "y": 365.0 + "x": 15.0, + "y": 850.0 }, { - "x": 140.0, - "y": 360.0 + "x": 15.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA3" + "compName": "GUIandor414#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A3" + "compName": "GUIandor414#1", + "pinName": "C4" }, - "name": "unnamedWire#103", + "name": "unnamedWire#120", "path": [ { - "x": 140.0, - "y": 505.0 + "x": 290.0, + "y": 520.0 }, { - "x": 140.0, - "y": 500.0 + "x": 290.0, + "y": 580.0 + }, + { + "x": 230.0, + "y": 580.0 + }, + { + "x": 230.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA4" + "compName": "GUIandor414#1", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A4" + "compName": "GUIandor414#2", + "pinName": "C1" }, - "name": "unnamedWire#104", + "name": "unnamedWire#121", "path": [ { - "x": 140.0, - "y": 515.0 + "x": 305.0, + "y": 640.0 }, { - "x": 140.0, - "y": 510.0 + "x": 305.0, + "y": 745.0 + }, + { + "x": 245.0, + "y": 745.0 + }, + { + "x": 245.0, + "y": 790.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA1" + "compName": "GUIandor414#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A1" + "compName": "GUIandor414#2", + "pinName": "C2" }, - "name": "unnamedWire#101", + "name": "unnamedWire#122", "path": [ { - "x": 140.0, - "y": 485.0 + "x": 300.0, + "y": 650.0 }, { - "x": 140.0, - "y": 480.0 + "x": 300.0, + "y": 740.0 + }, + { + "x": 240.0, + "y": 740.0 + }, + { + "x": 240.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA2" + "compName": "GUIandor414#1", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A2" + "compName": "GUIandor414#2", + "pinName": "C3" }, - "name": "unnamedWire#102", + "name": "unnamedWire#123", "path": [ { - "x": 140.0, - "y": 495.0 + "x": 295.0, + "y": 660.0 }, { - "x": 140.0, - "y": 490.0 + "x": 295.0, + "y": 735.0 + }, + { + "x": 235.0, + "y": 735.0 + }, + { + "x": 235.0, + "y": 810.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIram2#1", - "pinName": "D2" - }, - "name": "unnamedWire#50", - "path": [] - }, - { - "pin1": { - "compName": "GUIram2#2", - "pinName": "QA3" + "compName": "GUIandor414#1", + "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A3" + "compName": "GUIandor414#2", + "pinName": "C4" }, - "name": "unnamedWire#107", + "name": "unnamedWire#124", "path": [ { - "x": 140.0, - "y": 655.0 + "x": 290.0, + "y": 670.0 }, { - "x": 140.0, - "y": 650.0 + "x": 290.0, + "y": 730.0 + }, + { + "x": 230.0, + "y": 730.0 + }, + { + "x": 230.0, + "y": 820.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA4" + "compName": "GUIandor414#2", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A4" + "compName": "_submodelinterface", + "pinName": "QB1" }, - "name": "unnamedWire#108", + "name": "unnamedWire#125", "path": [ { - "x": 140.0, - "y": 665.0 + "x": 330.0, + "y": 790.0 }, { - "x": 140.0, - "y": 660.0 + "x": 330.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "D4" + "compName": "_submodelinterface", + "pinName": "QB2" }, - "name": "unnamedWire#52", - "path": [] + "name": "unnamedWire#126", + "path": [ + { + "x": 335.0, + "y": 800.0 + }, + { + "x": 335.0, + "y": 550.0 + } + ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA1" + "compName": "GUIandor414#2", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "QB3" }, - "name": "unnamedWire#105", + "name": "unnamedWire#127", "path": [ { - "x": 140.0, - "y": 635.0 + "x": 340.0, + "y": 810.0 }, { - "x": 140.0, - "y": 630.0 + "x": 340.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "D3" + "compName": "_submodelinterface", + "pinName": "QB4" }, - "name": "unnamedWire#51", - "path": [] + "name": "unnamedWire#128", + "path": [ + { + "x": 345.0, + "y": 820.0 + }, + { + "x": 345.0, + "y": 750.0 + } + ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA2" + "compName": "GUIand41#2", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A2" + "compName": "GUIandor414#3", + "pinName": "C1" }, - "name": "unnamedWire#106", + "name": "unnamedWire#129", "path": [ { - "x": 140.0, - "y": 645.0 + "x": 210.0, + "y": 330.0 }, { - "x": 140.0, - "y": 640.0 + "x": 210.0, + "y": 430.0 + }, + { + "x": 150.0, + "y": 430.0 + }, + { + "x": 150.0, + "y": 440.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIand41#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "WE" }, - "name": "unnamedWire#54", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "name": "unnamedWire#53", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 290.0, + "y": 155.0 + }, + { + "x": 290.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 375.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIand41#2", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "C2" }, - "name": "unnamedWire#56", - "path": [] + "name": "unnamedWire#130", + "path": [ + { + "x": 205.0, + "y": 340.0 + }, + { + "x": 205.0, + "y": 425.0 + }, + { + "x": 145.0, + "y": 425.0 + }, + { + "x": 145.0, + "y": 450.0 + } + ] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QA1" + "compName": "GUIand41#2", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A1" + "compName": "GUIandor414#3", + "pinName": "C3" }, - "name": "unnamedWire#109", + "name": "unnamedWire#131", "path": [ + { + "x": 200.0, + "y": 350.0 + }, + { + "x": 200.0, + "y": 420.0 + }, { "x": 140.0, - "y": 785.0 + "y": 420.0 }, { "x": 140.0, - "y": 780.0 + "y": 460.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "name": "unnamedWire#55", - "path": [] - }, - { - "pin1": { - "compName": "GUIand41#0", - "pinName": "Y2" + "compName": "GUIand41#2", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "WE" + "compName": "GUIandor414#3", + "pinName": "C4" }, - "name": "unnamedWire#14", + "name": "unnamedWire#132", "path": [ { - "x": 285.0, - "y": 165.0 + "x": 195.0, + "y": 360.0 }, { - "x": 285.0, - "y": 225.0 + "x": 195.0, + "y": 415.0 }, { - "x": 30.0, - "y": 225.0 + "x": 135.0, + "y": 415.0 }, { - "x": 30.0, - "y": 525.0 + "x": 135.0, + "y": 470.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#3", "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "WE" + "compName": "GUIandor414#4", + "pinName": "C1" }, - "name": "unnamedWire#13", + "name": "unnamedWire#133", "path": [ { - "x": 290.0, - "y": 155.0 + "x": 210.0, + "y": 440.0 }, { - "x": 290.0, - "y": 230.0 + "x": 210.0, + "y": 580.0 }, { - "x": 35.0, - "y": 230.0 + "x": 150.0, + "y": 580.0 }, { - "x": 35.0, - "y": 375.0 + "x": 150.0, + "y": 590.0 } ] }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y4" + "compName": "GUIandor414#3", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "WE" + "compName": "GUIandor414#4", + "pinName": "C2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#134", "path": [ { - "x": 275.0, - "y": 185.0 + "x": 205.0, + "y": 450.0 }, { - "x": 275.0, - "y": 215.0 + "x": 205.0, + "y": 575.0 }, { - "x": 20.0, - "y": 215.0 + "x": 145.0, + "y": 575.0 }, { - "x": 20.0, - "y": 825.0 + "x": 145.0, + "y": 600.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#3", "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "WE" + "compName": "GUIandor414#4", + "pinName": "C3" }, - "name": "unnamedWire#15", + "name": "unnamedWire#135", "path": [ { - "x": 280.0, - "y": 175.0 + "x": 200.0, + "y": 460.0 }, { - "x": 280.0, - "y": 220.0 + "x": 200.0, + "y": 570.0 }, { - "x": 25.0, - "y": 220.0 + "x": 140.0, + "y": 570.0 }, { - "x": 25.0, - "y": 675.0 + "x": 140.0, + "y": 610.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "A0" + "compName": "GUIandor414#4", + "pinName": "C4" }, - "name": "unnamedWire#18", - "path": [] + "name": "unnamedWire#136", + "path": [ + { + "x": 195.0, + "y": 470.0 + }, + { + "x": 195.0, + "y": 565.0 + }, + { + "x": 135.0, + "y": 565.0 + }, + { + "x": 135.0, + "y": 620.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "C1" }, - "name": "unnamedWire#17", - "path": [] + "name": "unnamedWire#137", + "path": [ + { + "x": 210.0, + "y": 590.0 + }, + { + "x": 210.0, + "y": 730.0 + }, + { + "x": 150.0, + "y": 730.0 + }, + { + "x": 150.0, + "y": 740.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "C2" }, - "name": "unnamedWire#19", - "path": [] + "name": "unnamedWire#138", + "path": [ + { + "x": 205.0, + "y": 600.0 + }, + { + "x": 205.0, + "y": 725.0 + }, + { + "x": 145.0, + "y": 725.0 + }, + { + "x": 145.0, + "y": 750.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "B0" + "compName": "GUIandor414#5", + "pinName": "C3" }, - "name": "unnamedWire#21", + "name": "unnamedWire#139", "path": [ { - "x": 50.0, - "y": 355.0 + "x": 200.0, + "y": 610.0 + }, + { + "x": 200.0, + "y": 720.0 + }, + { + "x": 140.0, + "y": 720.0 + }, + { + "x": 140.0, + "y": 760.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIand41#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "A1" + "compName": "GUIram2#1", + "pinName": "WE" }, - "name": "unnamedWire#20", + "name": "unnamedWire#14", "path": [ { - "x": 45.0, - "y": 345.0 + "x": 285.0, + "y": 165.0 + }, + { + "x": 285.0, + "y": 225.0 + }, + { + "x": 30.0, + "y": 225.0 + }, + { + "x": 30.0, + "y": 525.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "A0" + "compName": "GUIandor414#5", + "pinName": "C4" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#140", + "path": [ + { + "x": 195.0, + "y": 620.0 + }, + { + "x": 195.0, + "y": 715.0 + }, + { + "x": 135.0, + "y": 715.0 + }, + { + "x": 135.0, + "y": 770.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "B1" + "compName": "_submodelinterface", + "pinName": "QA1" }, - "name": "unnamedWire#22", + "name": "unnamedWire#141", "path": [ { - "x": 55.0, - "y": 365.0 + "x": 210.0, + "y": 740.0 + }, + { + "x": 210.0, + "y": 880.0 + }, + { + "x": 310.0, + "y": 880.0 + }, + { + "x": 310.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "B0" + "compName": "_submodelinterface", + "pinName": "QA2" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#142", + "path": [ + { + "x": 205.0, + "y": 750.0 + }, + { + "x": 205.0, + "y": 885.0 + }, + { + "x": 315.0, + "y": 885.0 + }, + { + "x": 315.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "QA3" }, - "name": "unnamedWire#24", - "path": [] + "name": "unnamedWire#143", + "path": [ + { + "x": 200.0, + "y": 760.0 + }, + { + "x": 200.0, + "y": 890.0 + }, + { + "x": 320.0, + "y": 890.0 + }, + { + "x": 320.0, + "y": 250.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "QA4" }, - "name": "unnamedWire#27", - "path": [] + "name": "unnamedWire#144", + "path": [ + { + "x": 195.0, + "y": 770.0 + }, + { + "x": 195.0, + "y": 895.0 + }, + { + "x": 325.0, + "y": 895.0 + }, + { + "x": 325.0, + "y": 350.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "GUIand41#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIram2#2", + "pinName": "WE" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 280.0, + "y": 175.0 + }, + { + "x": 280.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 675.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#0", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIram2#3", + "pinName": "WE" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 275.0, + "y": 185.0 + }, + { + "x": 275.0, + "y": 215.0 + }, + { + "x": 20.0, + "y": 215.0 + }, + { + "x": 20.0, + "y": 825.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "B1" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#26", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#24", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "A0" }, - "name": "unnamedWire#29", + "name": "unnamedWire#18", "path": [] }, { @@ -1615,23 +1962,66 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#25", "pinName": "" }, - "name": "unnamedWire#28", + "name": "unnamedWire#19", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B2" + "pinName": "B0" }, "pin2": { - "compName": "WireCrossPoint#26", + "compName": "GUIdemux2#1", + "pinName": "S0" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 5.0, + "y": 450.0 + }, + { + "x": 5.0, + "y": 155.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#25", "pinName": "" }, - "name": "unnamedWire#30", - "path": [] + "pin2": { + "compName": "GUIram2#0", + "pinName": "A1" + }, + "name": "unnamedWire#20", + "path": [ + { + "x": 45.0, + "y": 345.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#18", + "pinName": "" + }, + "pin2": { + "compName": "GUIram2#0", + "pinName": "B0" + }, + "name": "unnamedWire#21", + "path": [ + { + "x": 50.0, + "y": 355.0 + } + ] }, { "pin1": { @@ -1639,1697 +2029,1328 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#23", + "compName": "GUIram2#0", + "pinName": "B1" + }, + "name": "unnamedWire#22", + "path": [ + { + "x": 55.0, + "y": 365.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", "pinName": "" }, - "name": "unnamedWire#32", + "pin2": { + "compName": "GUIram2#1", + "pinName": "A0" + }, + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#22", + "compName": "GUIram2#1", + "pinName": "A1" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#18", "pinName": "" }, - "name": "unnamedWire#31", + "pin2": { + "compName": "GUIram2#1", + "pinName": "B0" + }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "A1" + "compName": "GUIram2#1", + "pinName": "B1" }, - "name": "unnamedWire#34", + "name": "unnamedWire#26", "path": [] }, { "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { "compName": "WireCrossPoint#20", "pinName": "" }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#17", + "pinName": "" + }, "pin2": { - "compName": "GUIram2#2", - "pinName": "A0" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#33", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "B" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#79", - "path": [ - { - "x": 220.0, - "y": 720.0 - } - ] + "name": "unnamedWire#29", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB1" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A1" + "compName": "GUIdemux2#1", + "pinName": "S1" }, - "name": "unnamedWire#81", + "name": "unnamedWire#3", "path": [ { - "x": 140.0, - "y": 375.0 + "x": 10.0, + "y": 550.0 }, { - "x": 140.0, - "y": 380.0 + "x": 10.0, + "y": 165.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "B" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#80", - "path": [ - { - "x": 215.0, - "y": 870.0 - } - ] + "name": "unnamedWire#30", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB3" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A3" + "compName": "WireCrossPoint#22", + "pinName": "" }, - "name": "unnamedWire#83", - "path": [ - { - "x": 140.0, - "y": 395.0 - }, - { - "x": 140.0, - "y": 400.0 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB2" + "compName": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A2" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#82", - "path": [ - { - "x": 140.0, - "y": 385.0 - }, - { - "x": 140.0, - "y": 390.0 - } - ] + "name": "unnamedWire#32", + "path": [] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB1" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A1" + "compName": "GUIram2#2", + "pinName": "A0" }, - "name": "unnamedWire#85", - "path": [ - { - "x": 140.0, - "y": 525.0 - }, - { - "x": 140.0, - "y": 530.0 - } - ] + "name": "unnamedWire#33", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB4" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A4" + "compName": "GUIram2#2", + "pinName": "A1" }, - "name": "unnamedWire#84", - "path": [ - { - "x": 140.0, - "y": 405.0 - }, - { - "x": 140.0, - "y": 410.0 - } - ] + "name": "unnamedWire#34", + "path": [] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB3" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A3" + "compName": "GUIram2#2", + "pinName": "B0" }, - "name": "unnamedWire#87", - "path": [ - { - "x": 140.0, - "y": 545.0 - }, - { - "x": 140.0, - "y": 550.0 - } - ] + "name": "unnamedWire#35", + "path": [] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB2" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A2" + "compName": "GUIram2#2", + "pinName": "B1" }, - "name": "unnamedWire#86", - "path": [ - { - "x": 140.0, - "y": 535.0 - }, - { - "x": 140.0, - "y": 540.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB1" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A1" + "compName": "GUIram2#3", + "pinName": "A0" }, - "name": "unnamedWire#89", + "name": "unnamedWire#37", "path": [ { - "x": 140.0, - "y": 675.0 - }, - { - "x": 140.0, - "y": 680.0 + "x": 40.0, + "y": 785.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB4" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A4" + "compName": "GUIram2#3", + "pinName": "A1" }, - "name": "unnamedWire#88", + "name": "unnamedWire#38", "path": [ { - "x": 140.0, - "y": 555.0 - }, - { - "x": 140.0, - "y": 560.0 + "x": 45.0, + "y": 795.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y4" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C4" + "compName": "GUIram2#3", + "pinName": "B0" }, - "name": "unnamedWire#140", + "name": "unnamedWire#39", "path": [ { - "x": 195.0, - "y": 620.0 - }, - { - "x": 195.0, - "y": 715.0 - }, - { - "x": 135.0, - "y": 715.0 - }, - { - "x": 135.0, - "y": 770.0 + "x": 50.0, + "y": 805.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIdemux2#1", + "pinName": "Y00" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y3" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "QA3" - }, - "name": "unnamedWire#143", - "path": [ - { - "x": 200.0, - "y": 760.0 - }, - { - "x": 200.0, - "y": 890.0 - }, - { - "x": 320.0, - "y": 890.0 - }, - { - "x": 320.0, - "y": 250.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A1" + "compName": "WireCrossPoint#27", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y4" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA4" + "compName": "GUIram2#3", + "pinName": "B1" }, - "name": "unnamedWire#144", + "name": "unnamedWire#41", "path": [ { - "x": 195.0, - "y": 770.0 - }, - { - "x": 195.0, - "y": 895.0 - }, - { - "x": 325.0, - "y": 895.0 - }, - { - "x": 325.0, - "y": 350.0 + "x": 55.0, + "y": 815.0 } ] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y11" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#24", "pinName": "" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 40.0, + "y": 250.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA1" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#141", - "path": [ - { - "x": 210.0, - "y": 740.0 - }, - { - "x": 210.0, - "y": 880.0 - }, - { - "x": 310.0, - "y": 880.0 - }, - { - "x": 310.0, - "y": 50.0 - } - ] + "name": "unnamedWire#43", + "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y10" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#27", "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y2" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA2" + "compName": "GUIram2#0", + "pinName": "D1" }, - "name": "unnamedWire#142", + "name": "unnamedWire#45", "path": [ { - "x": 205.0, - "y": 750.0 - }, - { - "x": 205.0, - "y": 885.0 - }, - { - "x": 315.0, - "y": 885.0 - }, - { - "x": 315.0, - "y": 150.0 + "x": 60.0, + "y": 385.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB2" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A2" + "compName": "GUIram2#0", + "pinName": "D2" }, - "name": "unnamedWire#90", + "name": "unnamedWire#46", "path": [ { - "x": 140.0, - "y": 685.0 - }, - { - "x": 140.0, - "y": 690.0 + "x": 65.0, + "y": 395.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB4" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A4" + "compName": "GUIram2#0", + "pinName": "D3" }, - "name": "unnamedWire#92", + "name": "unnamedWire#47", "path": [ { - "x": 140.0, - "y": 705.0 - }, - { - "x": 140.0, - "y": 710.0 + "x": 70.0, + "y": 405.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB3" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A3" + "compName": "GUIram2#0", + "pinName": "D4" }, - "name": "unnamedWire#91", + "name": "unnamedWire#48", "path": [ { - "x": 140.0, - "y": 695.0 - }, - { - "x": 140.0, - "y": 700.0 + "x": 75.0, + "y": 415.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S1" + "compName": "GUIram2#1", + "pinName": "D1" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 10.0, - "y": 150.0 - }, - { - "x": 10.0, - "y": 60.0 - } - ] + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB2" + "compName": "GUIdemux2#1", + "pinName": "Y01" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A2" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#94", - "path": [ - { - "x": 140.0, - "y": 835.0 - }, - { - "x": 140.0, - "y": 840.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S0" + "compName": "GUIram2#1", + "pinName": "D2" }, - "name": "unnamedWire#0", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB1" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A1" + "compName": "GUIram2#1", + "pinName": "D3" }, - "name": "unnamedWire#93", - "path": [ - { - "x": 140.0, - "y": 825.0 - }, - { - "x": 140.0, - "y": 830.0 - } - ] + "name": "unnamedWire#51", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "GUIram2#1", + "pinName": "D4" + }, + "name": "unnamedWire#52", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#53", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB4" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A4" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#96", - "path": [ - { - "x": 140.0, - "y": 855.0 - }, - { - "x": 140.0, - "y": 860.0 - } - ] + "name": "unnamedWire#54", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB3" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A3" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#95", - "path": [ - { - "x": 140.0, - "y": 845.0 - }, - { - "x": 140.0, - "y": 850.0 - } - ] + "name": "unnamedWire#55", + "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y01" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" + "compName": "GUIram2#2", + "pinName": "D1" }, - "name": "unnamedWire#10", + "name": "unnamedWire#57", "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA2" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A2" + "compName": "GUIram2#2", + "pinName": "D2" }, - "name": "unnamedWire#98", - "path": [ - { - "x": 140.0, - "y": 345.0 - }, - { - "x": 140.0, - "y": 340.0 - } - ] + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y00" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIram2#2", + "pinName": "D3" }, - "name": "unnamedWire#4", + "name": "unnamedWire#59", "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA1" + "compName": "GUIdemux2#1", + "pinName": "Y10" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A1" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#97", - "path": [ - { - "x": 140.0, - "y": 335.0 - }, - { - "x": 140.0, - "y": 330.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S1" + "compName": "GUIram2#2", + "pinName": "D4" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 10.0, - "y": 550.0 - }, - { - "x": 10.0, - "y": 165.0 - } - ] + "name": "unnamedWire#60", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "WE" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 15.0, - "y": 850.0 - }, - { - "x": 15.0, - "y": 195.0 - } - ] + "name": "unnamedWire#61", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S0" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 5.0, - "y": 450.0 - }, - { - "x": 5.0, - "y": 155.0 - } - ] + "name": "unnamedWire#62", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A4" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#11", + "name": "unnamedWire#63", "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA3" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A3" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#99", - "path": [ - { - "x": 140.0, - "y": 355.0 - }, - { - "x": 140.0, - "y": 350.0 - } - ] + "name": "unnamedWire#64", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "D2" + "compName": "GUIram2#3", + "pinName": "D1" }, - "name": "unnamedWire#58", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "D1" + "compName": "GUIram2#3", + "pinName": "D2" }, - "name": "unnamedWire#57", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", + "compName": "GUIram2#3", "pinName": "D3" }, - "name": "unnamedWire#59", + "name": "unnamedWire#67", "path": [] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y4" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C4" + "compName": "GUIram2#3", + "pinName": "D4" }, - "name": "unnamedWire#132", - "path": [ - { - "x": 195.0, - "y": 360.0 - }, - { - "x": 195.0, - "y": 415.0 - }, - { - "x": 135.0, - "y": 415.0 - }, - { - "x": 135.0, - "y": 470.0 - } - ] + "name": "unnamedWire#68", + "path": [] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C1" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#133", + "name": "unnamedWire#69", "path": [ { - "x": 210.0, - "y": 440.0 - }, - { - "x": 210.0, - "y": 580.0 - }, - { - "x": 150.0, - "y": 580.0 - }, - { - "x": 150.0, - "y": 590.0 + "x": 60.0, + "y": 950.0 } ] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y2" + "compName": "GUIdemux2#1", + "pinName": "Y11" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C2" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#130", - "path": [ - { - "x": 205.0, - "y": 340.0 - }, - { - "x": 205.0, - "y": 425.0 - }, - { - "x": 145.0, - "y": 425.0 - }, - { - "x": 145.0, - "y": 450.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C3" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#131", + "name": "unnamedWire#70", "path": [ { - "x": 200.0, - "y": 350.0 - }, - { - "x": 200.0, - "y": 420.0 - }, - { - "x": 140.0, - "y": 420.0 - }, - { - "x": 140.0, - "y": 460.0 + "x": 65.0, + "y": 1050.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C4" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#136", + "name": "unnamedWire#71", "path": [ { - "x": 195.0, - "y": 470.0 - }, - { - "x": 195.0, - "y": 565.0 - }, - { - "x": 135.0, - "y": 565.0 - }, - { - "x": 135.0, - "y": 620.0 + "x": 70.0, + "y": 1150.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C1" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#137", + "name": "unnamedWire#72", "path": [ { - "x": 210.0, - "y": 590.0 - }, - { - "x": 210.0, - "y": 730.0 - }, - { - "x": 150.0, - "y": 730.0 - }, - { - "x": 150.0, - "y": 740.0 + "x": 75.0, + "y": 1250.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y2" + "compName": "GUIdemux2#0", + "pinName": "Y00" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C2" + "compName": "GUIand41#2", + "pinName": "B" }, - "name": "unnamedWire#134", + "name": "unnamedWire#73", "path": [ { - "x": 205.0, - "y": 450.0 - }, - { - "x": 205.0, - "y": 575.0 - }, - { - "x": 145.0, - "y": 575.0 + "x": 135.0, + "y": 50.0 }, { - "x": 145.0, - "y": 600.0 + "x": 135.0, + "y": 370.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y3" + "compName": "GUIdemux2#0", + "pinName": "Y01" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C3" + "compName": "GUIandor414#3", + "pinName": "B" }, - "name": "unnamedWire#135", + "name": "unnamedWire#74", "path": [ { - "x": 200.0, - "y": 460.0 - }, - { - "x": 200.0, - "y": 570.0 - }, - { - "x": 140.0, - "y": 570.0 + "x": 130.0, + "y": 60.0 }, { - "x": 140.0, - "y": 610.0 + "x": 130.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "name": "unnamedWire#61", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "GUIram2#2", - "pinName": "D4" - }, - "name": "unnamedWire#60", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUIdemux2#0", + "pinName": "Y10" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "name": "unnamedWire#63", - "path": [] - }, - { - "pin1": { "compName": "GUIandor414#4", - "pinName": "Y2" - }, - "pin2": { - "compName": "GUIandor414#5", - "pinName": "C2" + "pinName": "B" }, - "name": "unnamedWire#138", + "name": "unnamedWire#75", "path": [ { - "x": 205.0, - "y": 600.0 - }, - { - "x": 205.0, - "y": 725.0 - }, - { - "x": 145.0, - "y": 725.0 + "x": 125.0, + "y": 70.0 }, { - "x": 145.0, - "y": 750.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#62", - "path": [] + "x": 125.0, + "y": 670.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y3" + "compName": "GUIdemux2#0", + "pinName": "Y11" }, "pin2": { "compName": "GUIandor414#5", - "pinName": "C3" + "pinName": "B" }, - "name": "unnamedWire#139", + "name": "unnamedWire#76", "path": [ { - "x": 200.0, - "y": 610.0 - }, - { - "x": 200.0, - "y": 720.0 - }, - { - "x": 140.0, - "y": 720.0 + "x": 120.0, + "y": 80.0 }, { - "x": 140.0, - "y": 760.0 + "x": 120.0, + "y": 820.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D1" + "compName": "GUIand41#1", + "pinName": "B" }, - "name": "unnamedWire#65", - "path": [] + "name": "unnamedWire#77", + "path": [ + { + "x": 230.0, + "y": 420.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "B" }, - "name": "unnamedWire#64", - "path": [] + "name": "unnamedWire#78", + "path": [ + { + "x": 225.0, + "y": 570.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D3" + "compName": "GUIandor414#1", + "pinName": "B" }, - "name": "unnamedWire#67", - "path": [] + "name": "unnamedWire#79", + "path": [ + { + "x": 220.0, + "y": 720.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D2" + "compName": "GUIand41#0", + "pinName": "A1" }, - "name": "unnamedWire#66", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "B" }, - "name": "unnamedWire#69", + "name": "unnamedWire#80", "path": [ { - "x": 60.0, - "y": 950.0 + "x": 215.0, + "y": 870.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" - }, - "pin2": { - "compName": "GUIram2#3", - "pinName": "D4" - }, - "name": "unnamedWire#68", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y1" + "compName": "GUIram2#0", + "pinName": "QB1" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C1" + "compName": "GUIand41#1", + "pinName": "A1" }, - "name": "unnamedWire#121", + "name": "unnamedWire#81", "path": [ { - "x": 305.0, - "y": 640.0 - }, - { - "x": 305.0, - "y": 745.0 - }, - { - "x": 245.0, - "y": 745.0 + "x": 140.0, + "y": 375.0 }, { - "x": 245.0, - "y": 790.0 + "x": 140.0, + "y": 380.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y2" + "compName": "GUIram2#0", + "pinName": "QB2" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C2" + "compName": "GUIand41#1", + "pinName": "A2" }, - "name": "unnamedWire#122", + "name": "unnamedWire#82", "path": [ { - "x": 300.0, - "y": 650.0 - }, - { - "x": 300.0, - "y": 740.0 - }, - { - "x": 240.0, - "y": 740.0 + "x": 140.0, + "y": 385.0 }, { - "x": 240.0, - "y": 800.0 + "x": 140.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y4" + "compName": "GUIram2#0", + "pinName": "QB3" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C4" + "compName": "GUIand41#1", + "pinName": "A3" }, - "name": "unnamedWire#120", + "name": "unnamedWire#83", "path": [ { - "x": 290.0, - "y": 520.0 - }, - { - "x": 290.0, - "y": 580.0 - }, - { - "x": 230.0, - "y": 580.0 + "x": 140.0, + "y": 395.0 }, { - "x": 230.0, - "y": 670.0 + "x": 140.0, + "y": 400.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y1" + "compName": "GUIram2#0", + "pinName": "QB4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB1" + "compName": "GUIand41#1", + "pinName": "A4" }, - "name": "unnamedWire#125", + "name": "unnamedWire#84", "path": [ { - "x": 330.0, - "y": 790.0 + "x": 140.0, + "y": 405.0 }, { - "x": 330.0, - "y": 450.0 + "x": 140.0, + "y": 410.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y2" + "compName": "GUIram2#1", + "pinName": "QB1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB2" + "compName": "GUIandor414#0", + "pinName": "A1" }, - "name": "unnamedWire#126", + "name": "unnamedWire#85", "path": [ { - "x": 335.0, - "y": 800.0 + "x": 140.0, + "y": 525.0 }, { - "x": 335.0, - "y": 550.0 + "x": 140.0, + "y": 530.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "GUIram2#1", + "pinName": "QB2" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "A2" }, - "name": "unnamedWire#70", + "name": "unnamedWire#86", "path": [ { - "x": 65.0, - "y": 1050.0 + "x": 140.0, + "y": 535.0 + }, + { + "x": 140.0, + "y": 540.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y3" + "compName": "GUIram2#1", + "pinName": "QB3" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C3" + "compName": "GUIandor414#0", + "pinName": "A3" }, - "name": "unnamedWire#123", - "path": [ - { - "x": 295.0, - "y": 660.0 - }, - { - "x": 295.0, - "y": 735.0 - }, + "name": "unnamedWire#87", + "path": [ { - "x": 235.0, - "y": 735.0 + "x": 140.0, + "y": 545.0 }, { - "x": 235.0, - "y": 810.0 + "x": 140.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y4" + "compName": "GUIram2#1", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C4" + "compName": "GUIandor414#0", + "pinName": "A4" }, - "name": "unnamedWire#124", + "name": "unnamedWire#88", "path": [ { - "x": 290.0, - "y": 670.0 - }, - { - "x": 290.0, - "y": 730.0 - }, - { - "x": 230.0, - "y": 730.0 + "x": 140.0, + "y": 555.0 }, { - "x": 230.0, - "y": 820.0 + "x": 140.0, + "y": 560.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "GUIram2#2", + "pinName": "QB1" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "A1" }, - "name": "unnamedWire#72", + "name": "unnamedWire#89", "path": [ { - "x": 75.0, - "y": 1250.0 + "x": 140.0, + "y": 675.0 + }, + { + "x": 140.0, + "y": 680.0 } ] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y1" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C1" + "compName": "GUIand41#0", + "pinName": "A2" }, - "name": "unnamedWire#129", + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUIram2#2", + "pinName": "QB2" + }, + "pin2": { + "compName": "GUIandor414#1", + "pinName": "A2" + }, + "name": "unnamedWire#90", "path": [ { - "x": 210.0, - "y": 330.0 - }, - { - "x": 210.0, - "y": 430.0 - }, - { - "x": 150.0, - "y": 430.0 + "x": 140.0, + "y": 685.0 }, { - "x": 150.0, - "y": 440.0 + "x": 140.0, + "y": 690.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "GUIram2#2", + "pinName": "QB3" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "A3" }, - "name": "unnamedWire#71", + "name": "unnamedWire#91", "path": [ { - "x": 70.0, - "y": 1150.0 + "x": 140.0, + "y": 695.0 + }, + { + "x": 140.0, + "y": 700.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y01" + "compName": "GUIram2#2", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "B" + "compName": "GUIandor414#1", + "pinName": "A4" }, - "name": "unnamedWire#74", + "name": "unnamedWire#92", "path": [ { - "x": 130.0, - "y": 60.0 + "x": 140.0, + "y": 705.0 }, { - "x": 130.0, - "y": 520.0 + "x": 140.0, + "y": 710.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y3" + "compName": "GUIram2#3", + "pinName": "QB1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB3" + "compName": "GUIandor414#2", + "pinName": "A1" }, - "name": "unnamedWire#127", + "name": "unnamedWire#93", "path": [ { - "x": 340.0, - "y": 810.0 + "x": 140.0, + "y": 825.0 }, { - "x": 340.0, - "y": 650.0 + "x": 140.0, + "y": 830.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y00" + "compName": "GUIram2#3", + "pinName": "QB2" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "B" + "compName": "GUIandor414#2", + "pinName": "A2" }, - "name": "unnamedWire#73", + "name": "unnamedWire#94", "path": [ { - "x": 135.0, - "y": 50.0 + "x": 140.0, + "y": 835.0 }, { - "x": 135.0, - "y": 370.0 + "x": 140.0, + "y": 840.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y4" + "compName": "GUIram2#3", + "pinName": "QB3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB4" + "compName": "GUIandor414#2", + "pinName": "A3" }, - "name": "unnamedWire#128", + "name": "unnamedWire#95", "path": [ { - "x": 345.0, - "y": 820.0 + "x": 140.0, + "y": 845.0 }, { - "x": 345.0, - "y": 750.0 + "x": 140.0, + "y": 850.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y11" + "compName": "GUIram2#3", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "B" + "compName": "GUIandor414#2", + "pinName": "A4" }, - "name": "unnamedWire#76", + "name": "unnamedWire#96", "path": [ { - "x": 120.0, - "y": 80.0 + "x": 140.0, + "y": 855.0 }, { - "x": 120.0, - "y": 820.0 + "x": 140.0, + "y": 860.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y10" + "compName": "GUIram2#0", + "pinName": "QA1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "B" + "compName": "GUIand41#2", + "pinName": "A1" }, - "name": "unnamedWire#75", + "name": "unnamedWire#97", "path": [ { - "x": 125.0, - "y": 70.0 + "x": 140.0, + "y": 335.0 }, { - "x": 125.0, - "y": 670.0 + "x": 140.0, + "y": 330.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "QA2" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "B" + "compName": "GUIand41#2", + "pinName": "A2" }, - "name": "unnamedWire#78", + "name": "unnamedWire#98", "path": [ { - "x": 225.0, - "y": 570.0 + "x": 140.0, + "y": 345.0 + }, + { + "x": 140.0, + "y": 340.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "QA3" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "B" + "compName": "GUIand41#2", + "pinName": "A3" }, - "name": "unnamedWire#77", + "name": "unnamedWire#99", "path": [ { - "x": 230.0, - "y": 420.0 + "x": 140.0, + "y": 355.0 + }, + { + "x": 140.0, + "y": 350.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -3499,5 +3520,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ 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 index 26a25cfb..093657b9 100644 --- a/net.mograsim.logic.model.am2900/components/GUIsel1.json +++ b/net.mograsim.logic.model.am2900/components/GUIsel1.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "I1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,15 +17,8 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "I2", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 5.0 - }, - "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +26,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -41,12 +35,22 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "S2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 35.0, + "y": 5.0 + }, + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", "name": "GUINandGate#1", @@ -58,64 +62,42 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#2", "pos": { - "x": 60.0, - "y": 40.0 + "x": 35.0, + "y": 55.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#3", "pos": { - "x": 35.0, - "y": 55.0 + "x": 60.0, + "y": 40.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "S1" }, "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", + "name": "unnamedWire#0", "path": [ { - "x": 15.0, - "y": 87.5 + "x": 25.0, + "y": 12.5 }, { - "x": 15.0, - "y": 70.0 + "x": 25.0, + "y": 35.0 } ] }, @@ -142,58 +124,81 @@ mograsim version: 0.1.3 }, { "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "S1" + "pinName": "Y" + }, + "name": "unnamedWire#10" + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#0", + "name": "unnamedWire#5", "path": [ { "x": 25.0, - "y": 12.5 + "y": 62.5 }, { "x": 25.0, - "y": 35.0 + "y": 45.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1" + "pinName": "I2" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "B" }, - "name": "unnamedWire#5", + "name": "unnamedWire#7", "path": [ { - "x": 25.0, - "y": 62.5 + "x": 15.0, + "y": 87.5 }, { - "x": 25.0, - "y": 45.0 + "x": 15.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", + "compName": "GUINandGate#3", + "pinName": "A" + }, + "name": "unnamedWire#8" + }, + { + "pin1": { + "compName": "GUINandGate#2", "pinName": "Y" }, - "name": "unnamedWire#10" + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -204,5 +209,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIsel2_4.json b/net.mograsim.logic.model.am2900/components/GUIsel2_4.json index ef717486..a9234a2e 100644 --- a/net.mograsim.logic.model.am2900/components/GUIsel2_4.json +++ b/net.mograsim.logic.model.am2900/components/GUIsel2_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 100.0, @@ -6,50 +5,56 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 5.0 + "y": 25.0 }, - "name": "SA", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 35.0 }, - "name": "SB", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 45.0 }, - "name": "B1", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 55.0 }, - "name": "A1", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 65.0 }, - "name": "B2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 75.0 }, - "name": "A2", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,31 +62,35 @@ mograsim version: 0.1.3 "y": 85.0 }, "name": "B3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 95.0 }, - "name": "A3", - "logicWidth": 1 + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 5.0 }, - "name": "B4", - "logicWidth": 1 + "name": "SA", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 15.0 }, - "name": "A4", - "logicWidth": 1 + "name": "SB", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,7 +98,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -97,7 +107,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -105,7 +116,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -113,12 +125,22 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 20.0, + "y": 2.5 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -130,10 +152,28 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#10", + "pos": { + "x": 65.0, + "y": 52.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#11", + "pos": { + "x": 65.0, + "y": 77.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 20.0, - "y": 2.5 + "y": 102.5 }, "params": 1 }, @@ -148,37 +188,55 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { "x": 20.0, - "y": 102.5 + "y": 27.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#11", + "name": "GUINandGate#5", "pos": { - "x": 65.0, + "x": 20.0, "y": 77.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#10", + "name": "GUINandGate#6", + "pos": { + "x": 20.0, + "y": 127.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#7", + "pos": { + "x": 20.0, + "y": 177.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { "x": 65.0, - "y": 52.5 + "y": 2.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { - "x": 6.5, - "y": 66.5 + "x": 65.0, + "y": 27.5 }, "params": 1 }, @@ -193,10 +251,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 4.0, - "y": 41.5 + "x": 6.5, + "y": 66.5 }, "params": 1 }, @@ -211,10 +269,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { "x": 4.0, - "y": 141.5 + "y": 41.5 }, "params": 1 }, @@ -228,71 +286,90 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 65.0, - "y": 27.5 + "x": 4.0, + "y": 141.5 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUINandGate", - "name": "GUINandGate#8", - "pos": { - "x": 65.0, - "y": 2.5 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A1" }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#5", - "pos": { - "x": 20.0, - "y": 77.5 + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" }, - "params": 1 + "name": "unnamedWire#0", + "path": [ + { + "x": 15.0, + "y": 62.5 + }, + { + "x": 15.0, + "y": 7.5 + } + ] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 20.0, - "y": 27.5 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A2" }, - "params": 1 + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 17.5, + "y": 87.5 + }, + { + "x": 17.5, + "y": 57.5 + } + ] }, { - "id": "GUINandGate", - "name": "GUINandGate#7", - "pos": { - "x": 20.0, - "y": 177.5 + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#10" }, { - "id": "GUINandGate", - "name": "GUINandGate#6", - "pos": { - "x": 20.0, - "y": 127.5 + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#11" + }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#14" + "name": "unnamedWire#12" }, { "pin1": { @@ -307,14 +384,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#16" + "name": "unnamedWire#14" }, { "pin1": { @@ -335,14 +412,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#18" + "name": "unnamedWire#16" }, { "pin1": { @@ -361,32 +438,47 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#19" + "name": "unnamedWire#18" }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#21", - "path": [ - { - "x": 5.0, - "y": 192.5 - } - ] + "name": "unnamedWire#19" }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 17.5, + "y": 112.5 + }, + { + "x": 17.5, + "y": 107.5 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { "compName": "GUINandGate#6", @@ -396,22 +488,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [ { - "x": 45.0, - "y": 37.5 - }, - { - "x": 45.0, - "y": 17.5 + "x": 5.0, + "y": 192.5 } ] }, @@ -438,22 +526,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#8", "pinName": "B" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 50.0, - "y": 87.5 + "x": 45.0, + "y": 37.5 }, { - "x": 50.0, - "y": 42.5 + "x": 45.0, + "y": 17.5 } ] }, @@ -480,22 +568,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#9", "pinName": "B" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [ { - "x": 55.0, - "y": 137.5 + "x": 50.0, + "y": 87.5 }, { - "x": 55.0, - "y": 67.5 + "x": 50.0, + "y": 42.5 } ] }, @@ -522,22 +610,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#6", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#10", "pinName": "B" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 60.0, - "y": 187.5 + "x": 55.0, + "y": 137.5 }, { - "x": 60.0, - "y": 92.5 + "x": 55.0, + "y": 67.5 } ] }, @@ -564,107 +652,43 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SB" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#9" - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "SA" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#8" - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" - }, - "pin2": { "compName": "GUINandGate#7", - "pinName": "A" - }, - "name": "unnamedWire#7", - "path": [ - { - "x": 10.0, - "y": 237.5 - }, - { - "x": 10.0, - "y": 182.5 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "GUINandGate#11", + "pinName": "B" }, - "name": "unnamedWire#6", + "name": "unnamedWire#29", "path": [ { - "x": 15.0, - "y": 212.5 + "x": 60.0, + "y": 187.5 }, { - "x": 15.0, - "y": 132.5 + "x": 60.0, + "y": 92.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#3", "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#3", "path": [ { "x": 17.5, - "y": 87.5 + "y": 137.5 }, { "x": 17.5, - "y": 57.5 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#0", - "path": [ - { - "x": 15.0, - "y": 62.5 - }, - { - "x": 15.0, - "y": 7.5 + "y": 157.5 } ] }, @@ -682,46 +706,38 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#5", - "path": [ - { - "x": 12.5, - "y": 187.5 - }, - { - "x": 12.5, - "y": 82.5 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#10" + "name": "unnamedWire#32", + "path": [] }, { "pin1": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#11", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y3" + "pinName": "Y4" }, - "name": "unnamedWire#32", + "name": "unnamedWire#33", "path": [] }, { @@ -745,95 +761,93 @@ mograsim version: 0.1.3 } ] }, - { - "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" - }, - "name": "unnamedWire#31", - "path": [] - }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A4" + "pinName": "B2" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#5", "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#5", "path": [ { - "x": 17.5, - "y": 137.5 + "x": 12.5, + "y": 187.5 }, { - "x": 17.5, - "y": 157.5 + "x": 12.5, + "y": 82.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#12" + "name": "unnamedWire#6", + "path": [ + { + "x": 15.0, + "y": 212.5 + }, + { + "x": 15.0, + "y": 132.5 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A3" + "pinName": "B4" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#7", "pinName": "A" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [ { - "x": 17.5, - "y": 112.5 + "x": 10.0, + "y": 237.5 }, { - "x": 17.5, - "y": 107.5 + "x": 10.0, + "y": 182.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "SA" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#11" + "name": "unnamedWire#8" }, { "pin1": { - "compName": "GUINandGate#11", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "SB" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -843,5 +857,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIsel3_4.json b/net.mograsim.logic.model.am2900/components/GUIsel3_4.json index 494332c3..5951bdc5 100644 --- a/net.mograsim.logic.model.am2900/components/GUIsel3_4.json +++ b/net.mograsim.logic.model.am2900/components/GUIsel3_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 150.0, @@ -6,90 +5,101 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 5.0 + "y": 35.0 }, - "name": "SA", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 115.0 + "y": 45.0 }, - "name": "C1", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 55.0 }, - "name": "SB", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 65.0 }, - "name": "B1", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 125.0 + "y": 75.0 }, - "name": "C2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 85.0 }, - "name": "SC", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 95.0 }, - "name": "A1", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 105.0 }, - "name": "B2", - "logicWidth": 1 + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 135.0 + "y": 115.0 }, - "name": "C3", - "logicWidth": 1 + "name": "C1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 125.0 }, - "name": "A2", - "logicWidth": 1 + "name": "C2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 135.0 }, - "name": "B3", - "logicWidth": 1 + "name": "C3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -97,31 +107,35 @@ mograsim version: 0.1.3 "y": 145.0 }, "name": "C4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 5.0 }, - "name": "A3", - "logicWidth": 1 + "name": "SA", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 105.0 + "y": 15.0 }, - "name": "B4", - "logicWidth": 1 + "name": "SB", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 25.0 }, - "name": "A4", - "logicWidth": 1 + "name": "SC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -129,7 +143,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -137,7 +152,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -145,7 +161,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -153,21 +170,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ - { - "id": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 50.0, - "y": 620.0 - }, - "params": 1 - }, + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -179,10 +188,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#1", "pos": { "x": 50.0, - "y": 720.0 + "y": 620.0 }, "params": 1 }, @@ -196,49 +205,58 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUInot4", - "name": "GUInot4#0", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 75.0, - "y": 250.0 - } + "x": 50.0, + "y": 720.0 + }, + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 29.0, - "y": 634.0 + "x": 152.5, + "y": 15.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 29.0, - "y": 584.0 + "x": 152.5, + "y": 65.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 29.0, - "y": 684.0 + "x": 152.5, + "y": 115.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#5", + "name": "GUINandGate#7", "pos": { "x": 152.5, - "y": 65.0 + "y": 165.0 }, "params": 1 }, + { + "id": "GUInot4", + "name": "GUInot4#0", + "pos": { + "x": 75.0, + "y": 250.0 + } + }, { "id": "GUIsel2_4", "name": "GUIsel2_4#0", @@ -248,97 +266,134 @@ mograsim version: 0.1.3 } }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 152.5, - "y": 15.0 + "x": 29.0, + "y": 584.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 152.5, - "y": 165.0 + "x": 29.0, + "y": 634.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 152.5, - "y": 115.0 + "x": 29.0, + "y": 684.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "SC" + "pinName": "SA" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "SA" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", "path": [ { - "x": 30.0, - "y": 125.0 + "x": 25.0, + "y": 25.0 + }, + { + "x": 25.0, + "y": 255.0 } ] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "SB" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIsel2_4#0", + "pinName": "SB" }, - "name": "unnamedWire#36", - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 20.0, + "y": 75.0 + }, + { + "x": 20.0, + "y": 265.0 + } + ] }, { "pin1": { "compName": "GUIsel2_4#0", - "pinName": "Y4" + "pinName": "Y1" }, "pin2": { "compName": "GUInot4#0", - "pinName": "A4" + "pinName": "A1" }, - "name": "unnamedWire#13", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "GUIsel2_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "_submodelinterface", + "compName": "GUInot4#0", + "pinName": "A2" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "GUIsel2_4#0", "pinName": "Y3" }, - "name": "unnamedWire#35", + "pin2": { + "compName": "GUInot4#0", + "pinName": "A3" + }, + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "GUInot4#0", + "pinName": "A4" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "SC" + }, + "pin2": { + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { "x": 30.0, @@ -360,14 +415,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [ { "x": 30.0, @@ -387,6 +442,23 @@ mograsim version: 0.1.3 "name": "unnamedWire#17", "path": [] }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 30.0, + "y": 125.0 + } + ] + }, { "pin1": { "compName": "WireCrossPoint#2", @@ -402,16 +474,25 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "C1" + "pinName": "A1" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "A1" }, - "name": "unnamedWire#21", - "path": [] - }, - { + "name": "unnamedWire#2", + "path": [ + { + "x": 15.0, + "y": 175.0 + }, + { + "x": 15.0, + "y": 275.0 + } + ] + }, + { "pin1": { "compName": "WireCrossPoint#2", "pinName": "" @@ -431,13 +512,13 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "C3" + "pinName": "C1" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [] }, { @@ -454,24 +535,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUInot4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "C3" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 115.0, - "y": 255.0 - }, - { - "x": 115.0, - "y": 20.0 - } - ] + "name": "unnamedWire#23", + "path": [] }, { "pin1": { @@ -488,21 +560,21 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUInot4#0", - "pinName": "Y3" + "pinName": "Y1" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [ { - "x": 125.0, - "y": 275.0 + "x": 115.0, + "y": 255.0 }, { - "x": 125.0, - "y": 120.0 + "x": 115.0, + "y": 20.0 } ] }, @@ -529,22 +601,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUInot4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "B" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 135.0, - "y": 580.0 + "x": 125.0, + "y": 275.0 }, { - "x": 135.0, - "y": 30.0 + "x": 125.0, + "y": 120.0 } ] }, @@ -571,204 +643,156 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B4" + "compName": "GUINandGate#4", + "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#29", "path": [ { - "x": 25.0, - "y": 525.0 + "x": 135.0, + "y": 580.0 }, { - "x": 25.0, - "y": 345.0 + "x": 135.0, + "y": 30.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "A2" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "B3" + "pinName": "A2" }, - "name": "unnamedWire#8", + "name": "unnamedWire#3", "path": [ { - "x": 20.0, - "y": 475.0 + "x": 10.0, + "y": 225.0 }, { - "x": 20.0, - "y": 335.0 + "x": 10.0, + "y": 285.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B2" + "compName": "GUINandGate#5", + "pinName": "B" }, - "name": "unnamedWire#7", + "name": "unnamedWire#30", "path": [ { - "x": 15.0, - "y": 425.0 + "x": 140.0, + "y": 630.0 }, { - "x": 15.0, - "y": 325.0 + "x": 140.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B1" + "compName": "GUINandGate#6", + "pinName": "B" }, - "name": "unnamedWire#6", + "name": "unnamedWire#31", "path": [ { - "x": 10.0, - "y": 375.0 + "x": 145.0, + "y": 680.0 }, { - "x": 10.0, - "y": 315.0 + "x": 145.0, + "y": 130.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SB" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SB" + "compName": "GUINandGate#7", + "pinName": "B" }, - "name": "unnamedWire#1", + "name": "unnamedWire#32", "path": [ { - "x": 20.0, - "y": 75.0 + "x": 150.0, + "y": 730.0 }, { - "x": 20.0, - "y": 265.0 + "x": 150.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SA" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SA" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#0", - "path": [ - { - "x": 25.0, - "y": 25.0 - }, - { - "x": 25.0, - "y": 255.0 - } - ] + "name": "unnamedWire#33", + "path": [] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" - }, - "name": "unnamedWire#30", - "path": [ - { - "x": 140.0, - "y": 630.0 - }, - { - "x": 140.0, - "y": 80.0 - } - ] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "A4" - }, - "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A4" + "pinName": "Y2" }, - "name": "unnamedWire#5", - "path": [ - { - "x": 5.0, - "y": 325.0 - }, - { - "x": 5.0, - "y": 305.0 - } - ] + "name": "unnamedWire#34", + "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y1" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#10", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#7", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#32", - "path": [ - { - "x": 150.0, - "y": 730.0 - }, - { - "x": 150.0, - "y": 180.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { @@ -793,116 +817,111 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "B" + "compName": "GUIsel2_4#0", + "pinName": "A4" }, - "name": "unnamedWire#31", + "name": "unnamedWire#5", "path": [ { - "x": 145.0, - "y": 680.0 + "x": 5.0, + "y": 325.0 }, { - "x": 145.0, - "y": 130.0 + "x": 5.0, + "y": 305.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "B1" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "A2" + "pinName": "B1" }, - "name": "unnamedWire#3", + "name": "unnamedWire#6", "path": [ { "x": 10.0, - "y": 225.0 + "y": 375.0 }, { "x": 10.0, - "y": 285.0 + "y": 315.0 } ] }, - { - "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y3" - }, - "pin2": { - "compName": "GUInot4#0", - "pinName": "A3" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" - }, - "name": "unnamedWire#34", - "path": [] - }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "B2" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "A1" + "pinName": "B2" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [ { "x": 15.0, - "y": 175.0 + "y": 425.0 }, { "x": 15.0, - "y": 275.0 + "y": 325.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A2" + "compName": "GUIsel2_4#0", + "pinName": "B3" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 20.0, + "y": 475.0 + }, + { + "x": 20.0, + "y": 335.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUIsel2_4#0", + "pinName": "B4" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 25.0, + "y": 525.0 + }, + { + "x": 25.0, + "y": 345.0 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -912,5 +931,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/GUIxor.json b/net.mograsim.logic.model.am2900/components/GUIxor.json index 82b991e3..48c22e59 100644 --- a/net.mograsim.logic.model.am2900/components/GUIxor.json +++ b/net.mograsim.logic.model.am2900/components/GUIxor.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,12 +26,22 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 7.5, + "y": 15.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -42,10 +53,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 7.5, - "y": 15.0 + "x": 35.0, + "y": 27.5 }, "params": 1 }, @@ -60,28 +71,19 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 36.5 - }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#2", - "pos": { - "x": 35.0, - "y": 27.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 11.5 + "y": 36.5 }, "params": 1 }, @@ -95,34 +97,52 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#9" + "name": "unnamedWire#0", + "path": [] }, { "pin1": { + "compName": "_submodelinterface", + "pinName": "B" + }, + "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "pin2": { + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#3", "pinName": "B" }, - "name": "unnamedWire#8", - "path": [ - { - "x": 5.0, - "y": 42.5 - } - ] + "name": "unnamedWire#10" + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#11" }, { "pin1": { @@ -130,57 +150,44 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#7", + "name": "unnamedWire#2", "path": [ { "x": 5.0, - "y": 7.5 + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#6", + "name": "unnamedWire#3", "path": [ { - "x": 30.0, - "y": 32.5 + "x": 5.0, + "y": 30.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#4" }, { "pin1": { @@ -201,72 +208,68 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" - }, - "name": "unnamedWire#10" - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4" + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#6", + "path": [ + { + "x": 30.0, + "y": 32.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [ { "x": 5.0, - "y": 30.0 + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { "x": 5.0, - "y": 20.0 + "y": 42.5 } ] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#11" + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -276,5 +279,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json index 81536b1f..64f12afe 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json @@ -1,87 +1,87 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 270.0, "interfacePins": [ - { - "location": { - "x": 35.0, - "y": 85.0 - }, - "name": "ORAMn", - "logicWidth": 1 - }, { "location": { "x": 0.0, - "y": 95.0 + "y": 155.0 }, - "name": "C", - "logicWidth": 1 + "name": "A0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 265.0 + "y": 165.0 }, - "name": "IQn+3", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 175.0 }, - "name": "I0", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 255.0 + "y": 185.0 }, - "name": "IQn", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 195.0 }, - "name": "I1", - "logicWidth": 1 + "name": "B0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 205.0 }, - "name": "I2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 215.0 }, - "name": "I3", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 65.0 + "x": 0.0, + "y": 225.0 }, - "name": "OVR", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 95.0 }, - "name": "I4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,199 +89,233 @@ mograsim version: 0.1.3 "y": 105.0 }, "name": "Cn", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 115.0 + "y": 55.0 }, - "name": "OQn+3", - "logicWidth": 1 + "name": "Cn+4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 115.0 }, - "name": "I5", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 125.0 }, - "name": "I6", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 105.0 + "x": 0.0, + "y": 135.0 }, - "name": "OQn", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 145.0 }, - "name": "I7", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 75.0 }, - "name": "I8", - "logicWidth": 1 + "name": "F3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 155.0 + "x": 35.0, + "y": 45.0 }, - "name": "A0", - "logicWidth": 1 + "name": "F\u003d0", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 165.0 + "y": 85.0 }, - "name": "A1", - "logicWidth": 1 + "name": "I0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 175.0 + "y": 75.0 }, - "name": "A2", - "logicWidth": 1 + "name": "I1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 185.0 + "y": 65.0 }, - "name": "A3", - "logicWidth": 1 + "name": "I2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 235.0 + "y": 55.0 }, - "name": "IRAMn", - "logicWidth": 1 + "name": "I3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 45.0 }, - "name": "Cn+4", - "logicWidth": 1 + "name": "I4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 95.0 + "x": 0.0, + "y": 35.0 }, - "name": "ORAMn+3", - "logicWidth": 1 + "name": "I5", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "F\u003d0", - "logicWidth": 1 + "name": "I6", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 115.0 + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "I7", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 245.0 + "y": 5.0 }, - "name": "IRAMn+3", - "logicWidth": 1 + "name": "I8", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 75.0 + "x": 0.0, + "y": 255.0 }, - "name": "F3", - "logicWidth": 1 + "name": "IQn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 125.0 + "y": 265.0 }, - "name": "D2", - "logicWidth": 1 + "name": "IQn+3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 195.0 + "y": 235.0 }, - "name": "B0", - "logicWidth": 1 + "name": "IRAMn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 135.0 + "y": 245.0 }, - "name": "D3", - "logicWidth": 1 + "name": "IRAMn+3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 205.0 + "x": 35.0, + "y": 105.0 }, - "name": "B1", - "logicWidth": 1 + "name": "OQn", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 145.0 + "x": 35.0, + "y": 115.0 }, - "name": "D4", - "logicWidth": 1 + "name": "OQn+3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 215.0 + "x": 35.0, + "y": 85.0 }, - "name": "B2", - "logicWidth": 1 + "name": "ORAMn", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 225.0 + "x": 35.0, + "y": 95.0 }, - "name": "B3", - "logicWidth": 1 + "name": "ORAMn+3", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 65.0 + }, + "name": "OVR", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -289,7 +323,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -297,7 +332,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -305,7 +341,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -313,107 +350,118 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "GUIsel3_4", - "name": "GUIsel3_4#0", + "id": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", + "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", "pos": { - "x": 45.0, - "y": 2310.0 + "x": 240.0, + "y": 2110.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", - "pos": { - "x": 144.0, - "y": 2524.0 - }, - "params": 1 - }, - { - "id": "GUIsel3_4", - "name": "GUIsel3_4#1", + "id": "GUIAm2901DestDecode", + "name": "GUIAm2901DestDecode#0", "pos": { - "x": 45.0, - "y": 2510.0 + "x": 15.0, + "y": 45.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { - "x": 139.0, - "y": 2514.0 + "x": 160.0, + "y": 75.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 234.0, - "y": 2524.0 + "x": 320.0, + "y": 440.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIand", + "name": "GUIand#0", "pos": { - "x": 219.0, - "y": 2494.0 - }, - "params": 1 + "x": 190.0, + "y": 65.0 + } }, { - "id": "GUIAm2901DestDecode", - "name": "GUIAm2901DestDecode#0", + "id": "GUIdff4", + "name": "GUIdff4#0", "pos": { - "x": 15.0, - "y": 45.0 + "x": 90.0, + "y": 2490.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUIdlatch4", + "name": "GUIdlatch4#0", "pos": { - "x": 39.0, - "y": 2634.0 - }, - "params": 1 + "x": 160.0, + "y": 2220.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "id": "GUIdlatch4", + "name": "GUIdlatch4#1", "pos": { - "x": 34.0, - "y": 2624.0 - }, - "params": 1 + "x": 160.0, + "y": 2275.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "id": "GUImux1_4", + "name": "GUImux1_4#0", "pos": { - "x": 279.0, - "y": 2114.0 - }, - "params": 1 + "x": 275.0, + "y": 135.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIor4", + "name": "GUIor4#0", "pos": { - "x": 154.0, - "y": 89.0 - }, - "params": 1 + "x": 275.0, + "y": 445.0 + } + }, + { + "id": "GUIram4", + "name": "GUIram4#0", + "pos": { + "x": 95.0, + "y": 2220.0 + } + }, + { + "id": "GUIsel3_4", + "name": "GUIsel3_4#0", + "pos": { + "x": 45.0, + "y": 2310.0 + } + }, + { + "id": "GUIsel3_4", + "name": "GUIsel3_4#1", + "pos": { + "x": 45.0, + "y": 2510.0 + } }, { "id": "WireCrossPoint", @@ -426,214 +474,210 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { "x": 154.0, - "y": 2319.0 + "y": 89.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#10", "pos": { - "x": 154.0, - "y": 2264.0 + "x": 234.0, + "y": 2254.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#11", "pos": { - "x": 34.0, - "y": 2324.0 + "x": 129.0, + "y": 2494.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#12", "pos": { - "x": 39.0, - "y": 2314.0 + "x": 134.0, + "y": 2504.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#13", "pos": { - "x": 219.0, - "y": 2224.0 + "x": 139.0, + "y": 2514.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#14", "pos": { - "x": 29.0, - "y": 2334.0 + "x": 144.0, + "y": 2524.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#15", "pos": { - "x": 229.0, - "y": 2244.0 + "x": 219.0, + "y": 2494.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#16", "pos": { - "x": 224.0, - "y": 2234.0 + "x": 234.0, + "y": 2524.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#17", "pos": { - "x": 234.0, - "y": 2254.0 + "x": 34.0, + "y": 2624.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#18", "pos": { - "x": 134.0, - "y": 2504.0 + "x": 39.0, + "y": 2634.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#19", "pos": { - "x": 129.0, - "y": 2494.0 + "x": 279.0, + "y": 2114.0 }, "params": 1 }, { - "id": "GUIdlatch4", - "name": "GUIdlatch4#1", - "pos": { - "x": 160.0, - "y": 2275.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 160.0, - "y": 2220.0 - } + "x": 154.0, + "y": 2264.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#40", + "name": "WireCrossPoint#20", "pos": { - "x": 314.0, - "y": 449.0 + "x": 294.0, + "y": 2144.0 }, "params": 1 }, { - "id": "GUIdff4", - "name": "GUIdff4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { - "x": 90.0, - "y": 2490.0 - } + "x": 329.0, + "y": 949.0 + }, + "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#22", "pos": { - "x": 320.0, - "y": 440.0 + "x": 254.0, + "y": 2089.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#36", + "name": "WireCrossPoint#23", "pos": { - "x": 9.0, - "y": 2384.0 + "x": 259.0, + "y": 2094.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { - "x": 160.0, - "y": 75.0 + "x": 264.0, + "y": 2099.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#35", + "name": "WireCrossPoint#25", "pos": { - "x": 24.0, - "y": 2414.0 + "x": 269.0, + "y": 2104.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#38", + "name": "WireCrossPoint#26", "pos": { - "x": 19.0, - "y": 2434.0 + "x": 254.0, + "y": 449.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#37", + "name": "WireCrossPoint#27", "pos": { - "x": 14.0, - "y": 2424.0 + "x": 259.0, + "y": 459.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#39", + "name": "WireCrossPoint#28", "pos": { - "x": 24.0, - "y": 2444.0 + "x": 264.0, + "y": 469.0 }, "params": 1 }, { - "id": "GUIand", - "name": "GUIand#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#29", "pos": { - "x": 190.0, - "y": 65.0 - } + "x": 269.0, + "y": 479.0 + }, + "params": 1 }, { - "id": "GUImux1_4", - "name": "GUImux1_4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 275.0, - "y": 135.0 - } + "x": 154.0, + "y": 2319.0 + }, + "params": 1 }, { "id": "WireCrossPoint", @@ -644,6 +688,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#31", + "pos": { + "x": 14.0, + "y": 2364.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#32", @@ -655,10 +708,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#31", + "name": "WireCrossPoint#33", "pos": { "x": 14.0, - "y": 2364.0 + "y": 2394.0 }, "params": 1 }, @@ -673,789 +726,769 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#33", + "name": "WireCrossPoint#35", "pos": { - "x": 14.0, - "y": 2394.0 + "x": 24.0, + "y": 2414.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#25", + "name": "WireCrossPoint#36", "pos": { - "x": 269.0, - "y": 2104.0 + "x": 9.0, + "y": 2384.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "name": "WireCrossPoint#37", "pos": { - "x": 264.0, - "y": 2099.0 + "x": 14.0, + "y": 2424.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#27", + "name": "WireCrossPoint#38", "pos": { - "x": 259.0, - "y": 459.0 + "x": 19.0, + "y": 2434.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#26", + "name": "WireCrossPoint#39", "pos": { - "x": 254.0, - "y": 449.0 + "x": 24.0, + "y": 2444.0 }, "params": 1 }, - { - "id": "GUIor4", - "name": "GUIor4#0", - "pos": { - "x": 275.0, - "y": 445.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#29", + "name": "WireCrossPoint#4", "pos": { - "x": 269.0, - "y": 479.0 + "x": 39.0, + "y": 2314.0 }, "params": 1 }, - { - "id": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", - "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pos": { - "x": 240.0, - "y": 2110.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#28", + "name": "WireCrossPoint#40", "pos": { - "x": 264.0, - "y": 469.0 + "x": 314.0, + "y": 449.0 }, "params": 1 }, { - "id": "GUIram4", - "name": "GUIram4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 95.0, - "y": 2220.0 - } + "x": 34.0, + "y": 2324.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "name": "WireCrossPoint#6", "pos": { - "x": 329.0, - "y": 949.0 + "x": 29.0, + "y": 2334.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#7", "pos": { - "x": 294.0, - "y": 2144.0 + "x": 219.0, + "y": 2224.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#8", "pos": { - "x": 259.0, - "y": 2094.0 + "x": 224.0, + "y": 2234.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "name": "WireCrossPoint#9", "pos": { - "x": 254.0, - "y": 2089.0 + "x": 229.0, + "y": 2244.0 }, "params": 1 } ], - "innerWires": [ - { - "pin1": { - "compName": "GUIram4#0", - "pinName": "QA2" - }, - "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D2" - }, - "name": "unnamedWire#36", - "path": [] - }, + "wires": [ { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA1" + "compName": "_submodelinterface", + "pinName": "I8" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D1" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I8" }, - "name": "unnamedWire#35", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA4" + "compName": "_submodelinterface", + "pinName": "I7" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D4" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I7" }, - "name": "unnamedWire#38", - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 5.0, + "y": 150.0 + }, + { + "x": 5.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D3" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB1" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F3" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D1" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#39", + "name": "unnamedWire#100", "path": [ { - "x": 150.0, - "y": 2265.0 + "x": 290.0, + "y": 2135.0 }, { - "x": 150.0, - "y": 2280.0 + "x": 290.0, + "y": 2100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_1" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#110", + "name": "unnamedWire#101", "path": [ { - "x": 255.0, - "y": 190.0 + "x": 295.0, + "y": 2105.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#22", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_2" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#111", - "path": [ - { - "x": 260.0, - "y": 200.0 - } - ] + "name": "unnamedWire#102", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#27", "pinName": "" }, - "name": "unnamedWire#114", - "path": [ - { - "x": 10.0, - "y": 2090.0 - } - ] + "name": "unnamedWire#103", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#24", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#28", "pinName": "" }, - "name": "unnamedWire#115", - "path": [ - { - "x": 15.0, - "y": 2095.0 - } - ] + "name": "unnamedWire#104", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_3" + "compName": "WireCrossPoint#29", + "pinName": "" }, - "name": "unnamedWire#112", - "path": [ - { - "x": 265.0, - "y": 210.0 - } - ] + "name": "unnamedWire#105", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#26", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_4" + "compName": "GUIor4#0", + "pinName": "A1" }, - "name": "unnamedWire#113", - "path": [ - { - "x": 270.0, - "y": 220.0 - } - ] + "name": "unnamedWire#106", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#27", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", + "compName": "GUIor4#0", "pinName": "A2" }, - "name": "unnamedWire#118", + "name": "unnamedWire#107", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", + "compName": "GUIor4#0", "pinName": "A3" }, - "name": "unnamedWire#119", + "name": "unnamedWire#108", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB3" + "compName": "WireCrossPoint#29", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D3" + "compName": "GUIor4#0", + "pinName": "A4" }, - "name": "unnamedWire#41", - "path": [ - { - "x": 140.0, - "y": 2285.0 - }, - { - "x": 140.0, - "y": 2300.0 - } - ] + "name": "unnamedWire#109", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#116", + "name": "unnamedWire#11", "path": [ { - "x": 20.0, - "y": 2100.0 + "x": 155.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB2" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D2" + "compName": "GUImux1_4#0", + "pinName": "I1_1" }, - "name": "unnamedWire#40", + "name": "unnamedWire#110", "path": [ { - "x": 145.0, - "y": 2275.0 - }, - { - "x": 145.0, - "y": 2290.0 + "x": 255.0, + "y": 190.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IRAMn" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A1" + "compName": "GUImux1_4#0", + "pinName": "I1_2" }, - "name": "unnamedWire#117", + "name": "unnamedWire#111", "path": [ { - "x": 5.0, - "y": 2350.0 - }, - { - "x": 5.0, - "y": 2345.0 + "x": 260.0, + "y": 200.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Cn" + "compName": "WireCrossPoint#28", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Cn" + "compName": "GUImux1_4#0", + "pinName": "I1_3" }, - "name": "unnamedWire#43", + "name": "unnamedWire#112", "path": [ { - "x": 100.0, - "y": 1050.0 - }, - { - "x": 100.0, - "y": 2175.0 + "x": 265.0, + "y": 210.0 } ] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB4" + "compName": "WireCrossPoint#29", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D4" + "compName": "GUImux1_4#0", + "pinName": "I1_4" }, - "name": "unnamedWire#42", + "name": "unnamedWire#113", "path": [ { - "x": 135.0, - "y": 2295.0 - }, - { - "x": 135.0, - "y": 2310.0 + "x": 270.0, + "y": 220.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D2" + "compName": "WireCrossPoint#30", + "pinName": "" }, - "name": "unnamedWire#45", + "name": "unnamedWire#114", "path": [ { - "x": 175.0, - "y": 1250.0 - }, - { - "x": 175.0, - "y": 2195.0 + "x": 10.0, + "y": 2090.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D1" + "compName": "WireCrossPoint#31", + "pinName": "" }, - "name": "unnamedWire#44", + "name": "unnamedWire#115", "path": [ { - "x": 180.0, - "y": 1150.0 - }, - { - "x": 180.0, - "y": 2185.0 + "x": 15.0, + "y": 2095.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "WireCrossPoint#24", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D4" + "compName": "WireCrossPoint#32", + "pinName": "" }, - "name": "unnamedWire#47", + "name": "unnamedWire#116", "path": [ { - "x": 165.0, - "y": 1450.0 - }, - { - "x": 165.0, - "y": 2215.0 + "x": 20.0, + "y": 2100.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D3" + "pinName": "IRAMn" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D3" + "compName": "GUIsel3_4#0", + "pinName": "A1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#117", "path": [ { - "x": 170.0, - "y": 1350.0 + "x": 5.0, + "y": 2350.0 }, { - "x": 170.0, - "y": 2205.0 + "x": 5.0, + "y": 2345.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q2" + "compName": "WireCrossPoint#30", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "A2" }, - "name": "unnamedWire#49", + "name": "unnamedWire#118", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q1" + "compName": "WireCrossPoint#31", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "A3" }, - "name": "unnamedWire#48", + "name": "unnamedWire#119", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#24", + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#32", "pinName": "" }, - "name": "unnamedWire#100", - "path": [ - { - "x": 290.0, - "y": 2135.0 - }, - { - "x": 290.0, - "y": 2100.0 - } - ] + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "A4" + }, + "name": "unnamedWire#120", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#31", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#33", "pinName": "" }, - "name": "unnamedWire#103", + "name": "unnamedWire#121", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#32", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#34", "pinName": "" }, - "name": "unnamedWire#104", + "name": "unnamedWire#122", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#35", "pinName": "" }, - "name": "unnamedWire#101", + "name": "unnamedWire#123", "path": [ { - "x": 295.0, + "x": 25.0, "y": 2105.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#36", "pinName": "" }, - "name": "unnamedWire#102", + "name": "unnamedWire#124", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q3" + "compName": "WireCrossPoint#36", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "B1" }, - "name": "unnamedWire#50", + "name": "unnamedWire#125", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#33", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A2" + "compName": "GUIsel3_4#0", + "pinName": "B2" }, - "name": "unnamedWire#107", + "name": "unnamedWire#126", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#34", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A3" + "compName": "GUIsel3_4#0", + "pinName": "B3" }, - "name": "unnamedWire#108", + "name": "unnamedWire#127", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#35", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_1" + "compName": "GUIsel3_4#0", + "pinName": "B4" }, - "name": "unnamedWire#52", - "path": [ - { - "x": 220.0, - "y": 150.0 - } - ] + "name": "unnamedWire#128", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#33", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#37", "pinName": "" }, - "name": "unnamedWire#105", + "name": "unnamedWire#129", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q4" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#51", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#34", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A1" + "compName": "WireCrossPoint#38", + "pinName": "" }, - "name": "unnamedWire#106", + "name": "unnamedWire#130", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#35", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_3" + "compName": "WireCrossPoint#39", + "pinName": "" }, - "name": "unnamedWire#54", + "name": "unnamedWire#131", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#37", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C1" + }, + "name": "unnamedWire#132", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#38", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C2" + }, + "name": "unnamedWire#133", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#39", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C3" + }, + "name": "unnamedWire#134", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IRAMn+3" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C4" + }, + "name": "unnamedWire#135", "path": [ { - "x": 230.0, - "y": 170.0 + "x": 5.0, + "y": 2450.0 + }, + { + "x": 5.0, + "y": 2455.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#36", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_2" + "compName": "GUIsel3_4#1", + "pinName": "B1" }, - "name": "unnamedWire#53", + "name": "unnamedWire#136", "path": [ { - "x": 225.0, - "y": 160.0 + "x": 10.0, + "y": 2585.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#37", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A1" + "compName": "GUIsel3_4#1", + "pinName": "B2" }, - "name": "unnamedWire#56", - "path": [] + "name": "unnamedWire#137", + "path": [ + { + "x": 15.0, + "y": 2595.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#38", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A4" + "compName": "GUIsel3_4#1", + "pinName": "B3" }, - "name": "unnamedWire#109", - "path": [] + "name": "unnamedWire#138", + "path": [ + { + "x": 20.0, + "y": 2605.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#39", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_4" + "compName": "GUIsel3_4#1", + "pinName": "B4" }, - "name": "unnamedWire#55", + "name": "unnamedWire#139", "path": [ { - "x": 235.0, - "y": 180.0 + "x": 25.0, + "y": 2615.0 } ] }, @@ -1473,1923 +1506,1929 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "D1" }, - "name": "unnamedWire#13", + "name": "unnamedWire#140", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "C" + "compName": "GUIram4#0", + "pinName": "D2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#141", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "D3" }, - "name": "unnamedWire#15", + "name": "unnamedWire#142", + "path": [] + }, + { + "pin1": { + "compName": "GUIsel3_4#0", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIram4#0", + "pinName": "D4" + }, + "name": "unnamedWire#143", "path": [] }, { "pin1": { "compName": "GUIAm2901DestDecode#0", - "pinName": "LSH" + "pinName": "RAMWE" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIand#0", + "pinName": "A" }, - "name": "unnamedWire#18", + "name": "unnamedWire#144", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIand#0", + "pinName": "B" + }, + "name": "unnamedWire#145" + }, + { + "pin1": { + "compName": "GUIand#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIram4#0", + "pinName": "WE" + }, + "name": "unnamedWire#146", "path": [ { - "x": 55.0, - "y": 90.0 + "x": 230.0, + "y": 70.0 }, { - "x": 55.0, - "y": 125.0 + "x": 230.0, + "y": 105.0 }, { - "x": 40.0, - "y": 125.0 + "x": 90.0, + "y": 105.0 + }, + { + "x": 90.0, + "y": 2305.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901DestDecode#0", + "pinName": "QWE" }, "pin2": { "compName": "GUIdff4#0", - "pinName": "C" + "pinName": "WE" }, - "name": "unnamedWire#17", + "name": "unnamedWire#147", "path": [ { - "x": 155.0, - "y": 2485.0 - }, - { - "x": 80.0, - "y": 2485.0 + "x": 85.0, + "y": 100.0 }, { - "x": 80.0, - "y": 2495.0 + "x": 85.0, + "y": 2505.0 } ] }, { "pin1": { "compName": "GUIAm2901DestDecode#0", - "pinName": "NSH" + "pinName": "YF" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "S0" }, - "name": "unnamedWire#19", + "name": "unnamedWire#148", "path": [ { - "x": 60.0, - "y": 50.0 - }, - { - "x": 60.0, - "y": 120.0 + "x": 70.0, + "y": 80.0 }, { - "x": 35.0, - "y": 120.0 + "x": 70.0, + "y": 140.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SA" - }, - "name": "unnamedWire#21", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "RSH" + "compName": "GUImux1_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#20", + "name": "unnamedWire#149", "path": [ { - "x": 65.0, - "y": 60.0 - }, - { - "x": 65.0, - "y": 115.0 + "x": 335.0, + "y": 140.0 }, { - "x": 30.0, - "y": 115.0 + "x": 335.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SC" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SB" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#22", + "name": "unnamedWire#150", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SB" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#25", + "name": "unnamedWire#151", "path": [ { - "x": 35.0, - "y": 2525.0 + "x": 335.0, + "y": 160.0 + }, + { + "x": 335.0, + "y": 250.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SA" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#24", + "name": "unnamedWire#152", "path": [ { - "x": 40.0, - "y": 2515.0 + "x": 325.0, + "y": 170.0 + }, + { + "x": 325.0, + "y": 350.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "GUIor4#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A0" + "compName": "WireCrossPoint#40", + "pinName": "" }, - "name": "unnamedWire#27", - "path": [ - { - "x": 80.0, - "y": 1550.0 - }, - { - "x": 80.0, - "y": 2225.0 - } - ] + "name": "unnamedWire#153", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#40", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SC" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#26", + "name": "unnamedWire#154", "path": [ { - "x": 30.0, - "y": 2535.0 + "x": 315.0, + "y": 445.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "WireCrossPoint#40", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A2" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#29", + "name": "unnamedWire#155", "path": [ { - "x": 70.0, - "y": 1750.0 - }, - { - "x": 70.0, - "y": 2245.0 + "x": 315.0, + "y": 455.0 } ] }, { "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "F\u003d0" + }, + "name": "unnamedWire#156", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A1" + "compName": "GUIdlatch4#1", + "pinName": "C" }, - "name": "unnamedWire#28", - "path": [ - { - "x": 75.0, - "y": 1650.0 - }, - { - "x": 75.0, - "y": 2235.0 - } - ] + "name": "unnamedWire#16", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A3" + "compName": "GUIdff4#0", + "pinName": "C" }, - "name": "unnamedWire#30", + "name": "unnamedWire#17", "path": [ { - "x": 65.0, - "y": 1850.0 + "x": 155.0, + "y": 2485.0 }, { - "x": 65.0, - "y": 2255.0 + "x": 80.0, + "y": 2485.0 + }, + { + "x": 80.0, + "y": 2495.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUIAm2901DestDecode#0", + "pinName": "LSH" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B1" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#32", + "name": "unnamedWire#18", "path": [ { "x": 55.0, - "y": 2050.0 + "y": 90.0 }, { "x": 55.0, - "y": 2275.0 + "y": 125.0 + }, + { + "x": 40.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "GUIAm2901DestDecode#0", + "pinName": "NSH" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B0" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#31", + "name": "unnamedWire#19", "path": [ { "x": 60.0, - "y": 1950.0 + "y": 50.0 }, { "x": 60.0, - "y": 2265.0 + "y": 120.0 + }, + { + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "I6" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B3" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I6" }, - "name": "unnamedWire#34", + "name": "unnamedWire#2", "path": [ { - "x": 45.0, - "y": 2250.0 + "x": 10.0, + "y": 250.0 }, { - "x": 45.0, - "y": 2295.0 + "x": 10.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUIAm2901DestDecode#0", + "pinName": "RSH" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B2" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#33", + "name": "unnamedWire#20", "path": [ { - "x": 50.0, - "y": 2150.0 + "x": 65.0, + "y": 60.0 }, { - "x": 50.0, - "y": 2285.0 + "x": 65.0, + "y": 115.0 + }, + { + "x": 30.0, + "y": 115.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A2" + "compName": "GUIsel3_4#0", + "pinName": "SA" }, - "name": "unnamedWire#79", - "path": [ - { - "x": 130.0, - "y": 2665.0 - }, - { - "x": 25.0, - "y": 2665.0 - }, - { - "x": 25.0, - "y": 2630.0 - }, - { - "x": 30.0, - "y": 2630.0 - }, - { - "x": 30.0, - "y": 2555.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y2" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUIsel3_4#0", + "pinName": "SB" }, - "name": "unnamedWire#150", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y3" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIsel3_4#0", + "pinName": "SC" }, - "name": "unnamedWire#151", + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#1", + "pinName": "SA" + }, + "name": "unnamedWire#24", "path": [ { - "x": 335.0, - "y": 160.0 - }, - { - "x": 335.0, - "y": 250.0 + "x": 40.0, + "y": 2515.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#40", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUIsel3_4#1", + "pinName": "SB" }, - "name": "unnamedWire#154", + "name": "unnamedWire#25", "path": [ { - "x": 315.0, - "y": 445.0 + "x": 35.0, + "y": 2525.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#40", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUIsel3_4#1", + "pinName": "SC" }, - "name": "unnamedWire#155", + "name": "unnamedWire#26", "path": [ { - "x": 315.0, - "y": 455.0 + "x": 30.0, + "y": 2535.0 } ] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIram4#0", + "pinName": "A0" }, - "name": "unnamedWire#152", + "name": "unnamedWire#27", "path": [ { - "x": 325.0, - "y": 170.0 + "x": 80.0, + "y": 1550.0 }, { - "x": 325.0, - "y": 350.0 + "x": 80.0, + "y": 2225.0 } ] }, { "pin1": { - "compName": "GUIor4#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#40", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "A1" }, - "name": "unnamedWire#153", - "path": [] + "name": "unnamedWire#28", + "path": [ + { + "x": 75.0, + "y": 1650.0 + }, + { + "x": 75.0, + "y": 2235.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q2" + "compName": "GUIram4#0", + "pinName": "A2" }, - "name": "unnamedWire#81", + "name": "unnamedWire#29", "path": [ { - "x": 225.0, - "y": 2505.0 + "x": 70.0, + "y": 1750.0 }, { - "x": 225.0, - "y": 2315.0 + "x": 70.0, + "y": 2245.0 } ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "F\u003d0" - }, - "name": "unnamedWire#156", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "pinName": "I5" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q1" + "pinName": "I5" }, - "name": "unnamedWire#80", + "name": "unnamedWire#3", "path": [ { - "x": 220.0, - "y": 2305.0 + "x": 130.0, + "y": 350.0 + }, + { + "x": 130.0, + "y": 2115.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q4" + "compName": "GUIram4#0", + "pinName": "A3" }, - "name": "unnamedWire#83", + "name": "unnamedWire#30", "path": [ { - "x": 235.0, - "y": 2335.0 + "x": 65.0, + "y": 1850.0 + }, + { + "x": 65.0, + "y": 2255.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B0" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q3" + "compName": "GUIram4#0", + "pinName": "B0" }, - "name": "unnamedWire#82", + "name": "unnamedWire#31", "path": [ { - "x": 230.0, - "y": 2515.0 + "x": 60.0, + "y": 1950.0 }, { - "x": 230.0, - "y": 2325.0 + "x": 60.0, + "y": 2265.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A4" + "compName": "GUIram4#0", + "pinName": "B1" }, - "name": "unnamedWire#85", + "name": "unnamedWire#32", "path": [ { - "x": 40.0, - "y": 2575.0 + "x": 55.0, + "y": 2050.0 + }, + { + "x": 55.0, + "y": 2275.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A3" + "compName": "GUIram4#0", + "pinName": "B2" }, - "name": "unnamedWire#84", + "name": "unnamedWire#33", "path": [ { - "x": 35.0, - "y": 2565.0 + "x": 50.0, + "y": 2150.0 + }, + { + "x": 50.0, + "y": 2285.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "GUIdff4#0", - "pinName": "D2" + "compName": "GUIram4#0", + "pinName": "B3" }, - "name": "unnamedWire#87", - "path": [] + "name": "unnamedWire#34", + "path": [ + { + "x": 45.0, + "y": 2250.0 + }, + { + "x": 45.0, + "y": 2295.0 + } + ] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y1" + "compName": "GUIram4#0", + "pinName": "QA1" }, "pin2": { - "compName": "GUIdff4#0", + "compName": "GUIdlatch4#0", "pinName": "D1" }, - "name": "unnamedWire#86", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y4" + "compName": "GUIram4#0", + "pinName": "QA2" }, "pin2": { - "compName": "GUIdff4#0", - "pinName": "D4" + "compName": "GUIdlatch4#0", + "pinName": "D2" }, - "name": "unnamedWire#89", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y3" + "compName": "GUIram4#0", + "pinName": "QA3" }, "pin2": { - "compName": "GUIdff4#0", + "compName": "GUIdlatch4#0", "pinName": "D3" }, - "name": "unnamedWire#88", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y1" - }, - "pin2": { "compName": "GUIram4#0", - "pinName": "D1" - }, - "name": "unnamedWire#140", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "pinName": "QA4" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "D4" }, - "name": "unnamedWire#9", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y4" + "compName": "GUIram4#0", + "pinName": "QB1" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D4" + "compName": "GUIdlatch4#1", + "pinName": "D1" }, - "name": "unnamedWire#143", - "path": [] + "name": "unnamedWire#39", + "path": [ + { + "x": 150.0, + "y": 2265.0 + }, + { + "x": 150.0, + "y": 2280.0 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0" + "pinName": "I4" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I0" + "pinName": "I4" }, - "name": "unnamedWire#8", + "name": "unnamedWire#4", "path": [ { - "x": 105.0, - "y": 850.0 + "x": 125.0, + "y": 450.0 }, { - "x": 105.0, - "y": 2165.0 + "x": 125.0, + "y": 2125.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "RAMWE" + "compName": "GUIram4#0", + "pinName": "QB2" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" + "compName": "GUIdlatch4#1", + "pinName": "D2" }, - "name": "unnamedWire#144", - "path": [] + "name": "unnamedWire#40", + "path": [ + { + "x": 145.0, + "y": 2275.0 + }, + { + "x": 145.0, + "y": 2290.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "GUIram4#0", + "pinName": "QB3" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I1" + "compName": "GUIdlatch4#1", + "pinName": "D3" }, - "name": "unnamedWire#7", + "name": "unnamedWire#41", "path": [ { - "x": 110.0, - "y": 750.0 + "x": 140.0, + "y": 2285.0 }, { - "x": 110.0, - "y": 2155.0 + "x": 140.0, + "y": 2300.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y2" + "compName": "GUIram4#0", + "pinName": "QB4" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D2" + "compName": "GUIdlatch4#1", + "pinName": "D4" }, - "name": "unnamedWire#141", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 135.0, + "y": 2295.0 + }, + { + "x": 135.0, + "y": 2310.0 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I2" + "pinName": "Cn" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I2" + "pinName": "Cn" }, - "name": "unnamedWire#6", + "name": "unnamedWire#43", "path": [ { - "x": 115.0, - "y": 650.0 + "x": 100.0, + "y": 1050.0 }, { - "x": 115.0, - "y": 2145.0 + "x": 100.0, + "y": 2175.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D3" - }, - "name": "unnamedWire#142", - "path": [] - }, - { - "pin1": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Cn+4" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "pinName": "D1" }, - "name": "unnamedWire#90", + "name": "unnamedWire#44", "path": [ { - "x": 315.0, - "y": 2155.0 + "x": 180.0, + "y": 1150.0 }, { - "x": 315.0, - "y": 550.0 + "x": 180.0, + "y": 2185.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "QWE" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "GUIdff4#0", - "pinName": "WE" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D2" }, - "name": "unnamedWire#147", + "name": "unnamedWire#45", "path": [ { - "x": 85.0, - "y": 100.0 + "x": 175.0, + "y": 1250.0 }, { - "x": 85.0, - "y": 2505.0 + "x": 175.0, + "y": 2195.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "YF" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "S0" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D3" }, - "name": "unnamedWire#148", + "name": "unnamedWire#46", "path": [ { - "x": 70.0, - "y": 80.0 + "x": 170.0, + "y": 1350.0 }, { - "x": 70.0, - "y": 140.0 + "x": 170.0, + "y": 2205.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F1" - }, - "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" - }, - "name": "unnamedWire#92", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIand#0", - "pinName": "B" - }, - "name": "unnamedWire#145" - }, - { - "pin1": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "OVR" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "OVR" + "pinName": "D4" }, - "name": "unnamedWire#91", + "name": "unnamedWire#47", "path": [ { - "x": 320.0, - "y": 2165.0 + "x": 165.0, + "y": 1450.0 }, { - "x": 320.0, - "y": 650.0 + "x": 165.0, + "y": 2215.0 } ] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "GUIdlatch4#0", + "pinName": "Q1" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "WE" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#146", - "path": [ - { - "x": 230.0, - "y": 70.0 - }, - { - "x": 230.0, - "y": 105.0 - }, - { - "x": 90.0, - "y": 105.0 - }, - { - "x": 90.0, - "y": 2305.0 - } - ] + "name": "unnamedWire#48", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I7" + "compName": "GUIdlatch4#0", + "pinName": "Q2" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I7" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 5.0, - "y": 150.0 - }, - { - "x": 5.0, - "y": 60.0 - } - ] + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "ORAMn" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I3" }, - "name": "unnamedWire#94", + "name": "unnamedWire#5", "path": [ { - "x": 325.0, - "y": 2115.0 + "x": 120.0, + "y": 550.0 }, { - "x": 325.0, - "y": 850.0 + "x": 120.0, + "y": 2135.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I8" + "compName": "GUIdlatch4#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I8" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F4" + "compName": "GUIdlatch4#0", + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#10", "pinName": "" }, - "name": "unnamedWire#93", + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "ORAMn+3" + "compName": "GUImux1_4#0", + "pinName": "I0_1" }, - "name": "unnamedWire#96", - "path": [] + "name": "unnamedWire#52", + "path": [ + { + "x": 220.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y1" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUImux1_4#0", + "pinName": "I0_2" }, - "name": "unnamedWire#149", + "name": "unnamedWire#53", "path": [ { - "x": 335.0, - "y": 140.0 - }, - { - "x": 335.0, - "y": 50.0 + "x": 225.0, + "y": 160.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "I0_3" }, - "name": "unnamedWire#95", + "name": "unnamedWire#54", "path": [ { - "x": 330.0, - "y": 2145.0 + "x": 230.0, + "y": 170.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I3" + "compName": "GUImux1_4#0", + "pinName": "I0_4" }, - "name": "unnamedWire#5", + "name": "unnamedWire#55", "path": [ { - "x": 120.0, - "y": 550.0 - }, - { - "x": 120.0, - "y": 2135.0 + "x": 235.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A1" }, - "name": "unnamedWire#10", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A2" }, - "name": "unnamedWire#98", - "path": [ - { - "x": 280.0, - "y": 2090.0 - } - ] + "name": "unnamedWire#57", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I4" + "pinName": "A3" }, - "name": "unnamedWire#4", - "path": [ - { - "x": 125.0, - "y": 450.0 - }, - { - "x": 125.0, - "y": 2125.0 - } - ] + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A4" }, - "name": "unnamedWire#97", - "path": [ - { - "x": 330.0, - "y": 750.0 - } - ] + "name": "unnamedWire#59", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I5" + "pinName": "I2" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I5" + "pinName": "I2" }, - "name": "unnamedWire#3", + "name": "unnamedWire#6", "path": [ { - "x": 130.0, - "y": 350.0 + "x": 115.0, + "y": 650.0 }, { - "x": 130.0, - "y": 2115.0 + "x": 115.0, + "y": 2145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I6" + "compName": "GUIdlatch4#1", + "pinName": "Q1" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I6" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B1" }, - "name": "unnamedWire#2", + "name": "unnamedWire#60", "path": [ { - "x": 10.0, - "y": 250.0 + "x": 200.0, + "y": 2280.0 }, { - "x": 10.0, - "y": 70.0 + "x": 200.0, + "y": 2265.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q2" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B2" }, - "name": "unnamedWire#11", + "name": "unnamedWire#61", "path": [ { - "x": 155.0, - "y": 80.0 + "x": 205.0, + "y": 2290.0 + }, + { + "x": 205.0, + "y": 2275.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F2" + "compName": "GUIdlatch4#1", + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B3" }, - "name": "unnamedWire#99", + "name": "unnamedWire#62", "path": [ { - "x": 285.0, - "y": 2125.0 + "x": 210.0, + "y": 2300.0 }, { - "x": 285.0, - "y": 2095.0 + "x": 210.0, + "y": 2285.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q4" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A3" + "pinName": "B4" }, - "name": "unnamedWire#58", - "path": [] + "name": "unnamedWire#63", + "path": [ + { + "x": 215.0, + "y": 2310.0 + }, + { + "x": 215.0, + "y": 2295.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q1" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A2" - }, - "name": "unnamedWire#57", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#11", "pinName": "" }, - "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A4" - }, - "name": "unnamedWire#59", + "name": "unnamedWire#64", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#37", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C1" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#132", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#38", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C2" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#133", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#34", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#38", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#130", + "name": "unnamedWire#67", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#35", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#39", + "compName": "WireCrossPoint#15", "pinName": "" }, - "name": "unnamedWire#131", + "name": "unnamedWire#68", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#36", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "B1" + "compName": "_submodelinterface", + "pinName": "OQn" }, - "name": "unnamedWire#136", + "name": "unnamedWire#69", "path": [ { - "x": 10.0, - "y": 2585.0 + "x": 335.0, + "y": 2495.0 + }, + { + "x": 335.0, + "y": 1050.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#37", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "B2" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I1" }, - "name": "unnamedWire#137", + "name": "unnamedWire#7", "path": [ { - "x": 15.0, - "y": 2595.0 + "x": 110.0, + "y": 750.0 + }, + { + "x": 110.0, + "y": 2155.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#39", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C3" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#134", + "name": "unnamedWire#70", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IRAMn+3" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C4" + "compName": "_submodelinterface", + "pinName": "OQn+3" }, - "name": "unnamedWire#135", + "name": "unnamedWire#71", "path": [ { - "x": 5.0, - "y": 2450.0 + "x": 340.0, + "y": 2525.0 }, { - "x": 5.0, - "y": 2455.0 + "x": 340.0, + "y": 1150.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q2" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B2" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#61", + "name": "unnamedWire#72", "path": [ { - "x": 205.0, - "y": 2290.0 + "x": 135.0, + "y": 2670.0 }, { - "x": 205.0, - "y": 2275.0 + "x": 30.0, + "y": 2670.0 + }, + { + "x": 30.0, + "y": 2635.0 + }, + { + "x": 35.0, + "y": 2635.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q1" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B1" + "compName": "WireCrossPoint#18", + "pinName": "" }, - "name": "unnamedWire#60", + "name": "unnamedWire#73", "path": [ { - "x": 200.0, - "y": 2280.0 + "x": 140.0, + "y": 2675.0 }, { - "x": 200.0, - "y": 2265.0 + "x": 35.0, + "y": 2675.0 + }, + { + "x": 35.0, + "y": 2640.0 + }, + { + "x": 40.0, + "y": 2640.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q4" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B4" + "compName": "GUIsel3_4#1", + "pinName": "C1" }, - "name": "unnamedWire#63", - "path": [ - { - "x": 215.0, - "y": 2310.0 - }, - { - "x": 215.0, - "y": 2295.0 - } - ] + "name": "unnamedWire#74", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#38", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { "compName": "GUIsel3_4#1", - "pinName": "B3" + "pinName": "C2" }, - "name": "unnamedWire#138", - "path": [ - { - "x": 20.0, - "y": 2605.0 - } - ] + "name": "unnamedWire#75", + "path": [] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q3" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B3" + "compName": "GUIsel3_4#1", + "pinName": "C3" }, - "name": "unnamedWire#62", + "name": "unnamedWire#76", "path": [ { - "x": 210.0, - "y": 2300.0 + "x": 145.0, + "y": 2680.0 }, { - "x": 210.0, - "y": 2285.0 + "x": 40.0, + "y": 2680.0 + }, + { + "x": 40.0, + "y": 2645.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#39", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IQn+3" }, "pin2": { "compName": "GUIsel3_4#1", - "pinName": "B4" + "pinName": "C4" }, - "name": "unnamedWire#139", + "name": "unnamedWire#77", "path": [ { - "x": 25.0, - "y": 2615.0 + "x": 5.0, + "y": 2650.0 + }, + { + "x": 5.0, + "y": 2655.0 } ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q2" + "compName": "_submodelinterface", + "pinName": "IQn" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "A1" }, - "name": "unnamedWire#65", - "path": [] + "name": "unnamedWire#78", + "path": [ + { + "x": 5.0, + "y": 2550.0 + }, + { + "x": 5.0, + "y": 2545.0 + } + ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q1" - }, - "pin2": { "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#64", - "path": [] + "pin2": { + "compName": "GUIsel3_4#1", + "pinName": "A2" + }, + "name": "unnamedWire#79", + "path": [ + { + "x": 130.0, + "y": 2665.0 + }, + { + "x": 25.0, + "y": 2665.0 + }, + { + "x": 25.0, + "y": 2630.0 + }, + { + "x": 30.0, + "y": 2630.0 + }, + { + "x": 30.0, + "y": 2555.0 + } + ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q4" + "compName": "_submodelinterface", + "pinName": "I0" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I0" }, - "name": "unnamedWire#67", - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 105.0, + "y": 850.0 + }, + { + "x": 105.0, + "y": 2165.0 + } + ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q3" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q1" }, - "name": "unnamedWire#66", - "path": [] + "name": "unnamedWire#80", + "path": [ + { + "x": 220.0, + "y": 2305.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OQn" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q2" }, - "name": "unnamedWire#69", + "name": "unnamedWire#81", "path": [ { - "x": 335.0, - "y": 2495.0 + "x": 225.0, + "y": 2505.0 }, { - "x": 335.0, - "y": 1050.0 + "x": 225.0, + "y": 2315.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q3" }, - "name": "unnamedWire#68", - "path": [] + "name": "unnamedWire#82", + "path": [ + { + "x": 230.0, + "y": 2515.0 + }, + { + "x": 230.0, + "y": 2325.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#33", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q4" }, - "name": "unnamedWire#121", - "path": [] + "name": "unnamedWire#83", + "path": [ + { + "x": 235.0, + "y": 2335.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#32", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#34", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "A3" }, - "name": "unnamedWire#122", - "path": [] + "name": "unnamedWire#84", + "path": [ + { + "x": 35.0, + "y": 2565.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#32", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", + "compName": "GUIsel3_4#1", "pinName": "A4" }, - "name": "unnamedWire#120", - "path": [] + "name": "unnamedWire#85", + "path": [ + { + "x": 40.0, + "y": 2575.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#36", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B1" + "compName": "GUIdff4#0", + "pinName": "D1" }, - "name": "unnamedWire#125", + "name": "unnamedWire#86", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B2" + "compName": "GUIdff4#0", + "pinName": "D2" }, - "name": "unnamedWire#126", + "name": "unnamedWire#87", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "D3" }, - "name": "unnamedWire#70", + "name": "unnamedWire#88", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#35", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "D4" }, - "name": "unnamedWire#123", - "path": [ - { - "x": 25.0, - "y": 2105.0 - } - ] + "name": "unnamedWire#89", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "WireCrossPoint#36", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#124", + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Cn+4" }, "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, - "name": "unnamedWire#72", + "name": "unnamedWire#90", "path": [ { - "x": 135.0, - "y": 2670.0 - }, - { - "x": 30.0, - "y": 2670.0 - }, - { - "x": 30.0, - "y": 2635.0 + "x": 315.0, + "y": 2155.0 }, { - "x": 35.0, - "y": 2635.0 + "x": 315.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#33", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#37", - "pinName": "" - }, - "name": "unnamedWire#129", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "OVR" }, "pin2": { "compName": "_submodelinterface", - "pinName": "OQn+3" + "pinName": "OVR" }, - "name": "unnamedWire#71", + "name": "unnamedWire#91", "path": [ { - "x": 340.0, - "y": 2525.0 + "x": 320.0, + "y": 2165.0 }, { - "x": 340.0, - "y": 1150.0 + "x": 320.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F1" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C1" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#74", + "name": "unnamedWire#92", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#34", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B3" + "compName": "WireCrossPoint#20", + "pinName": "" }, - "name": "unnamedWire#127", + "name": "unnamedWire#93", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "ORAMn" }, - "name": "unnamedWire#73", + "name": "unnamedWire#94", "path": [ { - "x": 140.0, - "y": 2675.0 - }, - { - "x": 35.0, - "y": 2675.0 - }, - { - "x": 35.0, - "y": 2640.0 + "x": 325.0, + "y": 2115.0 }, { - "x": 40.0, - "y": 2640.0 + "x": 325.0, + "y": 850.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#35", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B4" - }, - "name": "unnamedWire#128", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#21", "pinName": "" }, - "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C3" - }, - "name": "unnamedWire#76", + "name": "unnamedWire#95", "path": [ { - "x": 145.0, - "y": 2680.0 - }, - { - "x": 40.0, - "y": 2680.0 - }, - { - "x": 40.0, - "y": 2645.0 + "x": 330.0, + "y": 2145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#21", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "ORAMn+3" }, - "name": "unnamedWire#75", + "name": "unnamedWire#96", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IQn" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "F3" }, - "name": "unnamedWire#78", + "name": "unnamedWire#97", "path": [ { - "x": 5.0, - "y": 2550.0 - }, + "x": 330.0, + "y": 750.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#19", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#22", + "pinName": "" + }, + "name": "unnamedWire#98", + "path": [ { - "x": 5.0, - "y": 2545.0 + "x": 280.0, + "y": 2090.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IQn+3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F2" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C4" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#77", + "name": "unnamedWire#99", "path": [ { - "x": 5.0, - "y": 2650.0 + "x": 285.0, + "y": 2125.0 }, { - "x": 5.0, - "y": 2655.0 + "x": 285.0, + "y": 2095.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -3417,5 +3456,6 @@ mograsim version: 0.1.3 } }, "atomicHighLevelStates": {} - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json index 006a46ff..92d2200e 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, @@ -6,10 +5,11 @@ mograsim version: 0.1.3 { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "SBE", - "logicWidth": 1 + "name": "CinE", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 45.0 }, "name": "FN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "I3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,15 +35,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I4", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 25.0 - }, - "name": "SN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,7 +44,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "I5", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,7 +53,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "L", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,43 +62,55 @@ mograsim version: 0.1.3 "y": 55.0 }, "name": "RN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 35.0 }, - "name": "CinE", - "logicWidth": 1 + "name": "SBE", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 25.0 + }, + "name": "SN", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 15.0, - "y": 50.0 + "y": 10.0 }, "params": 1 }, { - "id": "GUInand3", - "name": "GUInand3#0", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 55.0, - "y": 10.0 - } + "x": 15.0, + "y": 50.0 + }, + "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 15.0, - "y": 10.0 + "x": 55.0, + "y": 45.0 }, "params": 1 }, @@ -116,10 +125,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { - "x": 55.0, - "y": 45.0 + "x": 100.0, + "y": 50.0 }, "params": 1 }, @@ -131,30 +140,38 @@ mograsim version: 0.1.3 "y": 135.0 } }, + { + "id": "GUInand3", + "name": "GUInand3#0", + "pos": { + "x": 55.0, + "y": 10.0 + } + }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 24.0 + "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 19.0 + "y": 24.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#10", "pos": { - "x": 9.0, - "y": 59.0 + "x": 39.0, + "y": 34.0 }, "params": 1 }, @@ -169,10 +186,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { "x": 9.0, - "y": 64.0 + "y": 59.0 }, "params": 1 }, @@ -187,10 +204,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 49.0, - "y": 99.0 + "x": 9.0, + "y": 64.0 }, "params": 1 }, @@ -205,10 +222,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#7", "pos": { - "x": 39.0, - "y": 19.0 + "x": 49.0, + "y": 99.0 }, "params": 1 }, @@ -223,34 +240,78 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#9", "pos": { "x": 39.0, - "y": 34.0 + "y": 19.0 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I5" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 100.0, - "y": 50.0 + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 5.0, + "y": 15.0 + } + ] + }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", "pinName": "B" }, - "name": "unnamedWire#14", + "name": "unnamedWire#12", "path": [] }, { @@ -267,20 +328,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 50.0, - "y": 100.0 - } - ] + "name": "unnamedWire#14", + "path": [] }, { "pin1": { @@ -309,15 +365,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#18", - "path": [] + "name": "unnamedWire#16", + "path": [ + { + "x": 50.0, + "y": 100.0 + } + ] }, { "pin1": { @@ -336,6 +397,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#8", @@ -355,14 +428,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [] }, { @@ -379,14 +452,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#9", "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [] }, { @@ -416,20 +489,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "B" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 40.0, - "y": 150.0 - } - ] + "name": "unnamedWire#23", + "path": [] }, { "pin1": { @@ -445,14 +513,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUInand3#0", - "pinName": "Y" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "GUIand#0", + "pinName": "B" }, - "name": "unnamedWire#27" + "name": "unnamedWire#25", + "path": [ + { + "x": 40.0, + "y": 150.0 + } + ] }, { "pin1": { @@ -468,14 +542,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUInand3#0", "pinName": "Y" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#29" + "name": "unnamedWire#27" }, { "pin1": { @@ -490,109 +564,61 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUInand3#0", + "compName": "GUIand#0", "pinName": "A" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 10.0, - "y": 40.0 - }, - { - "x": 45.0, - "y": 40.0 - }, - { - "x": 45.0, - "y": 15.0 - } - ] + "name": "unnamedWire#29" }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "L" }, - "name": "unnamedWire#7", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "FN" + "pinName": "SBE" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 5.0, - "y": 180.0 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#1", - "path": [ - { - "x": 5.0, - "y": 15.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I5" - }, - "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "L" - }, - "name": "unnamedWire#30", + "name": "unnamedWire#4", "path": [] }, { @@ -618,89 +644,72 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", - "path": [] - }, - { - "pin1": { - "compName": "GUIand#0", - "pinName": "Y" - }, "pin2": { "compName": "_submodelinterface", - "pinName": "SBE" + "pinName": "FN" }, - "name": "unnamedWire#31", - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 5.0, + "y": 180.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" - }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#3", "pinName": "" }, - "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" - }, - "name": "unnamedWire#12", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "A" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 10.0, + "y": 40.0 + }, + { + "x": 45.0, + "y": 40.0 + }, + { + "x": 45.0, + "y": 15.0 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -710,5 +719,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json index 0f8ee57c..2dec1af2 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 120.0, @@ -6,58 +5,65 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 55.0 + "y": 35.0 }, - "name": "R2", - "logicWidth": 1 + "name": "Cn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 105.0 + "x": 35.0, + "y": 45.0 }, - "name": "S3", - "logicWidth": 1 + "name": "Cn+4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 65.0 + "x": 35.0, + "y": 5.0 }, - "name": "R3", - "logicWidth": 1 + "name": "F1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 115.0 + "x": 35.0, + "y": 15.0 }, - "name": "S4", - "logicWidth": 1 + "name": "F2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 75.0 + "x": 35.0, + "y": 25.0 }, - "name": "R4", - "logicWidth": 1 + "name": "F3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 35.0 }, - "name": "I3", - "logicWidth": 1 + "name": "F4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 25.0 }, - "name": "OVR", - "logicWidth": 1 + "name": "I3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -65,98 +71,193 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 5.0 }, - "name": "Cn", - "logicWidth": 1 + "name": "I5", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 55.0 }, - "name": "F1", - "logicWidth": 1 + "name": "OVR", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 45.0 }, - "name": "I5", - "logicWidth": 1 + "name": "R1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 55.0 }, - "name": "F2", - "logicWidth": 1 + "name": "R2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 65.0 }, - "name": "F3", - "logicWidth": 1 + "name": "R3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 75.0 }, - "name": "F4", - "logicWidth": 1 + "name": "R4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 85.0 }, - "name": "Cn+4", - "logicWidth": 1 + "name": "S1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 95.0 }, - "name": "S1", - "logicWidth": 1 + "name": "S2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 105.0 }, - "name": "R1", - "logicWidth": 1 + "name": "S3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 115.0 }, - "name": "S2", - "logicWidth": 1 + "name": "S4", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ + { + "id": "GUIAm2901ALUFuncDecode", + "name": "GUIAm2901ALUFuncDecode#0", + "pos": { + "x": 20.0, + "y": 2.5 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#0", + "pos": { + "x": 45.0, + "y": 80.0 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#1", + "pos": { + "x": 45.0, + "y": 180.0 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#2", + "pos": { + "x": 45.0, + "y": 280.0 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#3", + "pos": { + "x": 45.0, + "y": 380.0 + } + }, + { + "id": "GUIxor", + "name": "GUIxor#0", + "pos": { + "x": 95.0, + "y": 400.0 + } + }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 94.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 194.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 31.5, + "y": 244.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", + "pos": { + "x": 31.5, + "y": 344.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 34.0, - "y": 354.0 + "y": 154.0 }, "params": 1 }, @@ -171,10 +272,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "name": "WireCrossPoint#14", "pos": { - "x": 36.5, - "y": 264.0 + "x": 34.0, + "y": 354.0 }, "params": 1 }, @@ -189,10 +290,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "name": "WireCrossPoint#16", "pos": { - "x": 84.0, - "y": 374.0 + "x": 36.5, + "y": 264.0 }, "params": 1 }, @@ -205,54 +306,30 @@ mograsim version: 0.1.3 }, "params": 1 }, - { - "id": "GUIAm2901ALUFuncDecode", - "name": "GUIAm2901ALUFuncDecode#0", - "pos": { - "x": 20.0, - "y": 2.5 - } - }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#0", - "pos": { - "x": 45.0, - "y": 80.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "name": "WireCrossPoint#18", "pos": { "x": 84.0, - "y": 384.0 + "y": 374.0 }, "params": 1 }, - { - "id": "GUIxor", - "name": "GUIxor#0", - "pos": { - "x": 95.0, - "y": 400.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#19", "pos": { - "x": 24.0, - "y": 194.0 + "x": 84.0, + "y": 384.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { "x": 24.0, - "y": 94.0 + "y": 294.0 }, "params": 1 }, @@ -267,10 +344,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#4", "pos": { - "x": 24.0, - "y": 294.0 + "x": 26.5, + "y": 204.0 }, "params": 1 }, @@ -285,21 +362,13 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#6", "pos": { - "x": 26.5, - "y": 204.0 + "x": 29.0, + "y": 124.0 }, "params": 1 }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#1", - "pos": { - "x": 45.0, - "y": 180.0 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#7", @@ -309,31 +378,15 @@ mograsim version: 0.1.3 }, "params": 1 }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#2", - "pos": { - "x": 45.0, - "y": 280.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#8", "pos": { "x": 29.0, - "y": 124.0 + "y": 324.0 }, "params": 1 }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#3", - "pos": { - "x": 45.0, - "y": 380.0 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#9", @@ -342,636 +395,848 @@ mograsim version: 0.1.3 "y": 144.0 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I5" + }, + "pin2": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I5" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 5.0, + "y": 20.0 + }, + { + "x": 5.0, + "y": 7.5 + } + ] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 29.0, - "y": 324.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "I4" }, - "params": 1 + "pin2": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I4" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 10.0, + "y": 60.0 + }, + { + "x": 10.0, + "y": 17.5 + } + ] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", - "pos": { - "x": 31.5, - "y": 244.0 + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "CinE" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 70.0, + "y": 7.5 + }, + { + "x": 70.0, + "y": 77.5 + }, + { + "x": 27.5, + "y": 77.5 + } + ] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", - "pos": { - "x": 34.0, - "y": 154.0 + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", - "pos": { - "x": 31.5, - "y": 344.0 + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#12", + "path": [] + }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "FN" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "CinE" }, - "name": "unnamedWire#36", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#1", - "pinName": "FN" + "pinName": "CinE" }, - "name": "unnamedWire#35", + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "CinE" + }, + "name": "unnamedWire#15", "path": [] }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "CinE" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 27.5, + "y": 405.0 + } + ] + }, { "pin1": { "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "L" + "pinName": "RN" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#38", + "name": "unnamedWire#17", "path": [ { - "x": 67.5, - "y": 17.5 + "x": 57.5, + "y": 57.5 }, { - "x": 67.5, - "y": 75.0 + "x": 57.5, + "y": 65.0 }, { - "x": 37.5, - "y": 75.0 + "x": 30.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "FN" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#37", + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I3" + }, + "pin2": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I3" + }, + "name": "unnamedWire#2", "path": [ { - "x": 35.0, - "y": 455.0 + "x": 15.0, + "y": 100.0 + }, + { + "x": 15.0, + "y": 27.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#16", + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "RN" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#39", + "pin2": { + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "RN" + }, + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "L" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "RN" }, - "name": "unnamedWire#41", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#17", + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "RN" + }, + "name": "unnamedWire#23", + "path": [ + { + "x": 30.0, + "y": 425.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "SN" + }, + "pin2": { + "compName": "WireCrossPoint#9", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#24", + "path": [ + { + "x": 65.0, + "y": 27.5 + }, + { + "x": 65.0, + "y": 72.5 + }, + { + "x": 32.5, + "y": 72.5 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "L" + "compName": "WireCrossPoint#11", + "pinName": "" }, - "name": "unnamedWire#43", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "SN" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#1", - "pinName": "L" + "pinName": "SN" }, - "name": "unnamedWire#42", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R1" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "R" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "SN" }, - "name": "unnamedWire#45", + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "SBE" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#3", "path": [ { - "x": 10.0, - "y": 180.0 + "x": 62.5, + "y": 37.5 }, { - "x": 10.0, - "y": 115.0 + "x": 62.5, + "y": 70.0 + }, + { + "x": 25.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "L" + "pinName": "SN" }, - "name": "unnamedWire#44", + "name": "unnamedWire#30", "path": [ { - "x": 37.5, - "y": 465.0 + "x": 32.5, + "y": 445.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "FN" + }, + "pin2": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "name": "unnamedWire#31", + "path": [ + { + "x": 60.0, + "y": 47.5 + }, + { + "x": 60.0, + "y": 67.5 + }, + { + "x": 35.0, + "y": 67.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R3" + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "name": "unnamedWire#33", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "FN" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "FN" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "R" + "pinName": "FN" }, - "name": "unnamedWire#47", - "path": [ - { - "x": 10.0, - "y": 260.0 - }, - { - "x": 10.0, - "y": 315.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R2" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "R" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "FN" }, - "name": "unnamedWire#46", + "name": "unnamedWire#37", "path": [ { - "x": 10.0, - "y": 220.0 - }, - { - "x": 10.0, - "y": 215.0 + "x": 35.0, + "y": 455.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "L" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "S" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#49", + "name": "unnamedWire#38", "path": [ { - "x": 15.0, - "y": 340.0 + "x": 67.5, + "y": 17.5 }, { - "x": 15.0, - "y": 135.0 + "x": 67.5, + "y": 75.0 + }, + { + "x": 37.5, + "y": 75.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R4" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "R" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#48", - "path": [ - { - "x": 20.0, - "y": 300.0 - }, - { - "x": 20.0, - "y": 415.0 - } - ] + "name": "unnamedWire#39", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "CoutE" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 25.0, - "y": 395.0 - } - ] + "name": "unnamedWire#4", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "CoutE" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "CoutE" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "L" }, - "name": "unnamedWire#7", + "name": "unnamedWire#41", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "CoutE" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "L" }, - "name": "unnamedWire#6", + "name": "unnamedWire#42", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I4" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "L" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 10.0, - "y": 60.0 - }, - { - "x": 10.0, - "y": 17.5 - } - ] + "name": "unnamedWire#43", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S2" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "S" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "L" }, - "name": "unnamedWire#50", + "name": "unnamedWire#44", "path": [ { - "x": 5.0, - "y": 380.0 - }, - { - "x": 5.0, - "y": 235.0 + "x": 37.5, + "y": 465.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I5" + "pinName": "R1" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I5" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "R" }, - "name": "unnamedWire#0", + "name": "unnamedWire#45", "path": [ { - "x": 5.0, - "y": 20.0 + "x": 10.0, + "y": 180.0 }, { - "x": 5.0, - "y": 7.5 + "x": 10.0, + "y": 115.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "S4" + "pinName": "R2" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "S" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "R" }, - "name": "unnamedWire#52", + "name": "unnamedWire#46", "path": [ { "x": 10.0, - "y": 460.0 + "y": 220.0 }, { "x": 10.0, - "y": 435.0 + "y": 215.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "S3" + "pinName": "R3" }, "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "S" + "pinName": "R" }, - "name": "unnamedWire#51", + "name": "unnamedWire#47", "path": [ { "x": 10.0, - "y": 420.0 + "y": 260.0 }, { "x": 10.0, - "y": 335.0 + "y": 315.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#5", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "CinE" + "compName": "_submodelinterface", + "pinName": "R4" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "R" }, - "name": "unnamedWire#10", + "name": "unnamedWire#48", "path": [ { - "x": 70.0, - "y": 7.5 - }, - { - "x": 70.0, - "y": 77.5 + "x": 20.0, + "y": 300.0 }, { - "x": 27.5, - "y": 77.5 + "x": 20.0, + "y": 415.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "Cout" + "compName": "_submodelinterface", + "pinName": "S1" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "Cin" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "S" }, - "name": "unnamedWire#54", + "name": "unnamedWire#49", "path": [ { - "x": 85.0, - "y": 85.0 - }, - { - "x": 85.0, - "y": 175.0 - }, - { - "x": 40.0, - "y": 175.0 + "x": 15.0, + "y": 340.0 }, { - "x": 40.0, - "y": 185.0 + "x": 15.0, + "y": 135.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Cn" + "pinName": "S2" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "Cin" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "S" }, - "name": "unnamedWire#53", + "name": "unnamedWire#50", "path": [ { "x": 5.0, - "y": 140.0 + "y": 380.0 }, { "x": 5.0, - "y": 85.0 + "y": 235.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "SBE" + "compName": "_submodelinterface", + "pinName": "S3" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "S" }, - "name": "unnamedWire#3", + "name": "unnamedWire#51", "path": [ { - "x": 62.5, - "y": 37.5 - }, - { - "x": 62.5, - "y": 70.0 + "x": 10.0, + "y": 420.0 }, { - "x": 25.0, - "y": 70.0 + "x": 10.0, + "y": 335.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "Cout" + "compName": "_submodelinterface", + "pinName": "S4" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "S" }, - "name": "unnamedWire#56", + "name": "unnamedWire#52", "path": [ { - "x": 85.0, - "y": 285.0 + "x": 10.0, + "y": 460.0 + }, + { + "x": 10.0, + "y": 435.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I3" + "pinName": "Cn" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I3" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "Cin" }, - "name": "unnamedWire#2", + "name": "unnamedWire#53", "path": [ { - "x": 15.0, - "y": 100.0 + "x": 5.0, + "y": 140.0 }, { - "x": 15.0, - "y": 27.5 + "x": 5.0, + "y": 85.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "Cout" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "Cin" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#54", + "path": [ + { + "x": 85.0, + "y": 85.0 + }, + { + "x": 85.0, + "y": 175.0 + }, + { + "x": 40.0, + "y": 175.0 + }, + { + "x": 40.0, + "y": 185.0 + } + ] }, { "pin1": { @@ -1004,39 +1269,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "CinE" - }, - "name": "unnamedWire#14", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUOneBit#3", + "compName": "GUIAm2901ALUOneBit#2", "pinName": "Cout" }, "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" - }, - "name": "unnamedWire#58", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#18", "pinName": "" }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "CinE" - }, - "name": "unnamedWire#13", - "path": [] + "name": "unnamedWire#56", + "path": [ + { + "x": 85.0, + "y": 285.0 + } + ] }, { "pin1": { @@ -1061,124 +1307,49 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "CinE" - }, - "name": "unnamedWire#16", - "path": [ - { - "x": 27.5, - "y": 405.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "CinE" - }, - "name": "unnamedWire#15", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "F" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "F1" - }, - "name": "unnamedWire#59", - "path": [ - { - "x": 90.0, - "y": 95.0 - }, - { - "x": 90.0, - "y": 20.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#18", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "RN" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "name": "unnamedWire#17", - "path": [ - { - "x": 57.5, - "y": 57.5 - }, - { - "x": 57.5, - "y": 65.0 - }, - { - "x": 30.0, - "y": 65.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "pinName": "Cout" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#19", "pinName": "" }, - "name": "unnamedWire#19", + "name": "unnamedWire#58", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#2", + "compName": "GUIAm2901ALUOneBit#0", "pinName": "F" }, "pin2": { "compName": "_submodelinterface", - "pinName": "F3" + "pinName": "F1" }, - "name": "unnamedWire#61", + "name": "unnamedWire#59", "path": [ { - "x": 100.0, - "y": 295.0 + "x": 90.0, + "y": 95.0 }, { - "x": 100.0, - "y": 100.0 + "x": 90.0, + "y": 20.0 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "CoutE" + }, + "name": "unnamedWire#6", + "path": [] + }, { "pin1": { "compName": "GUIAm2901ALUOneBit#1", @@ -1202,22 +1373,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "F" }, "pin2": { - "compName": "GUIxor#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "F3" }, - "name": "unnamedWire#63", + "name": "unnamedWire#61", "path": [ { - "x": 90.0, - "y": 375.0 + "x": 100.0, + "y": 295.0 }, { - "x": 90.0, - "y": 405.0 + "x": 100.0, + "y": 100.0 } ] }, @@ -1244,49 +1415,25 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "RN" - }, - "name": "unnamedWire#21", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "compName": "GUIxor#0", + "pinName": "A" }, - "name": "unnamedWire#65", + "name": "unnamedWire#63", "path": [ { - "x": 130.0, - "y": 385.0 + "x": 90.0, + "y": 375.0 }, { - "x": 130.0, - "y": 180.0 + "x": 90.0, + "y": 405.0 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "RN" - }, - "name": "unnamedWire#20", - "path": [] - }, { "pin1": { "compName": "WireCrossPoint#19", @@ -1306,33 +1453,25 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "RN" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, - "name": "unnamedWire#23", + "name": "unnamedWire#65", "path": [ { - "x": 30.0, - "y": 425.0 + "x": 130.0, + "y": 385.0 + }, + { + "x": 130.0, + "y": 180.0 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "RN" - }, - "name": "unnamedWire#22", - "path": [] - }, { "pin1": { "compName": "GUIxor#0", @@ -1346,168 +1485,47 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "name": "unnamedWire#25", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "SN" - }, - "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "name": "unnamedWire#24", - "path": [ - { - "x": 65.0, - "y": 27.5 - }, - { - "x": 65.0, - "y": 72.5 - }, - { - "x": 32.5, - "y": 72.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "SN" - }, - "name": "unnamedWire#27", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "CoutE" }, - "name": "unnamedWire#26", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "SN" - }, - "name": "unnamedWire#29", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "SN" + "pinName": "CoutE" }, - "name": "unnamedWire#28", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "SN" - }, - "name": "unnamedWire#30", - "path": [ - { - "x": 32.5, - "y": 445.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#32", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "FN" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "pinName": "CoutE" }, - "name": "unnamedWire#31", + "name": "unnamedWire#9", "path": [ { - "x": 60.0, - "y": 47.5 - }, - { - "x": 60.0, - "y": 67.5 - }, - { - "x": 35.0, - "y": 67.5 + "x": 25.0, + "y": 395.0 } ] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "FN" - }, - "name": "unnamedWire#34", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "name": "unnamedWire#33", - "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1517,5 +1535,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json index 71d2d2d6..2fa5c1b1 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 230.0, @@ -6,255 +5,299 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 195.0 + "y": 115.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 205.0 + "y": 125.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 215.0 + "y": 135.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 225.0 + "y": 145.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 155.0 }, - "name": "I0", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 165.0 }, - "name": "I1", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 175.0 }, - "name": "I2", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 185.0 }, - "name": "I3", - "logicWidth": 1 + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 65.0 }, - "name": "OVR", - "logicWidth": 1 + "name": "Cn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 45.0 }, - "name": "I4", - "logicWidth": 1 + "name": "Cn+4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 75.0 }, - "name": "Cn", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 85.0 }, - "name": "I5", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 115.0 + "y": 95.0 }, - "name": "A1", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 125.0 + "y": 105.0 }, - "name": "A2", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 135.0 + "x": 35.0, + "y": 5.0 }, - "name": "A3", - "logicWidth": 1 + "name": "F1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 145.0 + "x": 35.0, + "y": 15.0 }, - "name": "A4", - "logicWidth": 1 + "name": "F2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 45.0 + "y": 25.0 }, - "name": "Cn+4", - "logicWidth": 1 + "name": "F3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 35.0 }, - "name": "F1", - "logicWidth": 1 + "name": "F4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 55.0 }, - "name": "F2", - "logicWidth": 1 + "name": "I0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 45.0 }, - "name": "D1", - "logicWidth": 1 + "name": "I1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 35.0 }, - "name": "F3", - "logicWidth": 1 + "name": "I2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 25.0 }, - "name": "D2", - "logicWidth": 1 + "name": "I3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 15.0 }, - "name": "F4", - "logicWidth": 1 + "name": "I4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 5.0 }, - "name": "D3", - "logicWidth": 1 + "name": "I5", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 155.0 + "x": 35.0, + "y": 55.0 }, - "name": "B1", - "logicWidth": 1 + "name": "OVR", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 105.0 + "y": 195.0 }, - "name": "D4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 165.0 + "y": 205.0 }, - "name": "B2", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 175.0 + "y": 215.0 }, - "name": "B3", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 185.0 + "y": 225.0 }, - "name": "B4", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { - "id": "GUIsel3_4", - "name": "GUIsel3_4#0", + "id": "GUIAm2901ALUInclDecode", + "name": "GUIAm2901ALUInclDecode#0", + "pos": { + "x": 60.0, + "y": 15.0 + } + }, + { + "id": "GUIAm2901SourceDecode", + "name": "GUIAm2901SourceDecode#0", + "pos": { + "x": 15.0, + "y": 165.0 + } + }, + { + "id": "GUIsel2_4", + "name": "GUIsel2_4#0", "pos": { "x": 45.0, - "y": 575.0 + "y": 365.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIsel3_4", + "name": "GUIsel3_4#0", "pos": { - "x": 14.0, - "y": 499.0 - }, - "params": 1 + "x": 45.0, + "y": 575.0 + } }, { "id": "WireCrossPoint", @@ -265,20 +308,12 @@ mograsim version: 0.1.3 }, "params": 1 }, - { - "id": "GUIAm2901ALUInclDecode", - "name": "GUIAm2901ALUInclDecode#0", - "pos": { - "x": 60.0, - "y": 15.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 24.0, - "y": 579.0 + "x": 14.0, + "y": 499.0 }, "params": 1 }, @@ -292,1065 +327,1059 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUIsel2_4", - "name": "GUIsel2_4#0", - "pos": { - "x": 45.0, - "y": 365.0 - } - }, - { - "id": "GUIAm2901SourceDecode", - "name": "GUIAm2901SourceDecode#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 15.0, - "y": 165.0 - } + "x": 24.0, + "y": 579.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "I5" }, "pin2": { "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R1" + "pinName": "I5" }, - "name": "unnamedWire#36", - "path": [ - { - "x": 82.5, - "y": 370.0 - }, - { - "x": 82.5, - "y": 162.5 - }, - { - "x": 20.0, - "y": 162.5 - }, - { - "x": 20.0, - "y": 60.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "RD" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SA" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "I4" }, - "name": "unnamedWire#35", + "name": "unnamedWire#1", "path": [ { - "x": 55.0, - "y": 210.0 - }, - { - "x": 55.0, - "y": 220.0 - }, - { - "x": 25.0, - "y": 220.0 + "x": 5.0, + "y": 60.0 }, { - "x": 25.0, - "y": 370.0 + "x": 5.0, + "y": 30.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R3" + "compName": "GUIsel2_4#0", + "pinName": "A4" }, - "name": "unnamedWire#38", - "path": [ - { - "x": 87.5, - "y": 390.0 - }, - { - "x": 87.5, - "y": 157.5 - }, - { - "x": 25.0, - "y": 157.5 - }, - { - "x": 25.0, - "y": 80.0 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#37", - "path": [ - { - "x": 85.0, - "y": 380.0 - }, - { - "x": 85.0, - "y": 160.0 - }, - { - "x": 22.5, - "y": 160.0 - }, - { - "x": 22.5, - "y": 70.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R4" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#39", + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A4" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel2_4#0", + "pinName": "B1" + }, + "name": "unnamedWire#15", "path": [ { - "x": 90.0, - "y": 400.0 - }, - { - "x": 90.0, - "y": 155.0 - }, - { - "x": 27.5, - "y": 155.0 - }, - { - "x": 27.5, - "y": 90.0 + "x": 10.0, + "y": 430.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y2" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S2" + "compName": "GUIsel2_4#0", + "pinName": "B2" }, - "name": "unnamedWire#41", + "name": "unnamedWire#16", "path": [ { - "x": 95.0, - "y": 590.0 - }, - { - "x": 95.0, - "y": 150.0 - }, - { - "x": 32.5, - "y": 150.0 - }, - { - "x": 32.5, - "y": 110.0 + "x": 15.0, + "y": 440.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S1" + "compName": "GUIsel2_4#0", + "pinName": "B3" }, - "name": "unnamedWire#40", + "name": "unnamedWire#17", "path": [ { - "x": 92.5, - "y": 580.0 - }, - { - "x": 92.5, - "y": 152.5 - }, - { - "x": 30.0, - "y": 152.5 - }, - { - "x": 30.0, - "y": 100.0 + "x": 20.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y4" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S4" + "compName": "GUIsel2_4#0", + "pinName": "B4" }, - "name": "unnamedWire#43", + "name": "unnamedWire#18", "path": [ { - "x": 100.0, - "y": 610.0 - }, - { - "x": 100.0, - "y": 145.0 - }, - { - "x": 37.5, - "y": 145.0 - }, - { - "x": 37.5, - "y": 130.0 + "x": 25.0, + "y": 460.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S3" + "compName": "GUIsel3_4#0", + "pinName": "A1" }, - "name": "unnamedWire#42", + "name": "unnamedWire#19", "path": [ { - "x": 97.5, - "y": 600.0 - }, - { - "x": 97.5, - "y": 147.5 - }, - { - "x": 35.0, - "y": 147.5 - }, - { - "x": 35.0, - "y": 120.0 + "x": 10.0, + "y": 610.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F2" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "I3" }, - "name": "unnamedWire#45", + "name": "unnamedWire#2", "path": [ { - "x": 135.0, - "y": 30.0 + "x": 15.0, + "y": 100.0 }, { - "x": 135.0, - "y": 60.0 + "x": 15.0, + "y": 40.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F1" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F1" + "compName": "GUIsel3_4#0", + "pinName": "A2" }, - "name": "unnamedWire#44", - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 15.0, + "y": 620.0 + } + ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F4" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F4" + "compName": "GUIsel3_4#0", + "pinName": "A3" }, - "name": "unnamedWire#47", + "name": "unnamedWire#21", "path": [ { - "x": 125.0, - "y": 50.0 - }, - { - "x": 125.0, - "y": 140.0 + "x": 20.0, + "y": 630.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F3" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F3" + "compName": "GUIsel3_4#0", + "pinName": "A4" }, - "name": "unnamedWire#46", - "path": [ - { - "x": 130.0, - "y": 40.0 - }, + "name": "unnamedWire#22", + "path": [ { - "x": 130.0, - "y": 100.0 + "x": 25.0, + "y": 640.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "OVR" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OVR" + "compName": "GUIsel3_4#0", + "pinName": "B1" }, - "name": "unnamedWire#49", + "name": "unnamedWire#23", "path": [ { - "x": 115.0, - "y": 70.0 + "x": 5.0, + "y": 620.0 }, { - "x": 115.0, - "y": 220.0 + "x": 5.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "Cn+4" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "compName": "GUIsel3_4#0", + "pinName": "B2" }, - "name": "unnamedWire#48", - "path": [ - { - "x": 120.0, - "y": 60.0 - }, - { - "x": 120.0, - "y": 180.0 - } - ] + "name": "unnamedWire#24", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D3" + "pinName": "B3" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A3" + "compName": "GUIsel3_4#0", + "pinName": "B3" }, - "name": "unnamedWire#9", + "name": "unnamedWire#25", "path": [ { "x": 5.0, - "y": 380.0 + "y": 700.0 }, { "x": 5.0, - "y": 410.0 + "y": 670.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "B4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A2" + "compName": "GUIsel3_4#0", + "pinName": "B4" }, - "name": "unnamedWire#8", + "name": "unnamedWire#26", "path": [ { "x": 10.0, - "y": 340.0 + "y": 740.0 }, { "x": 10.0, - "y": 400.0 + "y": 680.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D1" + "pinName": "Q1" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A1" + "compName": "GUIsel3_4#0", + "pinName": "C1" }, - "name": "unnamedWire#7", + "name": "unnamedWire#27", "path": [ { "x": 15.0, - "y": 300.0 + "y": 780.0 }, { "x": 15.0, - "y": 390.0 + "y": 690.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Cn" + "pinName": "Q2" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "Cn" + "compName": "GUIsel3_4#0", + "pinName": "C2" }, - "name": "unnamedWire#6", + "name": "unnamedWire#28", "path": [ { - "x": 10.0, - "y": 260.0 + "x": 20.0, + "y": 820.0 }, { - "x": 10.0, - "y": 50.0 + "x": 20.0, + "y": 700.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I4" + "pinName": "Q3" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I4" + "compName": "GUIsel3_4#0", + "pinName": "C3" }, - "name": "unnamedWire#1", + "name": "unnamedWire#29", "path": [ { - "x": 5.0, - "y": 60.0 + "x": 25.0, + "y": 860.0 }, { - "x": 5.0, - "y": 30.0 + "x": 25.0, + "y": 710.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I5" - }, - "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I5" - }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I0" + "pinName": "I2" }, "pin2": { "compName": "GUIAm2901SourceDecode#0", - "pinName": "I0" + "pinName": "I2" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [ { "x": 5.0, - "y": 220.0 + "y": 140.0 }, { "x": 5.0, - "y": 190.0 + "y": 170.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D4" + "pinName": "Q4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A4" + "compName": "GUIsel3_4#0", + "pinName": "C4" }, - "name": "unnamedWire#10", - "path": [] + "name": "unnamedWire#30", + "path": [ + { + "x": 30.0, + "y": 900.0 + }, + { + "x": 30.0, + "y": 720.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" - }, - "pin2": { "compName": "GUIAm2901SourceDecode#0", - "pinName": "I1" - }, - "name": "unnamedWire#4", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I2" + "pinName": "SQ" }, "pin2": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "I2" + "compName": "GUIsel3_4#0", + "pinName": "SC" }, - "name": "unnamedWire#3", + "name": "unnamedWire#31", "path": [ { - "x": 5.0, - "y": 140.0 + "x": 75.0, + "y": 170.0 }, { - "x": 5.0, - "y": 170.0 + "x": 75.0, + "y": 240.0 + }, + { + "x": 30.0, + "y": 240.0 + }, + { + "x": 30.0, + "y": 600.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "RA" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I3" + "compName": "GUIsel2_4#0", + "pinName": "SB" }, - "name": "unnamedWire#2", + "name": "unnamedWire#32", "path": [ { - "x": 15.0, - "y": 100.0 + "x": 70.0, + "y": 180.0 }, { - "x": 15.0, - "y": 40.0 + "x": 70.0, + "y": 235.0 + }, + { + "x": 20.0, + "y": 235.0 + }, + { + "x": 20.0, + "y": 380.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "SB" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "SB" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#33", + "path": [ + { + "x": 65.0, + "y": 190.0 + }, + { + "x": 65.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 590.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "SA" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "SA" }, - "name": "unnamedWire#14", - "path": [] + "name": "unnamedWire#34", + "path": [ + { + "x": 60.0, + "y": 200.0 + }, + { + "x": 60.0, + "y": 225.0 + }, + { + "x": 40.0, + "y": 225.0 + }, + { + "x": 40.0, + "y": 580.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "RD" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "SA" }, - "name": "unnamedWire#13", - "path": [] + "name": "unnamedWire#35", + "path": [ + { + "x": 55.0, + "y": 210.0 + }, + { + "x": 55.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 370.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R1" }, - "name": "unnamedWire#16", + "name": "unnamedWire#36", "path": [ { - "x": 15.0, - "y": 440.0 + "x": 82.5, + "y": 370.0 + }, + { + "x": 82.5, + "y": 162.5 + }, + { + "x": 20.0, + "y": 162.5 + }, + { + "x": 20.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B1" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R2" }, - "name": "unnamedWire#15", + "name": "unnamedWire#37", "path": [ { - "x": 10.0, - "y": 430.0 + "x": 85.0, + "y": 380.0 + }, + { + "x": 85.0, + "y": 160.0 + }, + { + "x": 22.5, + "y": 160.0 + }, + { + "x": 22.5, + "y": 70.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B4" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R3" }, - "name": "unnamedWire#18", + "name": "unnamedWire#38", "path": [ + { + "x": 87.5, + "y": 390.0 + }, + { + "x": 87.5, + "y": 157.5 + }, { "x": 25.0, - "y": 460.0 + "y": 157.5 + }, + { + "x": 25.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R4" }, - "name": "unnamedWire#17", + "name": "unnamedWire#39", "path": [ { - "x": 20.0, - "y": 450.0 + "x": 90.0, + "y": 400.0 + }, + { + "x": 90.0, + "y": 155.0 + }, + { + "x": 27.5, + "y": 155.0 + }, + { + "x": 27.5, + "y": 90.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { + "compName": "GUIAm2901SourceDecode#0", + "pinName": "I1" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { "compName": "GUIsel3_4#0", - "pinName": "A1" + "pinName": "Y1" }, - "name": "unnamedWire#19", + "pin2": { + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S1" + }, + "name": "unnamedWire#40", "path": [ { - "x": 10.0, - "y": 610.0 + "x": 92.5, + "y": 580.0 + }, + { + "x": 92.5, + "y": 152.5 + }, + { + "x": 30.0, + "y": 152.5 + }, + { + "x": 30.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S2" }, - "name": "unnamedWire#21", + "name": "unnamedWire#41", "path": [ { - "x": 20.0, - "y": 630.0 + "x": 95.0, + "y": 590.0 + }, + { + "x": 95.0, + "y": 150.0 + }, + { + "x": 32.5, + "y": 150.0 + }, + { + "x": 32.5, + "y": 110.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S3" }, - "name": "unnamedWire#20", + "name": "unnamedWire#42", "path": [ { - "x": 15.0, - "y": 620.0 + "x": 97.5, + "y": 600.0 + }, + { + "x": 97.5, + "y": 147.5 + }, + { + "x": 35.0, + "y": 147.5 + }, + { + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUIsel3_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B1" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S4" }, - "name": "unnamedWire#23", + "name": "unnamedWire#43", "path": [ { - "x": 5.0, - "y": 620.0 + "x": 100.0, + "y": 610.0 }, { - "x": 5.0, - "y": 650.0 + "x": 100.0, + "y": 145.0 + }, + { + "x": 37.5, + "y": 145.0 + }, + { + "x": 37.5, + "y": 130.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A4" + "compName": "_submodelinterface", + "pinName": "F1" }, - "name": "unnamedWire#22", - "path": [ - { - "x": 25.0, - "y": 640.0 - } - ] + "name": "unnamedWire#44", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B3" + "compName": "_submodelinterface", + "pinName": "F2" }, - "name": "unnamedWire#25", + "name": "unnamedWire#45", "path": [ { - "x": 5.0, - "y": 700.0 + "x": 135.0, + "y": 30.0 }, { - "x": 5.0, - "y": 670.0 + "x": 135.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B2" - }, - "name": "unnamedWire#24", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "Q1" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C1" + "pinName": "F3" }, - "name": "unnamedWire#27", + "name": "unnamedWire#46", "path": [ { - "x": 15.0, - "y": 780.0 + "x": 130.0, + "y": 40.0 }, { - "x": 15.0, - "y": 690.0 + "x": 130.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B4" + "compName": "_submodelinterface", + "pinName": "F4" }, - "name": "unnamedWire#26", + "name": "unnamedWire#47", "path": [ { - "x": 10.0, - "y": 740.0 + "x": 125.0, + "y": 50.0 }, { - "x": 10.0, - "y": 680.0 + "x": 125.0, + "y": 140.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Q3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "Cn+4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C3" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, - "name": "unnamedWire#29", + "name": "unnamedWire#48", "path": [ { - "x": 25.0, - "y": 860.0 + "x": 120.0, + "y": 60.0 }, { - "x": 25.0, - "y": 710.0 + "x": 120.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Q2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "OVR" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "OVR" }, - "name": "unnamedWire#28", + "name": "unnamedWire#49", "path": [ { - "x": 20.0, - "y": 820.0 + "x": 115.0, + "y": 70.0 }, { - "x": 20.0, - "y": 700.0 + "x": 115.0, + "y": 220.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Q4" + "pinName": "I0" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C4" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "I0" }, - "name": "unnamedWire#30", + "name": "unnamedWire#5", "path": [ { - "x": 30.0, - "y": 900.0 + "x": 5.0, + "y": 220.0 }, { - "x": 30.0, - "y": 720.0 + "x": 5.0, + "y": 190.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "RA" + "compName": "_submodelinterface", + "pinName": "Cn" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SB" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "Cn" }, - "name": "unnamedWire#32", + "name": "unnamedWire#6", "path": [ { - "x": 70.0, - "y": 180.0 - }, - { - "x": 70.0, - "y": 235.0 - }, - { - "x": 20.0, - "y": 235.0 + "x": 10.0, + "y": 260.0 }, { - "x": 20.0, - "y": 380.0 + "x": 10.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SQ" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SC" + "compName": "GUIsel2_4#0", + "pinName": "A1" }, - "name": "unnamedWire#31", + "name": "unnamedWire#7", "path": [ { - "x": 75.0, - "y": 170.0 - }, - { - "x": 75.0, - "y": 240.0 - }, - { - "x": 30.0, - "y": 240.0 + "x": 15.0, + "y": 300.0 }, { - "x": 30.0, - "y": 600.0 + "x": 15.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SA" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SA" + "compName": "GUIsel2_4#0", + "pinName": "A2" }, - "name": "unnamedWire#34", + "name": "unnamedWire#8", "path": [ { - "x": 60.0, - "y": 200.0 - }, - { - "x": 60.0, - "y": 225.0 - }, - { - "x": 40.0, - "y": 225.0 + "x": 10.0, + "y": 340.0 }, { - "x": 40.0, - "y": 580.0 + "x": 10.0, + "y": 400.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SB" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SB" + "compName": "GUIsel2_4#0", + "pinName": "A3" }, - "name": "unnamedWire#33", + "name": "unnamedWire#9", "path": [ { - "x": 65.0, - "y": 190.0 - }, - { - "x": 65.0, - "y": 230.0 - }, - { - "x": 35.0, - "y": 230.0 + "x": 5.0, + "y": 380.0 }, { - "x": 35.0, - "y": 590.0 + "x": 5.0, + "y": 410.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1360,5 +1389,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json index b32a2b18..1fd3ed88 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, @@ -6,95 +5,106 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 35.0 + "y": 5.0 }, - "name": "R", - "logicWidth": 1 + "name": "Cin", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 25.0 }, - "name": "S", - "logicWidth": 1 + "name": "CinE", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 15.0 + "y": 5.0 }, - "name": "F", - "logicWidth": 1 + "name": "Cout", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 15.0 }, - "name": "FN", - "logicWidth": 1 + "name": "CoutE", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 15.0 }, - "name": "Cin", - "logicWidth": 1 + "name": "F", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 75.0 }, - "name": "SN", - "logicWidth": 1 + "name": "FN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 85.0 }, - "name": "Cout", - "logicWidth": 1 + "name": "L", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 35.0 }, - "name": "RN", - "logicWidth": 1 + "name": "R", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 45.0 }, - "name": "L", - "logicWidth": 1 + "name": "RN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 55.0 }, - "name": "CinE", - "logicWidth": 1 + "name": "S", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 65.0 }, - "name": "CoutE", - "logicWidth": 1 + "name": "SN", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -105,22 +115,28 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIand", + "name": "GUIand#0", "pos": { - "x": 54.0, - "y": 69.0 - }, - "params": 1 + "x": 10.0, + "y": 20.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUIand", + "name": "GUIand#1", "pos": { - "x": 49.0, - "y": 59.0 - }, - "params": 1 + "x": 135.0, + "y": 20.0 + } + }, + { + "id": "GUIfulladder", + "name": "GUIfulladder#0", + "pos": { + "x": 60.0, + "y": 20.0 + } }, { "id": "GUImux1", @@ -131,11 +147,11 @@ mograsim version: 0.1.3 } }, { - "id": "GUIand", - "name": "GUIand#0", + "id": "GUIxor", + "name": "GUIxor#0", "pos": { "x": 10.0, - "y": 20.0 + "y": 190.0 } }, { @@ -155,284 +171,264 @@ mograsim version: 0.1.3 } }, { - "id": "GUIfulladder", - "name": "GUIfulladder#0", - "pos": { - "x": 60.0, - "y": 20.0 - } - }, - { - "id": "GUIxor", - "name": "GUIxor#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 10.0, - "y": 190.0 - } + "x": 49.0, + "y": 59.0 + }, + "params": 1 }, { - "id": "GUIand", - "name": "GUIand#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 135.0, - "y": 20.0 - } + "x": 54.0, + "y": 69.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cin" }, "pin2": { - "compName": "GUIfulladder#0", - "pinName": "C" + "compName": "GUIand#0", + "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "CoutE" + }, + "pin2": { + "compName": "GUIand#1", + "pinName": "A" + }, + "name": "unnamedWire#1", "path": [ { - "x": 55.0, - "y": 45.0 + "x": 5.0, + "y": 75.0 + }, + { + "x": 5.0, + "y": 10.0 + }, + { + "x": 130.0, + "y": 10.0 + }, + { + "x": 130.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "GUIxor#1", + "compName": "GUIxor#0", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#13", + "name": "unnamedWire#10", "path": [ { - "x": 55.0, - "y": 295.0 + "x": 50.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIfulladder#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I0" + "compName": "GUIfulladder#0", + "pinName": "B" }, - "name": "unnamedWire#16", + "name": "unnamedWire#11", "path": [ { - "x": 100.0, - "y": 25.0 - }, - { - "x": 100.0, - "y": 65.0 - }, - { - "x": 85.0, - "y": 65.0 - }, - { - "x": 85.0, - "y": 85.0 + "x": 50.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#15", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUIxor#1", "pinName": "Y" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I1" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#13", "path": [ { - "x": 82.5, - "y": 65.0 - }, - { - "x": 82.5, - "y": 95.0 + "x": 55.0, + "y": 295.0 } ] }, { "pin1": { - "compName": "GUIfulladder#0", - "pinName": "Z" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIand#1", - "pinName": "B" + "compName": "GUIfulladder#0", + "pinName": "C" }, - "name": "unnamedWire#17", - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 55.0, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "GUImux1#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIxor#2", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#19", + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" - }, - "pin2": { "compName": "GUIfulladder#0", - "pinName": "A" - }, - "name": "unnamedWire#9", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "L" + "pinName": "Y" }, "pin2": { "compName": "GUImux1#0", - "pinName": "S0" + "pinName": "I0" }, - "name": "unnamedWire#8", + "name": "unnamedWire#16", "path": [ { - "x": 87.5, - "y": 425.0 + "x": 100.0, + "y": 25.0 }, { - "x": 87.5, - "y": 75.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "FN" - }, - "pin2": { - "compName": "GUIxor#2", - "pinName": "B" - }, - "name": "unnamedWire#7", - "path": [ + "x": 100.0, + "y": 65.0 + }, { - "x": 130.0, - "y": 375.0 + "x": 85.0, + "y": 65.0 }, { - "x": 130.0, + "x": 85.0, "y": 85.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SN" + "compName": "GUIfulladder#0", + "pinName": "Z" }, "pin2": { - "compName": "GUIxor#1", + "compName": "GUIand#1", "pinName": "B" }, - "name": "unnamedWire#6" + "name": "unnamedWire#17", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "CoutE" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#1", - "pinName": "A" + "compName": "GUImux1#0", + "pinName": "I1" }, - "name": "unnamedWire#1", + "name": "unnamedWire#18", "path": [ { - "x": 5.0, - "y": 75.0 - }, - { - "x": 5.0, - "y": 10.0 - }, - { - "x": 130.0, - "y": 10.0 + "x": 82.5, + "y": 65.0 }, { - "x": 130.0, - "y": 25.0 + "x": 82.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Cin" + "compName": "GUImux1#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUIxor#2", "pinName": "A" }, - "name": "unnamedWire#0", + "name": "unnamedWire#19", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "S" + "pinName": "CinE" }, "pin2": { - "compName": "GUIxor#1", - "pinName": "A" + "compName": "GUIand#0", + "pinName": "B" }, - "name": "unnamedWire#5" + "name": "unnamedWire#2", + "path": [ + { + "x": 7.5, + "y": 125.0 + }, + { + "x": 7.5, + "y": 35.0 + } + ] }, { "pin1": { - "compName": "GUIxor#0", + "compName": "GUIand#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cout" }, - "name": "unnamedWire#10", - "path": [ - { - "x": 50.0, - "y": 195.0 - } - ] + "name": "unnamedWire#20", + "path": [] }, { "pin1": { @@ -449,88 +445,103 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "RN" + "pinName": "R" }, "pin2": { "compName": "GUIxor#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#4" + "name": "unnamedWire#3" }, { "pin1": { - "compName": "GUIand#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "RN" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cout" + "compName": "GUIxor#0", + "pinName": "B" }, - "name": "unnamedWire#20", - "path": [] + "name": "unnamedWire#4" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "R" + "pinName": "S" }, "pin2": { - "compName": "GUIxor#0", + "compName": "GUIxor#1", "pinName": "A" }, - "name": "unnamedWire#3" + "name": "unnamedWire#5" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "SN" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIxor#1", + "pinName": "B" }, - "name": "unnamedWire#12", - "path": [] + "name": "unnamedWire#6" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "CinE" + "pinName": "FN" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUIxor#2", "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [ { - "x": 7.5, - "y": 125.0 + "x": 130.0, + "y": 375.0 }, { - "x": 7.5, - "y": 35.0 + "x": 130.0, + "y": 85.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "L" }, "pin2": { - "compName": "GUIfulladder#0", - "pinName": "B" + "compName": "GUImux1#0", + "pinName": "S0" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", "path": [ { - "x": 50.0, - "y": 35.0 + "x": 87.5, + "y": 425.0 + }, + { + "x": 87.5, + "y": 75.0 } ] + }, + { + "pin1": { + "compName": "GUIand#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIfulladder#0", + "pinName": "A" + }, + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -540,5 +551,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json index 38f5fa63..0b2d6111 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json @@ -1,55 +1,60 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, "interfacePins": [ { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "LSH", - "logicWidth": 1 + "name": "I6", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 15.0 }, - "name": "NSH", - "logicWidth": 1 + "name": "I7", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 5.0 }, - "name": "RSH", - "logicWidth": 1 + "name": "I8", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 45.0 }, - "name": "I6", - "logicWidth": 1 + "name": "LSH", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "YF", - "logicWidth": 1 + "name": "NSH", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 55.0 }, - "name": "I7", - "logicWidth": 1 + "name": "QWE", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -57,70 +62,73 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "RAMWE", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 55.0 + "y": 15.0 }, - "name": "QWE", - "logicWidth": 1 + "name": "RSH", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 35.0 }, - "name": "I8", - "logicWidth": 1 + "name": "YF", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 15.0, - "y": 50.0 + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 74.0, - "y": 159.0 + "x": 15.0, + "y": 50.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#10", "pos": { - "x": 15.0, - "y": 10.0 + "x": 80.0, + "y": 145.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { - "x": 74.0, - "y": 104.0 + "x": 110.0, + "y": 105.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#12", "pos": { - "x": 15.0, - "y": 150.0 + "x": 115.0, + "y": 210.0 }, "params": 1 }, @@ -134,300 +142,313 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 109.0, - "y": 214.0 + "x": 15.0, + "y": 150.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 4.0, - "y": 14.0 + "x": 50.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 4.0, - "y": 19.0 + "x": 50.0, + "y": 50.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 9.0, - "y": 59.0 + "x": 50.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 4.0, - "y": 24.0 + "x": 50.0, + "y": 130.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 9.0, - "y": 104.0 + "x": 80.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { - "x": 9.0, - "y": 64.0 + "x": 80.0, + "y": 90.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#0", "pos": { - "x": 39.0, - "y": 59.0 + "x": 4.0, + "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 154.0 + "y": 14.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#10", "pos": { - "x": 44.0, - "y": 54.0 + "x": 39.0, + "y": 134.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#11", "pos": { - "x": 44.0, + "x": 74.0, "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#12", "pos": { - "x": 39.0, - "y": 134.0 + "x": 74.0, + "y": 99.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#13", "pos": { "x": 74.0, - "y": 99.0 + "y": 104.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#14", "pos": { "x": 74.0, - "y": 19.0 + "y": 159.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 115.0, - "y": 210.0 + "x": 109.0, + "y": 214.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#11", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 110.0, - "y": 105.0 + "x": 4.0, + "y": 24.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#10", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 80.0, - "y": 145.0 + "x": 9.0, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 80.0, - "y": 90.0 + "x": 9.0, + "y": 64.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 80.0, - "y": 10.0 + "x": 9.0, + "y": 104.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 50.0, - "y": 50.0 + "x": 4.0, + "y": 154.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { - "x": 50.0, - "y": 10.0 + "x": 39.0, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { - "x": 50.0, - "y": 130.0 + "x": 44.0, + "y": 19.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 50.0, - "y": 90.0 + "x": 44.0, + "y": 54.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I8" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#14", - "path": [ - { - "x": 5.0, - "y": 165.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "LSH" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#36", - "path": [ - { - "x": 125.0, - "y": 140.0 - }, - { - "x": 125.0, - "y": 180.0 - } - ] + "name": "unnamedWire#1", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#13", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#35", - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 5.0, + "y": 95.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I6" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#16", - "path": [] + "name": "unnamedWire#12", + "path": [ + { + "x": 5.0, + "y": 100.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#38", + "name": "unnamedWire#13", "path": [] }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 5.0, + "y": 165.0 + } + ] + }, { "pin1": { "compName": "WireCrossPoint#1", @@ -455,20 +476,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "A" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#37", - "path": [ - { - "x": 75.0, - "y": 150.0 - } - ] + "name": "unnamedWire#16", + "path": [] }, { "pin1": { @@ -476,14 +492,14 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "B" }, - "name": "unnamedWire#18", + "name": "unnamedWire#17", "path": [ { "x": 40.0, - "y": 65.0 + "y": 25.0 } ] }, @@ -493,29 +509,17 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#17", + "name": "unnamedWire#18", "path": [ { "x": 40.0, - "y": 25.0 + "y": 65.0 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#10", - "pinName": "B" - }, - "name": "unnamedWire#39", - "path": [] - }, { "pin1": { "compName": "GUINandGate#0", @@ -530,33 +534,38 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", - "pinName": "A" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#41" + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { "compName": "_submodelinterface", - "pinName": "RSH" + "pinName": "NSH" }, - "name": "unnamedWire#40", + "name": "unnamedWire#20", "path": [ { - "x": 130.0, - "y": 20.0 + "x": 45.0, + "y": 5.0 }, { - "x": 130.0, - "y": 60.0 + "x": 135.0, + "y": 5.0 + }, + { + "x": 135.0, + "y": 20.0 } ] }, @@ -574,503 +583,503 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, - "name": "unnamedWire#43", - "path": [ - { - "x": 110.0, - "y": 155.0 - } - ] + "name": "unnamedWire#22", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "NSH" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#20", + "name": "unnamedWire#23", "path": [ { "x": 45.0, - "y": 5.0 - }, - { - "x": 135.0, - "y": 5.0 - }, - { - "x": 135.0, - "y": 20.0 + "y": 95.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#42", + "name": "unnamedWire#24", "path": [ { - "x": 75.0, - "y": 170.0 + "x": 10.0, + "y": 115.0 }, { - "x": 105.0, - "y": 170.0 + "x": 45.0, + "y": 115.0 }, { - "x": 105.0, - "y": 120.0 + "x": 45.0, + "y": 105.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#25", "path": [ { - "x": 45.0, - "y": 95.0 + "x": 40.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#7", + "pinName": "A" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#45", + "name": "unnamedWire#27", "path": [ { - "x": 110.0, - "y": 225.0 + "x": 40.0, + "y": 145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "A" + "compName": "WireCrossPoint#11", + "pinName": "" }, - "name": "unnamedWire#22", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#8", "pinName": "A" }, - "name": "unnamedWire#44", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "name": "unnamedWire#25", + "name": "unnamedWire#29", "path": [ { - "x": 40.0, - "y": 100.0 + "x": 75.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "GUINandGate#12", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QWE" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#47", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#8", "pinName": "B" }, - "name": "unnamedWire#24", + "name": "unnamedWire#30", "path": [ { - "x": 10.0, - "y": 115.0 - }, - { - "x": 45.0, - "y": 115.0 - }, - { - "x": 45.0, - "y": 105.0 + "x": 75.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "YF" - }, - "name": "unnamedWire#46" - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "pinName": "RAMWE" }, - "name": "unnamedWire#27", + "name": "unnamedWire#31", "path": [ { - "x": 40.0, - "y": 145.0 + "x": 125.0, + "y": 60.0 + }, + { + "x": 125.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#26", + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#9", "pinName": "A" }, - "name": "unnamedWire#29", + "name": "unnamedWire#33", "path": [ { "x": 75.0, - "y": 15.0 + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "name": "unnamedWire#28", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#13", "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#9", "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "LSH" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#36", + "path": [ + { + "x": 125.0, + "y": 140.0 + }, + { + "x": 125.0, + "y": 180.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#10", "pinName": "A" }, - "name": "unnamedWire#6", + "name": "unnamedWire#37", "path": [ { - "x": 10.0, - "y": 55.0 + "x": 75.0, + "y": 150.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I8" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "B" }, - "name": "unnamedWire#0", + "name": "unnamedWire#39", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#0", "pinName": "B" }, - "name": "unnamedWire#30", + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "RSH" + }, + "name": "unnamedWire#40", "path": [ { - "x": 75.0, - "y": 25.0 + "x": 130.0, + "y": 20.0 + }, + { + "x": 130.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I7" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "A" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#41" }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#11", "pinName": "B" }, - "name": "unnamedWire#10", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 75.0, + "y": 170.0 + }, + { + "x": 105.0, + "y": 170.0 + }, + { + "x": 105.0, + "y": 120.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#10", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#15", "pinName": "" }, - "name": "unnamedWire#32", - "path": [] + "name": "unnamedWire#43", + "path": [ + { + "x": 110.0, + "y": 155.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#12", + "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RAMWE" + "compName": "GUINandGate#12", + "pinName": "B" }, - "name": "unnamedWire#31", + "name": "unnamedWire#45", "path": [ { - "x": 125.0, - "y": 60.0 - }, - { - "x": 125.0, - "y": 100.0 + "x": 110.0, + "y": 225.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "YF" }, - "name": "unnamedWire#3", + "name": "unnamedWire#46" + }, + { + "pin1": { + "compName": "GUINandGate#12", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QWE" + }, + "name": "unnamedWire#47", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I6" + "pinName": "I7" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 5.0, - "y": 100.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#34", - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 10.0, + "y": 55.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#11", - "path": [ - { - "x": 5.0, - "y": 95.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#33", - "path": [ - { - "x": 75.0, - "y": 95.0 - } - ] + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1080,5 +1089,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json index cb28db67..112fecb7 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json @@ -1,23 +1,15 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 50.0, "interfacePins": [ - { - "location": { - "x": 35.0, - "y": 45.0 - }, - "name": "RD", - "logicWidth": 1 - }, { "location": { "x": 0.0, "y": 25.0 }, "name": "I0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,31 +26,35 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "I2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 15.0 }, - "name": "SQ", - "logicWidth": 1 + "name": "RA", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 45.0 }, - "name": "SA", - "logicWidth": 1 + "name": "RD", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 15.0 + "y": 35.0 }, - "name": "RA", - "logicWidth": 1 + "name": "SA", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,162 +62,172 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "SB", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 5.0 + }, + "name": "SQ", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 10.0, - "y": 50.0 + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 94.0, - "y": 19.0 + "x": 10.0, + "y": 50.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#10", "pos": { - "x": 10.0, - "y": 10.0 + "x": 70.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { - "x": 64.0, - "y": 139.0 + "x": 70.0, + "y": 130.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#12", "pos": { - "x": 40.0, - "y": 10.0 + "x": 70.0, + "y": 170.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#13", "pos": { - "x": 10.0, - "y": 90.0 + "x": 100.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUINandGate", + "name": "GUINandGate#14", "pos": { - "x": 94.0, - "y": 179.0 + "x": 100.0, + "y": 170.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 6.5, - "y": 19.0 + "x": 10.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 4.0, - "y": 19.0 + "x": 40.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 6.5, - "y": 59.0 + "x": 40.0, + "y": 50.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 4.0, - "y": 144.0 + "x": 40.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 6.5, - "y": 104.0 + "x": 40.0, + "y": 130.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 6.5, - "y": 99.0 + "x": 40.0, + "y": 170.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 34.0, - "y": 59.0 + "x": 70.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { - "x": 31.5, - "y": 54.0 + "x": 70.0, + "y": 50.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#0", "pos": { - "x": 34.0, - "y": 134.0 + "x": 4.0, + "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#1", "pos": { - "x": 34.0, - "y": 64.0 + "x": 6.5, + "y": 19.0 }, "params": 1 }, @@ -235,481 +242,472 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#11", "pos": { "x": 64.0, - "y": 99.0 + "y": 59.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#12", "pos": { "x": 64.0, - "y": 59.0 + "y": 99.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { - "x": 70.0, - "y": 170.0 + "x": 64.0, + "y": 139.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#11", + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { - "x": 70.0, - "y": 130.0 + "x": 94.0, + "y": 19.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#14", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 100.0, - "y": 170.0 + "x": 94.0, + "y": 179.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#13", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 100.0, - "y": 10.0 + "x": 4.0, + "y": 144.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#10", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 70.0, - "y": 90.0 + "x": 6.5, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 70.0, - "y": 50.0 + "x": 6.5, + "y": 99.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 70.0, - "y": 10.0 + "x": 6.5, + "y": 104.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 40.0, - "y": 90.0 + "x": 31.5, + "y": 54.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { - "x": 40.0, - "y": 50.0 + "x": 34.0, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { - "x": 40.0, - "y": 170.0 + "x": 34.0, + "y": 64.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 40.0, - "y": 130.0 + "x": 34.0, + "y": 134.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I2" }, "pin2": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#36", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "B" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#35", + "name": "unnamedWire#1", "path": [ { - "x": 65.0, - "y": 105.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#11", - "pinName": "B" - }, - "name": "unnamedWire#38", - "path": [ + "x": 5.0, + "y": 5.0 + }, { - "x": 65.0, - "y": 145.0 + "x": 35.0, + "y": 5.0 + }, + { + "x": 35.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", "path": [ { - "x": 65.0, - "y": 135.0 + "x": 7.5, + "y": 65.0 } ] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I0" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "A" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#39" + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#13", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#41", + "name": "unnamedWire#12", "path": [ { - "x": 95.0, - "y": 15.0 + "x": 7.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RA" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#43", + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#13", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#42", + "name": "unnamedWire#15", "path": [ { - "x": 95.0, - "y": 25.0 + "x": 7.5, + "y": 112.5 + }, + { + "x": 32.5, + "y": 112.5 + }, + { + "x": 32.5, + "y": 105.0 } ] }, { "pin1": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SA" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#45", - "path": [] + "name": "unnamedWire#16", + "path": [ + { + "x": 32.5, + "y": 20.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SB" + "compName": "GUINandGate#4", + "pinName": "A" }, - "name": "unnamedWire#44", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#14", + "compName": "GUINandGate#5", "pinName": "A" }, - "name": "unnamedWire#47", + "name": "unnamedWire#18", "path": [ { - "x": 95.0, - "y": 175.0 + "x": 32.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#46", + "name": "unnamedWire#19", "path": [] }, { "pin1": { - "compName": "GUINandGate#13", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SQ" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#49", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#14", + "compName": "GUINandGate#3", "pinName": "B" }, - "name": "unnamedWire#48", + "name": "unnamedWire#20", "path": [ { - "x": 95.0, - "y": 185.0 + "x": 35.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 7.5, - "y": 55.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "B" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#7", - "path": [ - { - "x": 5.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 185.0 - } - ] + "name": "unnamedWire#23", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { "compName": "GUINandGate#6", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#6", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#7", "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#25", "path": [ - { - "x": 5.0, - "y": 5.0 - }, - { - "x": 35.0, - "y": 5.0 - }, { "x": 35.0, - "y": 15.0 + "y": 175.0 } ] }, { "pin1": { - "compName": "GUINandGate#14", + "compName": "GUINandGate#2", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RD" - }, - "name": "unnamedWire#50", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I2" - }, - "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#10", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#8", + "pinName": "B" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#27", + "path": [ + { + "x": 37.5, + "y": 35.0 + }, + { + "x": 65.0, + "y": 35.0 + }, + { + "x": 65.0, + "y": 25.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#28", "path": [ { - "x": 7.5, - "y": 65.0 + "x": 37.5, + "y": 185.0 } ] }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "A" + }, + "name": "unnamedWire#29" + }, { "pin1": { "compName": "WireCrossPoint#1", @@ -717,404 +715,414 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#3", "path": [ { "x": 7.5, - "y": 25.0 + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "GUINandGate#4", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#30", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#9", "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#31", "path": [ { - "x": 7.5, - "y": 15.0 + "x": 65.0, + "y": 55.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#9", + "pinName": "B" }, - "name": "unnamedWire#12", + "name": "unnamedWire#32", "path": [ { - "x": 7.5, - "y": 95.0 + "x": 65.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#12", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I0" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "A" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#34", + "path": [ + { + "x": 65.0, + "y": 95.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#10", "pinName": "B" }, - "name": "unnamedWire#14", - "path": [] + "name": "unnamedWire#35", + "path": [ + { + "x": 65.0, + "y": 105.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#13", "pinName": "" }, - "name": "unnamedWire#13", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "A" }, - "name": "unnamedWire#16", + "name": "unnamedWire#37", "path": [ { - "x": 32.5, - "y": 20.0 + "x": 65.0, + "y": 135.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#11", "pinName": "B" }, - "name": "unnamedWire#15", + "name": "unnamedWire#38", "path": [ { - "x": 7.5, - "y": 112.5 - }, - { - "x": 32.5, - "y": 112.5 - }, - { - "x": 32.5, - "y": 105.0 + "x": 65.0, + "y": 145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#12", "pinName": "A" }, - "name": "unnamedWire#18", - "path": [ - { - "x": 32.5, - "y": 95.0 - } - ] + "name": "unnamedWire#39" }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#17", - "path": [] + "name": "unnamedWire#4", + "path": [ + { + "x": 7.5, + "y": 25.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#8", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#19", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#13", + "pinName": "A" }, - "name": "unnamedWire#21", - "path": [] + "name": "unnamedWire#41", + "path": [ + { + "x": 95.0, + "y": 15.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#13", "pinName": "B" }, - "name": "unnamedWire#20", + "name": "unnamedWire#42", "path": [ { - "x": 35.0, + "x": 95.0, "y": 25.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "RA" }, - "name": "unnamedWire#23", + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "SB" }, - "name": "unnamedWire#22", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "SA" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 35.0, - "y": 175.0 - } - ] + "name": "unnamedWire#45", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#12", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#24", + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "B" + "compName": "GUINandGate#14", + "pinName": "A" }, - "name": "unnamedWire#27", + "name": "unnamedWire#47", "path": [ { - "x": 37.5, - "y": 35.0 - }, - { - "x": 65.0, - "y": 35.0 - }, - { - "x": 65.0, - "y": 25.0 + "x": 95.0, + "y": 175.0 } ] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUINandGate#14", + "pinName": "B" }, - "name": "unnamedWire#26", - "path": [] + "name": "unnamedWire#48", + "path": [ + { + "x": 95.0, + "y": 185.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#13", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "SQ" }, - "name": "unnamedWire#29" + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#28", - "path": [ - { - "x": 37.5, - "y": 185.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#14", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "RD" }, - "name": "unnamedWire#30", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#32", - "path": [ - { - "x": 65.0, - "y": 65.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "A" + "compName": "GUINandGate#12", + "pinName": "B" }, - "name": "unnamedWire#31", + "name": "unnamedWire#7", "path": [ + { + "x": 5.0, + "y": 195.0 + }, { "x": 65.0, - "y": 55.0 + "y": 195.0 + }, + { + "x": 65.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "A" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#34", - "path": [ - { - "x": 65.0, - "y": 95.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 7.5, + "y": 55.0 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1124,5 +1132,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ 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 dd1723b0..82d233c7 100644 --- a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904.json +++ b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904.json @@ -5,466 +5,495 @@ { "location": { "x": 0.0, - "y": 25.0 + "y": 5.0 }, - "name": "IOVR", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 30.0 + "x": 120.0, + "y": 108.0 }, - "name": "_CEM", - "logicWidth": 1 + "name": "C0", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 120.0, + "y": 60.0 }, - "name": "C", - "logicWidth": 1 + "name": "CT", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 61.0 + "y": 110.0 }, - "name": "I", - "logicWidth": 13 + "name": "Cx", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 40.0 + "y": 61.0 }, - "name": "_EN", - "logicWidth": 1 + "name": "I", + "logicWidth": 13, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 17.0 + "x": 0.0, + "y": 15.0 }, - "name": "YC", - "logicWidth": 1 + "name": "IC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 108.0 + "x": 0.0, + "y": 20.0 }, - "name": "C0", - "logicWidth": 1 + "name": "IN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 36.0 + "y": 25.0 }, - "name": "_EZ", - "logicWidth": 1 + "name": "IOVR", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 110.0 + "y": 10.0 }, - "name": "Cx", - "logicWidth": 1 + "name": "IZ", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 120.0, - "y": 21.0 + "y": 128.0 }, - "name": "YN", - "logicWidth": 1 + "name": "QIO0", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 128.0 }, - "name": "IC", - "logicWidth": 1 + "name": "QIOn", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 0.0, - "y": 42.0 + "x": 120.0, + "y": 118.0 }, - "name": "_EOVR", - "logicWidth": 1 + "name": "SIO0", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 120.0, - "y": 11.0 + "x": 0.0, + "y": 119.0 }, - "name": "YZ", - "logicWidth": 1 + "name": "SIOn", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 0.0, - "y": 20.0 + "x": 120.0, + "y": 17.0 }, - "name": "IN", - "logicWidth": 1 + "name": "YC", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 61.0, - "y": 0.0 + "x": 120.0, + "y": 21.0 }, - "name": "_OEY", - "logicWidth": 1 + "name": "YN", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 0.0, - "y": 83.0 + "x": 120.0, + "y": 25.0 }, - "name": "_SE", - "logicWidth": 1 + "name": "YOVR", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { "x": 120.0, - "y": 118.0 + "y": 11.0 }, - "name": "SIO0", - "logicWidth": 1 + "name": "YZ", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { "x": 0.0, - "y": 10.0 + "y": 30.0 }, - "name": "IZ", - "logicWidth": 1 + "name": "_CEM", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 60.0 + "x": 0.0, + "y": 33.0 }, - "name": "CT", - "logicWidth": 1 + "name": "_CEmu", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 128.0 + "y": 38.0 }, - "name": "QIOn", - "logicWidth": 1 + "name": "_EC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 119.0 + "y": 40.0 }, - "name": "SIOn", - "logicWidth": 1 + "name": "_EN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 33.0 + "y": 42.0 }, - "name": "_CEmu", - "logicWidth": 1 + "name": "_EOVR", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 51.0 + "x": 0.0, + "y": 36.0 }, - "name": "_OECT", - "logicWidth": 1 + "name": "_EZ", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 120.0, - "y": 25.0 + "y": 51.0 }, - "name": "YOVR", - "logicWidth": 1 + "name": "_OECT", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 128.0 + "x": 61.0, + "y": 0.0 }, - "name": "QIO0", - "logicWidth": 1 + "name": "_OEY", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 38.0 + "y": 83.0 }, - "name": "_EC", - "logicWidth": 1 + "name": "_SE", + "logicWidth": 1, + "usage": "INPUT" } ], "innerScale": 0.2, "submodel": { "components": [ { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "GUIAm2904MSR", + "name": "DeserializedSubmodelComponent#0", "pos": { - "x": 130.0, - "y": 5.0 - }, - "params": 1 + "x": 225.0, + "y": 95.0 + } }, { - "id": "GUINandGate", - "name": "GUINandGate#10", + "id": "GUIAm2904muSR", + "name": "DeserializedSubmodelComponent#1", "pos": { - "x": 340.0, - "y": 120.0 - }, - "params": 1 + "x": 270.0, + "y": 250.0 + } }, { "id": "GUIxor", - "name": "DeserializedSubmodelComponent#21", + "name": "DeserializedSubmodelComponent#10", "pos": { - "x": 250.0, - "y": 820.0 + "x": 455.0, + "y": 355.0 } }, { - "id": "GUImux2", - "name": "DeserializedSubmodelComponent#15", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#11", "pos": { - "x": 435.0, - "y": 575.0 + "x": 265.0, + "y": 515.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#12", "pos": { - "x": 330.0, - "y": 125.0 - }, - "params": 1 + "x": 315.0, + "y": 505.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#27", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#13", "pos": { - "x": 440.0, - "y": 385.0 - }, - "params": 1 + "x": 365.0, + "y": 485.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#14", "pos": { - "x": 120.0, - "y": 15.0 - }, - "params": 1 + "x": 415.0, + "y": 465.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#15", "pos": { - "x": 35.0, - "y": 640.0 - }, - "params": 1 + "x": 435.0, + "y": 575.0 + } }, { - "id": "GUIAm2904ShiftInstrDecode", - "name": "GUIAm2904ShiftInstrDecode#0", + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#16", "pos": { - "x": 50.0, - "y": 360.0 + "x": 435.0, + "y": 655.0 } }, { - "id": "GUISplitter", - "name": "GUISplitter#6", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#17", "pos": { - "x": 285.0, - "y": 320.0 - }, - "params": 3 + "x": 190.0, + "y": 460.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#18", "pos": { - "x": 195.0, - "y": 35.0 - }, - "params": 1 + "x": 135.0, + "y": 470.0 + } }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#12", + "id": "GUIand", + "name": "DeserializedSubmodelComponent#2", "pos": { - "x": 315.0, - "y": 505.0 + "x": 380.0, + "y": 125.0 } }, { - "id": "GUIAm2904TestLogic", - "name": "DeserializedSubmodelComponent#6", + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#21", "pos": { - "x": 225.0, - "y": 340.0 + "x": 250.0, + "y": 820.0 } }, { - "id": "GUImux3", - "name": "DeserializedSubmodelComponent#7", + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#22", + "pos": { + "x": 120.0, + "y": 720.0 + } + }, + { + "id": "GUImux3", + "name": "DeserializedSubmodelComponent#23", "pos": { "x": 300.0, - "y": 310.0 + "y": 715.0 } }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#3", "pos": { - "x": 530.0, - "y": 70.0 - }, - "params": 4 + "x": 470.0, + "y": 160.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "id": "GUInot4", + "name": "DeserializedSubmodelComponent#4", "pos": { - "x": 250.0, - "y": 540.0 - }, - "params": 1 + "x": 135.0, + "y": 40.0 + } }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#14", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#5", "pos": { "x": 415.0, - "y": 465.0 + "y": 210.0 } }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "GUIAm2904TestLogic", + "name": "DeserializedSubmodelComponent#6", "pos": { - "x": 205.0, - "y": 50.0 - }, - "params": 1 + "x": 225.0, + "y": 340.0 + } }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#17", + "id": "GUImux3", + "name": "DeserializedSubmodelComponent#7", "pos": { - "x": 190.0, - "y": 460.0 + "x": 300.0, + "y": 310.0 } }, { - "id": "GUISplitter", - "name": "GUISplitter#11", + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#8", "pos": { - "x": 405.0, - "y": 575.0 - }, - "params": 3 + "x": 495.0, + "y": 295.0 + } }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#10", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#9", "pos": { - "x": 455.0, - "y": 355.0 + "x": 450.0, + "y": 310.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUIAm2904RegCTInstrDecode", + "name": "GUIAm2904RegCTInstrDecode#0", "pos": { - "x": 150.0, - "y": 160.0 - }, - "params": 1 + "x": 50.0, + "y": 240.0 + } }, { - "id": "GUInot4", - "name": "DeserializedSubmodelComponent#4", + "id": "GUIAm2904ShiftInstrDecode", + "name": "GUIAm2904ShiftInstrDecode#0", "pos": { - "x": 135.0, - "y": 40.0 + "x": 50.0, + "y": 360.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#30", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#0", "pos": { - "x": 550.0, - "y": 570.0 + "x": 530.0, + "y": 70.0 }, - "params": 1 + "params": 4 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#2", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#1", "pos": { - "x": 10.0, - "y": 605.0 + "x": 565.0, + "y": 180.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 4 }, { - "id": "GUIAm2904muSR", - "name": "DeserializedSubmodelComponent#1", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#2", "pos": { - "x": 270.0, - "y": 250.0 - } + "x": 530.0, + "y": 200.0 + }, + "params": 4 }, { - "id": "GUISplitter", - "name": "GUISplitter#7", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#3", "pos": { - "x": 420.0, - "y": 325.0 + "x": 560.0, + "y": 150.0 }, - "params": 4 + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIMerger", + "name": "GUIMerger#0", "pos": { - "x": 255.0, - "y": 265.0 + "x": 25.0, + "y": 245.0 }, - "params": 4 + "params": 6 }, { - "id": "GUIAm2904RegCTInstrDecode", - "name": "GUIAm2904RegCTInstrDecode#0", + "id": "GUIMerger", + "name": "GUIMerger#1", "pos": { - "x": 50.0, - "y": 240.0 - } + "x": 25.0, + "y": 305.0 + }, + "params": 5 + }, + { + "id": "GUIMerger", + "name": "GUIMerger#2", + "pos": { + "x": 15.0, + "y": 65.0 + }, + "params": 4 }, { "id": "GUIMerger", @@ -476,127 +505,130 @@ "params": 4 }, { - "id": "GUISplitter", - "name": "GUISplitter#10", + "id": "GUIMerger", + "name": "GUIMerger#4", "pos": { - "x": 420.0, - "y": 410.0 + "x": 25.0, + "y": 355.0 }, - "params": 4 + "params": 2 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#33", + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { - "x": 530.0, - "y": 270.0 + "x": 190.0, + "y": 145.0 }, "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#3", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 560.0, - "y": 595.0 + "x": 130.0, + "y": 5.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "id": "GUINandGate", + "name": "GUINandGate#10", "pos": { - "x": 195.0, - "y": 15.0 + "x": 340.0, + "y": 120.0 }, "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "GUINandGate", + "name": "GUINandGate#12", "pos": { - "x": 10.0, - "y": 245.0 + "x": 540.0, + "y": 265.0 }, - "params": 13 + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 215.0, - "y": 180.0 + "x": 225.0, + "y": 195.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#5", + "name": "GUINandGate#3", "pos": { "x": 225.0, - "y": 175.0 + "y": 215.0 }, "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 565.0, - "y": 180.0 + "x": 225.0, + "y": 155.0 }, - "params": 4 + "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 530.0, - "y": 200.0 + "x": 225.0, + "y": 175.0 }, - "params": 4 + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 585.0, - "y": 640.0 + "x": 205.0, + "y": 70.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 255.0, - "y": 255.0 + "x": 205.0, + "y": 50.0 }, - "params": 4 + "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#5", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 560.0, - "y": 290.0 + "x": 205.0, + "y": 30.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#9", + "pos": { + "x": 205.0, + "y": 10.0 + }, + "params": 1 }, { "id": "GUISplitter", - "name": "GUISplitter#14", + "name": "GUISplitter#0", "pos": { - "x": 90.0, - "y": 720.0 + "x": 10.0, + "y": 245.0 }, - "params": 3 + "params": 13 }, { "id": "GUISplitter", @@ -608,75 +640,112 @@ "params": 4 }, { - "id": "GUINandGate", - "name": "GUINandGate#2", + "id": "GUISplitter", + "name": "GUISplitter#10", "pos": { - "x": 225.0, - "y": 195.0 + "x": 420.0, + "y": 410.0 }, - "params": 1 + "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#3", + "name": "GUISplitter#11", "pos": { - "x": 450.0, - "y": 175.0 + "x": 405.0, + "y": 575.0 }, - "params": 4 + "params": 3 }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "GUISplitter", + "name": "GUISplitter#12", "pos": { - "x": 190.0, - "y": 145.0 + "x": 405.0, + "y": 655.0 }, - "params": 1 + "params": 3 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#13", + "pos": { + "x": 265.0, + "y": 725.0 + }, + "params": 3 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#14", + "pos": { + "x": 90.0, + "y": 720.0 + }, + "params": 3 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#15", + "pos": { + "x": 120.0, + "y": 455.0 + }, + "params": 2 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 395.0, + "y": 195.0 + }, + "params": 2 }, { "id": "GUISplitter", - "name": "GUISplitter#9", + "name": "GUISplitter#3", "pos": { - "x": 240.0, - "y": 475.0 + "x": 450.0, + "y": 175.0 }, "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#13", + "name": "GUISplitter#4", "pos": { - "x": 265.0, - "y": 725.0 + "x": 395.0, + "y": 225.0 }, - "params": 3 + "params": 4 }, { - "id": "GUIMerger", - "name": "GUIMerger#2", + "id": "GUISplitter", + "name": "GUISplitter#5", "pos": { - "x": 15.0, - "y": 65.0 + "x": 395.0, + "y": 265.0 }, "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "id": "GUISplitter", + "name": "GUISplitter#6", "pos": { "x": 285.0, - "y": 725.0 + "y": 320.0 }, - "params": 1 + "params": 3 }, { - "id": "GUIAm2904MSR", - "name": "DeserializedSubmodelComponent#0", + "id": "GUISplitter", + "name": "GUISplitter#7", "pos": { - "x": 225.0, - "y": 95.0 - } + "x": 420.0, + "y": 325.0 + }, + "params": 4 }, { "id": "GUISplitter", @@ -688,55 +757,24 @@ "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 215.0, - "y": 160.0 - }, - "params": 1 - }, - { - "id": "GUImux3", - "name": "DeserializedSubmodelComponent#23", - "pos": { - "x": 300.0, - "y": 715.0 - } - }, - { - "id": "GUIMerger", - "name": "GUIMerger#4", - "pos": { - "x": 25.0, - "y": 355.0 - }, - "params": 2 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUISplitter", + "name": "GUISplitter#9", "pos": { - "x": 335.0, - "y": 270.0 + "x": 240.0, + "y": 475.0 }, "params": 4 }, { - "id": "GUIMerger", - "name": "GUIMerger#0", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#0", "pos": { - "x": 25.0, - "y": 245.0 + "x": 535.0, + "y": 165.0 }, - "params": 6 - }, - { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#9", - "pos": { - "x": 450.0, - "y": 310.0 + "params": { + "logicWidth": 4, + "orientation": "RIGHT" } }, { @@ -752,161 +790,149 @@ } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", - "pos": { - "x": 530.0, - "y": 100.0 - }, - "params": 4 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 225.0, - "y": 155.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#2", "pos": { - "x": 295.0, - "y": 120.0 + "x": 10.0, + "y": 605.0 }, - "params": 4 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { - "id": "GUISplitter", - "name": "GUISplitter#2", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#3", "pos": { - "x": 395.0, - "y": 195.0 + "x": 560.0, + "y": 595.0 }, - "params": 2 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { - "id": "GUISplitter", - "name": "GUISplitter#5", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#4", "pos": { - "x": 395.0, - "y": 265.0 + "x": 565.0, + "y": 655.0 }, - "params": 4 - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#3", - "pos": { - "x": 470.0, - "y": 160.0 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" } }, { - "id": "GUImux2", - "name": "DeserializedSubmodelComponent#16", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#5", "pos": { - "x": 435.0, - "y": 655.0 + "x": 560.0, + "y": 290.0 + }, + "params": { + "logicWidth": 1, + "orientation": "RIGHT" } }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#28", + "name": "WireCrossPoint#0", "pos": { - "x": 440.0, - "y": 345.0 + "x": 165.0, + "y": 150.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "name": "WireCrossPoint#1", "pos": { - "x": 360.0, - "y": 495.0 + "x": 180.0, + "y": 135.0 }, - "params": 1 + "params": 4 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#26", + "name": "WireCrossPoint#10", "pos": { - "x": 290.0, - "y": 805.0 + "x": 195.0, + "y": 55.0 }, "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#15", + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { - "x": 120.0, - "y": 455.0 + "x": 195.0, + "y": 15.0 }, - "params": 2 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#12", "pos": { - "x": 165.0, - "y": 150.0 + "x": 195.0, + "y": 35.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#13", "pos": { - "x": 215.0, - "y": 200.0 + "x": 330.0, + "y": 125.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { - "x": 205.0, - "y": 30.0 + "x": 520.0, + "y": 190.0 }, - "params": 1 + "params": 4 }, { - "id": "GUISplitter", - "name": "GUISplitter#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 395.0, - "y": 225.0 + "x": 255.0, + "y": 265.0 }, "params": 4 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#11", + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { - "x": 265.0, - "y": 515.0 - } + "x": 255.0, + "y": 255.0 + }, + "params": 4 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", + "id": "WireCrossPoint", + "name": "WireCrossPoint#17", "pos": { - "x": 560.0, - "y": 150.0 + "x": 360.0, + "y": 495.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#3", - "pos": { - "x": 225.0, - "y": 215.0 + "id": "WireCrossPoint", + "name": "WireCrossPoint#18", + "pos": { + "x": 35.0, + "y": 640.0 }, "params": 1 }, @@ -921,181 +947,181 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "name": "WireCrossPoint#2", "pos": { - "x": 520.0, - "y": 190.0 + "x": 295.0, + "y": 120.0 }, "params": 4 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { - "x": 205.0, - "y": 10.0 + "x": 585.0, + "y": 590.0 }, "params": 1 }, { - "id": "GUIand", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { - "x": 380.0, - "y": 125.0 - } + "x": 585.0, + "y": 640.0 + }, + "params": 1 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#13", + "id": "WireCrossPoint", + "name": "WireCrossPoint#22", "pos": { - "x": 365.0, - "y": 485.0 - } + "x": 250.0, + "y": 540.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#25", + "name": "WireCrossPoint#23", "pos": { - "x": 285.0, - "y": 755.0 + "x": 330.0, + "y": 640.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { - "x": 540.0, - "y": 265.0 + "x": 285.0, + "y": 725.0 }, "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#25", "pos": { - "x": 565.0, - "y": 655.0 + "x": 285.0, + "y": 755.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#26", "pos": { - "x": 585.0, - "y": 590.0 + "x": 290.0, + "y": 805.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#27", "pos": { - "x": 205.0, - "y": 70.0 + "x": 440.0, + "y": 385.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#28", "pos": { - "x": 195.0, - "y": 55.0 + "x": 440.0, + "y": 345.0 }, "params": 1 }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 495.0, - "y": 295.0 - } + "x": 335.0, + "y": 270.0 + }, + "params": 4 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#18", + "id": "WireCrossPoint", + "name": "WireCrossPoint#30", "pos": { - "x": 135.0, - "y": 470.0 - } + "x": 550.0, + "y": 570.0 + }, + "params": 1 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#32", "pos": { - "x": 415.0, - "y": 210.0 - } + "x": 85.0, + "y": 590.0 + }, + "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#33", "pos": { - "x": 405.0, - "y": 655.0 + "x": 530.0, + "y": 270.0 }, - "params": 3 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#4", "pos": { - "x": 180.0, - "y": 135.0 + "x": 150.0, + "y": 160.0 }, - "params": 4 + "params": 1 }, { - "id": "GUImux2", - "name": "DeserializedSubmodelComponent#22", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 120.0, - "y": 720.0 - } + "x": 530.0, + "y": 100.0 + }, + "params": 4 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 535.0, - "y": 165.0 + "x": 120.0, + "y": 15.0 }, - "params": { - "logicWidth": 4, - "orientation": "RIGHT" - } + "params": 1 }, { - "id": "GUIMerger", - "name": "GUIMerger#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { - "x": 25.0, - "y": 305.0 + "x": 215.0, + "y": 180.0 }, - "params": 5 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#32", + "name": "WireCrossPoint#8", "pos": { - "x": 85.0, - "y": 590.0 + "x": 215.0, + "y": 160.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#9", "pos": { - "x": 330.0, - "y": 640.0 + "x": 215.0, + "y": 200.0 }, "params": 1 } @@ -1103,2663 +1129,2675 @@ "wires": [ { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O3" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_4" - }, - "name": "unnamedWire#100", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "GUISplitter#8", - "pinName": "O1" - }, - "name": "unnamedWire#172", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#0", "pinName": "" }, - "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I01" - }, - "name": "unnamedWire#170", - "path": [] + "name": "unnamedWire#0", + "path": [ + { + "x": 5.0, + "y": 25.0 + }, + { + "x": 5.0, + "y": 10.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_MUX" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "OEn" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "MUX" }, - "name": "unnamedWire#202", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "O1" + "compName": "GUISplitter#0", + "pinName": "O6" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_2" + "compName": "GUIMerger#1", + "pinName": "I0" }, - "name": "unnamedWire#103", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y010" + "compName": "GUISplitter#3", + "pinName": "O3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I010" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_4" }, - "name": "unnamedWire#119", + "name": "unnamedWire#100", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "YOVR" + "compName": "GUISplitter#3", + "pinName": "I" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O3" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#52", + "name": "unnamedWire#101", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "GUISplitter#4", + "pinName": "O0" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_1" }, - "name": "unnamedWire#7", + "name": "unnamedWire#102", "path": [] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "GUISplitter#4", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EN" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_2" }, - "name": "unnamedWire#44", + "name": "unnamedWire#103", "path": [] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_3" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUISplitter#4", + "pinName": "O2" }, - "name": "unnamedWire#81", + "name": "unnamedWire#104", "path": [] }, { "pin1": { - "compName": "GUIMerger#4", - "pinName": "I1" + "compName": "GUISplitter#4", + "pinName": "O3" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O12" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_4" }, - "name": "unnamedWire#140", + "name": "unnamedWire#105", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#5", - "pinName": "OUT" + "compName": "GUISplitter#4", + "pinName": "I" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "CT" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#236", + "name": "unnamedWire#106", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IN" + "compName": "GUISplitter#5", + "pinName": "O0" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_1" }, - "name": "unnamedWire#18", - "path": [ - { - "x": 5.0, - "y": 100.0 - }, - { - "x": 5.0, - "y": 85.0 - } - ] + "name": "unnamedWire#107", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUISplitter#5", + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_2" }, - "name": "unnamedWire#26", + "name": "unnamedWire#108", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEC" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_3" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" + "compName": "GUISplitter#5", + "pinName": "O2" }, - "name": "unnamedWire#48", + "name": "unnamedWire#109", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I01" + "compName": "GUIMerger#1", + "pinName": "I1" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O7" }, - "name": "unnamedWire#197", + "name": "unnamedWire#11", "path": [] }, { "pin1": { - "compName": "GUIMerger#3", - "pinName": "O" + "compName": "GUISplitter#5", + "pinName": "O3" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_4" }, - "name": "unnamedWire#93", + "name": "unnamedWire#110", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "O0" + "compName": "GUISplitter#5", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_1" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#102", + "name": "unnamedWire#111", "path": [] }, { "pin1": { - "compName": "GUINandGate#12", - "pinName": "Y" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "EN" + "compName": "GUITriStateBuffer#0", + "pinName": "IN" }, - "name": "unnamedWire#122", + "name": "unnamedWire#112", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I" }, - "name": "unnamedWire#55", + "name": "unnamedWire#113", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y111" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_2" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I111" }, - "name": "unnamedWire#108", + "name": "unnamedWire#114", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", + "compName": "DeserializedSubmodelComponent#7", "pinName": "I110" }, "pin2": { - "compName": "GUISplitter#7", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y110" }, - "name": "unnamedWire#196", + "name": "unnamedWire#115", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y101" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I101" }, - "name": "unnamedWire#184", + "name": "unnamedWire#116", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I100" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y100" }, - "name": "unnamedWire#105", + "name": "unnamedWire#117", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#2", - "pinName": "EN" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y011" }, "pin2": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I011" }, - "name": "unnamedWire#218", + "name": "unnamedWire#118", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y010" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I010" }, - "name": "unnamedWire#123", + "name": "unnamedWire#119", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O8" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "A" + "compName": "GUIMerger#1", + "pinName": "I2" }, - "name": "unnamedWire#62", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "S1" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I001" }, "pin2": { - "compName": "GUISplitter#12", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y001" }, - "name": "unnamedWire#175", + "name": "unnamedWire#120", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y000" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EOVR" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I000" }, - "name": "unnamedWire#43", + "name": "unnamedWire#121", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUINandGate#12", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I10" + "compName": "GUITriStateBuffer#5", + "pinName": "EN" }, - "name": "unnamedWire#171", + "name": "unnamedWire#122", "path": [] }, { "pin1": { - "compName": "GUIBitDisplay#0", - "pinName": "" + "compName": "DeserializedSubmodelComponent#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "B" }, - "name": "unnamedWire#229", + "name": "unnamedWire#123", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#21", - "pinName": "Y" + "compName": "GUISplitter#6", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I111" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_MUX" }, - "name": "unnamedWire#194", + "name": "unnamedWire#124", "path": [] }, { "pin1": { "compName": "GUISplitter#6", - "pinName": "O2" + "pinName": "O0" }, "pin2": { "compName": "DeserializedSubmodelComponent#7", - "pinName": "S2" + "pinName": "S0" }, - "name": "unnamedWire#127", + "name": "unnamedWire#125", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S1" }, "pin2": { - "compName": "GUITriStateBuffer#1", - "pinName": "EN" + "compName": "GUISplitter#6", + "pinName": "O1" }, - "name": "unnamedWire#219", + "name": "unnamedWire#126", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "GUISplitter#6", + "pinName": "O2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S2" }, - "name": "unnamedWire#3", + "name": "unnamedWire#127", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O0" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_EXP" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", + "compName": "DeserializedSubmodelComponent#9", "pinName": "S0" }, - "name": "unnamedWire#95", + "name": "unnamedWire#128", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "DeserializedSubmodelComponent#9", + "pinName": "I0" }, - "name": "unnamedWire#183", + "name": "unnamedWire#129", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIMerger#1", + "pinName": "I3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#10", - "pinName": "B" + "compName": "GUISplitter#0", + "pinName": "O9" }, - "name": "unnamedWire#200", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_3" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "A" }, "pin2": { - "compName": "GUISplitter#4", - "pinName": "O2" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_INV" }, - "name": "unnamedWire#104", + "name": "unnamedWire#130", "path": [] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#10", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y2" + "compName": "DeserializedSubmodelComponent#9", + "pinName": "I1" }, - "name": "unnamedWire#72", + "name": "unnamedWire#131", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "I" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "O" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 40.0, - "y": 395.0 - }, - { - "x": 40.0, - "y": 325.0 - } - ] + "name": "unnamedWire#132", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "QIO0" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUISplitter#7", + "pinName": "I" }, - "name": "unnamedWire#160", + "name": "unnamedWire#133", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y3" + "compName": "GUISplitter#7", + "pinName": "O2" }, "pin2": { - "compName": "GUIMerger#3", - "pinName": "I2" + "compName": "WireCrossPoint#28", + "pinName": "" }, - "name": "unnamedWire#91", + "name": "unnamedWire#134", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I10" + "compName": "GUISplitter#8", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#27", "pinName": "" }, - "name": "unnamedWire#198", + "name": "unnamedWire#135", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "M" }, - "name": "unnamedWire#60", + "name": "unnamedWire#136", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y000" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I000" + "compName": "GUISplitter#8", + "pinName": "I" }, - "name": "unnamedWire#121", + "name": "unnamedWire#137", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#21", - "pinName": "B" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "OEN" }, "pin2": { - "compName": "GUISplitter#7", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "B" }, - "name": "unnamedWire#206", + "name": "unnamedWire#138", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y111" + "compName": "GUISplitter#0", + "pinName": "O11" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I111" + "compName": "GUIMerger#4", + "pinName": "I0" }, - "name": "unnamedWire#114", + "name": "unnamedWire#139", "path": [] }, { "pin1": { - "compName": "GUISplitter#10", - "pinName": "I" + "compName": "GUISplitter#0", + "pinName": "O10" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIMerger#1", + "pinName": "I4" }, - "name": "unnamedWire#144", + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIMerger#4", + "pinName": "I1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I000" + "compName": "GUISplitter#0", + "pinName": "O12" }, - "name": "unnamedWire#186", + "name": "unnamedWire#140", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIMerger#4", + "pinName": "O" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I101" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "I12-11" }, - "name": "unnamedWire#199", + "name": "unnamedWire#141", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "C0_MUX" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_CEmu" + "compName": "GUISplitter#9", + "pinName": "I" }, - "name": "unnamedWire#35", + "name": "unnamedWire#142", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "DeserializedSubmodelComponent#11", + "pinName": "I1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I01" + "compName": "WireCrossPoint#22", + "pinName": "" }, - "name": "unnamedWire#179", + "name": "unnamedWire#143", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "OUT" + "compName": "GUISplitter#10", + "pinName": "I" }, "pin2": { - "compName": "GUIBitDisplay#1", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#230", + "name": "unnamedWire#144", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y1" + "compName": "GUISplitter#10", + "pinName": "O1" }, "pin2": { - "compName": "GUIMerger#3", + "compName": "DeserializedSubmodelComponent#11", "pinName": "I0" }, - "name": "unnamedWire#89", + "name": "unnamedWire#145", "path": [] }, { "pin1": { - "compName": "GUINandGate#12", - "pinName": "B" + "compName": "GUISplitter#9", + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#33", - "pinName": "" + "compName": "DeserializedSubmodelComponent#11", + "pinName": "S0" }, - "name": "unnamedWire#234", + "name": "unnamedWire#146", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Q" + "compName": "DeserializedSubmodelComponent#11", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#12", + "pinName": "B" }, - "name": "unnamedWire#27", + "name": "unnamedWire#147", "path": [] }, { "pin1": { - "compName": "GUISplitter#12", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#12", + "pinName": "A" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "QIO0_MUX" + "compName": "GUISplitter#9", + "pinName": "O0" }, - "name": "unnamedWire#178", + "name": "unnamedWire#148", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", + "compName": "GUISplitter#9", "pinName": "O2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "S1" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#208", + "name": "unnamedWire#149", "path": [] }, { "pin1": { - "compName": "GUIMerger#4", + "compName": "GUIMerger#0", "pinName": "O" }, "pin2": { "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "I12-11" + "pinName": "I5-0" }, - "name": "unnamedWire#141", + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I10" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "S0" }, - "name": "unnamedWire#180", + "name": "unnamedWire#150", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#2", - "pinName": "IN" + "compName": "DeserializedSubmodelComponent#12", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "I1" }, - "name": "unnamedWire#212", + "name": "unnamedWire#151", "path": [] }, { "pin1": { - "compName": "GUIMerger#3", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "I0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "Cx" }, - "name": "unnamedWire#90", + "name": "unnamedWire#152", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEOVR" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "I1" }, - "name": "unnamedWire#59", + "name": "unnamedWire#153", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "I0" }, "pin2": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#17", "pinName": "" }, - "name": "unnamedWire#70", + "name": "unnamedWire#154", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I100" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "S0" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUISplitter#9", + "pinName": "O3" }, - "name": "unnamedWire#193", + "name": "unnamedWire#155", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I100" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y100" + "compName": "_submodelinterface", + "pinName": "C0" }, - "name": "unnamedWire#117", + "name": "unnamedWire#156", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "QIOn" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EZ" + "compName": "WireCrossPoint#18", + "pinName": "" }, - "name": "unnamedWire#75", + "name": "unnamedWire#157", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "C0_MUX" + "compName": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#9", - "pinName": "I" + "compName": "_submodelinterface", + "pinName": "SIOn" }, - "name": "unnamedWire#142", + "name": "unnamedWire#158", "path": [] }, { "pin1": { + "compName": "WireCrossPoint#20", + "pinName": "" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "IZ" + "pinName": "SIO0" + }, + "name": "unnamedWire#159", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "I" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I0" + "compName": "GUIMerger#1", + "pinName": "O" }, - "name": "unnamedWire#20", + "name": "unnamedWire#16", "path": [ { - "x": 5.0, - "y": 50.0 + "x": 40.0, + "y": 395.0 }, { - "x": 5.0, - "y": 65.0 + "x": 40.0, + "y": 325.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I001" + "compName": "_submodelinterface", + "pinName": "QIO0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y001" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#120", + "name": "unnamedWire#160", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", + "compName": "GUITriStateBuffer#1", "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#18", "pinName": "" }, - "name": "unnamedWire#79", + "name": "unnamedWire#161", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "MSR_MUX" + "compName": "GUITriStateBuffer#2", + "pinName": "OUT" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "MUX" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#31", + "name": "unnamedWire#162", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", - "pinName": "O1" + "compName": "GUITriStateBuffer#3", + "pinName": "OUT" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "S0" + "compName": "WireCrossPoint#20", + "pinName": "" }, - "name": "unnamedWire#209", + "name": "unnamedWire#163", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUITriStateBuffer#4", + "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#21", "pinName": "" }, - "name": "unnamedWire#36", + "name": "unnamedWire#164", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Q" + "compName": "GUITriStateBuffer#3", + "pinName": "IN" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "Y" }, - "name": "unnamedWire#25", + "name": "unnamedWire#165", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EC" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "SIO0_MUX" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "GUISplitter#11", + "pinName": "I" }, - "name": "unnamedWire#45", + "name": "unnamedWire#166", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "I0" + "compName": "GUISplitter#11", + "pinName": "O0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cx" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I00" }, - "name": "unnamedWire#152", + "name": "unnamedWire#167", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#11", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#15", + "pinName": "S1" + }, + "name": "unnamedWire#168", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#15", + "pinName": "S0" + }, + "pin2": { + "compName": "GUISplitter#11", + "pinName": "O1" + }, + "name": "unnamedWire#169", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O8" + "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": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I01" }, - "name": "unnamedWire#12", + "name": "unnamedWire#170", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_OECT" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I10" }, - "name": "unnamedWire#235", + "name": "unnamedWire#171", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O4" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I4" + "compName": "GUISplitter#8", + "pinName": "O1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#172", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "Y" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "I1" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#153", + "name": "unnamedWire#173", "path": [] }, { "pin1": { - "compName": "GUISplitter#8", - "pinName": "O2" + "compName": "GUISplitter#12", + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "S0" }, - "name": "unnamedWire#135", + "name": "unnamedWire#174", "path": [] }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "S1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EOVR" + "compName": "GUISplitter#12", + "pinName": "O2" }, - "name": "unnamedWire#66", + "name": "unnamedWire#175", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y4" + "compName": "GUISplitter#12", + "pinName": "O0" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I00" }, - "name": "unnamedWire#74", + "name": "unnamedWire#176", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "O" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "Y" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "I5-0" + "compName": "GUITriStateBuffer#4", + "pinName": "IN" }, - "name": "unnamedWire#15", + "name": "unnamedWire#177", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUISplitter#12", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "C" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "QIO0_MUX" }, - "name": "unnamedWire#29", + "name": "unnamedWire#178", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" + "compName": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I01" }, - "name": "unnamedWire#232", + "name": "unnamedWire#179", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "C" + "compName": "GUIMerger#2", + "pinName": "I2" }, - "name": "unnamedWire#30", - "path": [] + "name": "unnamedWire#18", + "path": [ + { + "x": 5.0, + "y": 100.0 + }, + { + "x": 5.0, + "y": 85.0 + } + ] }, { "pin1": { - "compName": "GUITriStateBuffer#3", - "pinName": "EN" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I10" }, - "name": "unnamedWire#214", + "name": "unnamedWire#180", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "Y" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I11" }, - "name": "unnamedWire#129", + "name": "unnamedWire#181", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I001" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I11" }, "pin2": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#23", "pinName": "" }, - "name": "unnamedWire#187", + "name": "unnamedWire#182", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" + "compName": "GUISplitter#13", + "pinName": "O0" }, "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#84", + "name": "unnamedWire#183", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#17", - "pinName": "I1" + "compName": "WireCrossPoint#24", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "S0" }, - "name": "unnamedWire#223", + "name": "unnamedWire#184", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "WireCrossPoint#25", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#24", "pinName": "" }, - "name": "unnamedWire#56", + "name": "unnamedWire#185", "path": [] }, { "pin1": { - "compName": "GUISplitter#9", - "pinName": "O1" + "compName": "WireCrossPoint#25", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I000" }, - "name": "unnamedWire#146", + "name": "unnamedWire#186", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_SE" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I001" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "_SE" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#213", + "name": "unnamedWire#187", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "YC" + "compName": "GUISplitter#13", + "pinName": "I" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O1" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "SIOn_MUX" }, - "name": "unnamedWire#50", + "name": "unnamedWire#188", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "GUISplitter#13", + "pinName": "O2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "S2" }, - "name": "unnamedWire#5", + "name": "unnamedWire#189", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y101" + "compName": "_submodelinterface", + "pinName": "IC" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I101" + "compName": "GUIMerger#2", + "pinName": "I1" }, - "name": "unnamedWire#116", + "name": "unnamedWire#19", "path": [] }, { "pin1": { - "compName": "GUISplitter#6", - "pinName": "O0" + "compName": "GUISplitter#13", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "S1" }, - "name": "unnamedWire#125", + "name": "unnamedWire#190", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I010" }, "pin2": { "compName": "WireCrossPoint#20", "pinName": "" }, - "name": "unnamedWire#224", + "name": "unnamedWire#191", "path": [] }, { "pin1": { - "compName": "GUIMerger#2", - "pinName": "O" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I011" }, - "name": "unnamedWire#22", + "name": "unnamedWire#192", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I100" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I0" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#193", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#16", + "compName": "DeserializedSubmodelComponent#21", "pinName": "Y" }, "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "IN" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I111" }, - "name": "unnamedWire#177", + "name": "unnamedWire#194", "path": [] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EZ" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#69", + "name": "unnamedWire#195", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "IN" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I110" }, "pin2": { - "compName": "GUIBitDisplay#2", - "pinName": "" + "compName": "GUISplitter#7", + "pinName": "O1" }, - "name": "unnamedWire#231", + "name": "unnamedWire#196", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "I01" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#20", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#197", "path": [] }, { "pin1": { "compName": "DeserializedSubmodelComponent#22", - "pinName": "Y" + "pinName": "I10" }, "pin2": { - "compName": "GUITriStateBuffer#1", - "pinName": "IN" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#207", + "name": "unnamedWire#198", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "CT_EXP" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I101" }, - "name": "unnamedWire#128", + "name": "unnamedWire#199", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "S0" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_OVRRET" }, "pin2": { - "compName": "GUISplitter#11", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "OVRRET" }, - "name": "unnamedWire#169", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IZ" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y" + "compName": "GUIMerger#2", + "pinName": "I0" }, - "name": "unnamedWire#54", - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 5.0, + "y": 50.0 + }, + { + "x": 5.0, + "y": 65.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#12", - "pinName": "O0" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I00" + "compName": "DeserializedSubmodelComponent#10", + "pinName": "B" }, - "name": "unnamedWire#176", + "name": "unnamedWire#200", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#26", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SIO0" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "I11" }, - "name": "unnamedWire#159", + "name": "unnamedWire#201", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#32", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "EN" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "OEn" }, - "name": "unnamedWire#215", + "name": "unnamedWire#202", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_2" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "OE0" }, "pin2": { - "compName": "GUISplitter#3", - "pinName": "O1" + "compName": "WireCrossPoint#30", + "pinName": "" }, - "name": "unnamedWire#98", + "name": "unnamedWire#203", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "S1" + "compName": "WireCrossPoint#28", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#6", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#10", + "pinName": "A" }, - "name": "unnamedWire#126", + "name": "unnamedWire#204", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "DeserializedSubmodelComponent#21", + "pinName": "A" }, - "name": "unnamedWire#195", + "name": "unnamedWire#205", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "DeserializedSubmodelComponent#21", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUISplitter#7", + "pinName": "O3" }, - "name": "unnamedWire#38", + "name": "unnamedWire#206", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I110" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y110" + "compName": "GUITriStateBuffer#1", + "pinName": "IN" }, - "name": "unnamedWire#115", + "name": "unnamedWire#207", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "MC_MUX" + "compName": "GUISplitter#14", + "pinName": "O2" }, "pin2": { - "compName": "GUISplitter#15", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "S1" }, - "name": "unnamedWire#226", + "name": "unnamedWire#208", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUISplitter#14", + "pinName": "O1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SIOn" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "S0" }, - "name": "unnamedWire#158", + "name": "unnamedWire#209", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O10" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_CINV" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I4" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "CINV" }, - "name": "unnamedWire#14", + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "S0" + "compName": "GUISplitter#14", + "pinName": "I" }, "pin2": { - "compName": "GUISplitter#9", - "pinName": "O3" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "QIOn_MUX" }, - "name": "unnamedWire#155", + "name": "unnamedWire#210", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUISplitter#14", + "pinName": "O0" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "I00" }, - "name": "unnamedWire#39", + "name": "unnamedWire#211", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#5", + "compName": "GUITriStateBuffer#2", "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", + "compName": "DeserializedSubmodelComponent#23", "pinName": "Y" }, - "name": "unnamedWire#237", + "name": "unnamedWire#212", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_SE" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "_SE" }, - "name": "unnamedWire#41", + "name": "unnamedWire#213", "path": [] }, { "pin1": { - "compName": "GUISplitter#15", - "pinName": "O0" + "compName": "GUITriStateBuffer#3", + "pinName": "EN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "S0" + "compName": "WireCrossPoint#30", + "pinName": "" }, - "name": "unnamedWire#227", + "name": "unnamedWire#214", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", - "pinName": "O0" + "compName": "WireCrossPoint#30", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I00" + "compName": "GUITriStateBuffer#4", + "pinName": "EN" }, - "name": "unnamedWire#211", + "name": "unnamedWire#215", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#1", - "pinName": "OUT" + "compName": "GUITriStateBuffer#2", + "pinName": "EN" }, "pin2": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#32", "pinName": "" }, - "name": "unnamedWire#161", + "name": "unnamedWire#218", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "O1" + "compName": "WireCrossPoint#32", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "S1" + "compName": "GUITriStateBuffer#1", + "pinName": "EN" }, - "name": "unnamedWire#190", + "name": "unnamedWire#219", "path": [] }, { "pin1": { - "compName": "GUISplitter#12", - "pinName": "O1" + "compName": "GUIMerger#2", + "pinName": "O" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "S0" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#174", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "Y" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "I0" }, - "name": "unnamedWire#6", + "name": "unnamedWire#221", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "COVD_V" }, - "name": "unnamedWire#53", + "name": "unnamedWire#222", "path": [] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "I1" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEN" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#58", + "name": "unnamedWire#223", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "I0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I" + "compName": "WireCrossPoint#20", + "pinName": "" }, - "name": "unnamedWire#132", + "name": "unnamedWire#224", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "QIOn" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "I1" }, - "name": "unnamedWire#157", + "name": "unnamedWire#225", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EN" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "MC_MUX" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "GUISplitter#15", + "pinName": "I" }, - "name": "unnamedWire#67", + "name": "unnamedWire#226", "path": [] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "B" + "compName": "GUISplitter#15", + "pinName": "O0" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEZ" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "S0" }, - "name": "unnamedWire#47", + "name": "unnamedWire#227", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y3" + "compName": "GUISplitter#15", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I1_3" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "S0" }, - "name": "unnamedWire#87", + "name": "unnamedWire#228", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#10", - "pinName": "Y" + "compName": "GUIBitDisplay#0", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "I1" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#131", + "name": "unnamedWire#229", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I" }, - "name": "unnamedWire#150", + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "O2" + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "S2" + "compName": "GUIBitDisplay#1", + "pinName": "" }, - "name": "unnamedWire#189", + "name": "unnamedWire#230", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUITriStateBuffer#0", + "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I11" + "compName": "GUIBitDisplay#2", + "pinName": "" }, - "name": "unnamedWire#181", + "name": "unnamedWire#231", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "Y" + "compName": "GUITriStateBuffer#0", + "pinName": "EN" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "C0" + "compName": "GUIBitDisplay#3", + "pinName": "" }, - "name": "unnamedWire#156", + "name": "unnamedWire#232", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_MUX" + "compName": "WireCrossPoint#33", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "MUX" + "compName": "GUINandGate#12", + "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#233", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O6" + "compName": "GUINandGate#12", + "pinName": "B" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I0" + "compName": "WireCrossPoint#33", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#234", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#17", - "pinName": "Y" + "compName": "WireCrossPoint#33", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "COVD_V" + "compName": "_submodelinterface", + "pinName": "_OECT" }, - "name": "unnamedWire#222", + "name": "unnamedWire#235", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "Y_MUX" + "compName": "GUITriStateBuffer#5", + "pinName": "OUT" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "I" + "compName": "_submodelinterface", + "pinName": "CT" }, - "name": "unnamedWire#94", + "name": "unnamedWire#236", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EOVR" + "compName": "GUITriStateBuffer#5", + "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "A4" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "Y" }, - "name": "unnamedWire#78", + "name": "unnamedWire#237", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "mu" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#28", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I1_2" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Q" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y2" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#86", + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#12", - "pinName": "B" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#147", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I010" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Q" }, "pin2": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#191", + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "mu" }, - "name": "unnamedWire#233", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_CEM" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "C" }, - "name": "unnamedWire#57", + "name": "unnamedWire#29", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "A3" + "compName": "_submodelinterface", + "pinName": "I" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EN" + "compName": "GUISplitter#0", + "pinName": "I" }, - "name": "unnamedWire#77", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "C" }, - "name": "unnamedWire#61", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "MSR_MUX" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I" + "pinName": "MUX" }, - "name": "unnamedWire#23", + "name": "unnamedWire#31", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "MC_EN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "COVD_EN" }, - "name": "unnamedWire#225", + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y1" + "compName": "GUINandGate#0", + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#71", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#21", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#205", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O0" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { "compName": "_submodelinterface", - "pinName": "YZ" + "pinName": "_CEmu" }, - "name": "unnamedWire#49", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "I" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, - "name": "unnamedWire#106", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y3" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "GUINandGate#4", + "pinName": "A" }, - "name": "unnamedWire#73", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O11" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#4", - "pinName": "I0" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#139", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "I1" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, - "name": "unnamedWire#143", + "name": "unnamedWire#39", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O0" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I0" }, - "name": "unnamedWire#24", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_OVRRET" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "OVRRET" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#113", + "name": "unnamedWire#41", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "OEN" + "compName": "GUINandGate#3", + "pinName": "A" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "B" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#138", + "name": "unnamedWire#42", "path": [] }, { "pin1": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#3", "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EC" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EOVR" }, - "name": "unnamedWire#68", + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EN" }, - "name": "unnamedWire#65", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IC" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EC" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I1" + "compName": "GUINandGate#5", + "pinName": "Y" }, - "name": "unnamedWire#19", + "name": "unnamedWire#45", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "OE0" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EZ" }, - "name": "unnamedWire#203", + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEZ" }, - "name": "unnamedWire#173", + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I11" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEC" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "B" }, - "name": "unnamedWire#182", + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#3", - "pinName": "IN" + "compName": "GUISplitter#1", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "YZ" }, - "name": "unnamedWire#165", + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I1" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUISplitter#0", + "pinName": "O1" }, - "name": "unnamedWire#34", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "YC" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "CT_INV" + "compName": "GUISplitter#1", + "pinName": "O1" }, - "name": "unnamedWire#130", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#4", - "pinName": "OUT" + "compName": "GUISplitter#1", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "YN" }, - "name": "unnamedWire#164", + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "GUIMerger#1", - "pinName": "I3" + "compName": "_submodelinterface", + "pinName": "YOVR" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O9" + "compName": "GUISplitter#1", + "pinName": "O3" }, - "name": "unnamedWire#13", + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "MC_EN" + "compName": "GUISplitter#1", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "COVD_EN" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#32", + "name": "unnamedWire#53", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUISplitter#7", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" }, - "name": "unnamedWire#133", + "name": "unnamedWire#54", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "M" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#136", + "name": "unnamedWire#55", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "I" + "compName": "GUINandGate#1", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#101", + "name": "unnamedWire#56", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C" + "pinName": "_CEM" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#0", - "path": [ - { - "x": 5.0, - "y": 25.0 - }, - { - "x": 5.0, - "y": 10.0 - } - ] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_3" - }, - "pin2": { - "compName": "GUISplitter#5", - "pinName": "O2" - }, - "name": "unnamedWire#109", + "name": "unnamedWire#57", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O0" + "compName": "GUINandGate#2", + "pinName": "B" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_1" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEN" }, - "name": "unnamedWire#97", + "name": "unnamedWire#58", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y011" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEOVR" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I011" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#118", + "name": "unnamedWire#59", "path": [] }, { "pin1": { - "compName": "GUISplitter#6", - "pinName": "I" + "compName": "GUISplitter#0", + "pinName": "O2" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "CT_MUX" + "compName": "GUIMerger#0", + "pinName": "I2" }, - "name": "unnamedWire#124", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "GUISplitter#7", - "pinName": "O2" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#134", + "name": "unnamedWire#60", "path": [] }, { "pin1": { - "compName": "GUIMerger#3", - "pinName": "I3" + "compName": "GUINandGate#7", + "pinName": "A" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y4" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#92", + "name": "unnamedWire#61", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "O3" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_4" + "compName": "GUINandGate#8", + "pinName": "A" }, - "name": "unnamedWire#110", + "name": "unnamedWire#62", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#9", "pinName": "A" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#42", + "name": "unnamedWire#63", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#12", "pinName": "" }, - "name": "unnamedWire#185", + "name": "unnamedWire#64", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#37", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#12", - "pinName": "A" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUISplitter#9", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EOVR" }, - "name": "unnamedWire#148", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I5" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EN" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O5" + "compName": "GUINandGate#7", + "pinName": "Y" }, - "name": "unnamedWire#9", + "name": "unnamedWire#67", "path": [] }, { "pin1": { - "compName": "GUISplitter#9", - "pinName": "O2" + "compName": "GUINandGate#8", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EC" }, - "name": "unnamedWire#149", + "name": "unnamedWire#68", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", - "pinName": "I" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "QIOn_MUX" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EZ" }, - "name": "unnamedWire#210", + "name": "unnamedWire#69", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIMerger#0", + "pinName": "I3" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O3" }, - "name": "unnamedWire#33", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "IN" + "compName": "WireCrossPoint#11", + "pinName": "" }, - "name": "unnamedWire#112", + "name": "unnamedWire#70", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IOVR" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y1" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I3" + "compName": "GUINandGate#9", + "pinName": "B" }, - "name": "unnamedWire#17", - "path": [ - { - "x": 10.0, - "y": 125.0 - }, - { - "x": 10.0, - "y": 95.0 - } - ] + "name": "unnamedWire#71", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EC" + "compName": "GUINandGate#8", + "pinName": "B" }, "pin2": { "compName": "DeserializedSubmodelComponent#4", - "pinName": "A2" + "pinName": "Y2" }, - "name": "unnamedWire#76", + "name": "unnamedWire#72", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#10", - "pinName": "A" + "compName": "GUINandGate#7", + "pinName": "B" }, - "name": "unnamedWire#204", + "name": "unnamedWire#73", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#3", - "pinName": "OUT" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "B" }, - "name": "unnamedWire#163", + "name": "unnamedWire#74", "path": [] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EZ" }, - "name": "unnamedWire#63", + "name": "unnamedWire#75", "path": [] }, { - "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_CINV" + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EC" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "CINV" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A2" }, - "name": "unnamedWire#21", + "name": "unnamedWire#76", "path": [] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "_EN" }, - "name": "unnamedWire#83", + "name": "unnamedWire#77", "path": [] }, { "pin1": { - "compName": "GUISplitter#11", - "pinName": "O2" + "compName": "_submodelinterface", + "pinName": "_EOVR" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "S1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A4" }, - "name": "unnamedWire#168", + "name": "unnamedWire#78", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "I0" + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#154", + "name": "unnamedWire#79", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "Y" + "compName": "GUISplitter#0", + "pinName": "O4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#17", - "pinName": "I0" + "compName": "GUIMerger#0", + "pinName": "I4" }, - "name": "unnamedWire#221", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I011" + "compName": "GUINandGate#10", + "pinName": "A" }, - "name": "unnamedWire#192", + "name": "unnamedWire#80", "path": [] }, { "pin1": { - "compName": "GUISplitter#11", - "pinName": "O0" + "compName": "GUINandGate#10", + "pinName": "B" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I00" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#167", + "name": "unnamedWire#81", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O1" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "_OEY" }, - "name": "unnamedWire#96", + "name": "unnamedWire#82", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "O0" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "A" }, - "name": "unnamedWire#107", + "name": "unnamedWire#83", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "YN" + "compName": "GUITriStateBuffer#0", + "pinName": "EN" }, - "name": "unnamedWire#51", + "name": "unnamedWire#84", "path": [] }, { @@ -3777,193 +3815,181 @@ { "pin1": { "compName": "DeserializedSubmodelComponent#3", - "pinName": "I1_4" + "pinName": "I1_2" }, "pin2": { "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y4" + "pinName": "Y2" }, - "name": "unnamedWire#88", + "name": "unnamedWire#86", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#12", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_3" }, - "name": "unnamedWire#151", + "name": "unnamedWire#87", "path": [] }, { "pin1": { - "compName": "GUIMerger#1", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_4" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O7" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y4" }, - "name": "unnamedWire#11", + "name": "unnamedWire#88", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "SIO0_MUX" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y1" }, "pin2": { - "compName": "GUISplitter#11", - "pinName": "I" + "compName": "GUIMerger#3", + "pinName": "I0" }, - "name": "unnamedWire#166", + "name": "unnamedWire#89", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I5" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "A" + "compName": "GUISplitter#0", + "pinName": "O5" }, - "name": "unnamedWire#80", + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_3" + "compName": "GUIMerger#3", + "pinName": "I1" }, "pin2": { - "compName": "GUISplitter#3", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y2" }, - "name": "unnamedWire#99", + "name": "unnamedWire#90", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIMerger#3", + "pinName": "I2" }, - "name": "unnamedWire#64", + "name": "unnamedWire#91", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#2", - "pinName": "OUT" + "compName": "GUIMerger#3", + "pinName": "I3" }, "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y4" }, - "name": "unnamedWire#162", + "name": "unnamedWire#92", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "I" + "compName": "GUIMerger#3", + "pinName": "O" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "SIOn_MUX" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#188", + "name": "unnamedWire#93", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "I" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "Y_MUX" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "I" }, - "name": "unnamedWire#111", + "name": "unnamedWire#94", "path": [] }, { "pin1": { - "compName": "GUISplitter#15", - "pinName": "O1" + "compName": "GUISplitter#2", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#17", + "compName": "DeserializedSubmodelComponent#5", "pinName": "S0" }, - "name": "unnamedWire#228", + "name": "unnamedWire#95", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I11" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" }, - "name": "unnamedWire#201", + "name": "unnamedWire#96", "path": [] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "GUISplitter#3", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EZ" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#97", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_2" }, "pin2": { - "compName": "GUISplitter#8", - "pinName": "I" - }, - "name": "unnamedWire#137", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#10", + "compName": "GUISplitter#3", "pinName": "O1" }, - "pin2": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "I0" - }, - "name": "unnamedWire#145", + "name": "unnamedWire#98", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_OEY" + "compName": "GUISplitter#3", + "pinName": "O2" }, - "name": "unnamedWire#82", + "name": "unnamedWire#99", "path": [] } ], @@ -3980,8 +4006,21 @@ "outlineRendererSnippetID": "default", "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { - "subcomponentHighLevelStates": {}, + "subcomponentHighLevelStates": { + "musr": { + "id": "delegating", + "params": { + "delegateTarget": "DeserializedSubmodelComponent#1" + } + }, + "msr": { + "id": "delegating", + "params": { + "delegateTarget": "DeserializedSubmodelComponent#0" + } + } + }, "atomicHighLevelStates": {} }, - "version": "0.1.4" + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904MSR.json b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904MSR.json index 4a244645..6e93abf4 100644 --- a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904MSR.json +++ b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904MSR.json @@ -4,19 +4,12 @@ "interfacePins": [ { "location": { - "x": 4.0, + "x": 14.0, "y": 46.0 }, - "name": "MUX", - "logicWidth": 3 - }, - { - "location": { - "x": 45.0, - "y": 19.0 - }, - "name": "Q", - "logicWidth": 4 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -24,39 +17,44 @@ "y": 46.0 }, "name": "COVD_EN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 14.0, + "x": 37.5, "y": 46.0 }, - "name": "C", - "logicWidth": 1 + "name": "COVD_V", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 5.5, - "y": 0.0 + "x": 0.0, + "y": 31.0 }, - "name": "_EZ", - "logicWidth": 1 + "name": "I", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 37.5, + "x": 4.0, "y": 46.0 }, - "name": "COVD_V", - "logicWidth": 1 + "name": "MUX", + "logicWidth": 3, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 45.0, + "y": 19.0 }, - "name": "mu", - "logicWidth": 4 + "name": "Q", + "logicWidth": 4, + "usage": "OUTPUT" }, { "location": { @@ -64,15 +62,17 @@ "y": 18.0 }, "name": "Y", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 31.0 + "x": 15.5, + "y": 0.0 }, - "name": "I", - "logicWidth": 4 + "name": "_EC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -80,37 +80,40 @@ "y": 0.0 }, "name": "_EN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 15.5, + "x": 35.5, + "y": 0.2 + }, + "name": "_EOVR", + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 5.5, "y": 0.0 }, - "name": "_EC", - "logicWidth": 1 + "name": "_EZ", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.5, - "y": 0.2 + "x": 0.0, + "y": 5.0 }, - "name": "_EOVR", - "logicWidth": 1 + "name": "mu", + "logicWidth": 4, + "usage": "INPUT" } ], "innerScale": 0.1, "submodel": { "components": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 419.0, - "y": 184.0 - }, - "params": 1 - }, { "id": "GUImux1_4", "name": "DeserializedSubmodelComponent#0", @@ -119,6 +122,70 @@ "y": 110.0 } }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 35.0, + "y": 250.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 150.0, + "y": 280.0 + } + }, + { + "id": "GUInot4", + "name": "DeserializedSubmodelComponent#3", + "pos": { + "x": 100.0, + "y": 330.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#4", + "pos": { + "x": 110.0, + "y": 60.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#5", + "pos": { + "x": 200.0, + "y": 230.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#6", + "pos": { + "x": 250.0, + "y": 180.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#7", + "pos": { + "x": 325.0, + "y": 290.0 + } + }, + { + "id": "GUIand", + "name": "DeserializedSubmodelComponent#8", + "pos": { + "x": 380.0, + "y": 85.0 + } + }, { "id": "GUIMerger", "name": "GUIMerger#0", @@ -129,11 +196,11 @@ "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { - "x": 84.0, - "y": 344.0 + "x": 325.0, + "y": 90.0 }, "params": 1 }, @@ -147,30 +214,13 @@ "params": 4 }, { - "id": "GUIdff4_finewe", - "name": "GUIdff4_finewe#0", - "pos": { - "x": 375.0, - "y": 170.0 - } - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 74.0, - "y": 314.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUISplitter", + "name": "GUISplitter#1", "pos": { - "x": 424.0, - "y": 194.0 + "x": 5.0, + "y": 165.0 }, - "params": 1 + "params": 4 }, { "id": "GUISplitter", @@ -183,19 +233,45 @@ }, { "id": "GUISplitter", - "name": "GUISplitter#1", + "name": "GUISplitter#3", "pos": { "x": 5.0, - "y": 165.0 + "y": 295.0 }, "params": 4 }, + { + "id": "GUIdff4_finewe", + "name": "GUIdff4_finewe#0", + "pos": { + "x": 375.0, + "y": 170.0 + } + }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#0", "pos": { - "x": 429.0, - "y": 204.0 + "x": 29.0, + "y": 284.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 414.0, + "y": 174.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 89.0, + "y": 84.0 }, "params": 1 }, @@ -218,86 +294,74 @@ "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { - "x": 325.0, - "y": 90.0 + "x": 194.0, + "y": 234.0 }, "params": 1 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { - "x": 200.0, - "y": 230.0 - } + "x": 89.0, + "y": 104.0 + }, + "params": 1 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 325.0, - "y": 290.0 - } + "x": 319.0, + "y": 294.0 + }, + "params": 1 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { - "x": 150.0, - "y": 280.0 - } + "x": 319.0, + "y": 104.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { - "x": 29.0, - "y": 284.0 + "x": 419.0, + "y": 184.0 }, "params": 1 }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 35.0, - "y": 250.0 - } - }, - { - "id": "GUInot4", - "name": "DeserializedSubmodelComponent#3", - "pos": { - "x": 100.0, - "y": 330.0 - } - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#4", - "pos": { - "x": 110.0, - "y": 60.0 - } + "x": 424.0, + "y": 194.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#4", "pos": { - "x": 414.0, - "y": 174.0 + "x": 429.0, + "y": 204.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 29.0, - "y": 254.0 + "x": 84.0, + "y": 344.0 }, "params": 1 }, @@ -312,28 +376,19 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#14", - "pos": { - "x": 89.0, - "y": 104.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#7", "pos": { - "x": 89.0, - "y": 84.0 + "x": 29.0, + "y": 254.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "name": "WireCrossPoint#8", "pos": { - "x": 319.0, - "y": 294.0 + "x": 74.0, + "y": 314.0 }, "params": 1 }, @@ -345,83 +400,73 @@ "y": 114.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", - "pos": { - "x": 319.0, - "y": 104.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", - "pos": { - "x": 194.0, - "y": 234.0 + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "C" }, - "params": 1 - }, - { - "id": "GUIand", - "name": "DeserializedSubmodelComponent#8", - "pos": { - "x": 380.0, - "y": 85.0 - } - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#6", - "pos": { - "x": 250.0, - "y": 180.0 - } + "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 + } + ] }, - { - "id": "GUISplitter", - "name": "GUISplitter#3", - "pos": { - "x": 5.0, - "y": 295.0 - }, - "params": 4 - } - ], - "wires": [ { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "_submodelinterface", + "pinName": "_EOVR" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_1" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE4" }, - "name": "unnamedWire#12", + "name": "unnamedWire#1", "path": [ { - "x": 35.0, - "y": 35.0 + "x": 355.0, + "y": 30.0 }, { - "x": 35.0, - "y": 125.0 + "x": 355.0, + "y": 215.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "mu" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "S0" + "compName": "GUISplitter#0", + "pinName": "I" }, - "name": "unnamedWire#68", + "name": "unnamedWire#10", "path": [] }, { @@ -438,271 +483,201 @@ }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_3" + "compName": "GUISplitter#0", + "pinName": "O0" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" }, - "name": "unnamedWire#61", + "name": "unnamedWire#12", "path": [ { - "x": 75.0, - "y": 265.0 + "x": 35.0, + "y": 35.0 + }, + { + "x": 35.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O1" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 30.0, + "y": 135.0 + }, + { + "x": 30.0, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#2", + "compName": "GUISplitter#0", "pinName": "O2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" }, - "name": "unnamedWire#82", + "name": "unnamedWire#14", "path": [ { - "x": 245.0, - "y": 445.0 + "x": 25.0, + "y": 55.0 }, { - "x": 245.0, - "y": 185.0 + "x": 25.0, + "y": 145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "S0" + "compName": "GUISplitter#0", + "pinName": "O3" }, - "name": "unnamedWire#43", - "path": [] + "name": "unnamedWire#15", + "path": [ + { + "x": 20.0, + "y": 155.0 + }, + { + "x": 20.0, + "y": 65.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUISplitter#1", + "pinName": "O0" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" }, - "name": "unnamedWire#21", + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", + "compName": "DeserializedSubmodelComponent#0", "pinName": "I1_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y2" + "compName": "GUISplitter#1", + "pinName": "O1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O1" + "compName": "GUISplitter#1", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" }, - "name": "unnamedWire#67", - "path": [ - { - "x": 195.0, - "y": 435.0 - } - ] - }, - { - "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": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O1" - }, - "name": "unnamedWire#17", + "name": "unnamedWire#18", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I1_4" + "compName": "GUISplitter#1", + "pinName": "O3" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y4" - }, - "name": "unnamedWire#48", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_2" + "pinName": "I1_4" }, - "name": "unnamedWire#53", + "name": "unnamedWire#19", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C" + "pinName": "_EN" }, "pin2": { "compName": "GUIdff4_finewe#0", - "pinName": "C" + "pinName": "_WE3" }, - "name": "unnamedWire#0", + "name": "unnamedWire#2", "path": [ - { - "x": 140.0, - "y": 415.0 - }, - { - "x": 255.0, - "y": 415.0 - }, { "x": 255.0, - "y": 280.0 + "y": 25.0 }, { - "x": 340.0, - "y": 280.0 + "x": 360.0, + "y": 25.0 }, { - "x": 340.0, - "y": 175.0 + "x": 360.0, + "y": 205.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_2" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y2" - }, - "name": "unnamedWire#31", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "MUX" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "I" }, - "name": "unnamedWire#35", + "name": "unnamedWire#20", "path": [ { - "x": 420.0, - "y": 385.0 - }, - { - "x": 85.0, - "y": 385.0 + "x": 40.0, + "y": 435.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "COVD_EN" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#84", - "path": [ - { - "x": 275.0, - "y": 295.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_3" + "compName": "GUISplitter#3", + "pinName": "I" }, - "name": "unnamedWire#79", - "path": [ - { - "x": 205.0, - "y": 85.0 - }, - { - "x": 205.0, - "y": 215.0 - } - ] + "name": "unnamedWire#22", + "path": [] }, { "pin1": { @@ -727,244 +702,324 @@ }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUISplitter#2", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#89", + "name": "unnamedWire#24", + "path": [ + { + "x": 60.0, + "y": 425.0 + }, + { + "x": 60.0, + "y": 415.0 + }, + { + "x": 30.0, + "y": 415.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y1" + "compName": "GUIdff4_finewe#0", + "pinName": "Q3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_1" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#77", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_1" + "compName": "GUIMerger#0", + "pinName": "I2" }, - "name": "unnamedWire#57", + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "GUIMerger#0", + "pinName": "I3" }, "pin2": { - "compName": "GUISplitter#3", - "pinName": "I" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#22", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O2" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_3" + "compName": "GUIdff4_finewe#0", + "pinName": "Q4" }, - "name": "unnamedWire#14", + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EC" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "A" + }, + "name": "unnamedWire#3", "path": [ { - "x": 25.0, - "y": 55.0 + "x": 155.0, + "y": 20.0 }, { - "x": 25.0, - "y": 145.0 + "x": 365.0, + "y": 20.0 + }, + { + "x": 365.0, + "y": 90.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", + "compName": "DeserializedSubmodelComponent#3", "pinName": "Y1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", + "compName": "DeserializedSubmodelComponent#2", "pinName": "I1_1" }, - "name": "unnamedWire#63", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y2" }, - "name": "unnamedWire#13", - "path": [ - { - "x": 30.0, - "y": 135.0 - }, - { - "x": 30.0, - "y": 45.0 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_3" }, - "name": "unnamedWire#44", + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y4" }, - "name": "unnamedWire#49", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_4" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y4" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A1" }, - "name": "unnamedWire#78", + "name": "unnamedWire#34", "path": [ { - "x": 200.0, - "y": 225.0 + "x": 415.0, + "y": 380.0 }, { - "x": 200.0, - "y": 95.0 + "x": 80.0, + "y": 380.0 + }, + { + "x": 80.0, + "y": 335.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y3" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_3" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#65", - "path": [] + "name": "unnamedWire#35", + "path": [ + { + "x": 420.0, + "y": 385.0 + }, + { + "x": 85.0, + "y": 385.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "MUX" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A3" }, - "name": "unnamedWire#20", + "name": "unnamedWire#36", "path": [ { - "x": 40.0, - "y": 435.0 + "x": 425.0, + "y": 390.0 + }, + { + "x": 90.0, + "y": 390.0 + }, + { + "x": 90.0, + "y": 355.0 } ] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#28", - "path": [] + "name": "unnamedWire#37", + "path": [ + { + "x": 430.0, + "y": 395.0 + }, + { + "x": 95.0, + "y": 395.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O2" + "compName": "GUISplitter#3", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_3" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_4" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#54", + "name": "unnamedWire#39", "path": [ { - "x": 90.0, - "y": 75.0 + "x": 85.0, + "y": 325.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "_EZ" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_3" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE1" }, - "name": "unnamedWire#32", - "path": [] + "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#4", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q4" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_2" }, - "name": "unnamedWire#29", - "path": [] + "name": "unnamedWire#40", + "path": [ + { + "x": 95.0, + "y": 305.0 + } + ] }, { "pin1": { @@ -980,572 +1035,470 @@ }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O3" + "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": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "name": "unnamedWire#43", + "path": [] + }, + { + "pin1": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_4" + "pinName": "Y1" }, - "name": "unnamedWire#19", + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_1" + }, + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "A1" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#34", + "name": "unnamedWire#45", "path": [ { - "x": 415.0, - "y": 380.0 - }, - { - "x": 80.0, - "y": 380.0 - }, - { - "x": 80.0, - "y": 335.0 + "x": 50.0, + "y": 105.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "mu" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, - "name": "unnamedWire#10", + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_3" + }, + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_4" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, - "name": "unnamedWire#38", + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_4" }, - "name": "unnamedWire#45", - "path": [ - { - "x": 50.0, - "y": 105.0 - } - ] + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIMerger#0", + "pinName": "O" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#92", - "path": [ - { - "x": 320.0, - "y": 95.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_3" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#52", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O0" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#24", - "path": [ - { - "x": 60.0, - "y": 425.0 - }, - { - "x": 60.0, - "y": 415.0 - }, - { - "x": 30.0, - "y": 415.0 - } - ] + "name": "unnamedWire#51", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_3" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#37", - "path": [ - { - "x": 430.0, - "y": 395.0 - }, - { - "x": 95.0, - "y": 395.0 - } - ] + "name": "unnamedWire#52", + "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O0" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#53", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EOVR" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE4" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#54", "path": [ { - "x": 355.0, - "y": 30.0 - }, - { - "x": 355.0, - "y": 215.0 + "x": 90.0, + "y": 75.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#93", + "name": "unnamedWire#55", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "O" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y3" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_3" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_1" }, - "name": "unnamedWire#75", + "name": "unnamedWire#57", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "A2" + "compName": "GUISplitter#3", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#8", "pinName": "" }, - "name": "unnamedWire#56", + "name": "unnamedWire#58", "path": [] }, { "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#13", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_1" }, - "name": "unnamedWire#69", + "name": "unnamedWire#59", "path": [ { - "x": 105.0, - "y": 235.0 - }, - { - "x": 105.0, - "y": 65.0 + "x": 20.0, + "y": 245.0 } ] }, { "pin1": { "compName": "GUIdff4_finewe#0", - "pinName": "Q2" + "pinName": "Q1" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#6", "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#5", - "pinName": "I1_2" + "pinName": "I0_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y" }, - "name": "unnamedWire#64", + "name": "unnamedWire#60", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_3" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I0" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#61", + "path": [ + { + "x": 75.0, + "y": 265.0 + } + ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_4" + "compName": "GUISplitter#3", + "pinName": "O3" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_4" }, - "name": "unnamedWire#39", + "name": "unnamedWire#62", "path": [ { - "x": 85.0, + "x": 80.0, "y": 325.0 + }, + { + "x": 80.0, + "y": 275.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_1" }, - "name": "unnamedWire#60", + "name": "unnamedWire#63", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y2" }, - "name": "unnamedWire#85", + "name": "unnamedWire#64", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y3" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_3" }, - "name": "unnamedWire#27", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_4" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y4" }, - "name": "unnamedWire#91", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_2" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#67", "path": [ { - "x": 95.0, - "y": 305.0 + "x": 195.0, + "y": 435.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "S0" }, - "name": "unnamedWire#42", - "path": [ - { - "x": 30.0, - "y": 230.0 - }, - { - "x": 50.0, - "y": 230.0 - } - ] + "name": "unnamedWire#68", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y1" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "S0" }, - "name": "unnamedWire#81", + "name": "unnamedWire#69", "path": [ { - "x": 215.0, - "y": 65.0 + "x": 105.0, + "y": 235.0 }, { - "x": 215.0, - "y": 195.0 + "x": 105.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EZ" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE1" + "compName": "GUIMerger#0", + "pinName": "I0" }, - "name": "unnamedWire#4", - "path": [ - { - "x": 55.0, - "y": 15.0 - }, - { - "x": 370.0, - "y": 15.0 - }, - { - "x": 370.0, - "y": 185.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D1" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y1" + "compName": "GUIdff4_finewe#0", + "pinName": "D4" }, - "name": "unnamedWire#73", + "name": "unnamedWire#70", "path": [ { - "x": 310.0, - "y": 225.0 + "x": 295.0, + "y": 215.0 }, { - "x": 310.0, - "y": 185.0 + "x": 295.0, + "y": 255.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_4" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y4" - }, - "name": "unnamedWire#66", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "_EN" + "compName": "GUIdff4_finewe#0", + "pinName": "D3" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE3" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y3" }, - "name": "unnamedWire#2", + "name": "unnamedWire#71", "path": [ { - "x": 255.0, - "y": 25.0 - }, - { - "x": 360.0, - "y": 25.0 + "x": 300.0, + "y": 245.0 }, { - "x": 360.0, + "x": 300.0, "y": 205.0 } ] }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "A4" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "name": "unnamedWire#55", - "path": [] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_4" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y4" - }, - "name": "unnamedWire#33", - "path": [] - }, { "pin1": { "compName": "DeserializedSubmodelComponent#8", @@ -1577,195 +1530,253 @@ }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "D1" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y1" }, - "name": "unnamedWire#51", + "name": "unnamedWire#73", + "path": [ + { + "x": 310.0, + "y": 225.0 + }, + { + "x": 310.0, + "y": 185.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y4" + }, + "name": "unnamedWire#74", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "DeserializedSubmodelComponent#5", "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", + "compName": "DeserializedSubmodelComponent#6", "pinName": "I1_3" }, - "name": "unnamedWire#47", + "name": "unnamedWire#75", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_2" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y2" }, - "name": "unnamedWire#83", + "name": "unnamedWire#76", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_1" }, - "name": "unnamedWire#58", + "name": "unnamedWire#77", "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q3" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_4" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y4" }, - "name": "unnamedWire#26", - "path": [] + "name": "unnamedWire#78", + "path": [ + { + "x": 200.0, + "y": 225.0 + }, + { + "x": 200.0, + "y": 95.0 + } + ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D3" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y3" }, "pin2": { "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y3" + "pinName": "I0_3" }, - "name": "unnamedWire#71", + "name": "unnamedWire#79", "path": [ { - "x": 300.0, - "y": 245.0 + "x": 205.0, + "y": 85.0 }, { - "x": 300.0, - "y": 205.0 + "x": 205.0, + "y": 215.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q1" + "compName": "GUIMerger#0", + "pinName": "I1" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y2" }, - "name": "unnamedWire#59", + "name": "unnamedWire#80", "path": [ { - "x": 20.0, - "y": 245.0 + "x": 210.0, + "y": 205.0 + }, + { + "x": 210.0, + "y": 75.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y1" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_1" }, - "name": "unnamedWire#15", + "name": "unnamedWire#81", "path": [ { - "x": 20.0, - "y": 155.0 + "x": 215.0, + "y": 65.0 }, { - "x": 20.0, - "y": 65.0 + "x": 215.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_2" + "compName": "GUISplitter#2", + "pinName": "O2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y2" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "S0" }, - "name": "unnamedWire#80", + "name": "unnamedWire#82", "path": [ { - "x": 210.0, - "y": 205.0 + "x": 245.0, + "y": 445.0 }, { - "x": 210.0, - "y": 75.0 + "x": 245.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "Y" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "D2" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#88", + "name": "unnamedWire#83", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "COVD_EN" + }, + "name": "unnamedWire#84", "path": [ { - "x": 365.0, + "x": 275.0, "y": 295.0 - }, - { - "x": 365.0, - "y": 235.0 } ] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O3" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S0" }, - "name": "unnamedWire#62", + "name": "unnamedWire#85", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "COVD_V" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I1" + }, + "name": "unnamedWire#86", "path": [ { - "x": 80.0, + "x": 375.0, "y": 325.0 }, { - "x": 80.0, - "y": 275.0 + "x": 320.0, + "y": 325.0 + }, + { + "x": 320.0, + "y": 315.0 } ] }, @@ -1792,99 +1803,100 @@ }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "D2" }, - "name": "unnamedWire#90", - "path": [] + "name": "unnamedWire#88", + "path": [ + { + "x": 365.0, + "y": 295.0 + }, + { + "x": 365.0, + "y": 235.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "B" }, - "name": "unnamedWire#50", + "name": "unnamedWire#89", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_2" + "compName": "GUIdff4_finewe#0", + "pinName": "Q2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y2" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#76", + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y1" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_1" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#30", + "name": "unnamedWire#90", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_4" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y4" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#74", + "name": "unnamedWire#91", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EC" + "compName": "GUINandGate#0", + "pinName": "A" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "A" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#3", + "name": "unnamedWire#92", "path": [ { - "x": 155.0, - "y": 20.0 - }, - { - "x": 365.0, - "y": 20.0 - }, - { - "x": 365.0, - "y": 90.0 + "x": 320.0, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" }, - "name": "unnamedWire#8", + "name": "unnamedWire#93", "path": [] } ], @@ -1902,7 +1914,15 @@ "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { "subcomponentHighLevelStates": {}, - "atomicHighLevelStates": {} + "atomicHighLevelStates": { + "q": { + "id": "delegating", + "params": { + "delegateTarget": "GUIdff4_finewe#0", + "subStateID": "q" + } + } + } }, - "version": "0.1.4" + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json index 5b35584f..93b91e58 100644 --- a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json +++ b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904TestLogic.json @@ -1,63 +1,69 @@ -mograsim version: 0.1.3 { "width": 60.0, "height": 90.0, "interfacePins": [ { "location": { - "x": 60.0, - "y": 60.0 + "x": 0.0, + "y": 50.0 }, - "name": "Y101", - "logicWidth": 1 + "name": "I", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { "x": 60.0, - "y": 20.0 + "y": 10.0 }, - "name": "Y001", - "logicWidth": 1 + "name": "Y000", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 50.0 + "y": 20.0 }, - "name": "Y100", - "logicWidth": 1 + "name": "Y001", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 80.0 + "y": 30.0 }, - "name": "Y111", - "logicWidth": 1 + "name": "Y010", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 50.0 + "x": 60.0, + "y": 40.0 }, - "name": "I", - "logicWidth": 4 + "name": "Y011", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 40.0 + "y": 50.0 }, - "name": "Y011", - "logicWidth": 1 + "name": "Y100", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 10.0 + "y": 60.0 }, - "name": "Y000", - "logicWidth": 1 + "name": "Y101", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,20 +71,39 @@ mograsim version: 0.1.3 "y": 70.0 }, "name": "Y110", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 30.0 + "y": 80.0 }, - "name": "Y010", - "logicWidth": 1 + "name": "Y111", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 40.0, + "y": 20.0 + } + }, + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 85.0, + "y": 20.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -90,10 +115,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 85.0, - "y": 20.0 + "x": 120.0, + "y": 15.0 }, "params": 1 }, @@ -108,22 +133,31 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { - "x": 120.0, - "y": 15.0 + "x": 80.0, + "y": 115.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 34.0, - "y": 99.0 + "x": 80.0, + "y": 165.0 }, "params": 1 }, + { + "id": "GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 5.0, + "y": 110.0 + }, + "params": 4 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#0", @@ -134,20 +168,20 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 5.0, - "y": 110.0 + "x": 34.0, + "y": 99.0 }, - "params": 4 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#10", "pos": { - "x": 79.0, - "y": 24.0 + "x": 39.0, + "y": 109.0 }, "params": 1 }, @@ -162,10 +196,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 24.0, - "y": 119.0 + "x": 79.0, + "y": 24.0 }, "params": 1 }, @@ -180,10 +214,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 74.0, - "y": 59.0 + "x": 24.0, + "y": 119.0 }, "params": 1 }, @@ -198,10 +232,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#7", "pos": { - "x": 24.0, - "y": 149.0 + "x": 74.0, + "y": 59.0 }, "params": 1 }, @@ -215,60 +249,92 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 80.0, - "y": 165.0 + "x": 24.0, + "y": 149.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", - "pos": { - "x": 39.0, - "y": 109.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" }, - "params": 1 + "pin2": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 40.0, - "y": 20.0 - } + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 80.0, - "y": 115.0 + "pin1": { + "compName": "GUINandGate#2", + "pinName": "A" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 110.0, + "y": 20.0 + }, + { + "x": 110.0, + "y": 30.0 + } + ] + }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#14", + "name": "unnamedWire#11", "path": [ { - "x": 115.0, - "y": 60.0 - }, + "x": 20.0, + "y": 65.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#12", + "path": [ { - "x": 115.0, - "y": 30.0 + "x": 40.0, + "y": 55.0 } ] }, @@ -286,15 +352,24 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y000" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#16", - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 115.0, + "y": 60.0 + }, + { + "x": 115.0, + "y": 30.0 + } + ] }, { "pin1": { @@ -315,14 +390,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y000" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [] }, { @@ -344,30 +419,42 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#9", "pinName": "" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [] }, { "pin1": { "compName": "GUISplitter#0", - "pinName": "O0" + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#21", + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#2", "path": [ { - "x": 20.0, - "y": 110.0 + "x": 35.0, + "y": 140.0 } ] }, @@ -385,15 +472,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "GUISplitter#0", + "pinName": "O0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y100" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#21", + "path": [ + { + "x": 20.0, + "y": 110.0 + } + ] }, { "pin1": { @@ -409,14 +501,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y100" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [] }, { @@ -442,14 +534,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [] }, { @@ -466,14 +558,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Y110" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [] }, { @@ -490,75 +582,32 @@ mograsim version: 0.1.3 }, { "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": "" + "compName": "_submodelinterface", + "pinName": "Y110" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#5", + "pinName": "Y" }, - "name": "unnamedWire#6", + "name": "unnamedWire#29", "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" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "A" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#3", + "path": [ + { + "x": 30.0, + "y": 25.0 + } + ] }, { "pin1": { @@ -579,37 +628,21 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#3", + "pinName": "B" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#31", "path": [ { - "x": 110.0, - "y": 20.0 - }, - { - "x": 110.0, - "y": 30.0 + "x": 40.0, + "y": 120.0 } ] }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#5", - "path": [] - }, { "pin1": { "compName": "WireCrossPoint#9", @@ -629,124 +662,100 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y111" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#33", "path": [ { - "x": 35.0, - "y": 35.0 + "x": 30.0, + "y": 200.0 } ] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "B" }, - "name": "unnamedWire#31", + "name": "unnamedWire#4", "path": [ { - "x": 40.0, - "y": 120.0 + "x": 35.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "A" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 30.0, - "y": 25.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 40.0, - "y": 55.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 35.0, - "y": 140.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#11", - "path": [ - { - "x": 20.0, - "y": 65.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Y111" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#33", - "path": [ - { - "x": 30.0, - "y": 200.0 - } - ] + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -761,5 +770,6 @@ mograsim version: 0.1.3 "highLevelStateHandlerParams": { "subcomponentHighLevelStates": {}, "atomicHighLevelStates": {} - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904muSR.json b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904muSR.json index fa3ed355..05fbd4ee 100644 --- a/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904muSR.json +++ b/net.mograsim.logic.model.am2900/components/am2904/GUIAm2904muSR.json @@ -1,23 +1,15 @@ -mograsim version: 0.1.3 { "width": 45.0, "height": 46.0, "interfacePins": [ { "location": { - "x": 4.0, + "x": 14.0, "y": 46.0 }, - "name": "MUX", - "logicWidth": 2 - }, - { - "location": { - "x": 45.0, - "y": 19.0 - }, - "name": "Q", - "logicWidth": 4 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,47 +17,53 @@ mograsim version: 0.1.3 "y": 46.0 }, "name": "CINV", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 14.0, - "y": 46.0 + "x": 0.0, + "y": 31.0 }, - "name": "C", - "logicWidth": 1 + "name": "I", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 5.5, - "y": 0.0 + "x": 0.0, + "y": 13.5 }, - "name": "_EZ", - "logicWidth": 1 + "name": "M", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 37.5, + "x": 4.0, "y": 46.0 }, - "name": "OVRRET", - "logicWidth": 1 + "name": "MUX", + "logicWidth": 2, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 31.0 + "x": 37.5, + "y": 46.0 }, - "name": "I", - "logicWidth": 4 + "name": "OVRRET", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 25.5, - "y": 0.0 + "x": 45.0, + "y": 19.0 }, - "name": "_EN", - "logicWidth": 1 + "name": "Q", + "logicWidth": 4, + "usage": "OUTPUT" }, { "location": { @@ -73,15 +71,17 @@ mograsim version: 0.1.3 "y": 0.0 }, "name": "_EC", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 13.5 + "x": 25.5, + "y": 0.0 }, - "name": "M", - "logicWidth": 4 + "name": "_EN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,20 +89,54 @@ mograsim version: 0.1.3 "y": 0.0 }, "name": "_EOVR", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 5.5, + "y": 0.0 + }, + "name": "_EZ", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 45.0, + "y": 240.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 100.0, + "y": 190.0 + } + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#2", "pos": { "x": 215.0, - "y": 255.0 + "y": 200.0 + } + }, + { + "id": "GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 435.0, + "y": 175.0 }, - "params": 1 + "params": 4 }, { "id": "GUINandGate", @@ -115,30 +149,30 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#1", "pos": { "x": 215.0, - "y": 235.0 + "y": 255.0 }, "params": 1 }, { - "id": "GUIMerger", - "name": "GUIMerger#0", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 435.0, - "y": 175.0 + "x": 215.0, + "y": 235.0 }, - "params": 4 + "params": 1 }, { "id": "GUISplitter", - "name": "GUISplitter#2", + "name": "GUISplitter#0", "pos": { - "x": 45.0, - "y": 430.0 + "x": 5.0, + "y": 120.0 }, - "params": 2 + "params": 4 }, { "id": "GUISplitter", @@ -150,13 +184,21 @@ mograsim version: 0.1.3 "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUISplitter", + "name": "GUISplitter#2", "pos": { - "x": 89.0, - "y": 224.0 + "x": 45.0, + "y": 430.0 }, - "params": 1 + "params": 2 + }, + { + "id": "GUIdff4_finewe", + "name": "GUIdff4_finewe#0", + "pos": { + "x": 375.0, + "y": 170.0 + } }, { "id": "WireCrossPoint", @@ -168,29 +210,29 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 5.0, - "y": 120.0 + "x": 89.0, + "y": 224.0 }, - "params": 4 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#2", "pos": { - "x": 429.0, - "y": 204.0 + "x": 89.0, + "y": 214.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#3", "pos": { - "x": 89.0, - "y": 214.0 + "x": 429.0, + "y": 204.0 }, "params": 1 }, @@ -202,867 +244,836 @@ mograsim version: 0.1.3 "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": [ + "wires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "CINV" + "compName": "GUIdff4_finewe#0", + "pinName": "Q1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "B" + "compName": "GUIMerger#0", + "pinName": "I0" }, - "name": "unnamedWire#36", - "path": [ - { - "x": 275.0, - "y": 390.0 - }, - { - "x": 190.0, - "y": 390.0 - }, - { - "x": 190.0, - "y": 215.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y2" + "compName": "GUIMerger#0", + "pinName": "I1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "A" + "compName": "GUIdff4_finewe#0", + "pinName": "Q2" }, - "name": "unnamedWire#35", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "C" + "compName": "GUISplitter#1", + "pinName": "O0" }, - "name": "unnamedWire#38", + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "name": "unnamedWire#11", "path": [ { - "x": 140.0, - "y": 325.0 - }, - { - "x": 345.0, - "y": 325.0 + "x": 20.0, + "y": 150.0 }, { - "x": 345.0, - "y": 175.0 + "x": 20.0, + "y": 285.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EZ" + "compName": "GUISplitter#0", + "pinName": "O2" }, - "name": "unnamedWire#37", + "name": "unnamedWire#12", "path": [ { - "x": 370.0, - "y": 185.0 - }, - { - "x": 370.0, - "y": 5.0 + "x": 25.0, + "y": 275.0 }, { - "x": 55.0, - "y": 5.0 + "x": 25.0, + "y": 140.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EOVR" + "compName": "GUISplitter#0", + "pinName": "O1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE4" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, - "name": "unnamedWire#39", + "name": "unnamedWire#13", "path": [ { - "x": 355.0, - "y": 215.0 + "x": 30.0, + "y": 130.0 + }, + { + "x": 30.0, + "y": 265.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EC" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE2" + "compName": "GUISplitter#0", + "pinName": "O0" }, - "name": "unnamedWire#41", + "name": "unnamedWire#14", "path": [ { - "x": 155.0, - "y": 10.0 - }, - { - "x": 365.0, - "y": 10.0 + "x": 35.0, + "y": 255.0 }, { - "x": 365.0, - "y": 195.0 + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE3" + "compName": "_submodelinterface", + "pinName": "MUX" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EN" + "compName": "GUISplitter#2", + "pinName": "I" }, - "name": "unnamedWire#40", + "name": "unnamedWire#15", "path": [ { - "x": 360.0, - "y": 205.0 - }, - { - "x": 360.0, - "y": 15.0 - }, - { - "x": 255.0, - "y": 15.0 + "x": 40.0, + "y": 435.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" + "compName": "GUISplitter#2", + "pinName": "O0" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "D2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#43", + "name": "unnamedWire#16", "path": [ { - "x": 310.0, - "y": 205.0 - }, - { - "x": 310.0, - "y": 235.0 + "x": 90.0, + "y": 430.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y1" + "pinName": "I1_4" }, - "name": "unnamedWire#42", - "path": [ - { - "x": 315.0, - "y": 225.0 - }, - { - "x": 315.0, - "y": 195.0 - } - ] + "name": "unnamedWire#17", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y4" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" }, - "name": "unnamedWire#45", - "path": [ - { - "x": 160.0, - "y": 245.0 - }, - { - "x": 160.0, - "y": 225.0 - } - ] + "name": "unnamedWire#18", + "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D3" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y3" + "pinName": "I1_2" }, - "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 - } - ] + "name": "unnamedWire#19", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUIMerger#0", + "pinName": "I2" }, - "name": "unnamedWire#47", - "path": [ - { - "x": 210.0, - "y": 240.0 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "D4" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#20", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_1" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#48", + "name": "unnamedWire#21", "path": [ { - "x": 210.0, - "y": 250.0 + "x": 90.0, + "y": 205.0 } ] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_2" }, - "name": "unnamedWire#9", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_3" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_3" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O2" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_4" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#7", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "I" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_4" }, - "name": "unnamedWire#1", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "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" + "pinName": "S0" }, - "name": "unnamedWire#4", - "path": [] + "name": "unnamedWire#27", + "path": [ + { + "x": 40.0, + "y": 235.0 + }, + { + "x": 40.0, + "y": 245.0 + } + ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_3" + "compName": "GUISplitter#2", + "pinName": "O1" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S0" }, - "name": "unnamedWire#12", + "name": "unnamedWire#28", "path": [ { - "x": 25.0, - "y": 275.0 + "x": 85.0, + "y": 440.0 }, { - "x": 25.0, - "y": 140.0 + "x": 85.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q4" - }, - "pin2": { "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#3", + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "name": "unnamedWire#29", "path": [] }, { "pin1": { "compName": "GUIdff4_finewe#0", - "pinName": "Q3" + "pinName": "Q4" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_4" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#11", + "name": "unnamedWire#30", "path": [ { - "x": 20.0, - "y": 150.0 + "x": 240.0, + "y": 245.0 }, { - "x": 20.0, - "y": 285.0 + "x": 240.0, + "y": 250.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_1" + "compName": "GUINandGate#0", + "pinName": "B" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "GUINandGate#1", + "pinName": "Y" }, - "name": "unnamedWire#14", + "name": "unnamedWire#31", "path": [ { - "x": 35.0, - "y": 255.0 + "x": 240.0, + "y": 260.0 }, { - "x": 35.0, - "y": 120.0 + "x": 240.0, + "y": 265.0 } ] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "_submodelinterface", + "pinName": "OVRRET" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_2" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#13", + "name": "unnamedWire#32", "path": [ { - "x": 30.0, - "y": 130.0 + "x": 375.0, + "y": 360.0 }, { - "x": 30.0, - "y": 265.0 + "x": 205.0, + "y": 360.0 + }, + { + "x": 205.0, + "y": 260.0 } ] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O0" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 90.0, - "y": 430.0 - } - ] + "name": "unnamedWire#33", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "MUX" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "I" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#15", + "name": "unnamedWire#34", "path": [ { - "x": 40.0, - "y": 435.0 + "x": 430.0, + "y": 280.0 + }, + { + "x": 210.0, + "y": 280.0 + }, + { + "x": 210.0, + "y": 270.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" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_1" + "compName": "_submodelinterface", + "pinName": "CINV" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "B" }, - "name": "unnamedWire#21", + "name": "unnamedWire#36", "path": [ { - "x": 90.0, - "y": 205.0 + "x": 275.0, + "y": 390.0 + }, + { + "x": 190.0, + "y": 390.0 + }, + { + "x": 190.0, + "y": 215.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" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE1" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EZ" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#37", + "path": [ + { + "x": 370.0, + "y": 185.0 + }, + { + "x": 370.0, + "y": 5.0 + }, + { + "x": 55.0, + "y": 5.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_2" + "compName": "GUIdff4_finewe#0", + "pinName": "C" }, - "name": "unnamedWire#22", - "path": [] + "name": "unnamedWire#38", + "path": [ + { + "x": 140.0, + "y": 325.0 + }, + { + "x": 345.0, + "y": 325.0 + }, + { + "x": 345.0, + "y": 175.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EOVR" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE4" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#39", + "path": [ + { + "x": 355.0, + "y": 215.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "O" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#24", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "_EN" }, - "name": "unnamedWire#27", + "name": "unnamedWire#40", "path": [ { - "x": 40.0, - "y": 235.0 + "x": 360.0, + "y": 205.0 }, { - "x": 40.0, - "y": 245.0 + "x": 360.0, + "y": 15.0 + }, + { + "x": 255.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_4" - }, - "name": "unnamedWire#26", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EC" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE2" }, - "name": "unnamedWire#29", - "path": [] + "name": "unnamedWire#41", + "path": [ + { + "x": 155.0, + "y": 10.0 + }, + { + "x": 365.0, + "y": 10.0 + }, + { + "x": 365.0, + "y": 195.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O1" + "compName": "GUIdff4_finewe#0", + "pinName": "D1" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "S0" + "pinName": "Y1" }, - "name": "unnamedWire#28", + "name": "unnamedWire#42", "path": [ { - "x": 85.0, - "y": 440.0 + "x": 315.0, + "y": 225.0 }, { - "x": 85.0, + "x": 315.0, "y": 195.0 } ] }, { "pin1": { - "compName": "GUINandGate#2", + "compName": "DeserializedSubmodelComponent#2", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIdff4_finewe#0", + "pinName": "D2" }, - "name": "unnamedWire#30", + "name": "unnamedWire#43", "path": [ { - "x": 240.0, - "y": 245.0 + "x": 310.0, + "y": 205.0 }, { - "x": 240.0, - "y": 250.0 + "x": 310.0, + "y": 235.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "OVRRET" + "compName": "GUIdff4_finewe#0", + "pinName": "D3" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y3" }, - "name": "unnamedWire#32", + "name": "unnamedWire#44", "path": [ { - "x": 375.0, - "y": 360.0 + "x": 305.0, + "y": 245.0 }, { - "x": 205.0, - "y": 360.0 + "x": 305.0, + "y": 225.0 }, { - "x": 205.0, - "y": 260.0 + "x": 170.0, + "y": 225.0 + }, + { + "x": 170.0, + "y": 215.0 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y4" }, - "name": "unnamedWire#31", + "name": "unnamedWire#45", "path": [ { - "x": 240.0, - "y": 260.0 + "x": 160.0, + "y": 245.0 }, { - "x": 240.0, - "y": 265.0 + "x": 160.0, + "y": 225.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "D4" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#34", + "name": "unnamedWire#47", "path": [ - { - "x": 430.0, - "y": 280.0 - }, { "x": 210.0, - "y": 280.0 - }, + "y": 240.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#48", + "path": [ { "x": 210.0, - "y": 270.0 + "y": 250.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "M" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "I" }, - "name": "unnamedWire#33", + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1076,6 +1087,15 @@ mograsim version: 0.1.3 "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { "subcomponentHighLevelStates": {}, - "atomicHighLevelStates": {} - } + "atomicHighLevelStates": { + "q": { + "id": "delegating", + "params": { + "delegateTarget": "GUIdff4_finewe#0", + "subStateID": "q" + } + } + } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2910/GUIAm2910.json b/net.mograsim.logic.model.am2900/components/am2910/GUIAm2910.json index e410f3b4..a5681506 100644 --- a/net.mograsim.logic.model.am2900/components/am2910/GUIAm2910.json +++ b/net.mograsim.logic.model.am2900/components/am2910/GUIAm2910.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 72.0, "height": 67.0, @@ -9,15 +8,8 @@ mograsim version: 0.1.3 "y": 0.0 }, "name": "C", - "logicWidth": 1 - }, - { - "location": { - "x": 36.0, - "y": 0.0 - }, - "name": "D", - "logicWidth": 12 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,15 +17,17 @@ mograsim version: 0.1.3 "y": 40.0 }, "name": "CI", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 6.0 + "x": 36.0, + "y": 0.0 }, - "name": "_RLD", - "logicWidth": 1 + "name": "D", + "logicWidth": 12, + "usage": "INPUT" }, { "location": { @@ -41,31 +35,35 @@ mograsim version: 0.1.3 "y": 50.0 }, "name": "I", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 19.0, + "x": 38.0, "y": 67.0 }, - "name": "_MAP", - "logicWidth": 1 + "name": "Y", + "logicWidth": 12, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 44.0 + "y": 38.0 }, - "name": "_CCEN", - "logicWidth": 1 + "name": "_CC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 49.0, - "y": 67.0 + "x": 0.0, + "y": 44.0 }, - "name": "_OE", - "logicWidth": 1 + "name": "_CCEN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -73,61 +71,136 @@ mograsim version: 0.1.3 "y": 14.0 }, "name": "_FULL", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 38.0, + "x": 19.0, "y": 67.0 }, - "name": "Y", - "logicWidth": 12 + "name": "_MAP", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 13.0, + "x": 49.0, "y": 67.0 }, - "name": "_PL", - "logicWidth": 1 + "name": "_OE", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 25.0, + "x": 13.0, "y": 67.0 }, - "name": "_VECT", - "logicWidth": 1 + "name": "_PL", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 38.0 + "y": 6.0 }, - "name": "_CC", - "logicWidth": 1 + "name": "_RLD", + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 25.0, + "y": 67.0 + }, + "name": "_VECT", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "GUIAm2910InstrPLA", + "name": "GUIAm2910InstrPLA#0", "pos": { - "x": 10.0, - "y": 210.0 - }, - "params": 1 + "x": 80.0, + "y": 155.0 + } }, { - "id": "GUIram5_12", - "name": "GUIram5_12#0", + "id": "GUIAm2910RegCntr", + "name": "GUIAm2910RegCntr#0", + "pos": { + "x": 160.0, + "y": 25.0 + } + }, + { + "id": "GUIAm2910SP", + "name": "GUIAm2910SP#0", "pos": { "x": 305.0, - "y": 100.0 + "y": 55.0 } }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#0", + "pos": { + "x": 160.0, + "y": 95.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#1", + "pos": { + "x": 260.0, + "y": 115.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#2", + "pos": { + "x": 345.0, + "y": 180.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#3", + "pos": { + "x": 265.0, + "y": 150.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#4", + "pos": { + "x": 260.0, + "y": 85.0 + }, + "params": 3 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#5", + "pos": { + "x": 260.0, + "y": 70.0 + }, + "params": 3 + }, { "id": "GUINandGate", "name": "GUINandGate#0", @@ -137,6 +210,27 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 10.0, + "y": 210.0 + }, + "params": 1 + }, + { + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#0", + "pos": { + "x": 180.0, + "y": 290.0 + }, + "params": { + "logicWidth": 12, + "orientation": "DOWN" + } + }, { "id": "GUIdff12", "name": "GUIdff12#0", @@ -154,22 +248,28 @@ mograsim version: 0.1.3 } }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", + "id": "GUInor12", + "name": "GUInor12#0", "pos": { - "x": 265.0, - "y": 150.0 - }, - "params": 12 + "x": 190.0, + "y": 80.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIram5_12", + "name": "GUIram5_12#0", "pos": { - "x": 294.0, - "y": 104.0 - }, - "params": 1 + "x": 305.0, + "y": 100.0 + } + }, + { + "id": "GUIsel4_12", + "name": "GUIsel4_12#0", + "pos": { + "x": 150.0, + "y": 175.0 + } }, { "id": "WireCrossPoint", @@ -182,12 +282,12 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 179.0, - "y": 89.0 + "x": 294.0, + "y": 104.0 }, - "params": 12 + "params": 1 }, { "id": "WireCrossPoint", @@ -200,12 +300,12 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 4.0, - "y": 219.0 + "x": 179.0, + "y": 89.0 }, - "params": 1 + "params": 12 }, { "id": "WireCrossPoint", @@ -218,25 +318,13 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 299.0, - "y": 44.0 + "x": 4.0, + "y": 219.0 }, "params": 1 }, - { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#0", - "pos": { - "x": 180.0, - "y": 290.0 - }, - "params": { - "logicWidth": 12, - "orientation": "DOWN_ALT" - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#6", @@ -248,10 +336,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#7", "pos": { "x": 299.0, - "y": 114.0 + "y": 44.0 }, "params": 1 }, @@ -265,615 +353,651 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUInor12", - "name": "GUInor12#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 190.0, - "y": 80.0 - } - }, + "x": 299.0, + "y": 114.0 + }, + "params": 1 + } + ], + "wires": [ { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", - "pos": { - "x": 160.0, - "y": 95.0 + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YD" }, - "params": 12 + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SA" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIAm2910InstrPLA", - "name": "GUIAm2910InstrPLA#0", - "pos": { - "x": 80.0, - "y": 155.0 - } + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YR" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SB" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUIAm2910SP", - "name": "GUIAm2910SP#0", - "pos": { - "x": 305.0, - "y": 55.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", - "pos": { - "x": 260.0, - "y": 115.0 + "pin1": { + "compName": "GUInor12#0", + "pinName": "Y" }, - "params": 12 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", - "pos": { - "x": 345.0, - "y": 180.0 + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "R\u003d0" }, - "params": 12 - }, - { - "id": "GUIsel4_12", - "name": "GUIsel4_12#0", - "pos": { - "x": 150.0, - "y": 175.0 - } + "name": "unnamedWire#10", + "path": [ + { + "x": 230.0, + "y": 90.0 + }, + { + "x": 230.0, + "y": 120.0 + }, + { + "x": 95.0, + "y": 120.0 + } + ] }, - { - "id": "GUIAm2910RegCntr", - "name": "GUIAm2910RegCntr#0", - "pos": { - "x": 160.0, - "y": 25.0 - } - } - ], - "innerWires": [ { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RWE" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIAm2910RegCntr#0", + "pinName": "WE" }, - "name": "unnamedWire#36", - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 115.0, + "y": 160.0 + }, + { + "x": 115.0, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RDEC" }, "pin2": { - "compName": "GUIdff12#0", - "pinName": "C" + "compName": "GUIAm2910RegCntr#0", + "pinName": "DEC" }, - "name": "unnamedWire#35", - "path": [] + "name": "unnamedWire#12", + "path": [ + { + "x": 120.0, + "y": 170.0 + }, + { + "x": 120.0, + "y": 55.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI0" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#38", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 295.0, + "y": 220.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI1" }, "pin2": { "compName": "GUIAm2910SP#0", - "pinName": "C" + "pinName": "STKI1" }, - "name": "unnamedWire#37", - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 290.0, + "y": 230.0 + }, + { + "x": 290.0, + "y": 70.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "C" - }, - "name": "unnamedWire#39", - "path": [] - }, - { - "pin1": { - "compName": "GUIinc12#0", - "pinName": "CI" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "CI" + "compName": "GUIAm2910SP#0", + "pinName": "STKI0" }, - "name": "unnamedWire#41", - "path": [] + "name": "unnamedWire#15", + "path": [ + { + "x": 295.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "GUIram5_12#0", + "pinName": "WE" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "_MAP" + "compName": "GUIsel4_12#0", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_MAP" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#43", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "_PL" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_PL" + "compName": "GUIinc12#0", + "pinName": "A" }, - "name": "unnamedWire#42", + "name": "unnamedWire#18", "path": [ { - "x": 85.0, - "y": 290.0 - }, - { - "x": 65.0, - "y": 290.0 + "x": 325.0, + "y": 275.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "GUIram5_12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "I" + "compName": "GUIsel4_12#0", + "pinName": "C" }, - "name": "unnamedWire#45", + "name": "unnamedWire#19", "path": [ { - "x": 70.0, - "y": 250.0 - }, - { - "x": 70.0, - "y": 175.0 + "x": 200.0, + "y": 130.0 } ] }, { "pin1": { "compName": "GUIAm2910InstrPLA#0", - "pinName": "_VECT" + "pinName": "YF" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_VECT" + "compName": "GUIsel4_12#0", + "pinName": "SC" }, - "name": "unnamedWire#44", - "path": [ - { - "x": 105.0, - "y": 290.0 - }, - { - "x": 125.0, - "y": 290.0 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUIram5_12#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#1", - "pinName": "" + "compName": "GUIsel4_12#0", + "pinName": "D" }, - "name": "unnamedWire#47", - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 220.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#0", - "pinName": "" + "compName": "GUIsel4_12#0", + "pinName": "B" }, - "name": "unnamedWire#46", + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "GUIdff12#0", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#3", - "pinName": "" + "compName": "GUInor12#0", + "pinName": "D" }, - "name": "unnamedWire#49", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "GUIinc12#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "D" }, "pin2": { - "compName": "GUIBitDisplay#2", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#48", + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "Y" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2910RegCntr#0", + "pinName": "D" }, - "name": "unnamedWire#9", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "GUIAm2910SP#0", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "B" + "compName": "GUIsel4_12#0", + "pinName": "A" }, - "name": "unnamedWire#8", - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 145.0, + "y": 15.0 + }, + { + "x": 145.0, + "y": 150.0 + }, + { + "x": 160.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "GUIAm2910SP#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "_RLD" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "A" + "compName": "GUIAm2910RegCntr#0", + "pinName": "_RLD" }, - "name": "unnamedWire#7", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUITriStateBuffer#0", + "pinName": "IN" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "D" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "YR" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "SB" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "PASS" }, - "name": "unnamedWire#1", - "path": [] + "name": "unnamedWire#28", + "path": [ + { + "x": 65.0, + "y": 195.0 + }, + { + "x": 65.0, + "y": 160.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_CC" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "C" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#50", + "name": "unnamedWire#29", "path": [] }, { "pin1": { "compName": "GUIAm2910InstrPLA#0", - "pinName": "YD" + "pinName": "YmuPC" }, "pin2": { "compName": "GUIsel4_12#0", - "pinName": "SA" + "pinName": "SD" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "OUT" + "compName": "_submodelinterface", + "pinName": "_CCEN" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#52", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#51", - "path": [] + "name": "unnamedWire#31", + "path": [ + { + "x": 5.0, + "y": 215.0 + } + ] }, { "pin1": { - "compName": "GUIdff12#0", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#32", + "path": [ + { + "x": 5.0, + "y": 225.0 + } + ] }, { "pin1": { - "compName": "GUInor12#0", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "R\u003d0" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#33", "path": [ { - "x": 230.0, - "y": 90.0 - }, - { - "x": 230.0, - "y": 120.0 + "x": 35.0, + "y": 220.0 }, { - "x": 95.0, - "y": 120.0 + "x": 35.0, + "y": 200.0 } ] }, { "pin1": { - "compName": "GUIinc12#0", - "pinName": "Y" + "compName": "GUIAm2910SP#0", + "pinName": "_FULL" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_FULL" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { "compName": "GUIdff12#0", - "pinName": "D" + "pinName": "C" }, - "name": "unnamedWire#4", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_OE" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#53", - "path": [ - { - "x": 245.0, - "y": 300.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "YmuPC" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "SD" + "compName": "GUIAm2910SP#0", + "pinName": "C" }, - "name": "unnamedWire#3", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "RDEC" + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#38", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { "compName": "GUIAm2910RegCntr#0", - "pinName": "DEC" + "pinName": "C" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 120.0, - "y": 170.0 - }, - { - "x": 120.0, - "y": 55.0 - } - ] + "name": "unnamedWire#39", + "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "YF" + "compName": "GUIinc12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "SC" + "compName": "GUIdff12#0", + "pinName": "D" }, - "name": "unnamedWire#2", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "RWE" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "WE" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#11", - "path": [ - { - "x": 115.0, - "y": 160.0 - }, - { - "x": 115.0, - "y": 45.0 - } - ] + "name": "unnamedWire#40", + "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "STKI1" + "compName": "GUIinc12#0", + "pinName": "CI" }, "pin2": { - "compName": "GUIAm2910SP#0", - "pinName": "STKI1" + "compName": "_submodelinterface", + "pinName": "CI" }, - "name": "unnamedWire#14", - "path": [ - { - "x": 290.0, - "y": 230.0 - }, - { - "x": 290.0, - "y": 70.0 - } - ] + "name": "unnamedWire#41", + "path": [] }, { "pin1": { "compName": "GUIAm2910InstrPLA#0", - "pinName": "STKI0" + "pinName": "_PL" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_PL" }, - "name": "unnamedWire#13", + "name": "unnamedWire#42", "path": [ { - "x": 295.0, - "y": 220.0 + "x": 85.0, + "y": 290.0 + }, + { + "x": 65.0, + "y": 290.0 } ] }, { "pin1": { - "compName": "GUIram5_12#0", - "pinName": "WE" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_MAP" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_MAP" }, - "name": "unnamedWire#16", + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_VECT" }, - "pin2": { - "compName": "GUIAm2910SP#0", - "pinName": "STKI0" + "pin2": { + "compName": "_submodelinterface", + "pinName": "_VECT" }, - "name": "unnamedWire#15", + "name": "unnamedWire#44", "path": [ { - "x": 295.0, - "y": 60.0 + "x": 105.0, + "y": 290.0 + }, + { + "x": 125.0, + "y": 290.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I" }, "pin2": { - "compName": "GUIinc12#0", - "pinName": "A" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "I" }, - "name": "unnamedWire#18", + "name": "unnamedWire#45", "path": [ { - "x": 325.0, - "y": 275.0 + "x": 70.0, + "y": 250.0 + }, + { + "x": 70.0, + "y": 175.0 } ] }, { "pin1": { - "compName": "GUIsel4_12#0", + "compName": "GUIAm2910RegCntr#0", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "GUIBitDisplay#0", "pinName": "" }, - "name": "unnamedWire#17", + "name": "unnamedWire#46", "path": [] }, { @@ -882,244 +1006,175 @@ mograsim version: 0.1.3 "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "C" - }, - "name": "unnamedWire#19", - "path": [ - { - "x": 200.0, - "y": 130.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", + "compName": "GUIBitDisplay#1", "pinName": "" }, - "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "B" - }, - "name": "unnamedWire#21", + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIinc12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "D" + "compName": "GUIBitDisplay#2", + "pinName": "" }, - "name": "unnamedWire#20", - "path": [ - { - "x": 220.0, - "y": 150.0 - } - ] + "name": "unnamedWire#48", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D" + "compName": "GUIdff12#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "GUIBitDisplay#3", "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIdff12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUInor12#0", - "pinName": "D" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#22", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "A" + "compName": "GUIram5_12#0", + "pinName": "C" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 145.0, - "y": 15.0 - }, - { - "x": 145.0, - "y": 150.0 - }, - { - "x": 160.0, - "y": 150.0 - } - ] + "name": "unnamedWire#50", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "D" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#24", + "name": "unnamedWire#51", "path": [] }, { "pin1": { "compName": "GUITriStateBuffer#0", - "pinName": "IN" + "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#27", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "_RLD" - }, - "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "_RLD" + "pinName": "Y" }, - "name": "unnamedWire#26", + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_CC" + "compName": "GUITriStateBuffer#0", + "pinName": "EN" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "_OE" }, - "name": "unnamedWire#29", - "path": [] + "name": "unnamedWire#53", + "path": [ + { + "x": 245.0, + "y": 300.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUIAm2910SP#0", + "pinName": "A" }, "pin2": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "PASS" + "compName": "GUIBitDisplay#5", + "pinName": "" }, - "name": "unnamedWire#28", - "path": [ - { - "x": 65.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 160.0 - } - ] + "name": "unnamedWire#54", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_CCEN" + "compName": "GUIAm2910SP#0", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "GUIBitDisplay#4", "pinName": "" }, - "name": "unnamedWire#30", + "name": "unnamedWire#55", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUIram5_12#0", + "pinName": "D" }, - "name": "unnamedWire#32", - "path": [ - { - "x": 5.0, - "y": 225.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIAm2910SP#0", + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUIram5_12#0", "pinName": "A" }, - "name": "unnamedWire#31", - "path": [ - { - "x": 5.0, - "y": 215.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { "compName": "GUIAm2910SP#0", - "pinName": "_FULL" + "pinName": "B" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_FULL" + "compName": "GUIram5_12#0", + "pinName": "B" }, - "name": "unnamedWire#34", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUIAm2910RegCntr#0", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#33", - "path": [ - { - "x": 35.0, - "y": 220.0 - }, - { - "x": 35.0, - "y": 200.0 - } - ] + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1132,7 +1187,33 @@ mograsim version: 0.1.3 "outlineRendererSnippetID": "default", "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { - "subcomponentHighLevelStates": {}, + "subcomponentHighLevelStates": { + "r": { + "id": "delegating", + "params": { + "delegateTarget": "GUIAm2910RegCntr#0" + } + }, + "stack": { + "id": "delegating", + "params": { + "delegateTarget": "GUIram5_12#0" + } + }, + "mupc": { + "id": "delegating", + "params": { + "delegateTarget": "GUIdff12#0" + } + }, + "sp": { + "id": "delegating", + "params": { + "delegateTarget": "GUIAm2910SP#0" + } + } + }, "atomicHighLevelStates": {} - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2910/GUIAm2910_old.json b/net.mograsim.logic.model.am2900/components/am2910/GUIAm2910_old.json deleted file mode 100644 index 20f9ac0d..00000000 --- a/net.mograsim.logic.model.am2900/components/am2910/GUIAm2910_old.json +++ /dev/null @@ -1,1089 +0,0 @@ -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": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 10.0, - "y": 210.0 - }, - "params": 1 - }, - { - "id": "GUIram5_12", - "name": "GUIram5_12#0", - "pos": { - "x": 305.0, - "y": 100.0 - } - }, - { - "id": "GUINandGate", - "name": "GUINandGate#0", - "pos": { - "x": 40.0, - "y": 185.0 - }, - "params": 1 - }, - { - "id": "GUIdff12", - "name": "GUIdff12#0", - "pos": { - "x": 305.0, - "y": 160.0 - } - }, - { - "id": "GUIinc12", - "name": "GUIinc12#0", - "pos": { - "x": 305.0, - "y": 190.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", - "pos": { - "x": 265.0, - "y": 150.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 294.0, - "y": 104.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 324.0, - "y": 149.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", - "pos": { - "x": 179.0, - "y": 89.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 189.0, - "y": 274.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", - "pos": { - "x": 4.0, - "y": 219.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", - "pos": { - "x": 179.0, - "y": 14.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", - "pos": { - "x": 299.0, - "y": 44.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", - "pos": { - "x": 299.0, - "y": 79.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", - "pos": { - "x": 299.0, - "y": 114.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 299.0, - "y": 169.0 - }, - "params": 1 - }, - { - "id": "GUIsel4_12", - "name": "GUIsel4_12#0", - "pos": { - "x": 150.0, - "y": 175.0 - } - }, - { - "id": "GUInor12", - "name": "GUInor12#0", - "pos": { - "x": 190.0, - "y": 80.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", - "pos": { - "x": 160.0, - "y": 95.0 - }, - "params": 12 - }, - { - "id": "GUIAm2910InstrPLA", - "name": "GUIAm2910InstrPLA#0", - "pos": { - "x": 80.0, - "y": 155.0 - } - }, - { - "id": "GUIAm2910SP", - "name": "GUIAm2910SP#0", - "pos": { - "x": 305.0, - "y": 55.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", - "pos": { - "x": 260.0, - "y": 115.0 - }, - "params": 12 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", - "pos": { - "x": 345.0, - "y": 180.0 - }, - "params": 12 - }, - { - "id": "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": "simpleRectangularLike", - "symbolRendererParams": { - "centerText": "Am2910", - "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.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff12.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff12.java index 5dd2f961..503831db 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff12.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff12.java @@ -8,11 +8,13 @@ import java.util.Arrays; import java.util.Map; import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -22,13 +24,13 @@ public class GUIdff12 extends SimpleRectangularHardcodedGUIComponent { super(model, name, "D flip flop\n12 bits"); setSize(40, 20); - addPin(new Pin(this, "D", 12, 20, 20), Usage.INPUT, Position.TOP); - addPin(new Pin(this, "C", 1, 0, 10), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "Y", 12, 20, 0), Usage.OUTPUT, Position.BOTTOM); + addPin(new Pin(this, "D", 12, PinUsage.INPUT, 20, 20), Position.TOP); + addPin(new Pin(this, "C", 1, PinUsage.INPUT, 0, 10), Position.RIGHT); + addPin(new Pin(this, "Y", 12, PinUsage.OUTPUT, 20, 0), Position.BOTTOM); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { Bit[] QC = (Bit[]) lastState; if (QC == null) @@ -48,6 +50,34 @@ public class GUIdff12 extends SimpleRectangularHardcodedGUIComponent return QC; } + @Override + protected Object getHighLevelState(Object state, String stateID) + { + switch (stateID) + { + case "q": + return BitVector.of(Arrays.copyOfRange((Bit[]) state, 0, 12)); + default: + return super.getHighLevelState(state, stateID); + } + } + + @Override + protected Object setHighLevelState(Object lastState, String stateID, Object newHighLevelState) + { + switch (stateID) + { + case "q": + BitVector newHighLevelStateCasted = (BitVector) newHighLevelState; + if (newHighLevelStateCasted.length() != 12) + throw new IllegalArgumentException("Expected BitVector of length 12, not " + newHighLevelStateCasted.length()); + System.arraycopy(newHighLevelStateCasted.getBits(), 0, lastState, 0, 12); + return lastState; + default: + return super.setHighLevelState(lastState, stateID, newHighLevelState); + } + } + static { IndirectGUIComponentCreator.setComponentSupplier(GUIdff12.class.getCanonicalName(), (m, p, n) -> new GUIdff12(m, n)); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff4_finewe.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff4_finewe.java index c4efe938..dec8f630 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff4_finewe.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIdff4_finewe.java @@ -6,14 +6,17 @@ import static net.mograsim.logic.core.types.Bit.X; import static net.mograsim.logic.core.types.Bit.Z; import static net.mograsim.logic.core.types.Bit.ZERO; +import java.util.Arrays; import java.util.Map; import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -23,23 +26,23 @@ public class GUIdff4_finewe extends SimpleRectangularHardcodedGUIComponent { super(model, name, "D flip flop\n4 bits"); setSize(35, 90); - addPin(new Pin(this, "C", 1, 0, 5), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "_WE1", 1, 0, 15), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "_WE2", 1, 0, 25), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "_WE3", 1, 0, 35), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "_WE4", 1, 0, 45), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "D1", 1, 0, 55), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "D2", 1, 0, 65), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "D3", 1, 0, 75), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "D4", 1, 0, 85), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "Q1", 1, 35, 5), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "Q2", 1, 35, 15), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "Q3", 1, 35, 25), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "Q4", 1, 35, 35), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "C", 1, PinUsage.INPUT, 0, 5), Position.RIGHT); + addPin(new Pin(this, "_WE1", 1, PinUsage.INPUT, 0, 15), Position.RIGHT); + addPin(new Pin(this, "_WE2", 1, PinUsage.INPUT, 0, 25), Position.RIGHT); + addPin(new Pin(this, "_WE3", 1, PinUsage.INPUT, 0, 35), Position.RIGHT); + addPin(new Pin(this, "_WE4", 1, PinUsage.INPUT, 0, 45), Position.RIGHT); + addPin(new Pin(this, "D1", 1, PinUsage.INPUT, 0, 55), Position.RIGHT); + addPin(new Pin(this, "D2", 1, PinUsage.INPUT, 0, 65), Position.RIGHT); + addPin(new Pin(this, "D3", 1, PinUsage.INPUT, 0, 75), Position.RIGHT); + addPin(new Pin(this, "D4", 1, PinUsage.INPUT, 0, 85), Position.RIGHT); + addPin(new Pin(this, "Q1", 1, PinUsage.OUTPUT, 35, 5), Position.LEFT); + addPin(new Pin(this, "Q2", 1, PinUsage.OUTPUT, 35, 15), Position.LEFT); + addPin(new Pin(this, "Q3", 1, PinUsage.OUTPUT, 35, 25), Position.LEFT); + addPin(new Pin(this, "Q4", 1, PinUsage.OUTPUT, 35, 35), Position.LEFT); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { Bit[] QC = (Bit[]) lastState; if (QC == null) @@ -69,6 +72,34 @@ public class GUIdff4_finewe extends SimpleRectangularHardcodedGUIComponent return QC; } + @Override + protected Object getHighLevelState(Object state, String stateID) + { + switch (stateID) + { + case "q": + return BitVector.of(Arrays.copyOfRange((Bit[]) state, 1, 5)); + default: + return super.getHighLevelState(state, stateID); + } + } + + @Override + protected Object setHighLevelState(Object lastState, String stateID, Object newHighLevelState) + { + switch (stateID) + { + case "q": + BitVector newHighLevelStateCasted = (BitVector) newHighLevelState; + if (newHighLevelStateCasted.length() != 4) + throw new IllegalArgumentException("Expected BitVector of length 4, not " + newHighLevelStateCasted.length()); + System.arraycopy(newHighLevelStateCasted.getBits(), 0, lastState, 1, 4); + return lastState; + default: + return super.setHighLevelState(lastState, stateID, newHighLevelState); + } + } + static { IndirectGUIComponentCreator.setComponentSupplier(GUIdff4_finewe.class.getCanonicalName(), (m, p, n) -> new GUIdff4_finewe(m, n)); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIinc12.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIinc12.java index cbd1f9f0..a20745b8 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIinc12.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIinc12.java @@ -14,6 +14,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -23,13 +24,13 @@ public class GUIinc12 extends SimpleRectangularHardcodedGUIComponent { super(model, name, "Incrementer"); setSize(40, 20); - addPin(new Pin(this, "A", 12, 20, 20), Usage.INPUT, Position.TOP); - addPin(new Pin(this, "CI", 1, 40, 10), Usage.INPUT, Position.LEFT); - addPin(new Pin(this, "Y", 12, 20, 0), Usage.OUTPUT, Position.BOTTOM); + addPin(new Pin(this, "A", 12, PinUsage.INPUT, 20, 20), Position.TOP); + addPin(new Pin(this, "CI", 1, PinUsage.INPUT, 40, 10), Position.LEFT); + addPin(new Pin(this, "Y", 12, PinUsage.OUTPUT, 20, 0), Position.BOTTOM); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { Bit[] ABits = readEnds.get("A").getValues().getBits(); Bit CIVal = readEnds.get("CI").getValue(); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUInor12.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUInor12.java index 5c950350..1948c676 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUInor12.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUInor12.java @@ -14,6 +14,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -23,12 +24,12 @@ public class GUInor12 extends SimpleRectangularHardcodedGUIComponent { super(model, name, "=0"); setSize(35, 20); - addPin(new Pin(this, "D", 12, 0, 10), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "Y", 1, 35, 10), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "D", 12, PinUsage.INPUT, 0, 10), Position.RIGHT); + addPin(new Pin(this, "Y", 1, PinUsage.OUTPUT, 35, 10), Position.LEFT); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { readWriteEnds.get("Y").feedSignals(getResult(readEnds.get("D").getValues().getBits())); return null; diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIram5_12.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIram5_12.java index 1bf80c80..a8c397c3 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIram5_12.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIram5_12.java @@ -8,6 +8,8 @@ import static net.mograsim.logic.core.types.Bit.ZERO; import java.util.Arrays; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; @@ -16,6 +18,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -25,16 +28,16 @@ public class GUIram5_12 extends SimpleRectangularHardcodedGUIComponent { super(model, name, "RAM\n5 x 12 Bit"); setSize(40, 40); - addPin(new Pin(this, "A", 3, 10, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "B", 3, 30, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "WE", 1, 0, 5), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "C", 1, 0, 15), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "Y", 12, 0, 30), Usage.OUTPUT, Position.RIGHT); - addPin(new Pin(this, "D", 12, 20, 40), Usage.INPUT, Position.TOP); + addPin(new Pin(this, "A", 3, PinUsage.INPUT, 10, 0), Position.BOTTOM); + addPin(new Pin(this, "B", 3, PinUsage.INPUT, 30, 0), Position.BOTTOM); + addPin(new Pin(this, "WE", 1, PinUsage.INPUT, 0, 5), Position.RIGHT); + addPin(new Pin(this, "C", 1, PinUsage.INPUT, 0, 15), Position.RIGHT); + addPin(new Pin(this, "Y", 12, PinUsage.OUTPUT, 0, 30), Position.RIGHT); + addPin(new Pin(this, "D", 12, PinUsage.INPUT, 20, 40), Position.TOP); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { BitVector[] memC = (BitVector[]) lastState; if (memC == null) @@ -82,6 +85,32 @@ public class GUIram5_12 extends SimpleRectangularHardcodedGUIComponent return (bits[0] == ONE ? 4 : 0) + (bits[1] == ONE ? 2 : 0) + (bits[2] == ONE ? 1 : 0); } + Pattern stateIDPattern = Pattern.compile("c(0[10][10]|100)"); + + @Override + protected Object getHighLevelState(Object state, String stateID) + { + Matcher m = stateIDPattern.matcher(stateID); + if (m.matches()) + return ((BitVector[]) state)[Integer.parseInt(m.group(1), 2)]; + return super.getHighLevelState(state, stateID); + } + + @Override + protected Object setHighLevelState(Object lastState, String stateID, Object newHighLevelState) + { + Matcher m = stateIDPattern.matcher(stateID); + if (m.matches()) + { + int addr = Integer.parseInt(m.group(1), 2); + BitVector newHighLevelStateCasted = (BitVector) newHighLevelState; + if (newHighLevelStateCasted.length() != 3) + throw new IllegalArgumentException("Expected BitVector of length 3, not " + newHighLevelStateCasted.length()); + return ((BitVector[]) lastState)[addr] = newHighLevelStateCasted; + } + return super.setHighLevelState(lastState, stateID, newHighLevelState); + } + static { IndirectGUIComponentCreator.setComponentSupplier(GUIram5_12.class.getCanonicalName(), (m, p, n) -> new GUIram5_12(m, n)); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIsel4_12.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIsel4_12.java index 480a4b13..ee7bc0ef 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIsel4_12.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/GUIsel4_12.java @@ -15,6 +15,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -24,19 +25,19 @@ public class GUIsel4_12 extends SimpleRectangularHardcodedGUIComponent { super(model, name, "4-way SEL\n12 bit"); setSize(80, 40); - addPin(new Pin(this, "SA", 1, 0, 5), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "SB", 1, 0, 15), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "SC", 1, 0, 25), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "SD", 1, 0, 35), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "A", 12, 10, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "B", 12, 30, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "C", 12, 50, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "D", 12, 70, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "Y", 12, 40, 40), Usage.OUTPUT, Position.TOP); + addPin(new Pin(this, "SA", 1, PinUsage.INPUT, 0, 5), Position.RIGHT); + addPin(new Pin(this, "SB", 1, PinUsage.INPUT, 0, 15), Position.RIGHT); + addPin(new Pin(this, "SC", 1, PinUsage.INPUT, 0, 25), Position.RIGHT); + addPin(new Pin(this, "SD", 1, PinUsage.INPUT, 0, 35), Position.RIGHT); + addPin(new Pin(this, "A", 12, PinUsage.INPUT, 10, 0), Position.BOTTOM); + addPin(new Pin(this, "B", 12, PinUsage.INPUT, 30, 0), Position.BOTTOM); + addPin(new Pin(this, "C", 12, PinUsage.INPUT, 50, 0), Position.BOTTOM); + addPin(new Pin(this, "D", 12, PinUsage.INPUT, 70, 0), Position.BOTTOM); + addPin(new Pin(this, "Y", 12, PinUsage.OUTPUT, 40, 40), Position.TOP); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { Bit SAVal = readEnds.get("SA").getValue(); Bit SBVal = readEnds.get("SB").getValue(); 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 dc3c4794..24068108 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 @@ -14,6 +14,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -23,20 +24,20 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp { super(model, name, "Instruction\ndecode"); setSize(80, 80); - addPin(new Pin(this, "I5-0", 6, 0, 30), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "I12-11", 2, 0, 50), Usage.INPUT, Position.RIGHT); + addPin(new Pin(this, "I5-0", 6, PinUsage.INPUT, 0, 30), Position.RIGHT); + addPin(new Pin(this, "I12-11", 2, PinUsage.INPUT, 0, 50), Position.RIGHT); // muSR MUX: // 00: 0 // 01: 1 // 10: M // 11: I - 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_MUX", 2, PinUsage.OUTPUT, 80, 10), Position.LEFT); + addPin(new Pin(this, "muSR_OVRRET", 1, PinUsage.OUTPUT, 80, 20), Position.LEFT); + addPin(new Pin(this, "muSR_CINV", 1, PinUsage.OUTPUT, 80, 30), Position.LEFT); + addPin(new Pin(this, "muSR_WEZ", 1, PinUsage.OUTPUT, 80, 40), Position.LEFT); + addPin(new Pin(this, "muSR_WEC", 1, PinUsage.OUTPUT, 80, 50), Position.LEFT); + addPin(new Pin(this, "muSR_WEN", 1, PinUsage.OUTPUT, 80, 60), Position.LEFT); + addPin(new Pin(this, "muSR_WEOVR", 1, PinUsage.OUTPUT, 80, 70), Position.LEFT); // MSR MUX: // 000: 0 // 001: 1 @@ -46,19 +47,19 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp // 101: I, invert C // 110: Swap OVR and C // 111: _M - addPin(new Pin(this, "MSR_MUX", 3, 20, 0), Usage.OUTPUT, Position.BOTTOM); - addPin(new Pin(this, "OEN", 1, 60, 0), Usage.OUTPUT, Position.BOTTOM); + addPin(new Pin(this, "MSR_MUX", 3, PinUsage.OUTPUT, 20, 0), Position.BOTTOM); + addPin(new Pin(this, "OEN", 1, PinUsage.OUTPUT, 60, 0), Position.BOTTOM); // Y MUX: // 00: mu // 01: mu // 10: M // 11: I - addPin(new Pin(this, "Y_MUX", 2, 10, 80), Usage.OUTPUT, Position.TOP); + addPin(new Pin(this, "Y_MUX", 2, PinUsage.OUTPUT, 10, 80), 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); - addPin(new Pin(this, "CT_INV", 1, 40, 80), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "CT_EXP", 1, 50, 80), Usage.OUTPUT, Position.TOP); + addPin(new Pin(this, "CT_MUX", 3, PinUsage.OUTPUT, 30, 80), Position.TOP); + addPin(new Pin(this, "CT_INV", 1, PinUsage.OUTPUT, 40, 80), Position.TOP); + addPin(new Pin(this, "CT_EXP", 1, PinUsage.OUTPUT, 50, 80), Position.TOP); // C0 MUX: // 00xx: 0 // 01xx: 1 @@ -67,11 +68,11 @@ public class GUIAm2904RegCTInstrDecode extends SimpleRectangularHardcodedGUIComp // 1101: _muC // 1110: MC // 1111: _MC - addPin(new Pin(this, "C0_MUX", 4, 70, 80), Usage.OUTPUT, Position.TOP); + addPin(new Pin(this, "C0_MUX", 4, PinUsage.OUTPUT, 70, 80), Position.TOP); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { Bit[] I5_0Bits = readEnds.get("I5-0").getValues().getBits(); Bit[] I12_11Bits = readEnds.get("I12-11").getValues().getBits(); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java index 51b6da0e..2a3ce4ef 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2904/GUIAm2904ShiftInstrDecode.java @@ -14,6 +14,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -23,15 +24,15 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp { super(model, name, "Shift \ninstruction\ndecode"); setSize(60, 80); - addPin(new Pin(this, "I", 5, 0, 25), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "_SE", 1, 0, 55), Usage.INPUT, Position.RIGHT); + addPin(new Pin(this, "I", 5, PinUsage.INPUT, 0, 25), Position.RIGHT); + addPin(new Pin(this, "_SE", 1, PinUsage.INPUT, 0, 55), Position.RIGHT); // SIO0 MUX: // 000: 0 // 001: 1 // 01x: SIOn // 10x: QIOn // 11x: MC - addPin(new Pin(this, "SIO0_MUX", 3, 60, 5), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "SIO0_MUX", 3, PinUsage.OUTPUT, 60, 5), Position.LEFT); // SIOn MUX: // 000: 0 // 001: 1 @@ -41,32 +42,32 @@ public class GUIAm2904ShiftInstrDecode extends SimpleRectangularHardcodedGUIComp // 101: MN // 110: IC // 111: IN xor IVOR - addPin(new Pin(this, "SIOn_MUX", 3, 60, 15), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "SIOn_MUX", 3, PinUsage.OUTPUT, 60, 15), Position.LEFT); // QIO0 MUX: // 000: 0 // 001: 1 // 01x: SIOn // 10x: QIOn // 11x: MC - addPin(new Pin(this, "QIO0_MUX", 3, 60, 25), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "QIO0_MUX", 3, PinUsage.OUTPUT, 60, 25), Position.LEFT); // QIOn MUX: // 000: 0 // 001: 1 // 01x: SIO0 // 10x: QIO0 // 11x: MN - addPin(new Pin(this, "QIOn_MUX", 3, 60, 35), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "OEn", 1, 60, 45), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "OE0", 1, 60, 55), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "QIOn_MUX", 3, PinUsage.OUTPUT, 60, 35), Position.LEFT); + addPin(new Pin(this, "OEn", 1, PinUsage.OUTPUT, 60, 45), Position.LEFT); + addPin(new Pin(this, "OE0", 1, PinUsage.OUTPUT, 60, 55), Position.LEFT); // 00: SIO0 // 01: QIO0 // 1x: SIOn - addPin(new Pin(this, "MC_MUX", 2, 60, 65), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "MC_EN", 1, 60, 75), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "MC_MUX", 2, PinUsage.OUTPUT, 60, 65), Position.LEFT); + addPin(new Pin(this, "MC_EN", 1, PinUsage.OUTPUT, 60, 75), Position.LEFT); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { Bit _SE = readEnds.get("_SE").getValue(); Bit[] IBits = readEnds.get("I").getValues().getBits(); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910InstrPLA.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910InstrPLA.java index 6e42d2e8..5ae7240a 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910InstrPLA.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910InstrPLA.java @@ -13,6 +13,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -22,24 +23,24 @@ public class GUIAm2910InstrPLA extends SimpleRectangularHardcodedGUIComponent { super(model, name, "Instr.\nPLA"); setSize(30, 85); - addPin(new Pin(this, "PASS", 1, 0, 5), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "I", 4, 0, 20), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "R=0", 1, 15, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "_PL", 1, 5, 85), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "_MAP", 1, 15, 85), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "_VECT", 1, 25, 85), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "RWE", 1, 30, 5), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "RDEC", 1, 30, 15), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "YD", 1, 30, 25), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "YR", 1, 30, 35), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "YF", 1, 30, 45), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "YmuPC", 1, 30, 55), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "STKI0", 1, 30, 65), Usage.OUTPUT, Position.LEFT); - addPin(new Pin(this, "STKI1", 1, 30, 75), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "PASS", 1, PinUsage.INPUT, 0, 5), Position.RIGHT); + addPin(new Pin(this, "I", 4, PinUsage.INPUT, 0, 20), Position.RIGHT); + addPin(new Pin(this, "R=0", 1, PinUsage.INPUT, 15, 0), Position.BOTTOM); + addPin(new Pin(this, "_PL", 1, PinUsage.OUTPUT, 5, 85), Position.TOP); + addPin(new Pin(this, "_MAP", 1, PinUsage.OUTPUT, 15, 85), Position.TOP); + addPin(new Pin(this, "_VECT", 1, PinUsage.OUTPUT, 25, 85), Position.TOP); + addPin(new Pin(this, "RWE", 1, PinUsage.OUTPUT, 30, 5), Position.LEFT); + addPin(new Pin(this, "RDEC", 1, PinUsage.OUTPUT, 30, 15), Position.LEFT); + addPin(new Pin(this, "YD", 1, PinUsage.OUTPUT, 30, 25), Position.LEFT); + addPin(new Pin(this, "YR", 1, PinUsage.OUTPUT, 30, 35), Position.LEFT); + addPin(new Pin(this, "YF", 1, PinUsage.OUTPUT, 30, 45), Position.LEFT); + addPin(new Pin(this, "YmuPC", 1, PinUsage.OUTPUT, 30, 55), Position.LEFT); + addPin(new Pin(this, "STKI0", 1, PinUsage.OUTPUT, 30, 65), Position.LEFT); + addPin(new Pin(this, "STKI1", 1, PinUsage.OUTPUT, 30, 75), Position.LEFT); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { ReadEnd PASS = readEnds.get("PASS"); ReadEnd I = readEnds.get("I"); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910RegCntr.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910RegCntr.java index ec228c16..5a13ebc1 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910RegCntr.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910RegCntr.java @@ -8,11 +8,13 @@ import java.util.Arrays; import java.util.Map; import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -22,16 +24,16 @@ public class GUIAm2910RegCntr extends SimpleRectangularHardcodedGUIComponent { super(model, name, "Register/\nCounter"); setSize(40, 40); - addPin(new Pin(this, "D", 12, 20, 0), Usage.INPUT, Position.BOTTOM); - addPin(new Pin(this, "_RLD", 1, 0, 5), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "WE", 1, 0, 20), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "DEC", 1, 0, 30), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "C", 1, 40, 20), Usage.INPUT, Position.LEFT); - addPin(new Pin(this, "Y", 12, 20, 40), Usage.OUTPUT, Position.TOP); + addPin(new Pin(this, "D", 12, PinUsage.INPUT, 20, 0), Position.BOTTOM); + addPin(new Pin(this, "_RLD", 1, PinUsage.INPUT, 0, 5), Position.RIGHT); + addPin(new Pin(this, "WE", 1, PinUsage.INPUT, 0, 20), Position.RIGHT); + addPin(new Pin(this, "DEC", 1, PinUsage.INPUT, 0, 30), Position.RIGHT); + addPin(new Pin(this, "C", 1, PinUsage.INPUT, 40, 20), Position.LEFT); + addPin(new Pin(this, "Y", 12, PinUsage.OUTPUT, 20, 40), Position.TOP); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { Bit[] QC = (Bit[]) lastState; if (QC == null) @@ -74,6 +76,34 @@ public class GUIAm2910RegCntr extends SimpleRectangularHardcodedGUIComponent return QC; } + @Override + protected Object getHighLevelState(Object state, String stateID) + { + switch (stateID) + { + case "q": + return BitVector.of(Arrays.copyOfRange((Bit[]) state, 0, 12)); + default: + return super.getHighLevelState(state, stateID); + } + } + + @Override + protected Object setHighLevelState(Object lastState, String stateID, Object newHighLevelState) + { + switch (stateID) + { + case "q": + BitVector newHighLevelStateCasted = (BitVector) newHighLevelState; + if (newHighLevelStateCasted.length() != 12) + throw new IllegalArgumentException("Expected BitVector of length 12, not " + newHighLevelStateCasted.length()); + System.arraycopy(newHighLevelStateCasted.getBits(), 0, lastState, 0, 12); + return lastState; + default: + return super.setHighLevelState(lastState, stateID, newHighLevelState); + } + } + static { IndirectGUIComponentCreator.setComponentSupplier(GUIAm2910RegCntr.class.getCanonicalName(), diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java index c4b44f36..fb449d25 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/am2900/components/am2910/GUIAm2910SP.java @@ -14,6 +14,7 @@ import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position; @@ -23,16 +24,16 @@ public class GUIAm2910SP extends SimpleRectangularHardcodedGUIComponent { super(model, name, "Stack\npointer"); setSize(40, 30); - addPin(new Pin(this, "STKI0", 1, 0, 5), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "STKI1", 1, 0, 15), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "C", 1, 0, 25), Usage.INPUT, Position.RIGHT); - addPin(new Pin(this, "A", 3, 10, 30), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "B", 3, 30, 30), Usage.OUTPUT, Position.TOP); - addPin(new Pin(this, "_FULL", 1, 40, 15), Usage.OUTPUT, Position.LEFT); + addPin(new Pin(this, "STKI0", 1, PinUsage.INPUT, 0, 5), Position.RIGHT); + addPin(new Pin(this, "STKI1", 1, PinUsage.INPUT, 0, 15), Position.RIGHT); + addPin(new Pin(this, "C", 1, PinUsage.INPUT, 0, 25), Position.RIGHT); + addPin(new Pin(this, "A", 3, PinUsage.OUTPUT, 10, 30), Position.TOP); + addPin(new Pin(this, "B", 3, PinUsage.OUTPUT, 30, 30), Position.TOP); + addPin(new Pin(this, "_FULL", 1, PinUsage.OUTPUT, 40, 15), Position.LEFT); } @Override - protected Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) + public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds) { BitAndInt SPC = (BitAndInt) lastState; if (SPC == null) @@ -62,7 +63,7 @@ public class GUIAm2910SP extends SimpleRectangularHardcodedGUIComponent else if (STKI0Val == ONE && STKI1Val == ONE) // POP SP = SP <= 0 ? SP : SP - 1; - readWriteEnds.get("A").feedSignals(getAsBitVector(SP == 0 ? 7 : SP - 1)); + readWriteEnds.get("A").feedSignals(getAsBitVector(SP == 0 ? 7 : SP < 0 ? SP : SP - 1)); readWriteEnds.get("B").feedSignals(getAsBitVector(SP == 5 ? 4 : SP)); readWriteEnds.get("_FULL").feedSignals(SP == -2 ? U : SP == -1 ? X : SP == 5 ? ZERO : ONE); @@ -71,6 +72,41 @@ public class GUIAm2910SP extends SimpleRectangularHardcodedGUIComponent return SPC; } + @Override + protected Object getHighLevelState(Object state, String stateID) + { + switch (stateID) + { + case "q": + return getAsBitVector(((BitAndInt) state).i); + default: + return super.getHighLevelState(state, stateID); + } + } + + @Override + protected Object setHighLevelState(Object lastState, String stateID, Object newHighLevelState) + { + switch (stateID) + { + case "q": + int i; + BitVector newHighLevelStateCasted = (BitVector) newHighLevelState; + if (newHighLevelStateCasted.length() != 3) + throw new IllegalArgumentException("Expected BitVector of length 3, not " + newHighLevelStateCasted.length()); + if (newHighLevelStateCasted.isBinary()) + i = newHighLevelStateCasted.getUnsignedValue().intValue(); + else + i = -1;// this makes setting to U impossible + if (i > 5) + throw new IllegalArgumentException("Given value not in range (0-5 incl.): " + i); + ((BitAndInt) lastState).i = i; + return lastState; + default: + return super.setHighLevelState(lastState, stateID, newHighLevelState); + } + } + private static class BitAndInt { Bit bit; diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/Am2904Testbench.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/Am2904Testbench.java deleted file mode 100644 index a4c4290a..00000000 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/Am2904Testbench.java +++ /dev/null @@ -1,58 +0,0 @@ -package net.mograsim.logic.model.examples; - -import net.haspamelodica.swt.helper.gcs.GeneralGC; -import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.core.types.Bit; -import net.mograsim.logic.core.types.BitVector; -import net.mograsim.logic.model.SimpleLogicUIStandalone; -import net.mograsim.logic.model.SimpleLogicUIStandalone.VisualisationObjects; -import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; -import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; -import net.mograsim.logic.model.serializing.IdentifierGetter; -import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; -import net.mograsim.logic.model.snippets.Renderer; - -public class Am2904Testbench -{ - public static void main(String[] args) - { - SimpleLogicUIStandalone.executeVisualisation(Am2904Testbench::create, Am2904Testbench::beforeRun); - } - - public static void create(ViewModelModifiable model) - { - // TODO use _SE in GUIAm2904.json - // TODO replace with proper ViewModel deserialization - DeserializedSubmodelComponent testbench = (DeserializedSubmodelComponent) IndirectGUIComponentCreator.createComponent(model, - "file:GUIAm2904Testbench.json", "testbench"); - testbench.setSize(1000, 1000); - testbench.setOutlineRenderer(new Renderer() - { - @Override - public Object getParamsForSerializing(IdentifierGetter idGetter) - { - return null; - } - - @Override - public void render(GeneralGC gc, Rectangle visibleRegion) - { - // do nothing - } - }); - } - - public static void beforeRun(VisualisationObjects vis) - { - ((SubmodelComponent) vis.model.getComponentsByName().get("testbench")).submodel.getComponentsByName().values().forEach(c -> - { - if (c instanceof GUIManualSwitch) - { - GUIManualSwitch cCasted = (GUIManualSwitch) c; - cCasted.setHighLevelState("out", BitVector.of(Bit.ZERO, cCasted.logicWidth)); - } - }); - } -} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/Am2910Testbench.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/Am2910Testbench.java deleted file mode 100644 index 132b9135..00000000 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/Am2910Testbench.java +++ /dev/null @@ -1,80 +0,0 @@ -package net.mograsim.logic.model.examples; - -import net.haspamelodica.swt.helper.swtobjectwrappers.Point; -import net.mograsim.logic.core.types.Bit; -import net.mograsim.logic.core.types.BitVector; -import net.mograsim.logic.model.SimpleLogicUIStandalone; -import net.mograsim.logic.model.SimpleLogicUIStandalone.VisualisationObjects; -import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.model.components.GUIComponent; -import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; -import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; -import net.mograsim.logic.model.model.wires.GUIWire; -import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; - -public class Am2910Testbench -{ - public static void main(String[] args) - { - SimpleLogicUIStandalone.executeVisualisation(Am2910Testbench::create, Am2910Testbench::beforeRun); - } - - @SuppressWarnings("unused") // for GUIWires being created - public static void create(ViewModelModifiable model) - { - GUIComponent am2910 = IndirectGUIComponentCreator.createComponent(model, "file:components/am2910/GUIAm2910.json", "Am2910"); - GUIManualSwitch C = new GUIManualSwitch(model, 1, "C"); - GUIManualSwitch D = new GUIManualSwitch(model, 12, "D"); - GUIManualSwitch _RLD = new GUIManualSwitch(model, 1, "_RLD"); - GUIManualSwitch _CC = new GUIManualSwitch(model, 1, "_CC"); - GUIManualSwitch _CCEN = new GUIManualSwitch(model, 1, "_CCEN"); - GUIManualSwitch I = new GUIManualSwitch(model, 4, "I"); - GUIManualSwitch CI = new GUIManualSwitch(model, 1, "CI"); - GUIManualSwitch _OE = new GUIManualSwitch(model, 1, "_OE"); - GUIBitDisplay _FULL = new GUIBitDisplay(model, 1, "_FULL"); - GUIBitDisplay _PL = new GUIBitDisplay(model, 1, "_PL"); - GUIBitDisplay _MAP = new GUIBitDisplay(model, 1, "_MAP"); - GUIBitDisplay _VECT = new GUIBitDisplay(model, 1, "_VECT"); - GUIBitDisplay Y = new GUIBitDisplay(model, 12, "Y"); - - C.moveTo(35, -35); - D.moveTo(10, -20); - _RLD.moveTo(-30, -1.5); - _CC.moveTo(-30, 20); - _CCEN.moveTo(-30, 40); - I.moveTo(-30, 60); - CI.moveTo(75, 45); - _FULL.moveTo(80, 6.5); - _PL.moveTo(30, 85); - _MAP.moveTo(30, 105); - _VECT.moveTo(30, 125); - Y.moveTo(40, 65); - _OE.moveTo(60, 85); - - new GUIWire(model, C.getOutputPin(), am2910.getPin("C"), new Point(60, -27.5)); - new GUIWire(model, D.getOutputPin(), am2910.getPin("D"), new Point(36, -12.5)); - new GUIWire(model, _RLD.getOutputPin(), am2910.getPin("_RLD"), new Point[0]); - new GUIWire(model, _CC.getOutputPin(), am2910.getPin("_CC")); - new GUIWire(model, _CCEN.getOutputPin(), am2910.getPin("_CCEN")); - new GUIWire(model, I.getOutputPin(), am2910.getPin("I")); - new GUIWire(model, CI.getOutputPin(), am2910.getPin("CI"), new Point(100, 52.5), new Point(100, 40)); - new GUIWire(model, am2910.getPin("_FULL"), _FULL.getInputPin(), new Point[0]); - new GUIWire(model, am2910.getPin("_PL"), _PL.getInputPin(), new Point(13, 92.5)); - new GUIWire(model, am2910.getPin("_MAP"), _MAP.getInputPin(), new Point(19, 112.5)); - new GUIWire(model, am2910.getPin("_VECT"), _VECT.getInputPin(), new Point(25, 132.5)); - new GUIWire(model, am2910.getPin("Y"), Y.getInputPin(), new Point(38, 72.5)); - new GUIWire(model, am2910.getPin("_OE"), _OE.getOutputPin()); - } - - public static void beforeRun(VisualisationObjects vis) - { - vis.model.getComponentsByName().values().forEach(c -> - { - if (c instanceof GUIManualSwitch) - { - GUIManualSwitch cCasted = (GUIManualSwitch) c; - cCasted.setHighLevelState("out", BitVector.of(Bit.ZERO, cCasted.logicWidth)); - } - }); - } -} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/FusionNotWorkingTest.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/FusionNotWorkingTest.java deleted file mode 100644 index eb8165f5..00000000 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/FusionNotWorkingTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.mograsim.logic.model.examples; - -import net.haspamelodica.swt.helper.gcs.GeneralGC; -import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.model.SimpleLogicUIStandalone; -import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; -import net.mograsim.logic.model.serializing.IdentifierGetter; -import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; -import net.mograsim.logic.model.snippets.Renderer; - -public class FusionNotWorkingTest -{ - public static void main(String[] args) - { - SimpleLogicUIStandalone.executeVisualisation(FusionNotWorkingTest::create); - } - - public static void create(ViewModelModifiable model) - { - // TODO use _SE in GUIAm2904.json - // TODO replace with proper ViewModel deserialization - DeserializedSubmodelComponent testbench = (DeserializedSubmodelComponent) IndirectGUIComponentCreator.createComponent(model, - "file:FusionNotWorkingTest.json", "testbench"); - testbench.setSize(1000, 1000); - testbench.setOutlineRenderer(new Renderer() - { - @Override - public Object getParamsForSerializing(IdentifierGetter idGetter) - { - return null; - } - - @Override - public void render(GeneralGC gc, Rectangle visibleRegion) - { - // do nothing - } - }); - } -} \ No newline at end of file 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 e5b24f1c..6803a500 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 @@ -9,10 +9,9 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; -import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; -import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent.Usage; import net.mograsim.logic.model.model.wires.GUIWire; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIComponentTestbench @@ -27,24 +26,13 @@ public class GUIComponentTestbench { 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 List inputPinNames = new ArrayList<>(); List outputPinNames = new ArrayList<>(); - if (comp instanceof SimpleRectangularHardcodedGUIComponent) - { - SimpleRectangularHardcodedGUIComponent compCasted = (SimpleRectangularHardcodedGUIComponent) comp; - for (Pin p : comp.getPins().values()) - if (compCasted.getPinUsage(p) == Usage.INPUT) - inputPinNames.add(p.name); - else - outputPinNames.add(p.name); - } else - for (Pin p : comp.getPins().values()) - if (p.getRelX() < comp.getWidth()) - inputPinNames.add(p.name); - else - outputPinNames.add(p.name); + for (Pin p : comp.getPins().values()) + if (p.usage == PinUsage.INPUT) + inputPinNames.add(p.name); + else + outputPinNames.add(p.name); inputPinNames.sort(Comparator.comparing(comp::getPin, Comparator.comparing(Pin::getRelY))); outputPinNames.sort(Comparator.comparing(comp::getPin, Comparator.comparing(Pin::getRelY))); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ReserializeJSONsSettingUsages.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ReserializeJSONsSettingUsages.java new file mode 100644 index 00000000..d5faf7ed --- /dev/null +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ReserializeJSONsSettingUsages.java @@ -0,0 +1,85 @@ +package net.mograsim.logic.model.examples; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Comparator; +import java.util.Map.Entry; +import java.util.Scanner; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.MovablePin; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; +import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.serializing.SubmodelComponentSerializer; + +public class ReserializeJSONsSettingUsages +{ + public static void main(String[] args) throws IOException + { + try (Scanner sysin = new Scanner(System.in)) + { + System.out.print("Directory to search for JSONs in / JSON file to reserialize >"); + Path root = Paths.get(sysin.nextLine()); + if (!Files.exists(root)) + throw new IllegalArgumentException("Path doesn't exist"); + if (Files.isRegularFile(root)) + reserializeJSON(root, sysin); + else + { + System.out.print("Recursive? >"); + boolean recursive = Boolean.valueOf(sysin.nextLine()); + try (Stream jsons = recursive ? Files.walk(root) : Files.list(root)) + { + jsons.filter(Files::isRegularFile).filter(p -> p.getFileName().toString().endsWith(".json")) + .forEach(j -> reserializeJSON(j, sysin)); + } + } + } + } + + public static void reserializeJSON(Path json, Scanner sysin) + { + try + { + DeserializedSubmodelComponent comp = (DeserializedSubmodelComponent) IndirectGUIComponentCreator + .createComponent(new ViewModelModifiable(), "file:" + json.toString()); + System.out.println("Reserializing " + json); + comp.getSupermodelPins().entrySet().stream().sorted(Comparator.comparing(Entry::getKey)).map(Entry::getValue).forEach(pin -> + { + System.out.print(" Usage for interface pin " + pin.name + " (empty: " + pin.usage + ") >"); + String usageStr = sysin.nextLine().toUpperCase(); + PinUsage usage = usageStr.equals("") ? pin.usage + : usageStr.equals("I") ? PinUsage.INPUT + : usageStr.equals("O") ? PinUsage.OUTPUT + : usageStr.equals("T") ? PinUsage.TRISTATE : PinUsage.valueOf(usageStr); + setInterfacePinUsage(comp, pin, usage); + }); + SubmodelComponentSerializer.serialize(comp, json.toString()); + } + catch (Exception e) + { + System.err.println("An error occurred visiting " + json + ":"); + e.printStackTrace(); + } + } + + private static void setInterfacePinUsage(DeserializedSubmodelComponent comp, Pin interfacePin, PinUsage usage) + { + Set wiresConnectedToPin = comp.submodel.getWiresByName().values().stream() + .filter(w -> w.getPin1() == interfacePin || w.getPin2() == interfacePin).collect(Collectors.toSet()); + wiresConnectedToPin.forEach(GUIWire::destroy); + comp.removeSubmodelInterface(interfacePin.name); + comp.addSubmodelInterface( + new MovablePin(comp, interfacePin.name, interfacePin.logicWidth, usage, interfacePin.getRelX(), interfacePin.getRelY())); + ViewModelModifiable submodelModifiable = comp.getSubmodelModifiable(); + wiresConnectedToPin.forEach(w -> new GUIWire(submodelModifiable, w.getPin1(), w.getPin2())); + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java index b54713e8..4a8e389b 100644 --- a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2901/Am2901Testbench.java @@ -17,6 +17,7 @@ import net.mograsim.logic.model.model.components.atomic.GUINotGate; import net.mograsim.logic.model.model.components.atomic.TextComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.model.wires.WireCrossPoint; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.util.ModellingTool; @@ -55,12 +56,10 @@ public class Am2901Testbench and.moveTo(135, -30); Pin last = and.getPin("Y"); - // 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 List inputPinNames = new ArrayList<>(); List outputPinNames = new ArrayList<>(); for (Pin p : comp.getPins().values()) - if (p.getRelX() == 0) + if (p.usage == PinUsage.INPUT) inputPinNames.add(p.name); else outputPinNames.add(p.name); diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/Am2904Testbench.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/Am2904Testbench.java new file mode 100644 index 00000000..a09de95b --- /dev/null +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2904/Am2904Testbench.java @@ -0,0 +1,58 @@ +package net.mograsim.logic.model.am2900.am2904; + +import net.haspamelodica.swt.helper.gcs.GeneralGC; +import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; +import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; +import net.mograsim.logic.model.SimpleLogicUIStandalone; +import net.mograsim.logic.model.SimpleLogicUIStandalone.VisualisationObjects; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.snippets.Renderer; + +public class Am2904Testbench +{ + public static void main(String[] args) + { + SimpleLogicUIStandalone.executeVisualisation(Am2904Testbench::create, Am2904Testbench::beforeRun); + } + + public static void create(ViewModelModifiable model) + { + // TODO use _SE in GUIAm2904.json + // TODO replace with proper ViewModel deserialization + DeserializedSubmodelComponent testbench = (DeserializedSubmodelComponent) IndirectGUIComponentCreator.createComponent(model, + "file:GUIAm2904Testbench.json", "testbench"); + testbench.setSize(1000, 1000); + testbench.setOutlineRenderer(new Renderer() + { + @Override + public Object getParamsForSerializing(IdentifierGetter idGetter) + { + return null; + } + + @Override + public void render(GeneralGC gc, Rectangle visibleRegion) + { + // do nothing + } + }); + } + + public static void beforeRun(VisualisationObjects vis) + { + ((SubmodelComponent) vis.model.getComponentsByName().get("testbench")).submodel.getComponentsByName().values().forEach(c -> + { + if (c instanceof GUIManualSwitch) + { + GUIManualSwitch cCasted = (GUIManualSwitch) c; + cCasted.setHighLevelState("out", BitVector.of(Bit.ZERO, cCasted.logicWidth)); + } + }); + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2910/Am2910Testbench.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2910/Am2910Testbench.java new file mode 100644 index 00000000..028de6ea --- /dev/null +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/am2910/Am2910Testbench.java @@ -0,0 +1,80 @@ +package net.mograsim.logic.model.am2900.am2910; + +import net.haspamelodica.swt.helper.swtobjectwrappers.Point; +import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; +import net.mograsim.logic.model.SimpleLogicUIStandalone; +import net.mograsim.logic.model.SimpleLogicUIStandalone.VisualisationObjects; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; + +public class Am2910Testbench +{ + public static void main(String[] args) + { + SimpleLogicUIStandalone.executeVisualisation(Am2910Testbench::create, Am2910Testbench::beforeRun); + } + + @SuppressWarnings("unused") // for GUIWires being created + public static void create(ViewModelModifiable model) + { + GUIComponent am2910 = IndirectGUIComponentCreator.createComponent(model, "file:components/am2910/GUIAm2910.json", "Am2910"); + GUIManualSwitch C = new GUIManualSwitch(model, 1, "C"); + GUIManualSwitch D = new GUIManualSwitch(model, 12, "D"); + GUIManualSwitch _RLD = new GUIManualSwitch(model, 1, "_RLD"); + GUIManualSwitch _CC = new GUIManualSwitch(model, 1, "_CC"); + GUIManualSwitch _CCEN = new GUIManualSwitch(model, 1, "_CCEN"); + GUIManualSwitch I = new GUIManualSwitch(model, 4, "I"); + GUIManualSwitch CI = new GUIManualSwitch(model, 1, "CI"); + GUIManualSwitch _OE = new GUIManualSwitch(model, 1, "_OE"); + GUIBitDisplay _FULL = new GUIBitDisplay(model, 1, "_FULL"); + GUIBitDisplay _PL = new GUIBitDisplay(model, 1, "_PL"); + GUIBitDisplay _MAP = new GUIBitDisplay(model, 1, "_MAP"); + GUIBitDisplay _VECT = new GUIBitDisplay(model, 1, "_VECT"); + GUIBitDisplay Y = new GUIBitDisplay(model, 12, "Y"); + + C.moveTo(35, -35); + D.moveTo(10, -20); + _RLD.moveTo(-30, -1.5); + _CC.moveTo(-30, 20); + _CCEN.moveTo(-30, 40); + I.moveTo(-30, 60); + CI.moveTo(75, 45); + _FULL.moveTo(80, 6.5); + _PL.moveTo(30, 85); + _MAP.moveTo(30, 105); + _VECT.moveTo(30, 125); + Y.moveTo(40, 65); + _OE.moveTo(60, 85); + + new GUIWire(model, C.getOutputPin(), am2910.getPin("C"), new Point(60, -27.5)); + new GUIWire(model, D.getOutputPin(), am2910.getPin("D"), new Point(36, -12.5)); + new GUIWire(model, _RLD.getOutputPin(), am2910.getPin("_RLD"), new Point[0]); + new GUIWire(model, _CC.getOutputPin(), am2910.getPin("_CC")); + new GUIWire(model, _CCEN.getOutputPin(), am2910.getPin("_CCEN")); + new GUIWire(model, I.getOutputPin(), am2910.getPin("I")); + new GUIWire(model, CI.getOutputPin(), am2910.getPin("CI"), new Point(100, 52.5), new Point(100, 40)); + new GUIWire(model, am2910.getPin("_FULL"), _FULL.getInputPin(), new Point[0]); + new GUIWire(model, am2910.getPin("_PL"), _PL.getInputPin(), new Point(13, 92.5)); + new GUIWire(model, am2910.getPin("_MAP"), _MAP.getInputPin(), new Point(19, 112.5)); + new GUIWire(model, am2910.getPin("_VECT"), _VECT.getInputPin(), new Point(25, 132.5)); + new GUIWire(model, am2910.getPin("Y"), Y.getInputPin(), new Point(38, 72.5)); + new GUIWire(model, am2910.getPin("_OE"), _OE.getOutputPin()); + } + + public static void beforeRun(VisualisationObjects vis) + { + vis.model.getComponentsByName().values().forEach(c -> + { + if (c instanceof GUIManualSwitch) + { + GUIManualSwitch cCasted = (GUIManualSwitch) c; + cCasted.setHighLevelState("out", BitVector.of(Bit.ZERO, cCasted.logicWidth)); + } + }); + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUI_rsLatch.json b/net.mograsim.logic.model.editor/components/GUI_rsLatch.json index 6f679a91..89eab0a4 100644 --- a/net.mograsim.logic.model.editor/components/GUI_rsLatch.json +++ b/net.mograsim.logic.model.editor/components/GUI_rsLatch.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Q", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "_Q", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "_R", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,50 +35,63 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "_S", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { - "x": 40.0, - "y": 12.5 + "x": 10.0, + "y": 7.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { - "x": 10.0, - "y": 7.5 + "x": 40.0, + "y": 12.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { - "x": 64.0, - "y": 36.5 + "x": 34.0, + "y": 16.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { - "x": 34.0, - "y": 16.5 + "x": 64.0, + "y": 36.5 }, "params": 1 } ], - "innerWires": [ + "wires": [ + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_Q" + }, + "name": "_q", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#0", @@ -108,14 +123,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_S" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "_q", + "name": "unnamedWire#0", "path": [] }, { @@ -141,37 +156,29 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_S" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [ { "x": 65.0, - "y": 42.5 - }, - { - "x": 5.0, - "y": 42.5 - }, - { - "x": 5.0, "y": 22.5 } ] @@ -190,34 +197,31 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#3", + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#5", "path": [ { "x": 65.0, + "y": 42.5 + }, + { + "x": 5.0, + "y": 42.5 + }, + { + "x": 5.0, "y": 22.5 } ] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#2", - "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -244,5 +248,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIand.json b/net.mograsim.logic.model.editor/components/GUIand.json index ef577973..5e343e09 100644 --- a/net.mograsim.logic.model.editor/components/GUIand.json +++ b/net.mograsim.logic.model.editor/components/GUIand.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,26 +26,27 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { - "x": 50.0, + "x": 20.0, "y": 15.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { - "x": 20.0, + "x": 50.0, "y": 15.0 }, "params": 1 @@ -59,39 +61,40 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "B" + "pinName": "A" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#1" + "name": "unnamedWire#0" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "B" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#0" + "name": "unnamedWire#1" }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#5" + "name": "unnamedWire#2", + "path": [] }, { "pin1": { @@ -100,13 +103,13 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#1", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#3", "path": [ { "x": 45.0, - "y": 30.0 + "y": 20.0 } ] }, @@ -117,29 +120,29 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#3", + "name": "unnamedWire#4", "path": [ { "x": 45.0, - "y": 20.0 + "y": 30.0 } ] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#2", - "path": [] + "name": "unnamedWire#5" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -149,5 +152,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIand41.json b/net.mograsim.logic.model.editor/components/GUIand41.json index 87b73945..c7ae05e5 100644 --- a/net.mograsim.logic.model.editor/components/GUIand41.json +++ b/net.mograsim.logic.model.editor/components/GUIand41.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 50.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "A2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,23 +26,26 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "A3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 35.0 }, - "name": "B", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 45.0 }, - "name": "A4", - "logicWidth": 1 + "name": "B", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,7 +53,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -57,7 +62,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,7 +71,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -73,39 +80,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 24.0, - "y": 71.5 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 24.0, - "y": 46.5 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 24.0, - "y": 96.5 - }, - "params": 1 - }, + "components": [ { "id": "GUIand", "name": "GUIand#0", @@ -116,18 +97,18 @@ mograsim version: 0.1.3 }, { "id": "GUIand", - "name": "GUIand#2", + "name": "GUIand#1", "pos": { "x": 30.0, - "y": 57.5 + "y": 32.5 } }, { "id": "GUIand", - "name": "GUIand#1", + "name": "GUIand#2", "pos": { "x": 30.0, - "y": 32.5 + "y": 57.5 } }, { @@ -137,31 +118,58 @@ mograsim version: 0.1.3 "x": 30.0, "y": 82.5 } + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 46.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 71.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 24.0, + "y": 96.5 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIand#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIand#0", + "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUIand#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIand#1", + "pinName": "A" }, - "name": "unnamedWire#13", + "name": "unnamedWire#1", "path": [] }, { @@ -170,101 +178,89 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUIand#1", + "compName": "GUIand#0", "pinName": "B" }, - "name": "unnamedWire#9", - "path": [] + "name": "unnamedWire#10", + "path": [ + { + "x": 25.0, + "y": 22.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#11", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand#1", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIand#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#6", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUIand#3", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#1", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#1", + "name": "unnamedWire#14", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "A3" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUIand#2", "pinName": "A" }, - "name": "unnamedWire#0", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { "compName": "GUIand#3", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [] }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUIand#0", - "pinName": "B" - }, - "name": "unnamedWire#10", - "path": [ - { - "x": 25.0, - "y": 22.5 - } - ] - }, { "pin1": { "compName": "_submodelinterface", @@ -284,53 +280,66 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { "compName": "GUIand#3", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#3", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "GUIand#1", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#12", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { "compName": "GUIand#2", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIand#1", + "pinName": "B" + }, + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -340,5 +349,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIandor414.json b/net.mograsim.logic.model.editor/components/GUIandor414.json index bd61b9df..5f6d292b 100644 --- a/net.mograsim.logic.model.editor/components/GUIandor414.json +++ b/net.mograsim.logic.model.editor/components/GUIandor414.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, @@ -6,74 +5,83 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 85.0 + "y": 45.0 }, - "name": "B", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 55.0 }, - "name": "C1", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 65.0 }, - "name": "C2", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 75.0 }, - "name": "C3", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 85.0 }, - "name": "A1", - "logicWidth": 1 + "name": "B", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 5.0 }, - "name": "C4", - "logicWidth": 1 + "name": "C1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 15.0 }, - "name": "A2", - "logicWidth": 1 + "name": "C2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 25.0 }, - "name": "A3", - "logicWidth": 1 + "name": "C3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 35.0 }, - "name": "A4", - "logicWidth": 1 + "name": "C4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -81,7 +89,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -89,7 +98,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -97,7 +107,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -105,20 +116,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "GUIor_4", - "name": "GUIor_4#0", - "pos": { - "x": 35.0, - "y": 37.5 - } - }, + "components": [ { "id": "GUIand41", "name": "GUIand41#0", @@ -126,206 +130,272 @@ mograsim version: 0.1.3 "x": 15.0, "y": 137.5 } + }, + { + "id": "GUIor_4", + "name": "GUIor_4#0", + "pos": { + "x": 35.0, + "y": 37.5 + } } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUIand41#0", + "pinName": "A1" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", "path": [ { - "x": 80.0, - "y": 52.5 + "x": 10.0, + "y": 112.5 }, { - "x": 80.0, - "y": 37.5 + "x": 10.0, + "y": 142.5 } ] }, { "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUIand41#0", + "pinName": "A2" }, - "name": "unnamedWire#13", + "name": "unnamedWire#1", "path": [ { - "x": 75.0, - "y": 42.5 + "x": 5.0, + "y": 137.5 }, { - "x": 75.0, - "y": 12.5 + "x": 5.0, + "y": 152.5 } ] }, { "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y4" + "compName": "GUIand41#0", + "pinName": "Y2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIor_4#0", + "pinName": "B2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#10", "path": [ { - "x": 80.0, - "y": 72.5 + "x": 65.0, + "y": 152.5 }, { - "x": 80.0, - "y": 87.5 + "x": 65.0, + "y": 125.0 + }, + { + "x": 25.0, + "y": 125.0 + }, + { + "x": 25.0, + "y": 92.5 } ] }, { "pin1": { - "compName": "GUIor_4#0", + "compName": "GUIand41#0", "pinName": "Y3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIor_4#0", + "pinName": "B3" }, - "name": "unnamedWire#15", - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 60.0, + "y": 162.5 + }, + { + "x": 60.0, + "y": 130.0 + }, + { + "x": 20.0, + "y": 130.0 + }, + { + "x": 20.0, + "y": 102.5 + } + ] }, { "pin1": { "compName": "GUIand41#0", - "pinName": "Y1" + "pinName": "Y4" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "B1" + "pinName": "B4" }, - "name": "unnamedWire#9", + "name": "unnamedWire#12", "path": [ { - "x": 70.0, - "y": 142.5 + "x": 55.0, + "y": 172.5 }, { - "x": 70.0, - "y": 120.0 + "x": 55.0, + "y": 135.0 }, { - "x": 30.0, - "y": 120.0 + "x": 15.0, + "y": 135.0 }, { - "x": 30.0, - "y": 82.5 + "x": 15.0, + "y": 112.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C4" + "compName": "GUIor_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIor_4#0", - "pinName": "A4" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#13", "path": [ { - "x": 5.0, - "y": 87.5 + "x": 75.0, + "y": 42.5 }, { - "x": 5.0, - "y": 72.5 + "x": 75.0, + "y": 12.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C3" + "compName": "GUIor_4#0", + "pinName": "Y2" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y2" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 80.0, + "y": 52.5 + }, + { + "x": 80.0, + "y": 37.5 + } + ] + }, + { + "pin1": { "compName": "GUIor_4#0", - "pinName": "A3" + "pinName": "Y3" }, - "name": "unnamedWire#7", + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C2" + "compName": "GUIor_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIor_4#0", - "pinName": "A2" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#6", + "name": "unnamedWire#16", "path": [ { - "x": 5.0, - "y": 37.5 + "x": 80.0, + "y": 72.5 }, { - "x": 5.0, - "y": 52.5 + "x": 80.0, + "y": 87.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "A3" }, "pin2": { "compName": "GUIand41#0", - "pinName": "A2" + "pinName": "A3" }, - "name": "unnamedWire#1", + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A4" + }, + "pin2": { + "compName": "GUIand41#0", + "pinName": "A4" + }, + "name": "unnamedWire#3", "path": [ { "x": 5.0, - "y": 137.5 + "y": 187.5 }, { "x": 5.0, - "y": 152.5 + "y": 172.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "B" }, "pin2": { "compName": "GUIand41#0", - "pinName": "A1" + "pinName": "B" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [ { "x": 10.0, - "y": 112.5 + "y": 212.5 }, { "x": 10.0, - "y": 142.5 + "y": 182.5 } ] }, @@ -352,146 +422,89 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "C2" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "B2" + "pinName": "A2" }, - "name": "unnamedWire#10", + "name": "unnamedWire#6", "path": [ { - "x": 65.0, - "y": 152.5 - }, - { - "x": 65.0, - "y": 125.0 - }, - { - "x": 25.0, - "y": 125.0 + "x": 5.0, + "y": 37.5 }, { - "x": 25.0, - "y": 92.5 + "x": 5.0, + "y": 52.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B" + "pinName": "C3" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "GUIor_4#0", + "pinName": "A3" }, - "name": "unnamedWire#4", - "path": [ - { - "x": 10.0, - "y": 212.5 - }, - { - "x": 10.0, - "y": 182.5 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A4" + "pinName": "C4" }, "pin2": { - "compName": "GUIand41#0", + "compName": "GUIor_4#0", "pinName": "A4" }, - "name": "unnamedWire#3", + "name": "unnamedWire#8", "path": [ { "x": 5.0, - "y": 187.5 + "y": 87.5 }, { "x": 5.0, - "y": 172.5 - } - ] - }, - { - "pin1": { - "compName": "GUIand41#0", - "pinName": "Y4" - }, - "pin2": { - "compName": "GUIor_4#0", - "pinName": "B4" - }, - "name": "unnamedWire#12", - "path": [ - { - "x": 55.0, - "y": 172.5 - }, - { - "x": 55.0, - "y": 135.0 - }, - { - "x": 15.0, - "y": 135.0 - }, - { - "x": 15.0, - "y": 112.5 + "y": 72.5 } ] }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" - }, - "name": "unnamedWire#2", - "path": [] - }, { "pin1": { "compName": "GUIand41#0", - "pinName": "Y3" + "pinName": "Y1" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "B3" + "pinName": "B1" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { - "x": 60.0, - "y": 162.5 + "x": 70.0, + "y": 142.5 }, { - "x": 60.0, - "y": 130.0 + "x": 70.0, + "y": 120.0 }, { - "x": 20.0, - "y": 130.0 + "x": 30.0, + "y": 120.0 }, { - "x": 20.0, - "y": 102.5 + "x": 30.0, + "y": 82.5 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -501,5 +514,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIdemux2.json b/net.mograsim.logic.model.editor/components/GUIdemux2.json index 3523e99e..7e28bfd7 100644 --- a/net.mograsim.logic.model.editor/components/GUIdemux2.json +++ b/net.mograsim.logic.model.editor/components/GUIdemux2.json @@ -1,31 +1,33 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Y00", - "logicWidth": 1 + "name": "S0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 15.0 }, - "name": "Y11", - "logicWidth": 1 + "name": "S1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 25.0 + "y": 5.0 }, - "name": "Y10", - "logicWidth": 1 + "name": "Y00", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -33,43 +35,46 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y01", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 25.0 }, - "name": "S0", - "logicWidth": 1 + "name": "Y10", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 35.0 }, - "name": "S1", - "logicWidth": 1 + "name": "Y11", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 10.0, - "y": 27.5 + "y": 2.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { "x": 10.0, - "y": 2.5 + "y": 27.5 }, "params": 1 }, @@ -83,18 +88,18 @@ mograsim version: 0.1.3 }, { "id": "GUIand", - "name": "GUIand#2", + "name": "GUIand#1", "pos": { "x": 40.0, - "y": 52.5 + "y": 27.5 } }, { "id": "GUIand", - "name": "GUIand#1", + "name": "GUIand#2", "pos": { "x": 40.0, - "y": 27.5 + "y": 52.5 } }, { @@ -105,6 +110,15 @@ mograsim version: 0.1.3 "y": 77.5 } }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 6.5, + "y": 11.5 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#1", @@ -116,10 +130,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { - "x": 6.5, - "y": 11.5 + "x": 36.5, + "y": 61.5 }, "params": 1 }, @@ -134,10 +148,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#4", "pos": { - "x": 36.5, - "y": 61.5 + "x": 4.0, + "y": 41.5 }, "params": 1 }, @@ -152,10 +166,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#6", "pos": { - "x": 4.0, - "y": 41.5 + "x": 31.5, + "y": 11.5 }, "params": 1 }, @@ -167,32 +181,71 @@ mograsim version: 0.1.3 "y": 36.5 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", - "pos": { - "x": 31.5, - "y": 11.5 + "pin1": { + "compName": "_submodelinterface", + "pinName": "S1" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] + }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#6", "pinName": "" }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, "pin2": { - "compName": "GUIand#1", + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUIand#0", "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#12", "path": [ { - "x": 37.5, - "y": 32.5 + "x": 32.5, + "y": 7.5 } ] }, @@ -215,18 +268,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIand#2", + "compName": "GUIand#1", "pinName": "A" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { - "x": 32.5, - "y": 57.5 + "x": 37.5, + "y": 32.5 } ] }, @@ -249,18 +302,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIand#3", + "compName": "GUIand#2", "pinName": "A" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [ { - "x": 37.5, - "y": 82.5 + "x": 32.5, + "y": 57.5 } ] }, @@ -278,106 +331,98 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUIand#3", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [ { - "x": 32.5, - "y": 92.5 + "x": 37.5, + "y": 82.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIand#3", + "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#19", "path": [ - { - "x": 5.0, - "y": 67.5 - }, { "x": 32.5, - "y": 67.5 + "y": 92.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#8", + "name": "unnamedWire#2", "path": [ { "x": 7.5, - "y": 62.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y00" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#20" }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y01" }, - "name": "unnamedWire#6", - "path": [] + "name": "unnamedWire#21" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "GUIand#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y10" }, - "name": "unnamedWire#1", - "path": [] + "name": "unnamedWire#22" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "compName": "GUIand#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y11" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#23" }, { "pin1": { @@ -385,144 +430,105 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#3", + "path": [ + { + "x": 5.0, + "y": 32.5 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIand#1", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y01" - }, - "name": "unnamedWire#21" - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y00" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#20" + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 5.0, - "y": 32.5 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#12", + "name": "unnamedWire#8", "path": [ { - "x": 32.5, - "y": 7.5 + "x": 7.5, + "y": 62.5 } ] }, { "pin1": { - "compName": "GUIand#3", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y11" - }, - "name": "unnamedWire#23" - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#9", "path": [ { - "x": 7.5, - "y": 7.5 + "x": 5.0, + "y": 67.5 + }, + { + "x": 32.5, + "y": 67.5 } ] - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#11", - "path": [] - }, - { - "pin1": { - "compName": "GUIand#2", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y10" - }, - "name": "unnamedWire#22" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -532,5 +538,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIdff.json b/net.mograsim.logic.model.editor/components/GUIdff.json index 66af673f..30c17e6c 100644 --- a/net.mograsim.logic.model.editor/components/GUIdff.json +++ b/net.mograsim.logic.model.editor/components/GUIdff.json @@ -1,44 +1,56 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Q", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 15.0 }, - "name": "_Q", - "logicWidth": 1 + "name": "D", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "C", - "logicWidth": 1 + "name": "Q", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 15.0 }, - "name": "D", - "logicWidth": 1 + "name": "_Q", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 120.0, + "y": 60.0 + }, + "params": 1 + }, { "id": "GUI_rsLatch", "name": "GUI_rsLatch#0", @@ -47,6 +59,14 @@ mograsim version: 0.1.3 "y": 10.0 } }, + { + "id": "GUI_rsLatch", + "name": "GUI_rsLatch#1", + "pos": { + "x": 120.0, + "y": 30.0 + } + }, { "id": "GUInand3", "name": "GUInand3#0", @@ -56,22 +76,14 @@ mograsim version: 0.1.3 } }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 120.0, - "y": 60.0 + "x": 9.0, + "y": 24.0 }, "params": 1 }, - { - "id": "GUI_rsLatch", - "name": "GUI_rsLatch#1", - "pos": { - "x": 120.0, - "y": 30.0 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#1", @@ -83,10 +95,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { - "x": 9.0, - "y": 24.0 + "x": 99.0, + "y": 34.0 }, "params": 1 }, @@ -98,153 +110,123 @@ mograsim version: 0.1.3 "y": 44.0 }, "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 99.0, - "y": 34.0 - }, - "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUI_rsLatch#1", - "pinName": "_Q" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#14" + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUI_rsLatch#1", - "pinName": "Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" + "compName": "GUI_rsLatch#0", + "pinName": "_R" }, - "name": "unnamedWire#13" + "name": "unnamedWire#1", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "Y" }, "pin2": { - "compName": "GUI_rsLatch#1", - "pinName": "_S" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "A" + "compName": "GUI_rsLatch#1", + "pinName": "_R" }, - "name": "unnamedWire#8", - "path": [ - { - "x": 30.0, - "y": 35.0 - }, - { - "x": 30.0, - "y": 45.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "_Q" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#7", + "name": "unnamedWire#12", "path": [ { "x": 100.0, - "y": 25.0 + "y": 65.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUI_rsLatch#1", + "pinName": "Q" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "C" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#6", - "path": [] + "name": "unnamedWire#13" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUI_rsLatch#1", + "pinName": "_Q" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_R" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "C" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "pinName": "_Q" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#14" }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_S" + "compName": "GUInand3#0", + "pinName": "B" }, - "name": "unnamedWire#5", + "name": "unnamedWire#2", "path": [ { - "x": 20.0, - "y": 15.0 + "x": 10.0, + "y": 55.0 } ] }, { "pin1": { - "compName": "GUInand3#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "D" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#3", "path": [] }, { @@ -274,63 +256,85 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUI_rsLatch#0", + "pinName": "_S" }, - "name": "unnamedWire#3", - "path": [] + "name": "unnamedWire#5", + "path": [ + { + "x": 20.0, + "y": 15.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUInand3#0", + "pinName": "C" }, - "name": "unnamedWire#12", + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUI_rsLatch#0", + "pinName": "_Q" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#7", "path": [ { "x": 100.0, - "y": 65.0 + "y": 25.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUInand3#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 10.0, - "y": 55.0 + "x": 30.0, + "y": 35.0 + }, + { + "x": 30.0, + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUI_rsLatch#1", - "pinName": "_R" + "pinName": "_S" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -353,5 +357,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIdff4.json b/net.mograsim.logic.model.editor/components/GUIdff4.json index d03fafec..a7178188 100644 --- a/net.mograsim.logic.model.editor/components/GUIdff4.json +++ b/net.mograsim.logic.model.editor/components/GUIdff4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, @@ -6,87 +5,113 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 55.0 + "y": 5.0 }, - "name": "D4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 25.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 35.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 45.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 55.0 }, - "name": "C", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 25.0 }, - "name": "WE", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 35.0 }, - "name": "D2", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 15.0 }, - "name": "D3", - "logicWidth": 1 + "name": "WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 55.0, + "y": 70.0 + } + }, + { + "id": "GUIdff", + "name": "GUIdff#0", + "pos": { + "x": 115.0, + "y": 20.0 + } + }, { "id": "GUIdff", "name": "GUIdff#1", @@ -97,20 +122,19 @@ mograsim version: 0.1.3 }, { "id": "GUIdff", - "name": "GUIdff#0", + "name": "GUIdff#2", "pos": { "x": 115.0, - "y": 20.0 + "y": 120.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIdff", + "name": "GUIdff#3", "pos": { - "x": 104.0, - "y": 74.0 - }, - "params": 1 + "x": 115.0, + "y": 170.0 + } }, { "id": "WireCrossPoint", @@ -123,10 +147,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 169.0, - "y": 24.0 + "x": 104.0, + "y": 74.0 }, "params": 1 }, @@ -141,10 +165,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 159.0, - "y": 124.0 + "x": 169.0, + "y": 24.0 }, "params": 1 }, @@ -157,6 +181,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 159.0, + "y": 124.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#6", @@ -165,44 +198,95 @@ mograsim version: 0.1.3 "y": 174.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 55.0, - "y": 70.0 - } + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIdff", - "name": "GUIdff#3", - "pos": { - "x": 115.0, - "y": 170.0 - } + "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 + } + ] }, { - "id": "GUIdff", - "name": "GUIdff#2", - "pos": { - "x": 115.0, - "y": 120.0 - } - } - ], - "innerWires": [ + "pin1": { + "compName": "_submodelinterface", + "pinName": "D1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" + }, + "name": "unnamedWire#10", + "path": [] + }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 5.0, + "y": 175.0 + }, + { + "x": 5.0, + "y": 135.0 + } + ] + }, + { + "pin1": { "compName": "_submodelinterface", - "pinName": "Q1" + "pinName": "D3" }, - "name": "unnamedWire#14", - "path": [] + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 10.0, + "y": 225.0 + }, + { + "x": 10.0, + "y": 145.0 + } + ] }, { "pin1": { @@ -218,14 +302,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIdff#1", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "Q1" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [] }, { @@ -242,14 +326,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIdff#2", - "pinName": "Q" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIdff#1", + "pinName": "Q" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [] }, { @@ -273,6 +357,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "GUIdff#2", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#5", @@ -287,14 +383,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdff#3", - "pinName": "Q" + "compName": "GUIdff#1", + "pinName": "D" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [] }, { @@ -311,24 +407,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y4" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { "compName": "GUIdff#3", - "pinName": "D" + "pinName": "Q" }, - "name": "unnamedWire#23", - "path": [ - { - "x": 95.0, - "y": 105.0 - }, - { - "x": 95.0, - "y": 185.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { @@ -353,26 +440,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_2" + "compName": "GUIdff#3", + "pinName": "D" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 165.0, - "y": 200.0 - }, - { - "x": 45.0, - "y": 200.0 + "x": 95.0, + "y": 105.0 }, { - "x": 45.0, - "y": 95.0 + "x": 95.0, + "y": 185.0 } ] }, @@ -403,15 +486,28 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, - "name": "unnamedWire#27", - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 165.0, + "y": 200.0 + }, + { + "x": 45.0, + "y": 200.0 + }, + { + "x": 45.0, + "y": 95.0 + } + ] }, { "pin1": { @@ -438,6 +534,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#6", @@ -465,88 +573,26 @@ mograsim version: 0.1.3 }, { "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", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIdff#2", + "compName": "GUIdff#0", "pinName": "C" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "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", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [] }, { @@ -563,95 +609,59 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_1" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIdff#0", + "compName": "GUIdff#2", "pinName": "C" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_3" + "compName": "GUIdff#3", + "pinName": "C" }, - "name": "unnamedWire#12", + "name": "unnamedWire#8", "path": [ { - "x": 10.0, - "y": 225.0 - }, - { - "x": 10.0, - "y": 145.0 + "x": 105.0, + "y": 175.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "WE" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" - }, - "name": "unnamedWire#11", - "path": [ - { - "x": 5.0, - "y": 175.0 - }, - { - "x": 5.0, - "y": 135.0 - } - ] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y2" - }, - "pin2": { - "compName": "GUIdff#1", - "pinName": "D" + "pinName": "S0" }, - "name": "unnamedWire#2", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -712,5 +722,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIdff4_invwe.json b/net.mograsim.logic.model.editor/components/GUIdff4_invwe.json index 3108cc5f..c34cb35f 100644 --- a/net.mograsim.logic.model.editor/components/GUIdff4_invwe.json +++ b/net.mograsim.logic.model.editor/components/GUIdff4_invwe.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, @@ -6,87 +5,113 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 55.0 + "y": 5.0 }, - "name": "D4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 25.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 35.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 45.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 55.0 }, - "name": "C", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 25.0 }, - "name": "_WE", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 35.0 }, - "name": "D2", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 15.0 }, - "name": "D3", - "logicWidth": 1 + "name": "_WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 55.0, + "y": 70.0 + } + }, + { + "id": "GUIdff", + "name": "GUIdff#0", + "pos": { + "x": 115.0, + "y": 20.0 + } + }, { "id": "GUIdff", "name": "GUIdff#1", @@ -97,20 +122,19 @@ mograsim version: 0.1.3 }, { "id": "GUIdff", - "name": "GUIdff#0", + "name": "GUIdff#2", "pos": { "x": 115.0, - "y": 20.0 + "y": 120.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIdff", + "name": "GUIdff#3", "pos": { - "x": 104.0, - "y": 74.0 - }, - "params": 1 + "x": 115.0, + "y": 170.0 + } }, { "id": "WireCrossPoint", @@ -123,10 +147,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 169.0, - "y": 24.0 + "x": 104.0, + "y": 74.0 }, "params": 1 }, @@ -141,10 +165,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 159.0, - "y": 124.0 + "x": 169.0, + "y": 24.0 }, "params": 1 }, @@ -157,6 +181,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", + "pos": { + "x": 159.0, + "y": 124.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#6", @@ -165,44 +198,104 @@ mograsim version: 0.1.3 "y": 174.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 55.0, - "y": 70.0 - } + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIdff", - "name": "GUIdff#3", - "pos": { - "x": 115.0, - "y": 170.0 - } + "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 + } + ] }, { - "id": "GUIdff", - "name": "GUIdff#2", - "pos": { - "x": 115.0, - "y": 120.0 - } - } - ], - "innerWires": [ + "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#3", - "pinName": "" + "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": "_submodelinterface", - "pinName": "Q1" + "pinName": "D3" }, - "name": "unnamedWire#14", - "path": [] + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 20.0, + "y": 225.0 + }, + { + "x": 20.0, + "y": 105.0 + } + ] }, { "pin1": { @@ -218,14 +311,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIdff#1", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "Q1" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [] }, { @@ -242,14 +335,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIdff#2", - "pinName": "Q" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIdff#1", + "pinName": "Q" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [] }, { @@ -273,6 +366,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "GUIdff#2", + "pinName": "Q" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#5", @@ -287,14 +392,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdff#3", - "pinName": "Q" + "compName": "GUIdff#1", + "pinName": "D" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [] }, { @@ -311,24 +416,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y4" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { "compName": "GUIdff#3", - "pinName": "D" + "pinName": "Q" }, - "name": "unnamedWire#23", - "path": [ - { - "x": 95.0, - "y": 105.0 - }, - { - "x": 95.0, - "y": 185.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { @@ -353,26 +449,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" + "compName": "GUIdff#3", + "pinName": "D" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 165.0, - "y": 210.0 - }, - { - "x": 45.0, - "y": 210.0 + "x": 95.0, + "y": 105.0 }, { - "x": 45.0, - "y": 135.0 + "x": 95.0, + "y": 185.0 } ] }, @@ -403,15 +495,28 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" }, - "name": "unnamedWire#27", - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 165.0, + "y": 210.0 + }, + { + "x": 45.0, + "y": 210.0 + }, + { + "x": 45.0, + "y": 135.0 + } + ] }, { "pin1": { @@ -438,6 +543,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#27", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#6", @@ -465,88 +582,26 @@ mograsim version: 0.1.3 }, { "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", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIdff#2", + "compName": "GUIdff#0", "pinName": "C" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "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", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [] }, { @@ -563,104 +618,59 @@ mograsim version: 0.1.3 }, { "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", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIdff#0", + "compName": "GUIdff#2", "pinName": "C" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_3" + "compName": "GUIdff#3", + "pinName": "C" }, - "name": "unnamedWire#12", + "name": "unnamedWire#8", "path": [ { - "x": 20.0, - "y": 225.0 - }, - { - "x": 20.0, - "y": 105.0 + "x": 105.0, + "y": 175.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "_WE" }, "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" + "pinName": "S0" }, - "name": "unnamedWire#2", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -721,5 +731,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIdlatch.json b/net.mograsim.logic.model.editor/components/GUIdlatch.json index 034ab797..b09c439c 100644 --- a/net.mograsim.logic.model.editor/components/GUIdlatch.json +++ b/net.mograsim.logic.model.editor/components/GUIdlatch.json @@ -1,44 +1,56 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Q", - "logicWidth": 1 + "name": "D", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 15.0 }, - "name": "_Q", - "logicWidth": 1 + "name": "E", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "D", - "logicWidth": 1 + "name": "Q", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 15.0 }, - "name": "E", - "logicWidth": 1 + "name": "_Q", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 10.0, + "y": 2.5 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -57,11 +69,11 @@ mograsim version: 0.1.3 } }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 10.0, - "y": 2.5 + "x": 4.0, + "y": 36.5 }, "params": 1 }, @@ -73,97 +85,78 @@ mograsim version: 0.1.3 "y": 11.5 }, "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 4.0, - "y": 36.5 - }, - "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "_Q" + "compName": "_submodelinterface", + "pinName": "D" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#9" + "name": "unnamedWire#0" }, { "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "E" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_R" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#7", + "name": "unnamedWire#2", "path": [ { - "x": 40.0, - "y": 37.5 - }, - { - "x": 40.0, - "y": 22.5 + "x": 5.0, + "y": 17.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_S" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#6", - "path": [] + "name": "unnamedWire#3", + "path": [ + { + "x": 5.0, + "y": 42.5 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "E" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#4", "path": [] }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "D" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#0" - }, { "pin1": { "compName": "WireCrossPoint#1", @@ -191,51 +184,62 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#4", + "pin2": { + "compName": "GUI_rsLatch#0", + "pinName": "_S" + }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUI_rsLatch#0", + "pinName": "_R" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [ { - "x": 5.0, - "y": 42.5 + "x": 40.0, + "y": 37.5 + }, + { + "x": 40.0, + "y": 22.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUI_rsLatch#0", + "pinName": "Q" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 5.0, - "y": 17.5 - } - ] + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUI_rsLatch#0", + "pinName": "_Q" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_Q" + }, + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -258,5 +262,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIdlatch4.json b/net.mograsim.logic.model.editor/components/GUIdlatch4.json index d798d7f5..3bc4df72 100644 --- a/net.mograsim.logic.model.editor/components/GUIdlatch4.json +++ b/net.mograsim.logic.model.editor/components/GUIdlatch4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 50.0, @@ -6,105 +5,95 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 35.0 + "y": 45.0 }, - "name": "D4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 15.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 25.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 35.0 }, - "name": "C", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 25.0 }, - "name": "D2", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 35.0 }, - "name": "D3", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 14.0, - "y": 71.5 - }, - "params": 1 - }, + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 14.0, - "y": 46.5 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUIdlatch", + "name": "GUIdlatch#0", "pos": { - "x": 14.0, - "y": 96.5 - }, - "params": 1 + "x": 30.0, + "y": 7.5 + } }, { "id": "GUIdlatch", @@ -116,10 +105,10 @@ mograsim version: 0.1.3 }, { "id": "GUIdlatch", - "name": "GUIdlatch#0", + "name": "GUIdlatch#2", "pos": { "x": 30.0, - "y": 7.5 + "y": 57.5 } }, { @@ -131,206 +120,226 @@ mograsim version: 0.1.3 } }, { - "id": "GUIdlatch", - "name": "GUIdlatch#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 30.0, - "y": 57.5 - } + "x": 14.0, + "y": 46.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 14.0, + "y": 71.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", + "pos": { + "x": 14.0, + "y": 96.5 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIdlatch#3", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q4" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#14", - "path": [] + "name": "unnamedWire#0", + "path": [ + { + "x": 15.0, + "y": 112.5 + } + ] }, { "pin1": { - "compName": "GUIdlatch#2", - "pinName": "Q" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q3" + "compName": "GUIdlatch#3", + "pinName": "E" }, - "name": "unnamedWire#13", + "name": "unnamedWire#1", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D3" + "pinName": "D4" }, "pin2": { - "compName": "GUIdlatch#2", + "compName": "GUIdlatch#3", "pinName": "D" }, - "name": "unnamedWire#9", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "GUIdlatch#0", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#1", - "pinName": "D" + "compName": "_submodelinterface", + "pinName": "Q1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#11", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "GUIdlatch#1", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#0", - "pinName": "D" + "compName": "_submodelinterface", + "pinName": "Q2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdlatch#2", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#0", - "pinName": "E" + "compName": "_submodelinterface", + "pinName": "Q3" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 15.0, - "y": 22.5 - } - ] + "name": "unnamedWire#13", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIdlatch#3", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#3", - "pinName": "E" + "compName": "_submodelinterface", + "pinName": "Q4" }, - "name": "unnamedWire#1", + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", - "path": [ - { - "x": 15.0, - "y": 112.5 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIdlatch#1", + "compName": "GUIdlatch#2", "pinName": "E" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch#3", - "pinName": "D" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdlatch#1", + "pinName": "E" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIdlatch#2", + "compName": "GUIdlatch#0", "pinName": "E" }, - "name": "unnamedWire#3", - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 15.0, + "y": 22.5 + } + ] }, { "pin1": { - "compName": "GUIdlatch#1", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q2" + "compName": "GUIdlatch#0", + "pinName": "D" }, - "name": "unnamedWire#12", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIdlatch#1", + "pinName": "D" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "GUIdlatch#0", - "pinName": "Q" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q1" + "compName": "GUIdlatch#2", + "pinName": "D" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -391,5 +400,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIfulladder.json b/net.mograsim.logic.model.editor/components/GUIfulladder.json index d4647013..8b41bd3e 100644 --- a/net.mograsim.logic.model.editor/components/GUIfulladder.json +++ b/net.mograsim.logic.model.editor/components/GUIfulladder.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 30.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "C", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +35,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -41,12 +44,13 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Z", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -73,46 +77,18 @@ mograsim version: 0.1.3 } } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Z" - }, - "name": "unnamedWire#7" - }, - { - "pin1": { - "compName": "GUIhalfadder#1", - "pinName": "_Z" + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUIhalfadder#1", "pinName": "A" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 82.5, - "y": 22.5 - }, - { - "x": 82.5, - "y": 35.0 - }, - { - "x": 52.5, - "y": 35.0 - }, - { - "x": 52.5, - "y": 45.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { @@ -128,26 +104,24 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "C" }, "pin2": { - "compName": "GUIhalfadder#1", - "pinName": "A" + "compName": "GUIhalfadder#0", + "pinName": "B" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#2" }, { "pin1": { - "compName": "GUIhalfadder#1", + "compName": "GUIhalfadder#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "GUIhalfadder#1", + "pinName": "B" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#3" }, { "pin1": { @@ -163,27 +137,58 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIhalfadder#0", + "compName": "GUIhalfadder#1", "pinName": "Y" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { "compName": "GUIhalfadder#1", - "pinName": "B" + "pinName": "_Z" }, - "name": "unnamedWire#3" + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#6", + "path": [ + { + "x": 82.5, + "y": 22.5 + }, + { + "x": 82.5, + "y": 35.0 + }, + { + "x": 52.5, + "y": 35.0 + }, + { + "x": 52.5, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIhalfadder#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Z" }, - "name": "unnamedWire#2" + "name": "unnamedWire#7" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -193,5 +198,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIhalfadder.json b/net.mograsim.logic.model.editor/components/GUIhalfadder.json index d0a0fa20..92720a8e 100644 --- a/net.mograsim.logic.model.editor/components/GUIhalfadder.json +++ b/net.mograsim.logic.model.editor/components/GUIhalfadder.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -33,12 +35,22 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "_Z", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 10.0, + "y": 15.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -50,10 +62,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 10.0, - "y": 15.0 + "x": 40.0, + "y": 27.5 }, "params": 1 }, @@ -68,28 +80,19 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 36.5 - }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#2", - "pos": { - "x": 40.0, - "y": 27.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 11.5 + "y": 36.5 }, "params": 1 }, @@ -103,72 +106,88 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "_submodelinterface", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#9", + "name": "unnamedWire#1", "path": [ { - "x": 35.0, - "y": 32.5 + "x": 5.0, + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#8", + "name": "unnamedWire#10", "path": [ { - "x": 35.0, - "y": 17.5 + "x": 62.5, + "y": 12.5 + }, + { + "x": 62.5, + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Z" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#7", + "name": "unnamedWire#11", "path": [ { - "x": 80.0, - "y": 25.0 + "x": 62.5, + "y": 37.5 }, { - "x": 80.0, - "y": 37.5 + "x": 62.5, + "y": 17.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#3", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#6", + "name": "unnamedWire#12", "path": [] }, { @@ -177,27 +196,27 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#2", "path": [ { "x": 5.0, - "y": 7.5 + "y": 20.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { @@ -206,35 +225,14 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#2", "pinName": "B" }, - "name": "unnamedWire#5", + "name": "unnamedWire#4", "path": [ { "x": 5.0, - "y": 30.0 - } - ] - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" - }, - "name": "unnamedWire#10", - "path": [ - { - "x": 62.5, - "y": 12.5 - }, - { - "x": 62.5, - "y": 7.5 + "y": 42.5 } ] }, @@ -244,80 +242,86 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "B" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [ { "x": 5.0, - "y": 42.5 + "y": 30.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#3", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y" + "pinName": "_Z" }, - "name": "unnamedWire#12", - "path": [] + "name": "unnamedWire#7", + "path": [ + { + "x": 80.0, + "y": 25.0 + }, + { + "x": 80.0, + "y": 37.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 5.0, - "y": 20.0 + "x": 35.0, + "y": 17.5 } ] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { - "x": 62.5, - "y": 37.5 - }, - { - "x": 62.5, - "y": 17.5 + "x": 35.0, + "y": 32.5 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -327,5 +331,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUImux1.json b/net.mograsim.logic.model.editor/components/GUImux1.json index c0d53e56..279f905d 100644 --- a/net.mograsim.logic.model.editor/components/GUImux1.json +++ b/net.mograsim.logic.model.editor/components/GUImux1.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 30.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,28 +17,40 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "I1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "Y", - "logicWidth": 1 + "name": "S0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "S0", - "logicWidth": 1 + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 10.0, + "y": 7.5 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -50,10 +62,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 10.0, - "y": 7.5 + "x": 35.0, + "y": 47.5 }, "params": 1 }, @@ -68,107 +80,93 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 21.5 - }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#2", - "pos": { - "x": 35.0, - "y": 47.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 11.5 + "y": 21.5 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "S0" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#9" + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#8" + "name": "unnamedWire#1", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#10" }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 5.0, - "y": 52.5 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#1", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#4" }, { "pin1": { @@ -184,51 +182,57 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#10" + "name": "unnamedWire#6", + "path": [ + { + "x": 5.0, + "y": 52.5 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#4" + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#3", - "path": [] + "name": "unnamedWire#8" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#2", - "path": [] + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -238,5 +242,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUImux1_4.json b/net.mograsim.logic.model.editor/components/GUImux1_4.json index c90cd3eb..1caab2c4 100644 --- a/net.mograsim.logic.model.editor/components/GUImux1_4.json +++ b/net.mograsim.logic.model.editor/components/GUImux1_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, @@ -9,23 +8,17 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I0_1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 - }, - "name": "Y1", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 25.0 }, - "name": "Y2", - "logicWidth": 1 + "name": "I0_2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,47 +26,44 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "I0_3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 - }, - "name": "I1_2", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 25.0 + "y": 45.0 }, - "name": "Y3", - "logicWidth": 1 + "name": "I0_4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 55.0 }, - "name": "I0_2", - "logicWidth": 1 + "name": "I1_1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 65.0 }, - "name": "I1_1", - "logicWidth": 1 + "name": "I1_2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 75.0 }, - "name": "Y4", - "logicWidth": 1 + "name": "I1_3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -81,7 +71,8 @@ mograsim version: 0.1.3 "y": 85.0 }, "name": "I1_4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,28 +80,73 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 45.0 + "x": 35.0, + "y": 5.0 }, - "name": "I0_4", - "logicWidth": 1 + "name": "Y1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 75.0 + "x": 35.0, + "y": 15.0 }, - "name": "I1_3", - "logicWidth": 1 + "name": "Y2", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 25.0 + }, + "name": "Y3", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 35.0 + }, + "name": "Y4", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUImux1", + "name": "GUImux1#0", + "pos": { + "x": 30.0, + "y": 7.5 + } + }, + { + "id": "GUImux1", + "name": "GUImux1#1", + "pos": { + "x": 30.0, + "y": 42.5 + } + }, + { + "id": "GUImux1", + "name": "GUImux1#2", + "pos": { + "x": 30.0, + "y": 77.5 + } + }, { "id": "GUImux1", "name": "GUImux1#3", @@ -121,30 +157,22 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 24.0, - "y": 46.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 24.0, - "y": 11.5 + "y": 46.5 }, "params": 1 }, - { - "id": "GUImux1", - "name": "GUImux1#0", - "pos": { - "x": 30.0, - "y": 7.5 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#2", @@ -153,35 +181,77 @@ mograsim version: 0.1.3 "y": 81.5 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S0" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUImux1", - "name": "GUImux1#2", - "pos": { - "x": 30.0, - "y": 77.5 - } + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUImux1#0", + "pinName": "S0" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUImux1", - "name": "GUImux1#1", - "pos": { - "x": 30.0, - "y": 42.5 - } - } - ], - "innerWires": [ + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [] + }, { "pin1": { - "compName": "GUImux1#2", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { + "compName": "GUImux1#2", + "pinName": "S0" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { "compName": "_submodelinterface", - "pinName": "Y3" + "pinName": "I0_3" }, - "name": "unnamedWire#14" + "pin2": { + "compName": "GUImux1#2", + "pinName": "I0" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 5.0, + "y": 87.5 + }, + { + "x": 5.0, + "y": 92.5 + } + ] }, { "pin1": { @@ -206,24 +276,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I0_4" + "compName": "GUImux1#2", + "pinName": "Y" }, "pin2": { - "compName": "GUImux1#3", - "pinName": "I0" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 5.0, - "y": 112.5 - }, - { - "x": 5.0, - "y": 127.5 - } - ] + "name": "unnamedWire#14" }, { "pin1": { @@ -244,14 +304,24 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUImux1#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I0_4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUImux1#3", + "pinName": "I0" }, - "name": "unnamedWire#18" + "name": "unnamedWire#16", + "path": [ + { + "x": 5.0, + "y": 112.5 + }, + { + "x": 5.0, + "y": 127.5 + } + ] }, { "pin1": { @@ -276,91 +346,67 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUImux1#1", + "compName": "GUImux1#3", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y2" + "pinName": "Y4" }, - "name": "unnamedWire#9" + "name": "unnamedWire#18" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1_2" + "pinName": "I0_1" }, "pin2": { - "compName": "GUImux1#1", - "pinName": "I1" + "compName": "GUImux1#0", + "pinName": "I0" }, - "name": "unnamedWire#8", + "name": "unnamedWire#2", "path": [ { - "x": 15.0, - "y": 162.5 + "x": 5.0, + "y": 37.5 }, { - "x": 15.0, - "y": 67.5 + "x": 5.0, + "y": 22.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0_2" + "pinName": "I1_1" }, "pin2": { - "compName": "GUImux1#1", - "pinName": "I0" + "compName": "GUImux1#0", + "pinName": "I1" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [ { - "x": 5.0, - "y": 62.5 + "x": 10.0, + "y": 137.5 }, { - "x": 5.0, - "y": 57.5 + "x": 10.0, + "y": 32.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "GUImux1#1", - "pinName": "S0" - }, - "name": "unnamedWire#6", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { "compName": "GUImux1#0", - "pinName": "S0" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [] }, { @@ -381,100 +427,67 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { - "compName": "GUImux1#0", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUImux1#1", + "pinName": "S0" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1_1" - }, - "pin2": { - "compName": "GUImux1#0", - "pinName": "I1" - }, - "name": "unnamedWire#3", - "path": [ - { - "x": 10.0, - "y": 137.5 - }, - { - "x": 10.0, - "y": 32.5 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I0_3" + "pinName": "I0_2" }, "pin2": { - "compName": "GUImux1#2", + "compName": "GUImux1#1", "pinName": "I0" }, - "name": "unnamedWire#12", + "name": "unnamedWire#7", "path": [ { "x": 5.0, - "y": 87.5 + "y": 62.5 }, { "x": 5.0, - "y": 92.5 + "y": 57.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0_1" + "pinName": "I1_2" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I0" + "compName": "GUImux1#1", + "pinName": "I1" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 5.0, - "y": 37.5 + "x": 15.0, + "y": 162.5 }, { - "x": 5.0, - "y": 22.5 + "x": 15.0, + "y": 67.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUImux1#1", + "pinName": "Y" }, "pin2": { - "compName": "GUImux1#2", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -484,5 +497,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ 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 index 2542ce0a..b1cf3a62 100644 --- a/net.mograsim.logic.model.editor/components/GUImux2.json +++ b/net.mograsim.logic.model.editor/components/GUImux2.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 70.0, "height": 70.0, @@ -9,15 +8,17 @@ mograsim version: 0.1.3 "y": 30.0 }, "name": "I00", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 60.0 + "y": 40.0 }, - "name": "I11", - "logicWidth": 1 + "name": "I01", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,23 +26,17 @@ mograsim version: 0.1.3 "y": 50.0 }, "name": "I10", - "logicWidth": 1 - }, - { - "location": { - "x": 70.0, - "y": 10.0 - }, - "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 40.0 + "y": 60.0 }, - "name": "I01", - "logicWidth": 1 + "name": "I11", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,7 +44,8 @@ mograsim version: 0.1.3 "y": 10.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,12 +53,46 @@ mograsim version: 0.1.3 "y": 20.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 70.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 60.0, + "y": 35.0 + } + }, + { + "id": "GUIsel1", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 60.0, + "y": 100.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 115.0, + "y": 20.0 + } + }, { "id": "GUINandGate", "name": "GUINandGate#0", @@ -72,6 +102,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 24.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#1", @@ -83,10 +122,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { "x": 24.0, - "y": 24.0 + "y": 49.0 }, "params": 1 }, @@ -98,52 +137,72 @@ mograsim version: 0.1.3 "y": 39.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 24.0, - "y": 49.0 + "pin1": { + "compName": "GUINandGate#0", + "pinName": "A" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 20.0 + } + ] }, { - "id": "GUIsel1", - "name": "DeserializedSubmodelComponent#1", - "pos": { - "x": 60.0, - "y": 100.0 - } + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUIsel1", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 60.0, - "y": 35.0 - } + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [] }, - { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#2", - "pos": { - "x": 115.0, - "y": 20.0 - } - } - ], - "innerWires": [ { "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "S1" + "pinName": "S2" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#14", + "name": "unnamedWire#12", "path": [] }, { @@ -160,20 +219,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "S2" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 25.0, - "y": 115.0 - } - ] + "name": "unnamedWire#14", + "path": [] }, { "pin1": { @@ -194,133 +248,92 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "S1" + "pinName": "S2" }, - "name": "unnamedWire#17", + "name": "unnamedWire#16", "path": [ { - "x": 55.0, - "y": 105.0 + "x": 25.0, + "y": 115.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S1" }, - "name": "unnamedWire#9", + "name": "unnamedWire#17", "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 + "x": 55.0, + "y": 105.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I00" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", + "compName": "DeserializedSubmodelComponent#0", "pinName": "I1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#2", "path": [ { - "x": 105.0, - "y": 105.0 + "x": 35.0, + "y": 75.0 }, { - "x": 105.0, - "y": 45.0 + "x": 35.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I01" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#3", "path": [ { - "x": 105.0, - "y": 40.0 + "x": 40.0, + "y": 100.0 }, { - "x": 105.0, - "y": 35.0 + "x": 40.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Y" - }, - "name": "unnamedWire#6", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "pinName": "I10" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1" }, - "name": "unnamedWire#1", + "name": "unnamedWire#4", "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", @@ -344,95 +357,89 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "I10" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1" + "pinName": "Y" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I01" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [ { - "x": 40.0, - "y": 100.0 + "x": 105.0, + "y": 40.0 }, { - "x": 40.0, - "y": 70.0 + "x": 105.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I00" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "DeserializedSubmodelComponent#2", "pinName": "I1" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { - "x": 35.0, - "y": 75.0 + "x": 105.0, + "y": 105.0 }, { - "x": 35.0, - "y": 60.0 + "x": 105.0, + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "S1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" }, - "name": "unnamedWire#11", - "path": [] + "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 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -443,5 +450,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ 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 index 042d9e1b..7d1342a9 100644 --- a/net.mograsim.logic.model.editor/components/GUImux2_4.json +++ b/net.mograsim.logic.model.editor/components/GUImux2_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 62.0, "height": 90.0, @@ -9,15 +8,17 @@ mograsim version: 0.1.3 "y": 30.0 }, "name": "I00", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 60.0 + "y": 40.0 }, - "name": "I11", - "logicWidth": 4 + "name": "I01", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { @@ -25,23 +26,17 @@ mograsim version: 0.1.3 "y": 50.0 }, "name": "I10", - "logicWidth": 4 - }, - { - "location": { - "x": 62.0, - "y": 16.0 - }, - "name": "Y", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 40.0 + "y": 60.0 }, - "name": "I01", - "logicWidth": 4 + "name": "I11", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { @@ -49,7 +44,8 @@ mograsim version: 0.1.3 "y": 10.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,29 +53,45 @@ mograsim version: 0.1.3 "y": 20.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 62.0, + "y": 16.0 + }, + "name": "Y", + "logicWidth": 4, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", "pos": { - "x": 19.0, - "y": 34.0 - }, - "params": 1 + "x": 40.0, + "y": 30.0 + } }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#1", "pos": { - "x": 25.0, - "y": 45.0 - }, - "params": 4 + "x": 40.0, + "y": 125.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 100.0, + "y": 20.0 + } }, { "id": "GUIMerger", @@ -92,97 +104,110 @@ mograsim version: 0.1.3 }, { "id": "GUISplitter", - "name": "GUISplitter#3", + "name": "GUISplitter#0", "pos": { "x": 25.0, - "y": 180.0 + "y": 45.0 }, "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#2", + "name": "GUISplitter#1", "pos": { "x": 25.0, - "y": 140.0 + "y": 85.0 }, "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#1", + "name": "GUISplitter#2", "pos": { "x": 25.0, - "y": 85.0 + "y": 140.0 }, "params": 4 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#1", - "pos": { - "x": 40.0, - "y": 125.0 - } - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#0", + "id": "GUISplitter", + "name": "GUISplitter#3", "pos": { - "x": 40.0, - "y": 30.0 - } + "x": 25.0, + "y": 180.0 + }, + "params": 4 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 100.0, - "y": 20.0 - } + "x": 19.0, + "y": 34.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "GUISplitter#2", + "pinName": "O0" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_1" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", "pinName": "I0_2" }, "pin2": { - "compName": "GUISplitter#0", + "compName": "GUISplitter#2", "pinName": "O1" }, - "name": "unnamedWire#14", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "S0" + "compName": "GUISplitter#1", + "pinName": "O0" }, - "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 - } - ] + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#12", + "path": [] }, { "pin1": { @@ -198,14 +223,26 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y4" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "GUISplitter#0", + "pinName": "O1" }, - "name": "unnamedWire#35", + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O0" + }, + "name": "unnamedWire#15", "path": [] }, { @@ -227,14 +264,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" }, - "name": "unnamedWire#15", + "name": "unnamedWire#17", "path": [] }, { @@ -254,18 +291,6 @@ mograsim version: 0.1.3 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" - }, - "name": "unnamedWire#17", - "path": [] - }, { "pin1": { "compName": "GUISplitter#0", @@ -290,23 +315,14 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUISplitter#2", - "pinName": "I" + "pinName": "O2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "I10" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_3" }, - "name": "unnamedWire#21", - "path": [ - { - "x": 15.0, - "y": 155.0 - }, - { - "x": 15.0, - "y": 125.0 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { @@ -322,15 +338,24 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y1" + "compName": "GUISplitter#2", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_1" + "compName": "_submodelinterface", + "pinName": "I10" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#21", + "path": [ + { + "x": 15.0, + "y": 155.0 + }, + { + "x": 15.0, + "y": 125.0 + } + ] }, { "pin1": { @@ -356,13 +381,13 @@ mograsim version: 0.1.3 { "pin1": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y3" + "pinName": "Y1" }, "pin2": { "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_3" + "pinName": "I0_1" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [] }, { @@ -379,24 +404,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_3" }, - "name": "unnamedWire#27", - "path": [ - { - "x": 80.0, - "y": 75.0 - }, - { - "x": 80.0, - "y": 130.0 - } - ] + "name": "unnamedWire#25", + "path": [] }, { "pin1": { @@ -413,21 +429,21 @@ mograsim version: 0.1.3 { "pin1": { "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_3" + "pinName": "I1_1" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y3" + "pinName": "Y1" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 90.0, - "y": 95.0 + "x": 80.0, + "y": 75.0 }, { - "x": 90.0, - "y": 150.0 + "x": 80.0, + "y": 130.0 } ] }, @@ -454,74 +470,35 @@ mograsim version: 0.1.3 }, { "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", + "compName": "DeserializedSubmodelComponent#2", "pinName": "I1_3" }, - "name": "unnamedWire#8", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#3", - "pinName": "O3" - }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1_4" + "pinName": "Y3" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#29", + "path": [ + { + "x": 90.0, + "y": 95.0 + }, + { + "x": 90.0, + "y": 150.0 + } + ] }, { "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" + "pinName": "I1_1" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { @@ -547,26 +524,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O1" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1_2" - }, - "name": "unnamedWire#5", - "path": [] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_1" + "compName": "GUIMerger#0", + "pinName": "O" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O0" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#10", + "name": "unnamedWire#31", "path": [] }, { @@ -583,101 +548,143 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y2" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "O3" + "compName": "GUIMerger#0", + "pinName": "I1" }, - "name": "unnamedWire#4", + "name": "unnamedWire#33", "path": [] }, { "pin1": { "compName": "GUIMerger#0", - "pinName": "O" + "pinName": "I2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y3" }, - "name": "unnamedWire#31", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I1_1" + "compName": "GUIMerger#0", + "pinName": "I3" }, - "name": "unnamedWire#3", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", + "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#1", "pinName": "I0_4" }, "pin2": { - "compName": "GUISplitter#0", + "compName": "GUISplitter#2", "pinName": "O3" }, - "name": "unnamedWire#12", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "GUISplitter#3", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y3" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_2" }, - "name": "unnamedWire#34", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#3", "pinName": "O2" }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#3", + "pinName": "O3" + }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_3" + "pinName": "I1_4" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { "compName": "GUISplitter#1", - "pinName": "O3" + "pinName": "O2" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_4" + "pinName": "I1_3" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y2" + "compName": "GUISplitter#1", + "pinName": "O1" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" }, - "name": "unnamedWire#33", + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -688,5 +695,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ 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 index 3f6a8bc1..a27f5ca3 100644 --- a/net.mograsim.logic.model.editor/components/GUImux3.json +++ b/net.mograsim.logic.model.editor/components/GUImux3.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 80.0, "height": 120.0, @@ -9,23 +8,17 @@ mograsim version: 0.1.3 "y": 40.0 }, "name": "I000", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 70.0 - }, - "name": "I011", - "logicWidth": 1 - }, - { - "location": { - "x": 0.0, - "y": 100.0 + "y": 50.0 }, - "name": "I110", - "logicWidth": 1 + "name": "I001", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,15 +26,17 @@ mograsim version: 0.1.3 "y": 60.0 }, "name": "I010", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 90.0 + "y": 70.0 }, - "name": "I101", - "logicWidth": 1 + "name": "I011", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,31 +44,35 @@ mograsim version: 0.1.3 "y": 80.0 }, "name": "I100", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 110.0 + "y": 90.0 }, - "name": "I111", - "logicWidth": 1 + "name": "I101", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 80.0, - "y": 10.0 + "x": 0.0, + "y": 100.0 }, - "name": "Y", - "logicWidth": 1 + "name": "I110", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 50.0 + "y": 110.0 }, - "name": "I001", - "logicWidth": 1 + "name": "I111", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -81,7 +80,8 @@ mograsim version: 0.1.3 "y": 10.0 }, "name": "S0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,7 +89,8 @@ mograsim version: 0.1.3 "y": 20.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -97,30 +98,22 @@ mograsim version: 0.1.3 "y": 30.0 }, "name": "S2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 80.0, + "y": 10.0 + }, + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 24.0, - "y": 94.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 19.0, - "y": 104.0 - }, - "params": 1 - }, + "components": [ { "id": "GUImux2", "name": "DeserializedSubmodelComponent#0", @@ -129,6 +122,14 @@ mograsim version: 0.1.3 "y": 185.0 } }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 125.0, + "y": 20.0 + } + }, { "id": "GUImux2", "name": "DeserializedSubmodelComponent#3", @@ -138,36 +139,113 @@ mograsim version: 0.1.3 } }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 125.0, - "y": 20.0 - } + "x": 19.0, + "y": 104.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 94.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "I111" + "pinName": "S0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 25.0, + "y": 25.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "S1" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 20.0, + "y": 50.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#3", "pinName": "I11" }, - "name": "unnamedWire#14", + "pin2": { + "compName": "_submodelinterface", + "pinName": "I011" + }, + "name": "unnamedWire#10", "path": [ { "x": 15.0, - "y": 275.0 + "y": 145.0 }, { "x": 15.0, - "y": 245.0 + "y": 175.0 + } + ] + }, + { + "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 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I101" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I01" + }, + "name": "unnamedWire#12", + "path": [] + }, { "pin1": { "compName": "DeserializedSubmodelComponent#0", @@ -191,22 +269,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I111" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I11" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { - "x": 110.0, - "y": 95.0 + "x": 15.0, + "y": 275.0 }, { - "x": 110.0, - "y": 35.0 + "x": 15.0, + "y": 245.0 } ] }, @@ -233,89 +311,56 @@ mograsim version: 0.1.3 }, { "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" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I10" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0" }, - "name": "unnamedWire#9", + "name": "unnamedWire#16", "path": [ { - "x": 10.0, - "y": 150.0 + "x": 110.0, + "y": 95.0 }, { - "x": 10.0, - "y": 135.0 + "x": 110.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I01" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" }, "pin2": { "compName": "_submodelinterface", - "pinName": "I001" - }, - "name": "unnamedWire#8", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I000" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I00" + "pinName": "S2" }, - "name": "unnamedWire#7", + "name": "unnamedWire#17", "path": [ { - "x": 10.0, - "y": 100.0 + "x": 70.0, + "y": 25.0 }, { - "x": 10.0, - "y": 115.0 + "x": 70.0, + "y": 75.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" }, - "name": "unnamedWire#6", + "name": "unnamedWire#2", "path": [] }, { @@ -324,31 +369,26 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "_submodelinterface", + "compName": "DeserializedSubmodelComponent#3", "pinName": "S1" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 20.0, - "y": 50.0 - } - ] + "name": "unnamedWire#3", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", + "compName": "DeserializedSubmodelComponent#0", "pinName": "S0" }, "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#4", "path": [ { "x": 25.0, - "y": 25.0 + "y": 195.0 } ] }, @@ -371,100 +411,72 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I11" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "I011" + "pinName": "Y" }, - "name": "unnamedWire#10", - "path": [ - { - "x": 15.0, - "y": 145.0 - }, - { - "x": 15.0, - "y": 175.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "I000" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I00" }, - "name": "unnamedWire#4", + "name": "unnamedWire#7", "path": [ { - "x": 25.0, - "y": 195.0 + "x": 10.0, + "y": 100.0 + }, + { + "x": 10.0, + "y": 115.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" + "compName": "_submodelinterface", + "pinName": "I001" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I00" + "compName": "_submodelinterface", + "pinName": "I010" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "I100" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I10" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { "x": 10.0, - "y": 215.0 + "y": 150.0 }, { "x": 10.0, - "y": 200.0 + "y": 135.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -475,5 +487,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUInand3.json b/net.mograsim.logic.model.editor/components/GUInand3.json index e57eefee..28b9a601 100644 --- a/net.mograsim.logic.model.editor/components/GUInand3.json +++ b/net.mograsim.logic.model.editor/components/GUInand3.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 30.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "C", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,26 +35,27 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { - "x": 35.0, + "x": 10.0, "y": 15.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#1", "pos": { - "x": 10.0, + "x": 35.0, "y": 15.0 }, "params": 1 @@ -76,39 +79,17 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ - { - "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" - }, - "name": "unnamedWire#7", - "path": [] - }, + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "C" + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 60.0, - "y": 62.5 - }, - { - "x": 60.0, - "y": 17.5 - } - ] + "name": "unnamedWire#0" }, { "pin1": { @@ -123,33 +104,30 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#0" + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [ { - "x": 57.5, - "y": 25.0 - }, - { - "x": 57.5, - "y": 7.5 + "x": 32.5, + "y": 20.0 } ] }, @@ -172,34 +150,60 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#5", "path": [ { - "x": 32.5, - "y": 20.0 + "x": 57.5, + "y": 25.0 + }, + { + "x": 57.5, + "y": 7.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "_submodelinterface", + "pinName": "C" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#6", + "path": [ + { + "x": 60.0, + "y": 62.5 + }, + { + "x": 60.0, + "y": 17.5 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#2", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -209,5 +213,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUInot4.json b/net.mograsim.logic.model.editor/components/GUInot4.json index a7e95a32..b80166a2 100644 --- a/net.mograsim.logic.model.editor/components/GUInot4.json +++ b/net.mograsim.logic.model.editor/components/GUInot4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "A2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "A3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +35,8 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "A4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -41,7 +44,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -49,7 +53,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -57,7 +62,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,21 +71,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 30.0, - "y": 27.5 - }, - "params": 1 - }, + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -91,28 +89,28 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#1", "pos": { "x": 30.0, - "y": 77.5 + "y": 27.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 14.0, - "y": 36.5 + "x": 30.0, + "y": 52.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#3", "pos": { "x": 30.0, - "y": 52.5 + "y": 77.5 }, "params": 1 }, @@ -127,10 +125,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, - "y": 86.5 + "y": 36.5 }, "params": 1 }, @@ -142,242 +140,252 @@ mograsim version: 0.1.3 "y": 61.5 }, "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", + "pos": { + "x": 14.0, + "y": 86.5 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Y3" - }, - "name": "unnamedWire#14", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "pinName": "A1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#13", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#15", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#10", "path": [ { "x": 15.0, - "y": 42.5 + "y": 67.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#3", "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#11", "path": [ { "x": 15.0, - "y": 17.5 + "y": 92.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#7", - "path": [ - { - "x": 15.0, - "y": 82.5 - } - ] + "name": "unnamedWire#12", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y2" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { "compName": "GUINandGate#2", - "pinName": "A" + "pinName": "Y" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 15.0, - "y": 57.5 - } - ] + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#14", + "path": [] }, { "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "Y4" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#2", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "A4" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#5", + "name": "unnamedWire#4", "path": [ { "x": 15.0, - "y": 32.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#10", + "name": "unnamedWire#5", "path": [ { "x": 15.0, - "y": 67.5 + "y": 32.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#6", "path": [ { "x": 15.0, - "y": 7.5 + "y": 57.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" - }, - "pin2": { "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#12", - "path": [] + "name": "unnamedWire#7", + "path": [ + { + "x": 15.0, + "y": 82.5 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#2", - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 15.0, + "y": 17.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "B" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { "x": 15.0, - "y": 92.5 + "y": 42.5 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -387,5 +395,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIor4.json b/net.mograsim.logic.model.editor/components/GUIor4.json index 5b09418b..9b6e1bf9 100644 --- a/net.mograsim.logic.model.editor/components/GUIor4.json +++ b/net.mograsim.logic.model.editor/components/GUIor4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "A2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "A3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +35,8 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "A4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -41,12 +44,22 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 20.0, + "y": 15.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -58,10 +71,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { "x": 20.0, - "y": 15.0 + "y": 115.0 }, "params": 1 }, @@ -76,19 +89,46 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { - "x": 20.0, - "y": 115.0 + "x": 50.0, + "y": 40.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 14.0, - "y": 74.0 + "x": 50.0, + "y": 140.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#6", + "pos": { + "x": 110.0, + "y": 40.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#7", + "pos": { + "x": 110.0, + "y": 140.0 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#8", + "pos": { + "x": 140.0, + "y": 90.0 }, "params": 1 }, @@ -103,10 +143,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, - "y": 174.0 + "y": 74.0 }, "params": 1 }, @@ -121,10 +161,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 104.0, - "y": 149.0 + "x": 14.0, + "y": 174.0 }, "params": 1 }, @@ -138,62 +178,84 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 140.0, - "y": 90.0 + "x": 104.0, + "y": 149.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUINandGate", - "name": "GUINandGate#5", - "pos": { - "x": 50.0, - "y": 140.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A1" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 50.0, - "y": 40.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A2" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#7", - "pos": { - "x": 110.0, - "y": 140.0 + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" }, - "params": 1 + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 15.0, + "y": 130.0 + } + ] }, { - "id": "GUINandGate", - "name": "GUINandGate#6", - "pos": { - "x": 110.0, - "y": 40.0 + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 15.0, + "y": 180.0 + } + ] + }, { "pin1": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#14" + "name": "unnamedWire#12" }, { "pin1": { @@ -208,15 +270,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#2", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, - "name": "unnamedWire#16", - "path": [] + "name": "unnamedWire#14" }, { "pin1": { @@ -231,20 +292,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#18", - "path": [ - { - "x": 105.0, - "y": 45.0 - } - ] + "name": "unnamedWire#16", + "path": [] }, { "pin1": { @@ -265,33 +321,45 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#6", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [ { "x": 105.0, - "y": 55.0 + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#21", + "name": "unnamedWire#19", "path": [ { "x": 105.0, - "y": 155.0 + "y": 55.0 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#5", @@ -311,14 +379,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#23" + "name": "unnamedWire#21", + "path": [ + { + "x": 105.0, + "y": 155.0 + } + ] }, { "pin1": { @@ -331,6 +405,17 @@ mograsim version: 0.1.3 }, "name": "unnamedWire#22" }, + { + "pin1": { + "compName": "GUINandGate#7", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "B" + }, + "name": "unnamedWire#23" + }, { "pin1": { "compName": "GUINandGate#8", @@ -344,20 +429,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 15.0, - "y": 80.0 - } - ] + "name": "unnamedWire#3", + "path": [] }, { "pin1": { @@ -366,30 +446,30 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#8", + "name": "unnamedWire#4", "path": [ { "x": 15.0, - "y": 30.0 + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#7", + "name": "unnamedWire#5", "path": [ { "x": 15.0, - "y": 170.0 + "y": 70.0 } ] }, @@ -412,59 +492,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#3", "pinName": "A" }, - "name": "unnamedWire#5", - "path": [ - { - "x": 15.0, - "y": 70.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" - }, - "name": "unnamedWire#10", + "name": "unnamedWire#7", "path": [ { "x": 15.0, - "y": 130.0 + "y": 170.0 } ] }, @@ -475,69 +514,35 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#4", + "name": "unnamedWire#8", "path": [ { "x": 15.0, - "y": 20.0 + "y": 30.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" - }, - "name": "unnamedWire#12" - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#2", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "B" }, - "name": "unnamedWire#11", + "name": "unnamedWire#9", "path": [ { "x": 15.0, - "y": 180.0 + "y": 80.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -547,5 +552,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIor_4.json b/net.mograsim.logic.model.editor/components/GUIor_4.json index ed484c98..232a77f8 100644 --- a/net.mograsim.logic.model.editor/components/GUIor_4.json +++ b/net.mograsim.logic.model.editor/components/GUIor_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 80.0, @@ -9,55 +8,71 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 15.0 }, - "name": "B2", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 25.0 }, - "name": "A2", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 35.0 }, - "name": "B3", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 45.0 }, - "name": "A3", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 55.0 }, - "name": "B4", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 65.0 }, - "name": "A4", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 0.0, + "y": 75.0 + }, + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -65,7 +80,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -73,7 +89,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -81,7 +98,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -89,29 +107,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 - }, - { - "location": { - "x": 0.0, - "y": 45.0 - }, - "name": "B1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ - { - "id": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 15.0, - "y": 27.5 - }, - "params": 1 - }, + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -123,18 +125,18 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#1", "pos": { "x": 15.0, - "y": 77.5 + "y": 27.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#10", "pos": { - "x": 15.0, + "x": 65.0, "y": 52.5 }, "params": 1 @@ -150,64 +152,64 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#10", + "name": "GUINandGate#2", "pos": { - "x": 65.0, + "x": 15.0, "y": 52.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 6.5, - "y": 36.5 + "x": 15.0, + "y": 77.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 6.5, - "y": 11.5 + "x": 15.0, + "y": 102.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 6.5, - "y": 86.5 + "x": 15.0, + "y": 127.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 6.5, - "y": 61.5 + "x": 15.0, + "y": 152.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 6.5, - "y": 136.5 + "x": 15.0, + "y": 177.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 6.5, - "y": 111.5 + "x": 65.0, + "y": 2.5 }, "params": 1 }, @@ -222,83 +224,133 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#0", "pos": { "x": 6.5, - "y": 186.5 + "y": 11.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 65.0, - "y": 2.5 + "x": 6.5, + "y": 36.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#2", "pos": { "x": 6.5, - "y": 161.5 + "y": 61.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 15.0, - "y": 127.5 + "x": 6.5, + "y": 86.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 15.0, - "y": 102.5 + "x": 6.5, + "y": 111.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 15.0, - "y": 177.5 + "x": 6.5, + "y": 136.5 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 15.0, - "y": 152.5 + "x": 6.5, + "y": 161.5 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", + "pos": { + "x": 6.5, + "y": 186.5 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "_submodelinterface", + "pinName": "A1" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A2" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#10", "path": [ { "x": 7.5, - "y": 82.5 + "y": 32.5 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 7.5, + "y": 42.5 } ] }, @@ -309,42 +361,47 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#2", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#13", + "name": "unnamedWire#12", "path": [ { "x": 7.5, - "y": 67.5 + "y": 57.5 } ] }, { "pin1": { - "compName": "GUINandGate#11", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#35", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 7.5, + "y": 67.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#3", "pinName": "A" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { "x": 7.5, - "y": 107.5 + "y": 82.5 } ] }, @@ -367,18 +424,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [ { "x": 7.5, - "y": 132.5 + "y": 107.5 } ] }, @@ -406,33 +463,45 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#5", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [ { "x": 7.5, - "y": 142.5 + "y": 132.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#21", + "name": "unnamedWire#19", "path": [ { "x": 7.5, - "y": 167.5 + "y": 142.5 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#6", @@ -452,18 +521,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [ { "x": 7.5, - "y": 192.5 + "y": 167.5 } ] }, @@ -486,22 +555,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 45.0, - "y": 112.5 - }, - { - "x": 45.0, - "y": 17.5 + "x": 7.5, + "y": 192.5 } ] }, @@ -528,22 +593,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#8", "pinName": "B" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [ { - "x": 50.0, - "y": 137.5 + "x": 45.0, + "y": 112.5 }, { - "x": 50.0, - "y": 42.5 + "x": 45.0, + "y": 17.5 } ] }, @@ -570,22 +635,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#9", "pinName": "B" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 55.0, - "y": 162.5 + "x": 50.0, + "y": 137.5 }, { - "x": 55.0, - "y": 67.5 + "x": 50.0, + "y": 42.5 } ] }, @@ -612,84 +677,35 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#10", "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#29", "path": [ { - "x": 7.5, - "y": 17.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#8", - "path": [ + "x": 55.0, + "y": 162.5 + }, { - "x": 7.5, - "y": 7.5 + "x": 55.0, + "y": 67.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B4" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#7", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "name": "unnamedWire#6", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "A4" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { @@ -715,30 +731,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" - }, - "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "name": "unnamedWire#5", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUINandGate#11", + "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#31", "path": [ { - "x": 7.5, - "y": 32.5 + "x": 60.0, + "y": 187.5 + }, + { + "x": 60.0, + "y": 92.5 } ] }, @@ -756,120 +764,124 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#4", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#10", "pinName": "Y" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { "compName": "GUINandGate#11", - "pinName": "B" + "pinName": "Y" }, - "name": "unnamedWire#31", - "path": [ - { - "x": 60.0, - "y": 187.5 - }, - { - "x": 60.0, - "y": 92.5 - } - ] + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y4" + }, + "name": "unnamedWire#35", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A4" + "pinName": "B1" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#3", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 7.5, - "y": 57.5 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#34", + "name": "unnamedWire#6", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A3" + "pinName": "B4" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", "path": [ { "x": 7.5, - "y": 42.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 7.5, + "y": 17.5 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -879,5 +891,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIram2.json b/net.mograsim.logic.model.editor/components/GUIram2.json index ea3eff93..63221104 100644 --- a/net.mograsim.logic.model.editor/components/GUIram2.json +++ b/net.mograsim.logic.model.editor/components/GUIram2.json @@ -1,219 +1,283 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "QA1", - "logicWidth": 1 + "name": "A0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 15.0 }, - "name": "QB2", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "QB1", - "logicWidth": 1 + "name": "B0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 35.0 }, - "name": "QA3", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 75.0 + "x": 0.0, + "y": 55.0 }, - "name": "QB4", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 65.0 }, - "name": "QA2", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 65.0 + "x": 0.0, + "y": 75.0 }, - "name": "QB3", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 85.0 }, - "name": "QA4", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 55.0 + "x": 35.0, + "y": 5.0 }, - "name": "D1", - "logicWidth": 1 + "name": "QA1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 15.0 }, - "name": "B0", - "logicWidth": 1 + "name": "QA2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 45.0 + "x": 35.0, + "y": 25.0 }, - "name": "WE", - "logicWidth": 1 + "name": "QA3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 65.0 + "x": 35.0, + "y": 35.0 }, - "name": "D2", - "logicWidth": 1 + "name": "QA4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 45.0 }, - "name": "A0", - "logicWidth": 1 + "name": "QB1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 35.0 + "x": 35.0, + "y": 55.0 }, - "name": "B1", - "logicWidth": 1 + "name": "QB2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 75.0 + "x": 35.0, + "y": 65.0 }, - "name": "D3", - "logicWidth": 1 + "name": "QB3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 75.0 }, - "name": "A1", - "logicWidth": 1 + "name": "QB4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 45.0 }, - "name": "D4", - "logicWidth": 1 + "name": "WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUIand41", + "name": "GUIand41#0", "pos": { - "x": 44.0, - "y": 649.0 - }, - "params": 1 + "x": 130.0, + "y": 150.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUIand41", + "name": "GUIand41#1", "pos": { - "x": 39.0, - "y": 639.0 - }, - "params": 1 + "x": 235.0, + "y": 375.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUIand41", + "name": "GUIand41#2", "pos": { - "x": 129.0, - "y": 329.0 - }, - "params": 1 + "x": 135.0, + "y": 325.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIandor414", + "name": "GUIandor414#0", "pos": { - "x": 49.0, - "y": 659.0 - }, - "params": 1 + "x": 235.0, + "y": 485.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUIandor414", + "name": "GUIandor414#1", "pos": { - "x": 119.0, - "y": 349.0 - }, - "params": 1 + "x": 235.0, + "y": 635.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "id": "GUIandor414", + "name": "GUIandor414#2", "pos": { - "x": 124.0, - "y": 339.0 - }, - "params": 1 + "x": 235.0, + "y": 785.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "id": "GUIandor414", + "name": "GUIandor414#3", "pos": { - "x": 114.0, - "y": 359.0 - }, - "params": 1 + "x": 135.0, + "y": 435.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIandor414", + "name": "GUIandor414#4", "pos": { - "x": 104.0, - "y": 164.0 - }, - "params": 1 + "x": 135.0, + "y": 585.0 + } + }, + { + "id": "GUIandor414", + "name": "GUIandor414#5", + "pos": { + "x": 135.0, + "y": 735.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#0", + "pos": { + "x": 55.0, + "y": 45.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#1", + "pos": { + "x": 55.0, + "y": 150.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#0", + "pos": { + "x": 55.0, + "y": 325.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#1", + "pos": { + "x": 55.0, + "y": 475.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#2", + "pos": { + "x": 55.0, + "y": 625.0 + } + }, + { + "id": "GUIdlatch4", + "name": "GUIdlatch4#3", + "pos": { + "x": 55.0, + "y": 775.0 + } }, { "id": "WireCrossPoint", @@ -226,224 +290,156 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 94.0, - "y": 184.0 + "x": 104.0, + "y": 164.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#10", "pos": { - "x": 99.0, - "y": 174.0 + "x": 44.0, + "y": 499.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#11", "pos": { - "x": 39.0, - "y": 649.0 + "x": 49.0, + "y": 509.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#12", "pos": { "x": 34.0, - "y": 549.0 + "y": 629.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#13", "pos": { - "x": 49.0, - "y": 809.0 + "x": 39.0, + "y": 639.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#14", "pos": { "x": 44.0, - "y": 749.0 + "y": 649.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#15", "pos": { - "x": 39.0, - "y": 489.0 + "x": 49.0, + "y": 659.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#16", "pos": { - "x": 34.0, - "y": 479.0 + "x": 129.0, + "y": 329.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#17", "pos": { - "x": 44.0, - "y": 499.0 + "x": 124.0, + "y": 339.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#18", "pos": { - "x": 34.0, - "y": 629.0 + "x": 119.0, + "y": 349.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#19", "pos": { - "x": 49.0, - "y": 509.0 + "x": 114.0, + "y": 359.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#5", - "pos": { - "x": 135.0, - "y": 735.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#3", - "pos": { - "x": 135.0, - "y": 435.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#4", - "pos": { - "x": 135.0, - "y": 585.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#1", - "pos": { - "x": 235.0, - "y": 635.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#2", - "pos": { - "x": 235.0, - "y": 785.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#0", - "pos": { - "x": 235.0, - "y": 485.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#1", - "pos": { - "x": 55.0, - "y": 475.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#0", - "pos": { - "x": 55.0, - "y": 325.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#3", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 55.0, - "y": 775.0 - } + "x": 99.0, + "y": 174.0 + }, + "params": 1 }, { - "id": "GUIdlatch4", - "name": "GUIdlatch4#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { - "x": 55.0, - "y": 625.0 - } + "x": 129.0, + "y": 479.0 + }, + "params": 1 }, { - "id": "GUIand41", - "name": "GUIand41#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { - "x": 135.0, - "y": 325.0 - } + "x": 124.0, + "y": 489.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#30", + "name": "WireCrossPoint#22", "pos": { "x": 119.0, - "y": 799.0 + "y": 499.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#31", + "name": "WireCrossPoint#23", "pos": { "x": 114.0, - "y": 809.0 + "y": 509.0 }, "params": 1 }, { - "id": "GUIand41", - "name": "GUIand41#0", - "pos": { - "x": 130.0, - "y": 150.0 - } - }, - { - "id": "GUIand41", - "name": "GUIand41#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { - "x": 235.0, - "y": 375.0 - } + "x": 129.0, + "y": 629.0 + }, + "params": 1 }, { "id": "WireCrossPoint", @@ -456,10 +452,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "name": "WireCrossPoint#26", "pos": { - "x": 129.0, - "y": 629.0 + "x": 119.0, + "y": 649.0 }, "params": 1 }, @@ -474,10 +470,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#26", + "name": "WireCrossPoint#28", "pos": { - "x": 119.0, - "y": 649.0 + "x": 129.0, + "y": 779.0 }, "params": 1 }, @@ -492,876 +488,1109 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#28", + "name": "WireCrossPoint#3", "pos": { - "x": 129.0, - "y": 779.0 + "x": 94.0, + "y": 184.0 }, "params": 1 }, { - "id": "GUIdemux2", - "name": "GUIdemux2#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#30", "pos": { - "x": 55.0, - "y": 150.0 - } + "x": 119.0, + "y": 799.0 + }, + "params": 1 }, { - "id": "GUIdemux2", - "name": "GUIdemux2#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#31", "pos": { - "x": 55.0, - "y": 45.0 - } + "x": 114.0, + "y": 809.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "name": "WireCrossPoint#4", "pos": { - "x": 124.0, - "y": 489.0 + "x": 34.0, + "y": 549.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#5", "pos": { - "x": 129.0, - "y": 479.0 + "x": 39.0, + "y": 649.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#6", "pos": { - "x": 114.0, - "y": 509.0 + "x": 44.0, + "y": 749.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "name": "WireCrossPoint#7", "pos": { - "x": 119.0, - "y": 499.0 + "x": 49.0, + "y": 809.0 }, "params": 1 - } - ], - "innerWires": [ + }, { - "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D3" + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", + "pos": { + "x": 34.0, + "y": 479.0 }, - "name": "unnamedWire#36", - "path": [] + "params": 1 }, { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", + "pos": { + "x": 39.0, + "y": 489.0 + }, + "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D2" + "compName": "GUIdemux2#0", + "pinName": "S0" }, - "name": "unnamedWire#35", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIdemux2#0", + "pinName": "S1" }, - "name": "unnamedWire#38", - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D4" + "compName": "GUIand41#0", + "pinName": "A3" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#31", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "A4" }, - "name": "unnamedWire#39", + "name": "unnamedWire#100", "path": [] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y2" + "compName": "GUIand41#1", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C2" + "compName": "GUIandor414#0", + "pinName": "C1" }, - "name": "unnamedWire#110", + "name": "unnamedWire#101", "path": [ { - "x": 285.0, - "y": 650.0 + "x": 290.0, + "y": 380.0 }, { - "x": 285.0, - "y": 740.0 + "x": 290.0, + "y": 445.0 }, { - "x": 225.0, - "y": 740.0 + "x": 230.0, + "y": 445.0 }, { - "x": 225.0, - "y": 800.0 + "x": 230.0, + "y": 490.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y3" + "compName": "GUIand41#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C3" + "compName": "GUIandor414#0", + "pinName": "C2" }, - "name": "unnamedWire#111", + "name": "unnamedWire#102", "path": [ { - "x": 280.0, - "y": 660.0 + "x": 285.0, + "y": 390.0 }, { - "x": 280.0, - "y": 735.0 + "x": 285.0, + "y": 440.0 }, { - "x": 220.0, - "y": 735.0 + "x": 225.0, + "y": 440.0 }, { - "x": 220.0, - "y": 810.0 + "x": 225.0, + "y": 500.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y2" + "compName": "GUIand41#1", + "pinName": "Y3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA2" + "compName": "GUIandor414#0", + "pinName": "C3" }, - "name": "unnamedWire#114", + "name": "unnamedWire#103", "path": [ { - "x": 305.0, - "y": 800.0 + "x": 280.0, + "y": 400.0 }, { - "x": 305.0, - "y": 150.0 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y3" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "QA3" - }, - "name": "unnamedWire#115", - "path": [ + "x": 280.0, + "y": 435.0 + }, { - "x": 310.0, - "y": 810.0 + "x": 220.0, + "y": 435.0 }, { - "x": 310.0, - "y": 250.0 + "x": 220.0, + "y": 510.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", + "compName": "GUIand41#1", "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#2", + "compName": "GUIandor414#0", "pinName": "C4" }, - "name": "unnamedWire#112", + "name": "unnamedWire#104", "path": [ { "x": 275.0, - "y": 670.0 + "y": 410.0 }, { "x": 275.0, - "y": 730.0 + "y": 430.0 }, { "x": 215.0, - "y": 730.0 + "y": 430.0 }, { "x": 215.0, - "y": 820.0 + "y": 520.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", + "compName": "GUIandor414#0", "pinName": "Y1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA1" + "compName": "GUIandor414#1", + "pinName": "C1" }, - "name": "unnamedWire#113", + "name": "unnamedWire#105", "path": [ { - "x": 300.0, - "y": 790.0 + "x": 290.0, + "y": 490.0 }, { - "x": 300.0, - "y": 50.0 + "x": 290.0, + "y": 595.0 + }, + { + "x": 230.0, + "y": 595.0 + }, + { + "x": 230.0, + "y": 640.0 } ] }, { "pin1": { - "compName": "GUIand41#2", + "compName": "GUIandor414#0", "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#1", "pinName": "C2" }, - "name": "unnamedWire#118", + "name": "unnamedWire#106", "path": [ { - "x": 185.0, - "y": 340.0 + "x": 285.0, + "y": 500.0 }, { - "x": 185.0, - "y": 425.0 + "x": 285.0, + "y": 590.0 }, { - "x": 125.0, - "y": 425.0 + "x": 225.0, + "y": 590.0 }, { - "x": 125.0, - "y": 450.0 + "x": 225.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIand41#2", + "compName": "GUIandor414#0", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#1", "pinName": "C3" }, - "name": "unnamedWire#119", + "name": "unnamedWire#107", "path": [ { - "x": 180.0, - "y": 350.0 + "x": 280.0, + "y": 510.0 }, { - "x": 180.0, - "y": 420.0 + "x": 280.0, + "y": 585.0 }, { - "x": 120.0, - "y": 420.0 + "x": 220.0, + "y": 585.0 }, { - "x": 120.0, - "y": 460.0 + "x": 220.0, + "y": 660.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D1" + "compName": "GUIandor414#1", + "pinName": "C4" }, - "name": "unnamedWire#41", + "name": "unnamedWire#108", "path": [ { - "x": 35.0, - "y": 780.0 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y4" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "QA4" - }, - "name": "unnamedWire#116", - "path": [ + "x": 275.0, + "y": 520.0 + }, { - "x": 315.0, - "y": 820.0 + "x": 275.0, + "y": 580.0 }, { - "x": 315.0, - "y": 350.0 + "x": 215.0, + "y": 580.0 + }, + { + "x": 215.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#40", - "path": [] - }, - { - "pin1": { - "compName": "GUIand41#2", + "compName": "GUIandor414#1", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#2", "pinName": "C1" }, - "name": "unnamedWire#117", + "name": "unnamedWire#109", "path": [ { - "x": 190.0, - "y": 330.0 + "x": 290.0, + "y": 640.0 }, { - "x": 190.0, - "y": 430.0 + "x": 290.0, + "y": 745.0 }, { - "x": 130.0, - "y": 430.0 + "x": 230.0, + "y": 745.0 }, { - "x": 130.0, - "y": 440.0 + "x": 230.0, + "y": 790.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D3" + "compName": "GUIand41#0", + "pinName": "A4" }, - "name": "unnamedWire#43", - "path": [ - { - "x": 45.0, - "y": 800.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D2" + "compName": "GUIandor414#2", + "pinName": "C2" }, - "name": "unnamedWire#42", + "name": "unnamedWire#110", "path": [ { - "x": 40.0, - "y": 790.0 + "x": 285.0, + "y": 650.0 + }, + { + "x": 285.0, + "y": 740.0 + }, + { + "x": 225.0, + "y": 740.0 + }, + { + "x": 225.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q1" - }, - "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" - }, - "name": "unnamedWire#45", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D4" - }, - "name": "unnamedWire#44", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q3" - }, - "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" - }, - "name": "unnamedWire#47", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q2" - }, - "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" - }, - "name": "unnamedWire#46", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q1" - }, - "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" - }, - "name": "unnamedWire#49", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q4" - }, - "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" - }, - "name": "unnamedWire#48", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#31", - "pinName": "" - }, - "pin2": { - "compName": "GUIandor414#5", - "pinName": "A4" - }, - "name": "unnamedWire#100", - "path": [] - }, - { - "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#1", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#2", "pinName": "C3" }, - "name": "unnamedWire#103", + "name": "unnamedWire#111", "path": [ { "x": 280.0, - "y": 400.0 + "y": 660.0 }, { "x": 280.0, - "y": 435.0 + "y": 735.0 }, { "x": 220.0, - "y": 435.0 + "y": 735.0 }, { "x": 220.0, - "y": 510.0 + "y": 810.0 } ] }, { "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#1", "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#2", "pinName": "C4" }, - "name": "unnamedWire#104", + "name": "unnamedWire#112", "path": [ { "x": 275.0, - "y": 410.0 + "y": 670.0 }, { "x": 275.0, - "y": 430.0 + "y": 730.0 }, { "x": 215.0, - "y": 430.0 + "y": 730.0 }, { "x": 215.0, - "y": 520.0 + "y": 820.0 } ] }, { "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#2", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C1" + "compName": "_submodelinterface", + "pinName": "QA1" }, - "name": "unnamedWire#101", + "name": "unnamedWire#113", "path": [ { - "x": 290.0, - "y": 380.0 - }, - { - "x": 290.0, - "y": 445.0 - }, - { - "x": 230.0, - "y": 445.0 + "x": 300.0, + "y": 790.0 }, { - "x": 230.0, - "y": 490.0 + "x": 300.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#2", "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "QA2" }, - "name": "unnamedWire#102", + "name": "unnamedWire#114", "path": [ { - "x": 285.0, - "y": 390.0 - }, - { - "x": 285.0, - "y": 440.0 - }, - { - "x": 225.0, - "y": 440.0 + "x": 305.0, + "y": 800.0 }, { - "x": 225.0, - "y": 500.0 + "x": 305.0, + "y": 150.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q2" + "compName": "GUIandor414#2", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "QA3" }, - "name": "unnamedWire#50", - "path": [] + "name": "unnamedWire#115", + "path": [ + { + "x": 310.0, + "y": 810.0 + }, + { + "x": 310.0, + "y": 250.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#2", + "pinName": "Y4" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QA4" + }, + "name": "unnamedWire#116", + "path": [ + { + "x": 315.0, + "y": 820.0 + }, + { + "x": 315.0, + "y": 350.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "C1" + }, + "name": "unnamedWire#117", + "path": [ + { + "x": 190.0, + "y": 330.0 + }, + { + "x": 190.0, + "y": 430.0 + }, + { + "x": 130.0, + "y": 430.0 + }, + { + "x": 130.0, + "y": 440.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "C2" + }, + "name": "unnamedWire#118", + "path": [ + { + "x": 185.0, + "y": 340.0 + }, + { + "x": 185.0, + "y": 425.0 + }, + { + "x": 125.0, + "y": 425.0 + }, + { + "x": 125.0, + "y": 450.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#3", "pinName": "C3" }, - "name": "unnamedWire#107", + "name": "unnamedWire#119", "path": [ { - "x": 280.0, - "y": 510.0 + "x": 180.0, + "y": 350.0 }, { - "x": 280.0, - "y": 585.0 + "x": 180.0, + "y": 420.0 }, { - "x": 220.0, - "y": 585.0 + "x": 120.0, + "y": 420.0 + }, + { + "x": 120.0, + "y": 460.0 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "WE" + }, + "pin2": { + "compName": "GUIand41#0", + "pinName": "B" + }, + "name": "unnamedWire#12", + "path": [ + { + "x": 5.0, + "y": 450.0 + }, + { + "x": 5.0, + "y": 300.0 + }, + { + "x": 125.0, + "y": 300.0 + }, + { + "x": 125.0, + "y": 195.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#2", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "C4" + }, + "name": "unnamedWire#120", + "path": [ + { + "x": 175.0, + "y": 360.0 + }, + { + "x": 175.0, + "y": 415.0 + }, + { + "x": 115.0, + "y": 415.0 + }, + { + "x": 115.0, + "y": 470.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C1" + }, + "name": "unnamedWire#121", + "path": [ + { + "x": 190.0, + "y": 440.0 + }, + { + "x": 190.0, + "y": 580.0 + }, + { + "x": 130.0, + "y": 580.0 + }, + { + "x": 130.0, + "y": 590.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C2" + }, + "name": "unnamedWire#122", + "path": [ + { + "x": 185.0, + "y": 450.0 + }, + { + "x": 185.0, + "y": 575.0 + }, + { + "x": 125.0, + "y": 575.0 + }, + { + "x": 125.0, + "y": 600.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C3" + }, + "name": "unnamedWire#123", + "path": [ + { + "x": 180.0, + "y": 460.0 + }, + { + "x": 180.0, + "y": 570.0 + }, + { + "x": 120.0, + "y": 570.0 + }, + { + "x": 120.0, + "y": 610.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#3", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C4" + }, + "name": "unnamedWire#124", + "path": [ + { + "x": 175.0, + "y": 470.0 + }, + { + "x": 175.0, + "y": 565.0 + }, + { + "x": 115.0, + "y": 565.0 + }, + { + "x": 115.0, + "y": 620.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C1" + }, + "name": "unnamedWire#125", + "path": [ + { + "x": 190.0, + "y": 590.0 + }, + { + "x": 190.0, + "y": 730.0 + }, + { + "x": 130.0, + "y": 730.0 + }, + { + "x": 130.0, + "y": 740.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C2" + }, + "name": "unnamedWire#126", + "path": [ + { + "x": 185.0, + "y": 600.0 + }, + { + "x": 185.0, + "y": 725.0 + }, + { + "x": 125.0, + "y": 725.0 + }, + { + "x": 125.0, + "y": 750.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C3" + }, + "name": "unnamedWire#127", + "path": [ + { + "x": 180.0, + "y": 610.0 + }, + { + "x": 180.0, + "y": 720.0 + }, + { + "x": 120.0, + "y": 720.0 + }, + { + "x": 120.0, + "y": 760.0 + } + ] + }, + { + "pin1": { + "compName": "GUIandor414#4", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIandor414#5", + "pinName": "C4" + }, + "name": "unnamedWire#128", + "path": [ + { + "x": 175.0, + "y": 620.0 + }, + { + "x": 175.0, + "y": 715.0 + }, + { + "x": 115.0, + "y": 715.0 }, { - "x": 220.0, - "y": 660.0 + "x": 115.0, + "y": 770.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y4" + "compName": "GUIandor414#5", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C4" + "compName": "_submodelinterface", + "pinName": "QB1" }, - "name": "unnamedWire#108", + "name": "unnamedWire#129", "path": [ { - "x": 275.0, - "y": 520.0 + "x": 190.0, + "y": 740.0 }, { - "x": 275.0, - "y": 580.0 + "x": 190.0, + "y": 880.0 }, { - "x": 215.0, - "y": 580.0 + "x": 325.0, + "y": 880.0 }, { - "x": 215.0, - "y": 670.0 + "x": 325.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q4" - }, - "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" - }, - "name": "unnamedWire#52", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIand41#0", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C1" + "compName": "GUIdlatch4#0", + "pinName": "C" }, - "name": "unnamedWire#105", + "name": "unnamedWire#13", "path": [ { - "x": 290.0, - "y": 490.0 + "x": 185.0, + "y": 155.0 }, { - "x": 290.0, - "y": 595.0 + "x": 185.0, + "y": 250.0 }, { - "x": 230.0, - "y": 595.0 + "x": 30.0, + "y": 250.0 }, { - "x": 230.0, - "y": 640.0 + "x": 30.0, + "y": 370.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q3" - }, - "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" - }, - "name": "unnamedWire#51", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#5", "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "QB2" }, - "name": "unnamedWire#106", + "name": "unnamedWire#130", "path": [ { - "x": 285.0, - "y": 500.0 + "x": 185.0, + "y": 750.0 }, { - "x": 285.0, - "y": 590.0 + "x": 185.0, + "y": 885.0 }, { - "x": 225.0, - "y": 590.0 + "x": 330.0, + "y": 885.0 }, { - "x": 225.0, - "y": 650.0 + "x": 330.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q2" - }, - "pin2": { - "compName": "WireCrossPoint#25", - "pinName": "" - }, - "name": "unnamedWire#54", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q1" - }, - "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" - }, - "name": "unnamedWire#53", - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q4" - }, - "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" - }, - "name": "unnamedWire#56", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y1" + "compName": "GUIandor414#5", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C1" + "compName": "_submodelinterface", + "pinName": "QB3" }, - "name": "unnamedWire#109", + "name": "unnamedWire#131", "path": [ { - "x": 290.0, - "y": 640.0 + "x": 180.0, + "y": 760.0 }, { - "x": 290.0, - "y": 745.0 + "x": 180.0, + "y": 890.0 }, { - "x": 230.0, - "y": 745.0 + "x": 335.0, + "y": 890.0 }, { - "x": 230.0, - "y": 790.0 + "x": 335.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q3" + "compName": "GUIandor414#5", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "QB4" }, - "name": "unnamedWire#55", - "path": [] + "name": "unnamedWire#132", + "path": [ + { + "x": 175.0, + "y": 770.0 + }, + { + "x": 175.0, + "y": 895.0 + }, + { + "x": 340.0, + "y": 895.0 + }, + { + "x": 340.0, + "y": 750.0 + } + ] }, { "pin1": { @@ -1395,29 +1624,29 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUIand41#0", - "pinName": "Y1" + "pinName": "Y3" }, "pin2": { - "compName": "GUIdlatch4#0", + "compName": "GUIdlatch4#2", "pinName": "C" }, - "name": "unnamedWire#13", + "name": "unnamedWire#15", "path": [ { - "x": 185.0, - "y": 155.0 + "x": 175.0, + "y": 175.0 }, { - "x": 185.0, - "y": 250.0 + "x": 175.0, + "y": 240.0 }, { - "x": 30.0, - "y": 250.0 + "x": 20.0, + "y": 240.0 }, { - "x": 30.0, - "y": 370.0 + "x": 20.0, + "y": 670.0 } ] }, @@ -1450,57 +1679,28 @@ mograsim version: 0.1.3 } ] }, - { - "pin1": { - "compName": "GUIand41#0", - "pinName": "Y3" - }, - "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "C" - }, - "name": "unnamedWire#15", - "path": [ - { - "x": 175.0, - "y": 175.0 - }, - { - "x": 175.0, - "y": 240.0 - }, - { - "x": 20.0, - "y": 240.0 - }, - { - "x": 20.0, - "y": 670.0 - } - ] - }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "D1" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#17", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D1" + "pinName": "D2" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#17", + "name": "unnamedWire#18", "path": [] }, { @@ -1517,18 +1717,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B0" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D1" + "compName": "GUIdemux2#1", + "pinName": "S0" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [ { - "x": 35.0, - "y": 330.0 + "x": 5.0, + "y": 250.0 + }, + { + "x": 5.0, + "y": 155.0 } ] }, @@ -1551,18 +1755,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { "compName": "GUIdlatch4#0", - "pinName": "D3" + "pinName": "D1" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [ { - "x": 45.0, - "y": 350.0 + "x": 35.0, + "y": 330.0 } ] }, @@ -1585,15 +1789,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D1" + "compName": "GUIdlatch4#0", + "pinName": "D3" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#23", + "path": [ + { + "x": 45.0, + "y": 350.0 + } + ] }, { "pin1": { @@ -1614,14 +1823,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { "compName": "GUIdlatch4#1", - "pinName": "D3" + "pinName": "D1" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [] }, { @@ -1638,14 +1847,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "D3" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [] }, { @@ -1662,544 +1871,410 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "name": "unnamedWire#30", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "name": "unnamedWire#32", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#31", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D1" - }, - "name": "unnamedWire#34", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#33", + "name": "unnamedWire#29", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A3" + "compName": "GUIdemux2#1", + "pinName": "S1" }, - "name": "unnamedWire#79", + "name": "unnamedWire#3", "path": [ { - "x": 120.0, - "y": 700.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" - }, - "pin2": { - "compName": "GUIandor414#2", - "pinName": "A1" - }, - "name": "unnamedWire#81", - "path": [ + "x": 10.0, + "y": 350.0 + }, { - "x": 130.0, - "y": 830.0 + "x": 10.0, + "y": 165.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A4" - }, - "name": "unnamedWire#80", - "path": [ - { - "x": 115.0, - "y": 710.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#12", "pinName": "" }, - "pin2": { - "compName": "GUIandor414#2", - "pinName": "A3" - }, - "name": "unnamedWire#83", - "path": [ - { - "x": 120.0, - "y": 850.0 - } - ] + "name": "unnamedWire#30", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A2" - }, - "name": "unnamedWire#82", - "path": [ - { - "x": 125.0, - "y": 840.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#13", "pinName": "" }, - "pin2": { - "compName": "GUIand41#2", - "pinName": "A1" - }, - "name": "unnamedWire#85", + "name": "unnamedWire#31", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A4" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#84", - "path": [ - { - "x": 115.0, - "y": 860.0 - } - ] + "name": "unnamedWire#32", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A3" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#87", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A2" + "compName": "GUIdlatch4#2", + "pinName": "D1" }, - "name": "unnamedWire#86", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A1" + "compName": "GUIdlatch4#2", + "pinName": "D2" }, - "name": "unnamedWire#89", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A4" + "compName": "GUIdlatch4#2", + "pinName": "D3" }, - "name": "unnamedWire#88", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A2" + "compName": "GUIdlatch4#2", + "pinName": "D4" }, - "name": "unnamedWire#9", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A1" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y11" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#7", + "name": "unnamedWire#39", "path": [] }, { "pin1": { "compName": "GUIdemux2#1", - "pinName": "Y10" + "pinName": "Y00" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A2" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#90", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A4" + "compName": "GUIdlatch4#3", + "pinName": "D1" }, - "name": "unnamedWire#92", - "path": [] + "name": "unnamedWire#41", + "path": [ + { + "x": 35.0, + "y": 780.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A3" + "compName": "GUIdlatch4#3", + "pinName": "D2" }, - "name": "unnamedWire#91", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 40.0, + "y": 790.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S1" + "compName": "GUIdlatch4#3", + "pinName": "D3" }, - "name": "unnamedWire#1", + "name": "unnamedWire#43", "path": [ { - "x": 10.0, - "y": 150.0 - }, - { - "x": 10.0, - "y": 60.0 + "x": 45.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A2" + "compName": "GUIdlatch4#3", + "pinName": "D4" }, - "name": "unnamedWire#94", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "GUIdlatch4#0", + "pinName": "Q1" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S0" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#45", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q2" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A1" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#93", + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A4" + "compName": "WireCrossPoint#18", + "pinName": "" }, - "name": "unnamedWire#96", + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q4" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A3" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#95", + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y01" + "compName": "GUIdlatch4#1", + "pinName": "Q1" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#20", "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIdemux2#1", + "pinName": "Y01" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q2" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A2" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#98", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y00" + "compName": "GUIdlatch4#1", + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#22", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q4" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A1" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#97", + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUIdlatch4#2", + "pinName": "Q1" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S1" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 10.0, - "y": 350.0 - }, - { - "x": 10.0, - "y": 165.0 - } - ] + "name": "unnamedWire#53", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "WE" + "compName": "GUIdlatch4#2", + "pinName": "Q2" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 5.0, - "y": 450.0 - }, - { - "x": 5.0, - "y": 300.0 - }, - { - "x": 125.0, - "y": 300.0 - }, - { - "x": 125.0, - "y": 195.0 - } - ] + "name": "unnamedWire#54", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "GUIdlatch4#2", + "pinName": "Q3" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S0" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 5.0, - "y": 250.0 - }, - { - "x": 5.0, - "y": 155.0 - } - ] + "name": "unnamedWire#55", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIdlatch4#2", + "pinName": "Q4" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A4" + "compName": "WireCrossPoint#27", + "pinName": "" }, - "name": "unnamedWire#11", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "GUIdlatch4#3", + "pinName": "Q1" }, - "pin2": { - "compName": "GUIandor414#5", - "pinName": "A3" + "pin2": { + "compName": "WireCrossPoint#28", + "pinName": "" }, - "name": "unnamedWire#99", + "name": "unnamedWire#57", "path": [] }, { @@ -2217,514 +2292,522 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUIdlatch4#3", - "pinName": "Q1" + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#30", "pinName": "" }, - "name": "unnamedWire#57", + "name": "unnamedWire#59", + "path": [] + }, + { + "pin1": { + "compName": "GUIdemux2#1", + "pinName": "Y10" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { "compName": "GUIdlatch4#3", - "pinName": "Q3" + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#31", "pinName": "" }, - "name": "unnamedWire#59", + "name": "unnamedWire#60", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y4" + "compName": "GUIdemux2#0", + "pinName": "Y00" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB4" + "compName": "GUIand41#1", + "pinName": "B" }, - "name": "unnamedWire#132", + "name": "unnamedWire#61", "path": [ { - "x": 175.0, - "y": 770.0 + "x": 210.0, + "y": 50.0 }, { - "x": 175.0, - "y": 895.0 - }, + "x": 210.0, + "y": 420.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdemux2#0", + "pinName": "Y01" + }, + "pin2": { + "compName": "GUIandor414#0", + "pinName": "B" + }, + "name": "unnamedWire#62", + "path": [ { - "x": 340.0, - "y": 895.0 + "x": 205.0, + "y": 60.0 }, { - "x": 340.0, - "y": 750.0 + "x": 205.0, + "y": 570.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y2" + "compName": "GUIdemux2#0", + "pinName": "Y10" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB2" + "compName": "GUIandor414#1", + "pinName": "B" }, - "name": "unnamedWire#130", + "name": "unnamedWire#63", "path": [ { - "x": 185.0, - "y": 750.0 + "x": 200.0, + "y": 70.0 }, { - "x": 185.0, - "y": 885.0 - }, + "x": 200.0, + "y": 720.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdemux2#0", + "pinName": "Y11" + }, + "pin2": { + "compName": "GUIandor414#2", + "pinName": "B" + }, + "name": "unnamedWire#64", + "path": [ { - "x": 330.0, - "y": 885.0 + "x": 195.0, + "y": 80.0 }, { - "x": 330.0, - "y": 550.0 + "x": 195.0, + "y": 870.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB3" + "compName": "GUIand41#2", + "pinName": "B" }, - "name": "unnamedWire#131", + "name": "unnamedWire#65", "path": [ { - "x": 180.0, - "y": 760.0 - }, - { - "x": 180.0, - "y": 890.0 - }, + "x": 110.0, + "y": 370.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "B" + }, + "name": "unnamedWire#66", + "path": [ { - "x": 335.0, - "y": 890.0 - }, + "x": 105.0, + "y": 520.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "B" + }, + "name": "unnamedWire#67", + "path": [ { - "x": 335.0, - "y": 650.0 + "x": 100.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y00" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", + "compName": "GUIandor414#5", "pinName": "B" }, - "name": "unnamedWire#61", + "name": "unnamedWire#68", "path": [ { - "x": 210.0, - "y": 50.0 - }, + "x": 95.0, + "y": 820.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#1", + "pinName": "A1" + }, + "name": "unnamedWire#69", + "path": [ { - "x": 210.0, - "y": 420.0 + "x": 130.0, + "y": 380.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#3", - "pinName": "Q4" + "compName": "GUIdemux2#1", + "pinName": "Y11" }, "pin2": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#60", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y10" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "B" + "compName": "GUIand41#1", + "pinName": "A2" }, - "name": "unnamedWire#63", + "name": "unnamedWire#70", "path": [ { - "x": 200.0, - "y": 70.0 - }, - { - "x": 200.0, - "y": 720.0 + "x": 125.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y01" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "B" + "compName": "GUIand41#1", + "pinName": "A3" }, - "name": "unnamedWire#62", + "name": "unnamedWire#71", "path": [ { - "x": 205.0, - "y": 60.0 - }, - { - "x": 205.0, - "y": 570.0 + "x": 120.0, + "y": 400.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#19", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#1", + "pinName": "A4" + }, + "name": "unnamedWire#72", + "path": [ + { + "x": 115.0, + "y": 410.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A1" }, - "name": "unnamedWire#65", + "name": "unnamedWire#73", "path": [ { - "x": 110.0, - "y": 370.0 + "x": 130.0, + "y": 530.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y11" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A2" }, - "name": "unnamedWire#64", + "name": "unnamedWire#74", "path": [ { - "x": 195.0, - "y": 80.0 - }, - { - "x": 195.0, - "y": 870.0 + "x": 125.0, + "y": 540.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#22", "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A3" }, - "name": "unnamedWire#67", + "name": "unnamedWire#75", "path": [ { - "x": 100.0, - "y": 670.0 + "x": 120.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A4" }, - "name": "unnamedWire#66", + "name": "unnamedWire#76", "path": [ { - "x": 105.0, - "y": 520.0 + "x": 115.0, + "y": 560.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#24", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", + "compName": "GUIandor414#1", "pinName": "A1" }, - "name": "unnamedWire#69", + "name": "unnamedWire#77", "path": [ { "x": 130.0, - "y": 380.0 + "y": 680.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "B" + "compName": "GUIandor414#1", + "pinName": "A2" }, - "name": "unnamedWire#68", + "name": "unnamedWire#78", "path": [ { - "x": 95.0, - "y": 820.0 + "x": 125.0, + "y": 690.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y1" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C1" + "compName": "GUIandor414#1", + "pinName": "A3" }, - "name": "unnamedWire#121", + "name": "unnamedWire#79", "path": [ { - "x": 190.0, - "y": 440.0 - }, - { - "x": 190.0, - "y": 580.0 - }, - { - "x": 130.0, - "y": 580.0 - }, - { - "x": 130.0, - "y": 590.0 + "x": 120.0, + "y": 700.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y2" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C2" + "compName": "GUIand41#0", + "pinName": "A1" }, - "name": "unnamedWire#122", - "path": [ - { - "x": 185.0, - "y": 450.0 - }, - { - "x": 185.0, - "y": 575.0 - }, - { - "x": 125.0, - "y": 575.0 - }, - { - "x": 125.0, - "y": 600.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y4" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C4" + "compName": "GUIandor414#1", + "pinName": "A4" }, - "name": "unnamedWire#120", + "name": "unnamedWire#80", "path": [ - { - "x": 175.0, - "y": 360.0 - }, - { - "x": 175.0, - "y": 415.0 - }, - { - "x": 115.0, - "y": 415.0 - }, { "x": 115.0, - "y": 470.0 + "y": 710.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y1" + "compName": "WireCrossPoint#28", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C1" + "compName": "GUIandor414#2", + "pinName": "A1" }, - "name": "unnamedWire#125", + "name": "unnamedWire#81", "path": [ - { - "x": 190.0, - "y": 590.0 - }, - { - "x": 190.0, - "y": 730.0 - }, - { - "x": 130.0, - "y": 730.0 - }, { "x": 130.0, - "y": 740.0 + "y": 830.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y2" + "compName": "WireCrossPoint#29", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C2" + "compName": "GUIandor414#2", + "pinName": "A2" }, - "name": "unnamedWire#126", + "name": "unnamedWire#82", "path": [ - { - "x": 185.0, - "y": 600.0 - }, - { - "x": 185.0, - "y": 725.0 - }, - { - "x": 125.0, - "y": 725.0 - }, { "x": 125.0, - "y": 750.0 + "y": 840.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A2" + "compName": "GUIandor414#2", + "pinName": "A3" }, - "name": "unnamedWire#70", + "name": "unnamedWire#83", "path": [ { - "x": 125.0, - "y": 390.0 + "x": 120.0, + "y": 850.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y3" + "compName": "WireCrossPoint#31", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C3" + "compName": "GUIandor414#2", + "pinName": "A4" }, - "name": "unnamedWire#123", + "name": "unnamedWire#84", "path": [ { - "x": 180.0, - "y": 460.0 - }, - { - "x": 180.0, - "y": 570.0 - }, - { - "x": 120.0, - "y": 570.0 - }, - { - "x": 120.0, - "y": 610.0 + "x": 115.0, + "y": 860.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y4" + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#2", + "pinName": "A1" + }, + "name": "unnamedWire#85", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#17", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#2", + "pinName": "A2" + }, + "name": "unnamedWire#86", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C4" + "compName": "GUIand41#2", + "pinName": "A3" }, - "name": "unnamedWire#124", - "path": [ - { - "x": 175.0, - "y": 470.0 - }, - { - "x": 175.0, - "y": 565.0 - }, - { - "x": 115.0, - "y": 565.0 - }, - { - "x": 115.0, - "y": 620.0 - } - ] + "name": "unnamedWire#87", + "path": [] }, { "pin1": { @@ -2732,62 +2815,35 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUIand41#1", + "compName": "GUIand41#2", "pinName": "A4" }, - "name": "unnamedWire#72", - "path": [ - { - "x": 115.0, - "y": 410.0 - } - ] + "name": "unnamedWire#88", + "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y1" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB1" + "compName": "GUIandor414#3", + "pinName": "A1" }, - "name": "unnamedWire#129", - "path": [ - { - "x": 190.0, - "y": 740.0 - }, - { - "x": 190.0, - "y": 880.0 - }, - { - "x": 325.0, - "y": 880.0 - }, - { - "x": 325.0, - "y": 450.0 - } - ] + "name": "unnamedWire#89", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A3" + "compName": "GUIand41#0", + "pinName": "A2" }, - "name": "unnamedWire#71", - "path": [ - { - "x": 120.0, - "y": 400.0 - } - ] + "name": "unnamedWire#9", + "path": [] }, { "pin1": { @@ -2795,161 +2851,122 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#3", "pinName": "A2" }, - "name": "unnamedWire#74", - "path": [ - { - "x": 125.0, - "y": 540.0 - } - ] + "name": "unnamedWire#90", + "path": [] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y3" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C3" + "compName": "GUIandor414#3", + "pinName": "A3" }, - "name": "unnamedWire#127", - "path": [ - { - "x": 180.0, - "y": 610.0 - }, - { - "x": 180.0, - "y": 720.0 - }, - { - "x": 120.0, - "y": 720.0 - }, - { - "x": 120.0, - "y": 760.0 - } - ] + "name": "unnamedWire#91", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#3", + "pinName": "A4" + }, + "name": "unnamedWire#92", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#24", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#4", "pinName": "A1" }, - "name": "unnamedWire#73", - "path": [ - { - "x": 130.0, - "y": 530.0 - } - ] + "name": "unnamedWire#93", + "path": [] }, { "pin1": { + "compName": "WireCrossPoint#25", + "pinName": "" + }, + "pin2": { "compName": "GUIandor414#4", - "pinName": "Y4" + "pinName": "A2" + }, + "name": "unnamedWire#94", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C4" + "compName": "GUIandor414#4", + "pinName": "A3" }, - "name": "unnamedWire#128", - "path": [ - { - "x": 175.0, - "y": 620.0 - }, - { - "x": 175.0, - "y": 715.0 - }, - { - "x": 115.0, - "y": 715.0 - }, - { - "x": 115.0, - "y": 770.0 - } - ] + "name": "unnamedWire#95", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#27", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#4", "pinName": "A4" }, - "name": "unnamedWire#76", - "path": [ - { - "x": 115.0, - "y": 560.0 - } - ] + "name": "unnamedWire#96", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A3" + "compName": "GUIandor414#5", + "pinName": "A1" }, - "name": "unnamedWire#75", - "path": [ - { - "x": 120.0, - "y": 550.0 - } - ] + "name": "unnamedWire#97", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#29", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#5", "pinName": "A2" }, - "name": "unnamedWire#78", - "path": [ - { - "x": 125.0, - "y": 690.0 - } - ] + "name": "unnamedWire#98", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A1" + "compName": "GUIandor414#5", + "pinName": "A3" }, - "name": "unnamedWire#77", - "path": [ - { - "x": 130.0, - "y": 680.0 - } - ] + "name": "unnamedWire#99", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -3007,5 +3024,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIram4.json b/net.mograsim.logic.model.editor/components/GUIram4.json index e5e71cc1..55ddef82 100644 --- a/net.mograsim.logic.model.editor/components/GUIram4.json +++ b/net.mograsim.logic.model.editor/components/GUIram4.json @@ -1,71 +1,78 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 130.0, "interfacePins": [ { "location": { - "x": 35.0, + "x": 0.0, "y": 5.0 }, - "name": "QA1", - "logicWidth": 1 + "name": "A0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 15.0 }, - "name": "QB2", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "QB1", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 35.0 }, - "name": "QA3", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 75.0 + "x": 0.0, + "y": 45.0 }, - "name": "QB4", - "logicWidth": 1 + "name": "B0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 55.0 }, - "name": "QA2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, + "x": 0.0, "y": 65.0 }, - "name": "QB3", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 75.0 }, - "name": "QA4", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -73,187 +80,240 @@ mograsim version: 0.1.3 "y": 95.0 }, "name": "D1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 105.0 }, - "name": "B0", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 115.0 }, - "name": "WE", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 105.0 + "y": 125.0 }, - "name": "D2", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 5.0 }, - "name": "A0", - "logicWidth": 1 + "name": "QA1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 55.0 + "x": 35.0, + "y": 15.0 }, - "name": "B1", - "logicWidth": 1 + "name": "QA2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 115.0 + "x": 35.0, + "y": 25.0 }, - "name": "D3", - "logicWidth": 1 + "name": "QA3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 35.0 }, - "name": "A1", - "logicWidth": 1 + "name": "QA4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 65.0 + "x": 35.0, + "y": 45.0 }, - "name": "B2", - "logicWidth": 1 + "name": "QB1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 125.0 + "x": 35.0, + "y": 55.0 }, - "name": "D4", - "logicWidth": 1 + "name": "QB2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 65.0 }, - "name": "A2", - "logicWidth": 1 + "name": "QB3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, + "x": 35.0, "y": 75.0 }, - "name": "B3", - "logicWidth": 1 + "name": "QB4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 85.0 }, - "name": "A3", - "logicWidth": 1 + "name": "WE", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUIand41", + "name": "GUIand41#0", "pos": { - "x": 69.0, - "y": 854.0 - }, - "params": 1 + "x": 235.0, + "y": 150.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUIand41", + "name": "GUIand41#1", "pos": { - "x": 64.0, - "y": 844.0 - }, - "params": 1 + "x": 250.0, + "y": 375.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUIand41", + "name": "GUIand41#2", "pos": { - "x": 39.0, - "y": 484.0 - }, - "params": 1 + "x": 155.0, + "y": 325.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIandor414", + "name": "GUIandor414#0", "pos": { - "x": 74.0, - "y": 864.0 - }, - "params": 1 + "x": 250.0, + "y": 485.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUIandor414", + "name": "GUIandor414#1", "pos": { - "x": 49.0, - "y": 504.0 - }, - "params": 1 + "x": 250.0, + "y": 635.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "id": "GUIandor414", + "name": "GUIandor414#2", "pos": { - "x": 44.0, - "y": 494.0 - }, - "params": 1 + "x": 250.0, + "y": 785.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "id": "GUIandor414", + "name": "GUIandor414#3", "pos": { - "x": 54.0, - "y": 514.0 - }, - "params": 1 + "x": 155.0, + "y": 435.0 + } }, { - "id": "GUIand41", - "name": "GUIand41#2", + "id": "GUIandor414", + "name": "GUIandor414#4", "pos": { "x": 155.0, - "y": 325.0 + "y": 585.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIandor414", + "name": "GUIandor414#5", "pos": { - "x": 224.0, - "y": 164.0 - }, - "params": 1 + "x": 155.0, + "y": 735.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#0", + "pos": { + "x": 55.0, + "y": 45.0 + } + }, + { + "id": "GUIdemux2", + "name": "GUIdemux2#1", + "pos": { + "x": 55.0, + "y": 150.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#0", + "pos": { + "x": 80.0, + "y": 330.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#1", + "pos": { + "x": 80.0, + "y": 480.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#2", + "pos": { + "x": 80.0, + "y": 630.0 + } + }, + { + "id": "GUIram2", + "name": "GUIram2#3", + "pos": { + "x": 80.0, + "y": 780.0 + } }, { "id": "WireCrossPoint", @@ -266,169 +326,165 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 214.0, - "y": 184.0 + "x": 224.0, + "y": 164.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#10", "pos": { - "x": 219.0, - "y": 174.0 + "x": 69.0, + "y": 704.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#11", "pos": { - "x": 64.0, - "y": 544.0 + "x": 74.0, + "y": 714.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#12", "pos": { "x": 59.0, - "y": 534.0 + "y": 834.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#13", "pos": { - "x": 74.0, - "y": 564.0 + "x": 64.0, + "y": 844.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#14", "pos": { "x": 69.0, - "y": 554.0 + "y": 854.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#15", "pos": { - "x": 64.0, - "y": 694.0 + "x": 74.0, + "y": 864.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#16", "pos": { - "x": 59.0, - "y": 684.0 + "x": 39.0, + "y": 484.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#17", "pos": { - "x": 69.0, - "y": 704.0 + "x": 44.0, + "y": 494.0 }, "params": 1 }, - { - "id": "GUIand41", - "name": "GUIand41#0", - "pos": { - "x": 235.0, - "y": 150.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#18", "pos": { - "x": 59.0, - "y": 834.0 + "x": 49.0, + "y": 504.0 }, "params": 1 }, { - "id": "GUIand41", - "name": "GUIand41#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#19", "pos": { - "x": 250.0, - "y": 375.0 - } + "x": 54.0, + "y": 514.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#2", "pos": { - "x": 74.0, - "y": 714.0 + "x": 219.0, + "y": 174.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { - "x": 155.0, - "y": 735.0 - } + "x": 39.0, + "y": 634.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#25", + "name": "WireCrossPoint#21", "pos": { "x": 44.0, - "y": 349.0 + "y": 644.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "name": "WireCrossPoint#22", "pos": { - "x": 39.0, - "y": 334.0 + "x": 49.0, + "y": 654.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#3", + "id": "WireCrossPoint", + "name": "WireCrossPoint#23", "pos": { - "x": 155.0, - "y": 435.0 - } + "x": 54.0, + "y": 664.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#27", + "name": "WireCrossPoint#24", "pos": { - "x": 54.0, - "y": 749.0 + "x": 39.0, + "y": 334.0 }, "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#25", "pos": { - "x": 155.0, - "y": 585.0 - } + "x": 44.0, + "y": 349.0 + }, + "params": 1 }, { "id": "WireCrossPoint", @@ -440,1173 +496,1464 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUIram2", - "name": "GUIram2#3", - "pos": { - "x": 80.0, - "y": 780.0 - } - }, - { - "id": "GUIram2", - "name": "GUIram2#2", - "pos": { - "x": 80.0, - "y": 630.0 - } - }, - { - "id": "GUIdemux2", - "name": "GUIdemux2#1", - "pos": { - "x": 55.0, - "y": 150.0 - } - }, - { - "id": "GUIram2", - "name": "GUIram2#1", - "pos": { - "x": 80.0, - "y": 480.0 - } - }, - { - "id": "GUIram2", - "name": "GUIram2#0", - "pos": { - "x": 80.0, - "y": 330.0 - } - }, - { - "id": "GUIandor414", - "name": "GUIandor414#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#27", "pos": { - "x": 250.0, - "y": 635.0 - } + "x": 54.0, + "y": 749.0 + }, + "params": 1 }, { - "id": "GUIdemux2", - "name": "GUIdemux2#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 55.0, - "y": 45.0 - } + "x": 214.0, + "y": 184.0 + }, + "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 250.0, - "y": 785.0 - } + "x": 59.0, + "y": 534.0 + }, + "params": 1 }, { - "id": "GUIandor414", - "name": "GUIandor414#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 250.0, - "y": 485.0 - } + "x": 64.0, + "y": 544.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "name": "WireCrossPoint#6", "pos": { - "x": 44.0, - "y": 644.0 + "x": 69.0, + "y": 554.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#7", "pos": { - "x": 39.0, - "y": 634.0 + "x": 74.0, + "y": 564.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#8", "pos": { - "x": 54.0, - "y": 664.0 + "x": 59.0, + "y": 684.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "name": "WireCrossPoint#9", "pos": { - "x": 49.0, - "y": 654.0 + "x": 64.0, + "y": 694.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "B1" + "compName": "GUIdemux2#0", + "pinName": "S0" }, - "name": "unnamedWire#36", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "B0" - }, - "name": "unnamedWire#35", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIdemux2#0", + "pinName": "S1" }, - "pin2": { - "compName": "GUIram2#3", - "pinName": "A1" - }, - "name": "unnamedWire#38", + "name": "unnamedWire#1", "path": [ { - "x": 45.0, - "y": 795.0 + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "A0" + "compName": "GUIand41#0", + "pinName": "A3" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUIram2#0", + "pinName": "QA4" + }, + "pin2": { + "compName": "GUIand41#2", + "pinName": "A4" + }, + "name": "unnamedWire#100", "path": [ { - "x": 40.0, - "y": 785.0 + "x": 140.0, + "y": 365.0 + }, + { + "x": 140.0, + "y": 360.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIram2#1", + "pinName": "QA1" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "B0" + "compName": "GUIandor414#3", + "pinName": "A1" }, - "name": "unnamedWire#39", + "name": "unnamedWire#101", "path": [ { - "x": 50.0, - "y": 805.0 + "x": 140.0, + "y": 485.0 + }, + { + "x": 140.0, + "y": 480.0 } ] }, { "pin1": { - "compName": "GUIram2#3", + "compName": "GUIram2#1", "pinName": "QA2" }, "pin2": { - "compName": "GUIandor414#5", + "compName": "GUIandor414#3", "pinName": "A2" }, - "name": "unnamedWire#110", + "name": "unnamedWire#102", "path": [ { "x": 140.0, - "y": 795.0 + "y": 495.0 }, { "x": 140.0, - "y": 790.0 + "y": 490.0 } ] }, { "pin1": { - "compName": "GUIram2#3", + "compName": "GUIram2#1", "pinName": "QA3" }, "pin2": { - "compName": "GUIandor414#5", + "compName": "GUIandor414#3", "pinName": "A3" }, - "name": "unnamedWire#111", + "name": "unnamedWire#103", "path": [ { "x": 140.0, - "y": 805.0 + "y": 505.0 }, { "x": 140.0, - "y": 800.0 + "y": 500.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y2" + "compName": "GUIram2#1", + "pinName": "QA4" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C2" + "compName": "GUIandor414#3", + "pinName": "A4" }, - "name": "unnamedWire#114", + "name": "unnamedWire#104", "path": [ { - "x": 300.0, - "y": 390.0 - }, - { - "x": 300.0, - "y": 440.0 - }, - { - "x": 240.0, - "y": 440.0 + "x": 140.0, + "y": 515.0 }, { - "x": 240.0, - "y": 500.0 + "x": 140.0, + "y": 510.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y3" + "compName": "GUIram2#2", + "pinName": "QA1" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C3" + "compName": "GUIandor414#4", + "pinName": "A1" }, - "name": "unnamedWire#115", + "name": "unnamedWire#105", "path": [ { - "x": 295.0, - "y": 400.0 - }, - { - "x": 295.0, - "y": 435.0 - }, - { - "x": 235.0, - "y": 435.0 + "x": 140.0, + "y": 635.0 }, { - "x": 235.0, - "y": 510.0 + "x": 140.0, + "y": 630.0 } ] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QA4" + "compName": "GUIram2#2", + "pinName": "QA2" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A4" + "compName": "GUIandor414#4", + "pinName": "A2" }, - "name": "unnamedWire#112", + "name": "unnamedWire#106", "path": [ { "x": 140.0, - "y": 815.0 + "y": 645.0 }, { "x": 140.0, - "y": 810.0 + "y": 640.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y1" + "compName": "GUIram2#2", + "pinName": "QA3" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C1" + "compName": "GUIandor414#4", + "pinName": "A3" }, - "name": "unnamedWire#113", + "name": "unnamedWire#107", "path": [ { - "x": 305.0, - "y": 380.0 - }, - { - "x": 305.0, - "y": 445.0 - }, - { - "x": 245.0, - "y": 445.0 + "x": 140.0, + "y": 655.0 }, { - "x": 245.0, - "y": 490.0 + "x": 140.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y2" + "compName": "GUIram2#2", + "pinName": "QA4" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C2" + "compName": "GUIandor414#4", + "pinName": "A4" }, - "name": "unnamedWire#118", + "name": "unnamedWire#108", "path": [ { - "x": 300.0, - "y": 500.0 - }, - { - "x": 300.0, - "y": 590.0 - }, - { - "x": 240.0, - "y": 590.0 + "x": 140.0, + "y": 665.0 }, { - "x": 240.0, - "y": 650.0 + "x": 140.0, + "y": 660.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y3" + "compName": "GUIram2#3", + "pinName": "QA1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C3" + "compName": "GUIandor414#5", + "pinName": "A1" }, - "name": "unnamedWire#119", + "name": "unnamedWire#109", "path": [ { - "x": 295.0, - "y": 510.0 - }, - { - "x": 295.0, - "y": 585.0 - }, - { - "x": 235.0, - "y": 585.0 + "x": 140.0, + "y": 785.0 }, { - "x": 235.0, - "y": 660.0 + "x": 140.0, + "y": 780.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { + "compName": "GUIand41#0", + "pinName": "A4" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { "compName": "GUIram2#3", - "pinName": "B1" + "pinName": "QA2" }, - "name": "unnamedWire#41", + "pin2": { + "compName": "GUIandor414#5", + "pinName": "A2" + }, + "name": "unnamedWire#110", "path": [ { - "x": 55.0, - "y": 815.0 + "x": 140.0, + "y": 795.0 + }, + { + "x": 140.0, + "y": 790.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y4" + "compName": "GUIram2#3", + "pinName": "QA3" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C4" + "compName": "GUIandor414#5", + "pinName": "A3" }, - "name": "unnamedWire#116", + "name": "unnamedWire#111", "path": [ { - "x": 290.0, - "y": 410.0 - }, - { - "x": 290.0, - "y": 430.0 - }, - { - "x": 230.0, - "y": 430.0 + "x": 140.0, + "y": 805.0 }, { - "x": 230.0, - "y": 520.0 + "x": 140.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUIram2#3", + "pinName": "QA4" }, "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "A4" }, - "name": "unnamedWire#40", - "path": [] + "name": "unnamedWire#112", + "path": [ + { + "x": 140.0, + "y": 815.0 + }, + { + "x": 140.0, + "y": 810.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#0", + "compName": "GUIand41#1", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#0", "pinName": "C1" }, - "name": "unnamedWire#117", + "name": "unnamedWire#113", "path": [ { "x": 305.0, - "y": 490.0 + "y": 380.0 }, { "x": 305.0, - "y": 595.0 + "y": 445.0 }, { "x": 245.0, - "y": 595.0 + "y": 445.0 }, { "x": 245.0, - "y": 640.0 + "y": 490.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "WireCrossPoint#25", - "pinName": "" - }, - "name": "unnamedWire#43", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUIand41#1", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "C2" }, - "name": "unnamedWire#42", + "name": "unnamedWire#114", "path": [ { - "x": 40.0, - "y": 250.0 + "x": 300.0, + "y": 390.0 + }, + { + "x": 300.0, + "y": 440.0 + }, + { + "x": 240.0, + "y": 440.0 + }, + { + "x": 240.0, + "y": 500.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D1" + "compName": "GUIandor414#0", + "pinName": "C3" }, - "name": "unnamedWire#45", + "name": "unnamedWire#115", "path": [ { - "x": 60.0, - "y": 385.0 + "x": 295.0, + "y": 400.0 + }, + { + "x": 295.0, + "y": 435.0 + }, + { + "x": 235.0, + "y": 435.0 + }, + { + "x": 235.0, + "y": 510.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" - }, - "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" - }, - "name": "unnamedWire#44", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D3" + "compName": "GUIandor414#0", + "pinName": "C4" }, - "name": "unnamedWire#47", + "name": "unnamedWire#116", "path": [ { - "x": 70.0, - "y": 405.0 + "x": 290.0, + "y": 410.0 + }, + { + "x": 290.0, + "y": 430.0 + }, + { + "x": 230.0, + "y": 430.0 + }, + { + "x": 230.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D2" + "compName": "GUIandor414#1", + "pinName": "C1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#117", "path": [ { - "x": 65.0, - "y": 395.0 + "x": 305.0, + "y": 490.0 + }, + { + "x": 305.0, + "y": 595.0 + }, + { + "x": 245.0, + "y": 595.0 + }, + { + "x": 245.0, + "y": 640.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "D1" + "compName": "GUIandor414#1", + "pinName": "C2" }, - "name": "unnamedWire#49", - "path": [] + "name": "unnamedWire#118", + "path": [ + { + "x": 300.0, + "y": 500.0 + }, + { + "x": 300.0, + "y": 590.0 + }, + { + "x": 240.0, + "y": 590.0 + }, + { + "x": 240.0, + "y": 650.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D4" + "compName": "GUIandor414#1", + "pinName": "C3" }, - "name": "unnamedWire#48", + "name": "unnamedWire#119", "path": [ { - "x": 75.0, - "y": 415.0 + "x": 295.0, + "y": 510.0 + }, + { + "x": 295.0, + "y": 585.0 + }, + { + "x": 235.0, + "y": 585.0 + }, + { + "x": 235.0, + "y": 660.0 } ] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA4" + "compName": "_submodelinterface", + "pinName": "WE" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A4" + "compName": "GUIand41#0", + "pinName": "B" }, - "name": "unnamedWire#100", + "name": "unnamedWire#12", "path": [ { - "x": 140.0, - "y": 365.0 + "x": 15.0, + "y": 850.0 }, { - "x": 140.0, - "y": 360.0 + "x": 15.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA3" + "compName": "GUIandor414#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A3" + "compName": "GUIandor414#1", + "pinName": "C4" }, - "name": "unnamedWire#103", + "name": "unnamedWire#120", "path": [ { - "x": 140.0, - "y": 505.0 + "x": 290.0, + "y": 520.0 }, { - "x": 140.0, - "y": 500.0 + "x": 290.0, + "y": 580.0 + }, + { + "x": 230.0, + "y": 580.0 + }, + { + "x": 230.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA4" + "compName": "GUIandor414#1", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A4" + "compName": "GUIandor414#2", + "pinName": "C1" }, - "name": "unnamedWire#104", + "name": "unnamedWire#121", "path": [ { - "x": 140.0, - "y": 515.0 + "x": 305.0, + "y": 640.0 }, { - "x": 140.0, - "y": 510.0 + "x": 305.0, + "y": 745.0 + }, + { + "x": 245.0, + "y": 745.0 + }, + { + "x": 245.0, + "y": 790.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA1" + "compName": "GUIandor414#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A1" + "compName": "GUIandor414#2", + "pinName": "C2" }, - "name": "unnamedWire#101", + "name": "unnamedWire#122", "path": [ { - "x": 140.0, - "y": 485.0 + "x": 300.0, + "y": 650.0 }, { - "x": 140.0, - "y": 480.0 + "x": 300.0, + "y": 740.0 + }, + { + "x": 240.0, + "y": 740.0 + }, + { + "x": 240.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA2" + "compName": "GUIandor414#1", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A2" + "compName": "GUIandor414#2", + "pinName": "C3" }, - "name": "unnamedWire#102", + "name": "unnamedWire#123", "path": [ { - "x": 140.0, - "y": 495.0 + "x": 295.0, + "y": 660.0 }, { - "x": 140.0, - "y": 490.0 + "x": 295.0, + "y": 735.0 + }, + { + "x": 235.0, + "y": 735.0 + }, + { + "x": 235.0, + "y": 810.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIram2#1", - "pinName": "D2" - }, - "name": "unnamedWire#50", - "path": [] - }, - { - "pin1": { - "compName": "GUIram2#2", - "pinName": "QA3" + "compName": "GUIandor414#1", + "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A3" + "compName": "GUIandor414#2", + "pinName": "C4" }, - "name": "unnamedWire#107", + "name": "unnamedWire#124", "path": [ { - "x": 140.0, - "y": 655.0 + "x": 290.0, + "y": 670.0 }, { - "x": 140.0, - "y": 650.0 + "x": 290.0, + "y": 730.0 + }, + { + "x": 230.0, + "y": 730.0 + }, + { + "x": 230.0, + "y": 820.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA4" + "compName": "GUIandor414#2", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A4" + "compName": "_submodelinterface", + "pinName": "QB1" }, - "name": "unnamedWire#108", + "name": "unnamedWire#125", "path": [ { - "x": 140.0, - "y": 665.0 + "x": 330.0, + "y": 790.0 }, { - "x": 140.0, - "y": 660.0 + "x": 330.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "D4" + "compName": "_submodelinterface", + "pinName": "QB2" }, - "name": "unnamedWire#52", - "path": [] + "name": "unnamedWire#126", + "path": [ + { + "x": 335.0, + "y": 800.0 + }, + { + "x": 335.0, + "y": 550.0 + } + ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA1" + "compName": "GUIandor414#2", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "QB3" }, - "name": "unnamedWire#105", + "name": "unnamedWire#127", "path": [ { - "x": 140.0, - "y": 635.0 + "x": 340.0, + "y": 810.0 }, { - "x": 140.0, - "y": 630.0 + "x": 340.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "D3" + "compName": "_submodelinterface", + "pinName": "QB4" }, - "name": "unnamedWire#51", - "path": [] + "name": "unnamedWire#128", + "path": [ + { + "x": 345.0, + "y": 820.0 + }, + { + "x": 345.0, + "y": 750.0 + } + ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA2" + "compName": "GUIand41#2", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A2" + "compName": "GUIandor414#3", + "pinName": "C1" }, - "name": "unnamedWire#106", + "name": "unnamedWire#129", "path": [ { - "x": 140.0, - "y": 645.0 + "x": 210.0, + "y": 330.0 }, { - "x": 140.0, - "y": 640.0 + "x": 210.0, + "y": 430.0 + }, + { + "x": 150.0, + "y": 430.0 + }, + { + "x": 150.0, + "y": 440.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIand41#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "WE" }, - "name": "unnamedWire#54", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "name": "unnamedWire#53", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 290.0, + "y": 155.0 + }, + { + "x": 290.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 375.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIand41#2", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "C2" }, - "name": "unnamedWire#56", - "path": [] + "name": "unnamedWire#130", + "path": [ + { + "x": 205.0, + "y": 340.0 + }, + { + "x": 205.0, + "y": 425.0 + }, + { + "x": 145.0, + "y": 425.0 + }, + { + "x": 145.0, + "y": 450.0 + } + ] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QA1" + "compName": "GUIand41#2", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A1" + "compName": "GUIandor414#3", + "pinName": "C3" }, - "name": "unnamedWire#109", + "name": "unnamedWire#131", "path": [ + { + "x": 200.0, + "y": 350.0 + }, + { + "x": 200.0, + "y": 420.0 + }, { "x": 140.0, - "y": 785.0 + "y": 420.0 }, { "x": 140.0, - "y": 780.0 + "y": 460.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "name": "unnamedWire#55", - "path": [] - }, - { - "pin1": { - "compName": "GUIand41#0", - "pinName": "Y2" + "compName": "GUIand41#2", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "WE" + "compName": "GUIandor414#3", + "pinName": "C4" }, - "name": "unnamedWire#14", + "name": "unnamedWire#132", "path": [ { - "x": 285.0, - "y": 165.0 + "x": 195.0, + "y": 360.0 }, { - "x": 285.0, - "y": 225.0 + "x": 195.0, + "y": 415.0 }, { - "x": 30.0, - "y": 225.0 + "x": 135.0, + "y": 415.0 }, { - "x": 30.0, - "y": 525.0 + "x": 135.0, + "y": 470.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#3", "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "WE" + "compName": "GUIandor414#4", + "pinName": "C1" }, - "name": "unnamedWire#13", + "name": "unnamedWire#133", "path": [ { - "x": 290.0, - "y": 155.0 + "x": 210.0, + "y": 440.0 }, { - "x": 290.0, - "y": 230.0 + "x": 210.0, + "y": 580.0 }, { - "x": 35.0, - "y": 230.0 + "x": 150.0, + "y": 580.0 }, { - "x": 35.0, - "y": 375.0 + "x": 150.0, + "y": 590.0 } ] }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y4" + "compName": "GUIandor414#3", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "WE" + "compName": "GUIandor414#4", + "pinName": "C2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#134", "path": [ { - "x": 275.0, - "y": 185.0 + "x": 205.0, + "y": 450.0 }, { - "x": 275.0, - "y": 215.0 + "x": 205.0, + "y": 575.0 }, { - "x": 20.0, - "y": 215.0 + "x": 145.0, + "y": 575.0 }, { - "x": 20.0, - "y": 825.0 + "x": 145.0, + "y": 600.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#3", "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "WE" + "compName": "GUIandor414#4", + "pinName": "C3" }, - "name": "unnamedWire#15", + "name": "unnamedWire#135", "path": [ { - "x": 280.0, - "y": 175.0 + "x": 200.0, + "y": 460.0 }, { - "x": 280.0, - "y": 220.0 + "x": 200.0, + "y": 570.0 }, { - "x": 25.0, - "y": 220.0 + "x": 140.0, + "y": 570.0 }, { - "x": 25.0, - "y": 675.0 + "x": 140.0, + "y": 610.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "A0" + "compName": "GUIandor414#4", + "pinName": "C4" }, - "name": "unnamedWire#18", - "path": [] + "name": "unnamedWire#136", + "path": [ + { + "x": 195.0, + "y": 470.0 + }, + { + "x": 195.0, + "y": 565.0 + }, + { + "x": 135.0, + "y": 565.0 + }, + { + "x": 135.0, + "y": 620.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "C1" }, - "name": "unnamedWire#17", - "path": [] + "name": "unnamedWire#137", + "path": [ + { + "x": 210.0, + "y": 590.0 + }, + { + "x": 210.0, + "y": 730.0 + }, + { + "x": 150.0, + "y": 730.0 + }, + { + "x": 150.0, + "y": 740.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "C2" }, - "name": "unnamedWire#19", - "path": [] + "name": "unnamedWire#138", + "path": [ + { + "x": 205.0, + "y": 600.0 + }, + { + "x": 205.0, + "y": 725.0 + }, + { + "x": 145.0, + "y": 725.0 + }, + { + "x": 145.0, + "y": 750.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "B0" + "compName": "GUIandor414#5", + "pinName": "C3" }, - "name": "unnamedWire#21", + "name": "unnamedWire#139", "path": [ { - "x": 50.0, - "y": 355.0 + "x": 200.0, + "y": 610.0 + }, + { + "x": 200.0, + "y": 720.0 + }, + { + "x": 140.0, + "y": 720.0 + }, + { + "x": 140.0, + "y": 760.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIand41#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "A1" + "compName": "GUIram2#1", + "pinName": "WE" }, - "name": "unnamedWire#20", + "name": "unnamedWire#14", "path": [ { - "x": 45.0, - "y": 345.0 + "x": 285.0, + "y": 165.0 + }, + { + "x": 285.0, + "y": 225.0 + }, + { + "x": 30.0, + "y": 225.0 + }, + { + "x": 30.0, + "y": 525.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "Y4" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "A0" + "compName": "GUIandor414#5", + "pinName": "C4" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#140", + "path": [ + { + "x": 195.0, + "y": 620.0 + }, + { + "x": 195.0, + "y": 715.0 + }, + { + "x": 135.0, + "y": 715.0 + }, + { + "x": 135.0, + "y": 770.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "B1" + "compName": "_submodelinterface", + "pinName": "QA1" }, - "name": "unnamedWire#22", + "name": "unnamedWire#141", "path": [ { - "x": 55.0, - "y": 365.0 + "x": 210.0, + "y": 740.0 + }, + { + "x": 210.0, + "y": 880.0 + }, + { + "x": 310.0, + "y": 880.0 + }, + { + "x": 310.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "B0" + "compName": "_submodelinterface", + "pinName": "QA2" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#142", + "path": [ + { + "x": 205.0, + "y": 750.0 + }, + { + "x": 205.0, + "y": 885.0 + }, + { + "x": 315.0, + "y": 885.0 + }, + { + "x": 315.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "QA3" }, - "name": "unnamedWire#24", - "path": [] + "name": "unnamedWire#143", + "path": [ + { + "x": 200.0, + "y": 760.0 + }, + { + "x": 200.0, + "y": 890.0 + }, + { + "x": 320.0, + "y": 890.0 + }, + { + "x": 320.0, + "y": 250.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "QA4" }, - "name": "unnamedWire#27", - "path": [] + "name": "unnamedWire#144", + "path": [ + { + "x": 195.0, + "y": 770.0 + }, + { + "x": 195.0, + "y": 895.0 + }, + { + "x": 325.0, + "y": 895.0 + }, + { + "x": 325.0, + "y": 350.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "GUIand41#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "GUIram2#2", + "pinName": "WE" + }, + "name": "unnamedWire#15", + "path": [ + { + "x": 280.0, + "y": 175.0 + }, + { + "x": 280.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 675.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#0", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIram2#3", + "pinName": "WE" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 275.0, + "y": 185.0 + }, + { + "x": 275.0, + "y": 215.0 + }, + { + "x": 20.0, + "y": 215.0 + }, + { + "x": 20.0, + "y": 825.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "B1" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#26", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#24", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "A0" }, - "name": "unnamedWire#29", + "name": "unnamedWire#18", "path": [] }, { @@ -1615,23 +1962,66 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#25", "pinName": "" }, - "name": "unnamedWire#28", + "name": "unnamedWire#19", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B2" + "pinName": "B0" }, "pin2": { - "compName": "WireCrossPoint#26", + "compName": "GUIdemux2#1", + "pinName": "S0" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 5.0, + "y": 450.0 + }, + { + "x": 5.0, + "y": 155.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#25", "pinName": "" }, - "name": "unnamedWire#30", - "path": [] + "pin2": { + "compName": "GUIram2#0", + "pinName": "A1" + }, + "name": "unnamedWire#20", + "path": [ + { + "x": 45.0, + "y": 345.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#18", + "pinName": "" + }, + "pin2": { + "compName": "GUIram2#0", + "pinName": "B0" + }, + "name": "unnamedWire#21", + "path": [ + { + "x": 50.0, + "y": 355.0 + } + ] }, { "pin1": { @@ -1639,1697 +2029,1328 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#23", + "compName": "GUIram2#0", + "pinName": "B1" + }, + "name": "unnamedWire#22", + "path": [ + { + "x": 55.0, + "y": 365.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", "pinName": "" }, - "name": "unnamedWire#32", + "pin2": { + "compName": "GUIram2#1", + "pinName": "A0" + }, + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#22", + "compName": "GUIram2#1", + "pinName": "A1" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#18", "pinName": "" }, - "name": "unnamedWire#31", + "pin2": { + "compName": "GUIram2#1", + "pinName": "B0" + }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "A1" + "compName": "GUIram2#1", + "pinName": "B1" }, - "name": "unnamedWire#34", + "name": "unnamedWire#26", "path": [] }, { "pin1": { + "compName": "WireCrossPoint#16", + "pinName": "" + }, + "pin2": { "compName": "WireCrossPoint#20", "pinName": "" }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#17", + "pinName": "" + }, "pin2": { - "compName": "GUIram2#2", - "pinName": "A0" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#33", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "B" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#79", - "path": [ - { - "x": 220.0, - "y": 720.0 - } - ] + "name": "unnamedWire#29", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB1" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A1" + "compName": "GUIdemux2#1", + "pinName": "S1" }, - "name": "unnamedWire#81", + "name": "unnamedWire#3", "path": [ { - "x": 140.0, - "y": 375.0 + "x": 10.0, + "y": 550.0 }, { - "x": 140.0, - "y": 380.0 + "x": 10.0, + "y": 165.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "B" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#80", - "path": [ - { - "x": 215.0, - "y": 870.0 - } - ] + "name": "unnamedWire#30", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB3" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A3" + "compName": "WireCrossPoint#22", + "pinName": "" }, - "name": "unnamedWire#83", - "path": [ - { - "x": 140.0, - "y": 395.0 - }, - { - "x": 140.0, - "y": 400.0 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB2" + "compName": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A2" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#82", - "path": [ - { - "x": 140.0, - "y": 385.0 - }, - { - "x": 140.0, - "y": 390.0 - } - ] + "name": "unnamedWire#32", + "path": [] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB1" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A1" + "compName": "GUIram2#2", + "pinName": "A0" }, - "name": "unnamedWire#85", - "path": [ - { - "x": 140.0, - "y": 525.0 - }, - { - "x": 140.0, - "y": 530.0 - } - ] + "name": "unnamedWire#33", + "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB4" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A4" + "compName": "GUIram2#2", + "pinName": "A1" }, - "name": "unnamedWire#84", - "path": [ - { - "x": 140.0, - "y": 405.0 - }, - { - "x": 140.0, - "y": 410.0 - } - ] + "name": "unnamedWire#34", + "path": [] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB3" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A3" + "compName": "GUIram2#2", + "pinName": "B0" }, - "name": "unnamedWire#87", - "path": [ - { - "x": 140.0, - "y": 545.0 - }, - { - "x": 140.0, - "y": 550.0 - } - ] + "name": "unnamedWire#35", + "path": [] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB2" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A2" + "compName": "GUIram2#2", + "pinName": "B1" }, - "name": "unnamedWire#86", - "path": [ - { - "x": 140.0, - "y": 535.0 - }, - { - "x": 140.0, - "y": 540.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB1" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A1" + "compName": "GUIram2#3", + "pinName": "A0" }, - "name": "unnamedWire#89", + "name": "unnamedWire#37", "path": [ { - "x": 140.0, - "y": 675.0 - }, - { - "x": 140.0, - "y": 680.0 + "x": 40.0, + "y": 785.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB4" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A4" + "compName": "GUIram2#3", + "pinName": "A1" }, - "name": "unnamedWire#88", + "name": "unnamedWire#38", "path": [ { - "x": 140.0, - "y": 555.0 - }, - { - "x": 140.0, - "y": 560.0 + "x": 45.0, + "y": 795.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y4" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C4" + "compName": "GUIram2#3", + "pinName": "B0" }, - "name": "unnamedWire#140", + "name": "unnamedWire#39", "path": [ { - "x": 195.0, - "y": 620.0 - }, - { - "x": 195.0, - "y": 715.0 - }, - { - "x": 135.0, - "y": 715.0 - }, - { - "x": 135.0, - "y": 770.0 + "x": 50.0, + "y": 805.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIdemux2#1", + "pinName": "Y00" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y3" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "QA3" - }, - "name": "unnamedWire#143", - "path": [ - { - "x": 200.0, - "y": 760.0 - }, - { - "x": 200.0, - "y": 890.0 - }, - { - "x": 320.0, - "y": 890.0 - }, - { - "x": 320.0, - "y": 250.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A1" + "compName": "WireCrossPoint#27", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y4" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA4" + "compName": "GUIram2#3", + "pinName": "B1" }, - "name": "unnamedWire#144", + "name": "unnamedWire#41", "path": [ { - "x": 195.0, - "y": 770.0 - }, - { - "x": 195.0, - "y": 895.0 - }, - { - "x": 325.0, - "y": 895.0 - }, - { - "x": 325.0, - "y": 350.0 + "x": 55.0, + "y": 815.0 } ] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y11" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#24", "pinName": "" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 40.0, + "y": 250.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA1" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#141", - "path": [ - { - "x": 210.0, - "y": 740.0 - }, - { - "x": 210.0, - "y": 880.0 - }, - { - "x": 310.0, - "y": 880.0 - }, - { - "x": 310.0, - "y": 50.0 - } - ] + "name": "unnamedWire#43", + "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y10" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#27", "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y2" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA2" + "compName": "GUIram2#0", + "pinName": "D1" }, - "name": "unnamedWire#142", + "name": "unnamedWire#45", "path": [ { - "x": 205.0, - "y": 750.0 - }, - { - "x": 205.0, - "y": 885.0 - }, - { - "x": 315.0, - "y": 885.0 - }, - { - "x": 315.0, - "y": 150.0 + "x": 60.0, + "y": 385.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB2" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A2" + "compName": "GUIram2#0", + "pinName": "D2" }, - "name": "unnamedWire#90", + "name": "unnamedWire#46", "path": [ { - "x": 140.0, - "y": 685.0 - }, - { - "x": 140.0, - "y": 690.0 + "x": 65.0, + "y": 395.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB4" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A4" + "compName": "GUIram2#0", + "pinName": "D3" }, - "name": "unnamedWire#92", + "name": "unnamedWire#47", "path": [ { - "x": 140.0, - "y": 705.0 - }, - { - "x": 140.0, - "y": 710.0 + "x": 70.0, + "y": 405.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB3" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A3" + "compName": "GUIram2#0", + "pinName": "D4" }, - "name": "unnamedWire#91", + "name": "unnamedWire#48", "path": [ { - "x": 140.0, - "y": 695.0 - }, - { - "x": 140.0, - "y": 700.0 + "x": 75.0, + "y": 415.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S1" + "compName": "GUIram2#1", + "pinName": "D1" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 10.0, - "y": 150.0 - }, - { - "x": 10.0, - "y": 60.0 - } - ] + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB2" + "compName": "GUIdemux2#1", + "pinName": "Y01" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A2" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#94", - "path": [ - { - "x": 140.0, - "y": 835.0 - }, - { - "x": 140.0, - "y": 840.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S0" + "compName": "GUIram2#1", + "pinName": "D2" }, - "name": "unnamedWire#0", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB1" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A1" + "compName": "GUIram2#1", + "pinName": "D3" }, - "name": "unnamedWire#93", - "path": [ - { - "x": 140.0, - "y": 825.0 - }, - { - "x": 140.0, - "y": 830.0 - } - ] + "name": "unnamedWire#51", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "GUIram2#1", + "pinName": "D4" + }, + "name": "unnamedWire#52", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#53", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB4" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A4" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#96", - "path": [ - { - "x": 140.0, - "y": 855.0 - }, - { - "x": 140.0, - "y": 860.0 - } - ] + "name": "unnamedWire#54", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB3" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A3" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#95", - "path": [ - { - "x": 140.0, - "y": 845.0 - }, - { - "x": 140.0, - "y": 850.0 - } - ] + "name": "unnamedWire#55", + "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y01" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" + "compName": "GUIram2#2", + "pinName": "D1" }, - "name": "unnamedWire#10", + "name": "unnamedWire#57", "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA2" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A2" + "compName": "GUIram2#2", + "pinName": "D2" }, - "name": "unnamedWire#98", - "path": [ - { - "x": 140.0, - "y": 345.0 - }, - { - "x": 140.0, - "y": 340.0 - } - ] + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y00" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIram2#2", + "pinName": "D3" }, - "name": "unnamedWire#4", + "name": "unnamedWire#59", "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA1" + "compName": "GUIdemux2#1", + "pinName": "Y10" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A1" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#97", - "path": [ - { - "x": 140.0, - "y": 335.0 - }, - { - "x": 140.0, - "y": 330.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S1" + "compName": "GUIram2#2", + "pinName": "D4" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 10.0, - "y": 550.0 - }, - { - "x": 10.0, - "y": 165.0 - } - ] + "name": "unnamedWire#60", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "WE" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 15.0, - "y": 850.0 - }, - { - "x": 15.0, - "y": 195.0 - } - ] + "name": "unnamedWire#61", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S0" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 5.0, - "y": 450.0 - }, - { - "x": 5.0, - "y": 155.0 - } - ] + "name": "unnamedWire#62", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A4" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#11", + "name": "unnamedWire#63", "path": [] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA3" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A3" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#99", - "path": [ - { - "x": 140.0, - "y": 355.0 - }, - { - "x": 140.0, - "y": 350.0 - } - ] + "name": "unnamedWire#64", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "D2" + "compName": "GUIram2#3", + "pinName": "D1" }, - "name": "unnamedWire#58", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "D1" + "compName": "GUIram2#3", + "pinName": "D2" }, - "name": "unnamedWire#57", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", + "compName": "GUIram2#3", "pinName": "D3" }, - "name": "unnamedWire#59", + "name": "unnamedWire#67", "path": [] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y4" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C4" + "compName": "GUIram2#3", + "pinName": "D4" }, - "name": "unnamedWire#132", - "path": [ - { - "x": 195.0, - "y": 360.0 - }, - { - "x": 195.0, - "y": 415.0 - }, - { - "x": 135.0, - "y": 415.0 - }, - { - "x": 135.0, - "y": 470.0 - } - ] + "name": "unnamedWire#68", + "path": [] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C1" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#133", + "name": "unnamedWire#69", "path": [ { - "x": 210.0, - "y": 440.0 - }, - { - "x": 210.0, - "y": 580.0 - }, - { - "x": 150.0, - "y": 580.0 - }, - { - "x": 150.0, - "y": 590.0 + "x": 60.0, + "y": 950.0 } ] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y2" + "compName": "GUIdemux2#1", + "pinName": "Y11" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C2" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#130", - "path": [ - { - "x": 205.0, - "y": 340.0 - }, - { - "x": 205.0, - "y": 425.0 - }, - { - "x": 145.0, - "y": 425.0 - }, - { - "x": 145.0, - "y": 450.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C3" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#131", + "name": "unnamedWire#70", "path": [ { - "x": 200.0, - "y": 350.0 - }, - { - "x": 200.0, - "y": 420.0 - }, - { - "x": 140.0, - "y": 420.0 - }, - { - "x": 140.0, - "y": 460.0 + "x": 65.0, + "y": 1050.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C4" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#136", + "name": "unnamedWire#71", "path": [ { - "x": 195.0, - "y": 470.0 - }, - { - "x": 195.0, - "y": 565.0 - }, - { - "x": 135.0, - "y": 565.0 - }, - { - "x": 135.0, - "y": 620.0 + "x": 70.0, + "y": 1150.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C1" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#137", + "name": "unnamedWire#72", "path": [ { - "x": 210.0, - "y": 590.0 - }, - { - "x": 210.0, - "y": 730.0 - }, - { - "x": 150.0, - "y": 730.0 - }, - { - "x": 150.0, - "y": 740.0 + "x": 75.0, + "y": 1250.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y2" + "compName": "GUIdemux2#0", + "pinName": "Y00" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C2" + "compName": "GUIand41#2", + "pinName": "B" }, - "name": "unnamedWire#134", + "name": "unnamedWire#73", "path": [ { - "x": 205.0, - "y": 450.0 - }, - { - "x": 205.0, - "y": 575.0 - }, - { - "x": 145.0, - "y": 575.0 + "x": 135.0, + "y": 50.0 }, { - "x": 145.0, - "y": 600.0 + "x": 135.0, + "y": 370.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y3" + "compName": "GUIdemux2#0", + "pinName": "Y01" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C3" + "compName": "GUIandor414#3", + "pinName": "B" }, - "name": "unnamedWire#135", + "name": "unnamedWire#74", "path": [ { - "x": 200.0, - "y": 460.0 - }, - { - "x": 200.0, - "y": 570.0 - }, - { - "x": 140.0, - "y": 570.0 + "x": 130.0, + "y": 60.0 }, { - "x": 140.0, - "y": 610.0 + "x": 130.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "name": "unnamedWire#61", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "GUIram2#2", - "pinName": "D4" - }, - "name": "unnamedWire#60", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUIdemux2#0", + "pinName": "Y10" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "name": "unnamedWire#63", - "path": [] - }, - { - "pin1": { "compName": "GUIandor414#4", - "pinName": "Y2" - }, - "pin2": { - "compName": "GUIandor414#5", - "pinName": "C2" + "pinName": "B" }, - "name": "unnamedWire#138", + "name": "unnamedWire#75", "path": [ { - "x": 205.0, - "y": 600.0 - }, - { - "x": 205.0, - "y": 725.0 - }, - { - "x": 145.0, - "y": 725.0 + "x": 125.0, + "y": 70.0 }, { - "x": 145.0, - "y": 750.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#62", - "path": [] + "x": 125.0, + "y": 670.0 + } + ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y3" + "compName": "GUIdemux2#0", + "pinName": "Y11" }, "pin2": { "compName": "GUIandor414#5", - "pinName": "C3" + "pinName": "B" }, - "name": "unnamedWire#139", + "name": "unnamedWire#76", "path": [ { - "x": 200.0, - "y": 610.0 - }, - { - "x": 200.0, - "y": 720.0 - }, - { - "x": 140.0, - "y": 720.0 + "x": 120.0, + "y": 80.0 }, { - "x": 140.0, - "y": 760.0 + "x": 120.0, + "y": 820.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D1" + "compName": "GUIand41#1", + "pinName": "B" }, - "name": "unnamedWire#65", - "path": [] + "name": "unnamedWire#77", + "path": [ + { + "x": 230.0, + "y": 420.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "B" }, - "name": "unnamedWire#64", - "path": [] + "name": "unnamedWire#78", + "path": [ + { + "x": 225.0, + "y": 570.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D3" + "compName": "GUIandor414#1", + "pinName": "B" }, - "name": "unnamedWire#67", - "path": [] + "name": "unnamedWire#79", + "path": [ + { + "x": 220.0, + "y": 720.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D2" + "compName": "GUIand41#0", + "pinName": "A1" }, - "name": "unnamedWire#66", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "B" }, - "name": "unnamedWire#69", + "name": "unnamedWire#80", "path": [ { - "x": 60.0, - "y": 950.0 + "x": 215.0, + "y": 870.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" - }, - "pin2": { - "compName": "GUIram2#3", - "pinName": "D4" - }, - "name": "unnamedWire#68", - "path": [] - }, - { - "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y1" + "compName": "GUIram2#0", + "pinName": "QB1" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C1" + "compName": "GUIand41#1", + "pinName": "A1" }, - "name": "unnamedWire#121", + "name": "unnamedWire#81", "path": [ { - "x": 305.0, - "y": 640.0 - }, - { - "x": 305.0, - "y": 745.0 - }, - { - "x": 245.0, - "y": 745.0 + "x": 140.0, + "y": 375.0 }, { - "x": 245.0, - "y": 790.0 + "x": 140.0, + "y": 380.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y2" + "compName": "GUIram2#0", + "pinName": "QB2" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C2" + "compName": "GUIand41#1", + "pinName": "A2" }, - "name": "unnamedWire#122", + "name": "unnamedWire#82", "path": [ { - "x": 300.0, - "y": 650.0 - }, - { - "x": 300.0, - "y": 740.0 - }, - { - "x": 240.0, - "y": 740.0 + "x": 140.0, + "y": 385.0 }, { - "x": 240.0, - "y": 800.0 + "x": 140.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y4" + "compName": "GUIram2#0", + "pinName": "QB3" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C4" + "compName": "GUIand41#1", + "pinName": "A3" }, - "name": "unnamedWire#120", + "name": "unnamedWire#83", "path": [ { - "x": 290.0, - "y": 520.0 - }, - { - "x": 290.0, - "y": 580.0 - }, - { - "x": 230.0, - "y": 580.0 + "x": 140.0, + "y": 395.0 }, { - "x": 230.0, - "y": 670.0 + "x": 140.0, + "y": 400.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y1" + "compName": "GUIram2#0", + "pinName": "QB4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB1" + "compName": "GUIand41#1", + "pinName": "A4" }, - "name": "unnamedWire#125", + "name": "unnamedWire#84", "path": [ { - "x": 330.0, - "y": 790.0 + "x": 140.0, + "y": 405.0 }, { - "x": 330.0, - "y": 450.0 + "x": 140.0, + "y": 410.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y2" + "compName": "GUIram2#1", + "pinName": "QB1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB2" + "compName": "GUIandor414#0", + "pinName": "A1" }, - "name": "unnamedWire#126", + "name": "unnamedWire#85", "path": [ { - "x": 335.0, - "y": 800.0 + "x": 140.0, + "y": 525.0 }, { - "x": 335.0, - "y": 550.0 + "x": 140.0, + "y": 530.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "GUIram2#1", + "pinName": "QB2" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "A2" }, - "name": "unnamedWire#70", + "name": "unnamedWire#86", "path": [ { - "x": 65.0, - "y": 1050.0 + "x": 140.0, + "y": 535.0 + }, + { + "x": 140.0, + "y": 540.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y3" + "compName": "GUIram2#1", + "pinName": "QB3" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C3" + "compName": "GUIandor414#0", + "pinName": "A3" }, - "name": "unnamedWire#123", - "path": [ - { - "x": 295.0, - "y": 660.0 - }, - { - "x": 295.0, - "y": 735.0 - }, + "name": "unnamedWire#87", + "path": [ { - "x": 235.0, - "y": 735.0 + "x": 140.0, + "y": 545.0 }, { - "x": 235.0, - "y": 810.0 + "x": 140.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y4" + "compName": "GUIram2#1", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C4" + "compName": "GUIandor414#0", + "pinName": "A4" }, - "name": "unnamedWire#124", + "name": "unnamedWire#88", "path": [ { - "x": 290.0, - "y": 670.0 - }, - { - "x": 290.0, - "y": 730.0 - }, - { - "x": 230.0, - "y": 730.0 + "x": 140.0, + "y": 555.0 }, { - "x": 230.0, - "y": 820.0 + "x": 140.0, + "y": 560.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "GUIram2#2", + "pinName": "QB1" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "A1" }, - "name": "unnamedWire#72", + "name": "unnamedWire#89", "path": [ { - "x": 75.0, - "y": 1250.0 + "x": 140.0, + "y": 675.0 + }, + { + "x": 140.0, + "y": 680.0 } ] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y1" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C1" + "compName": "GUIand41#0", + "pinName": "A2" }, - "name": "unnamedWire#129", + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "GUIram2#2", + "pinName": "QB2" + }, + "pin2": { + "compName": "GUIandor414#1", + "pinName": "A2" + }, + "name": "unnamedWire#90", "path": [ { - "x": 210.0, - "y": 330.0 - }, - { - "x": 210.0, - "y": 430.0 - }, - { - "x": 150.0, - "y": 430.0 + "x": 140.0, + "y": 685.0 }, { - "x": 150.0, - "y": 440.0 + "x": 140.0, + "y": 690.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "GUIram2#2", + "pinName": "QB3" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "A3" }, - "name": "unnamedWire#71", + "name": "unnamedWire#91", "path": [ { - "x": 70.0, - "y": 1150.0 + "x": 140.0, + "y": 695.0 + }, + { + "x": 140.0, + "y": 700.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y01" + "compName": "GUIram2#2", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "B" + "compName": "GUIandor414#1", + "pinName": "A4" }, - "name": "unnamedWire#74", + "name": "unnamedWire#92", "path": [ { - "x": 130.0, - "y": 60.0 + "x": 140.0, + "y": 705.0 }, { - "x": 130.0, - "y": 520.0 + "x": 140.0, + "y": 710.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y3" + "compName": "GUIram2#3", + "pinName": "QB1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB3" + "compName": "GUIandor414#2", + "pinName": "A1" }, - "name": "unnamedWire#127", + "name": "unnamedWire#93", "path": [ { - "x": 340.0, - "y": 810.0 + "x": 140.0, + "y": 825.0 }, { - "x": 340.0, - "y": 650.0 + "x": 140.0, + "y": 830.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y00" + "compName": "GUIram2#3", + "pinName": "QB2" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "B" + "compName": "GUIandor414#2", + "pinName": "A2" }, - "name": "unnamedWire#73", + "name": "unnamedWire#94", "path": [ { - "x": 135.0, - "y": 50.0 + "x": 140.0, + "y": 835.0 }, { - "x": 135.0, - "y": 370.0 + "x": 140.0, + "y": 840.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y4" + "compName": "GUIram2#3", + "pinName": "QB3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB4" + "compName": "GUIandor414#2", + "pinName": "A3" }, - "name": "unnamedWire#128", + "name": "unnamedWire#95", "path": [ { - "x": 345.0, - "y": 820.0 + "x": 140.0, + "y": 845.0 }, { - "x": 345.0, - "y": 750.0 + "x": 140.0, + "y": 850.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y11" + "compName": "GUIram2#3", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "B" + "compName": "GUIandor414#2", + "pinName": "A4" }, - "name": "unnamedWire#76", + "name": "unnamedWire#96", "path": [ { - "x": 120.0, - "y": 80.0 + "x": 140.0, + "y": 855.0 }, { - "x": 120.0, - "y": 820.0 + "x": 140.0, + "y": 860.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y10" + "compName": "GUIram2#0", + "pinName": "QA1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "B" + "compName": "GUIand41#2", + "pinName": "A1" }, - "name": "unnamedWire#75", + "name": "unnamedWire#97", "path": [ { - "x": 125.0, - "y": 70.0 + "x": 140.0, + "y": 335.0 }, { - "x": 125.0, - "y": 670.0 + "x": 140.0, + "y": 330.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "QA2" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "B" + "compName": "GUIand41#2", + "pinName": "A2" }, - "name": "unnamedWire#78", + "name": "unnamedWire#98", "path": [ { - "x": 225.0, - "y": 570.0 + "x": 140.0, + "y": 345.0 + }, + { + "x": 140.0, + "y": 340.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "QA3" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "B" + "compName": "GUIand41#2", + "pinName": "A3" }, - "name": "unnamedWire#77", + "name": "unnamedWire#99", "path": [ { - "x": 230.0, - "y": 420.0 + "x": 140.0, + "y": 355.0 + }, + { + "x": 140.0, + "y": 350.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -3499,5 +3520,6 @@ mograsim version: 0.1.3 } } } - } + }, + "version": "0.1.5" } \ 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 index 26a25cfb..093657b9 100644 --- a/net.mograsim.logic.model.editor/components/GUIsel1.json +++ b/net.mograsim.logic.model.editor/components/GUIsel1.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 40.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "I1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,15 +17,8 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "I2", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 5.0 - }, - "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,7 +26,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "S1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -41,12 +35,22 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "S2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 35.0, + "y": 5.0 + }, + "name": "Y", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ { "id": "GUINandGate", "name": "GUINandGate#1", @@ -58,64 +62,42 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#2", "pos": { - "x": 60.0, - "y": 40.0 + "x": 35.0, + "y": 55.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#3", "pos": { - "x": 35.0, - "y": 55.0 + "x": 60.0, + "y": 40.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "S1" }, "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", + "name": "unnamedWire#0", "path": [ { - "x": 15.0, - "y": 87.5 + "x": 25.0, + "y": 12.5 }, { - "x": 15.0, - "y": 70.0 + "x": 25.0, + "y": 35.0 } ] }, @@ -142,58 +124,81 @@ mograsim version: 0.1.3 }, { "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "S1" + "pinName": "Y" + }, + "name": "unnamedWire#10" + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, - "name": "unnamedWire#0", + "name": "unnamedWire#5", "path": [ { "x": 25.0, - "y": 12.5 + "y": 62.5 }, { "x": 25.0, - "y": 35.0 + "y": 45.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1" + "pinName": "I2" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "B" }, - "name": "unnamedWire#5", + "name": "unnamedWire#7", "path": [ { - "x": 25.0, - "y": 62.5 + "x": 15.0, + "y": 87.5 }, { - "x": 25.0, - "y": 45.0 + "x": 15.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", + "compName": "GUINandGate#3", + "pinName": "A" + }, + "name": "unnamedWire#8" + }, + { + "pin1": { + "compName": "GUINandGate#2", "pinName": "Y" }, - "name": "unnamedWire#10" + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -204,5 +209,6 @@ mograsim version: 0.1.3 "pinLabelMargin": 0.5 }, "outlineRendererSnippetID": "default", - "highLevelStateHandlerSnippetID": "default" + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIsel2_4.json b/net.mograsim.logic.model.editor/components/GUIsel2_4.json index ef717486..a9234a2e 100644 --- a/net.mograsim.logic.model.editor/components/GUIsel2_4.json +++ b/net.mograsim.logic.model.editor/components/GUIsel2_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 100.0, @@ -6,50 +5,56 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 5.0 + "y": 25.0 }, - "name": "SA", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 35.0 }, - "name": "SB", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 45.0 }, - "name": "B1", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 55.0 }, - "name": "A1", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 65.0 }, - "name": "B2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 75.0 }, - "name": "A2", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,31 +62,35 @@ mograsim version: 0.1.3 "y": 85.0 }, "name": "B3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 95.0 }, - "name": "A3", - "logicWidth": 1 + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 5.0 }, - "name": "B4", - "logicWidth": 1 + "name": "SA", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 15.0 }, - "name": "A4", - "logicWidth": 1 + "name": "SB", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,7 +98,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -97,7 +107,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -105,7 +116,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -113,12 +125,22 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 20.0, + "y": 2.5 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -130,10 +152,28 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#10", + "pos": { + "x": 65.0, + "y": 52.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#11", + "pos": { + "x": 65.0, + "y": 77.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 20.0, - "y": 2.5 + "y": 102.5 }, "params": 1 }, @@ -148,37 +188,55 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { "x": 20.0, - "y": 102.5 + "y": 27.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#11", + "name": "GUINandGate#5", "pos": { - "x": 65.0, + "x": 20.0, "y": 77.5 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#10", + "name": "GUINandGate#6", + "pos": { + "x": 20.0, + "y": 127.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#7", + "pos": { + "x": 20.0, + "y": 177.5 + }, + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { "x": 65.0, - "y": 52.5 + "y": 2.5 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { - "x": 6.5, - "y": 66.5 + "x": 65.0, + "y": 27.5 }, "params": 1 }, @@ -193,10 +251,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 4.0, - "y": 41.5 + "x": 6.5, + "y": 66.5 }, "params": 1 }, @@ -211,10 +269,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { "x": 4.0, - "y": 141.5 + "y": 41.5 }, "params": 1 }, @@ -228,71 +286,90 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 65.0, - "y": 27.5 + "x": 4.0, + "y": 141.5 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "GUINandGate", - "name": "GUINandGate#8", - "pos": { - "x": 65.0, - "y": 2.5 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A1" }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#5", - "pos": { - "x": 20.0, - "y": 77.5 + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" }, - "params": 1 + "name": "unnamedWire#0", + "path": [ + { + "x": 15.0, + "y": 62.5 + }, + { + "x": 15.0, + "y": 7.5 + } + ] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 20.0, - "y": 27.5 + "pin1": { + "compName": "_submodelinterface", + "pinName": "A2" }, - "params": 1 + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 17.5, + "y": 87.5 + }, + { + "x": 17.5, + "y": 57.5 + } + ] }, { - "id": "GUINandGate", - "name": "GUINandGate#7", - "pos": { - "x": 20.0, - "y": 177.5 + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#10" }, { - "id": "GUINandGate", - "name": "GUINandGate#6", - "pos": { - "x": 20.0, - "y": 127.5 + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#11" + }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#14" + "name": "unnamedWire#12" }, { "pin1": { @@ -307,14 +384,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#16" + "name": "unnamedWire#14" }, { "pin1": { @@ -335,14 +412,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#18" + "name": "unnamedWire#16" }, { "pin1": { @@ -361,32 +438,47 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#19" + "name": "unnamedWire#18" }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#21", - "path": [ - { - "x": 5.0, - "y": 192.5 - } - ] + "name": "unnamedWire#19" }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 17.5, + "y": 112.5 + }, + { + "x": 17.5, + "y": 107.5 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { "compName": "GUINandGate#6", @@ -396,22 +488,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [ { - "x": 45.0, - "y": 37.5 - }, - { - "x": 45.0, - "y": 17.5 + "x": 5.0, + "y": 192.5 } ] }, @@ -438,22 +526,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#8", "pinName": "B" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [ { - "x": 50.0, - "y": 87.5 + "x": 45.0, + "y": 37.5 }, { - "x": 50.0, - "y": 42.5 + "x": 45.0, + "y": 17.5 } ] }, @@ -480,22 +568,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#9", "pinName": "B" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [ { - "x": 55.0, - "y": 137.5 + "x": 50.0, + "y": 87.5 }, { - "x": 55.0, - "y": 67.5 + "x": 50.0, + "y": 42.5 } ] }, @@ -522,22 +610,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#6", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#10", "pinName": "B" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 60.0, - "y": 187.5 + "x": 55.0, + "y": 137.5 }, { - "x": 60.0, - "y": 92.5 + "x": 55.0, + "y": 67.5 } ] }, @@ -564,107 +652,43 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SB" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#9" - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "SA" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "name": "unnamedWire#8" - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" - }, - "pin2": { "compName": "GUINandGate#7", - "pinName": "A" - }, - "name": "unnamedWire#7", - "path": [ - { - "x": 10.0, - "y": 237.5 - }, - { - "x": 10.0, - "y": 182.5 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "GUINandGate#11", + "pinName": "B" }, - "name": "unnamedWire#6", + "name": "unnamedWire#29", "path": [ { - "x": 15.0, - "y": 212.5 + "x": 60.0, + "y": 187.5 }, { - "x": 15.0, - "y": 132.5 + "x": 60.0, + "y": 92.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#3", "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#3", "path": [ { "x": 17.5, - "y": 87.5 + "y": 137.5 }, { "x": 17.5, - "y": 57.5 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#0", - "path": [ - { - "x": 15.0, - "y": 62.5 - }, - { - "x": 15.0, - "y": 7.5 + "y": 157.5 } ] }, @@ -682,46 +706,38 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#5", - "path": [ - { - "x": 12.5, - "y": 187.5 - }, - { - "x": 12.5, - "y": 82.5 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#10" + "name": "unnamedWire#32", + "path": [] }, { "pin1": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#11", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y3" + "pinName": "Y4" }, - "name": "unnamedWire#32", + "name": "unnamedWire#33", "path": [] }, { @@ -745,95 +761,93 @@ mograsim version: 0.1.3 } ] }, - { - "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" - }, - "name": "unnamedWire#31", - "path": [] - }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A4" + "pinName": "B2" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#5", "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#5", "path": [ { - "x": 17.5, - "y": 137.5 + "x": 12.5, + "y": 187.5 }, { - "x": 17.5, - "y": 157.5 + "x": 12.5, + "y": 82.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#12" + "name": "unnamedWire#6", + "path": [ + { + "x": 15.0, + "y": 212.5 + }, + { + "x": 15.0, + "y": 132.5 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A3" + "pinName": "B4" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#7", "pinName": "A" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [ { - "x": 17.5, - "y": 112.5 + "x": 10.0, + "y": 237.5 }, { - "x": 17.5, - "y": 107.5 + "x": 10.0, + "y": 182.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "SA" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#11" + "name": "unnamedWire#8" }, { "pin1": { - "compName": "GUINandGate#11", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "SB" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -843,5 +857,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIsel3_4.json b/net.mograsim.logic.model.editor/components/GUIsel3_4.json index 494332c3..5951bdc5 100644 --- a/net.mograsim.logic.model.editor/components/GUIsel3_4.json +++ b/net.mograsim.logic.model.editor/components/GUIsel3_4.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 150.0, @@ -6,90 +5,101 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 5.0 + "y": 35.0 }, - "name": "SA", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 115.0 + "y": 45.0 }, - "name": "C1", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 55.0 }, - "name": "SB", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 65.0 }, - "name": "B1", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 125.0 + "y": 75.0 }, - "name": "C2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 85.0 }, - "name": "SC", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 95.0 }, - "name": "A1", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 105.0 }, - "name": "B2", - "logicWidth": 1 + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 135.0 + "y": 115.0 }, - "name": "C3", - "logicWidth": 1 + "name": "C1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 125.0 }, - "name": "A2", - "logicWidth": 1 + "name": "C2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 135.0 }, - "name": "B3", - "logicWidth": 1 + "name": "C3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -97,31 +107,35 @@ mograsim version: 0.1.3 "y": 145.0 }, "name": "C4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 5.0 }, - "name": "A3", - "logicWidth": 1 + "name": "SA", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 105.0 + "y": 15.0 }, - "name": "B4", - "logicWidth": 1 + "name": "SB", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 25.0 }, - "name": "A4", - "logicWidth": 1 + "name": "SC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -129,7 +143,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -137,7 +152,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -145,7 +161,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -153,21 +170,13 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ - { - "id": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 50.0, - "y": 620.0 - }, - "params": 1 - }, + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -179,10 +188,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#1", "pos": { "x": 50.0, - "y": 720.0 + "y": 620.0 }, "params": 1 }, @@ -196,49 +205,58 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUInot4", - "name": "GUInot4#0", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 75.0, - "y": 250.0 - } + "x": 50.0, + "y": 720.0 + }, + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 29.0, - "y": 634.0 + "x": 152.5, + "y": 15.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 29.0, - "y": 584.0 + "x": 152.5, + "y": 65.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 29.0, - "y": 684.0 + "x": 152.5, + "y": 115.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#5", + "name": "GUINandGate#7", "pos": { "x": 152.5, - "y": 65.0 + "y": 165.0 }, "params": 1 }, + { + "id": "GUInot4", + "name": "GUInot4#0", + "pos": { + "x": 75.0, + "y": 250.0 + } + }, { "id": "GUIsel2_4", "name": "GUIsel2_4#0", @@ -248,97 +266,134 @@ mograsim version: 0.1.3 } }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 152.5, - "y": 15.0 + "x": 29.0, + "y": 584.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 152.5, - "y": 165.0 + "x": 29.0, + "y": 634.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 152.5, - "y": 115.0 + "x": 29.0, + "y": 684.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { "compName": "_submodelinterface", - "pinName": "SC" + "pinName": "SA" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "SA" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", "path": [ { - "x": 30.0, - "y": 125.0 + "x": 25.0, + "y": 25.0 + }, + { + "x": 25.0, + "y": 255.0 } ] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "SB" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIsel2_4#0", + "pinName": "SB" }, - "name": "unnamedWire#36", - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 20.0, + "y": 75.0 + }, + { + "x": 20.0, + "y": 265.0 + } + ] }, { "pin1": { "compName": "GUIsel2_4#0", - "pinName": "Y4" + "pinName": "Y1" }, "pin2": { "compName": "GUInot4#0", - "pinName": "A4" + "pinName": "A1" }, - "name": "unnamedWire#13", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "GUIsel2_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "_submodelinterface", + "compName": "GUInot4#0", + "pinName": "A2" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "GUIsel2_4#0", "pinName": "Y3" }, - "name": "unnamedWire#35", + "pin2": { + "compName": "GUInot4#0", + "pinName": "A3" + }, + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "GUInot4#0", + "pinName": "A4" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "SC" + }, + "pin2": { + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#16", + "name": "unnamedWire#14", "path": [ { "x": 30.0, @@ -360,14 +415,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [ { "x": 30.0, @@ -387,6 +442,23 @@ mograsim version: 0.1.3 "name": "unnamedWire#17", "path": [] }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [ + { + "x": 30.0, + "y": 125.0 + } + ] + }, { "pin1": { "compName": "WireCrossPoint#2", @@ -402,16 +474,25 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "C1" + "pinName": "A1" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "A1" }, - "name": "unnamedWire#21", - "path": [] - }, - { + "name": "unnamedWire#2", + "path": [ + { + "x": 15.0, + "y": 175.0 + }, + { + "x": 15.0, + "y": 275.0 + } + ] + }, + { "pin1": { "compName": "WireCrossPoint#2", "pinName": "" @@ -431,13 +512,13 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "C3" + "pinName": "C1" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [] }, { @@ -454,24 +535,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUInot4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "C3" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 115.0, - "y": 255.0 - }, - { - "x": 115.0, - "y": 20.0 - } - ] + "name": "unnamedWire#23", + "path": [] }, { "pin1": { @@ -488,21 +560,21 @@ mograsim version: 0.1.3 { "pin1": { "compName": "GUInot4#0", - "pinName": "Y3" + "pinName": "Y1" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [ { - "x": 125.0, - "y": 275.0 + "x": 115.0, + "y": 255.0 }, { - "x": 125.0, - "y": 120.0 + "x": 115.0, + "y": 20.0 } ] }, @@ -529,22 +601,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUInot4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "B" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [ { - "x": 135.0, - "y": 580.0 + "x": 125.0, + "y": 275.0 }, { - "x": 135.0, - "y": 30.0 + "x": 125.0, + "y": 120.0 } ] }, @@ -571,204 +643,156 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B4" + "compName": "GUINandGate#4", + "pinName": "B" }, - "name": "unnamedWire#9", + "name": "unnamedWire#29", "path": [ { - "x": 25.0, - "y": 525.0 + "x": 135.0, + "y": 580.0 }, { - "x": 25.0, - "y": 345.0 + "x": 135.0, + "y": 30.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "A2" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "B3" + "pinName": "A2" }, - "name": "unnamedWire#8", + "name": "unnamedWire#3", "path": [ { - "x": 20.0, - "y": 475.0 + "x": 10.0, + "y": 225.0 }, { - "x": 20.0, - "y": 335.0 + "x": 10.0, + "y": 285.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B2" + "compName": "GUINandGate#5", + "pinName": "B" }, - "name": "unnamedWire#7", + "name": "unnamedWire#30", "path": [ { - "x": 15.0, - "y": 425.0 + "x": 140.0, + "y": 630.0 }, { - "x": 15.0, - "y": 325.0 + "x": 140.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B1" + "compName": "GUINandGate#6", + "pinName": "B" }, - "name": "unnamedWire#6", + "name": "unnamedWire#31", "path": [ { - "x": 10.0, - "y": 375.0 + "x": 145.0, + "y": 680.0 }, { - "x": 10.0, - "y": 315.0 + "x": 145.0, + "y": 130.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SB" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SB" + "compName": "GUINandGate#7", + "pinName": "B" }, - "name": "unnamedWire#1", + "name": "unnamedWire#32", "path": [ { - "x": 20.0, - "y": 75.0 + "x": 150.0, + "y": 730.0 }, { - "x": 20.0, - "y": 265.0 + "x": 150.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SA" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SA" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#0", - "path": [ - { - "x": 25.0, - "y": 25.0 - }, - { - "x": 25.0, - "y": 255.0 - } - ] + "name": "unnamedWire#33", + "path": [] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" - }, - "name": "unnamedWire#30", - "path": [ - { - "x": 140.0, - "y": 630.0 - }, - { - "x": 140.0, - "y": 80.0 - } - ] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "A4" - }, - "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A4" + "pinName": "Y2" }, - "name": "unnamedWire#5", - "path": [ - { - "x": 5.0, - "y": 325.0 - }, - { - "x": 5.0, - "y": 305.0 - } - ] + "name": "unnamedWire#34", + "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y1" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#10", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#7", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#32", - "path": [ - { - "x": 150.0, - "y": 730.0 - }, - { - "x": 150.0, - "y": 180.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { @@ -793,116 +817,111 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "B" + "compName": "GUIsel2_4#0", + "pinName": "A4" }, - "name": "unnamedWire#31", + "name": "unnamedWire#5", "path": [ { - "x": 145.0, - "y": 680.0 + "x": 5.0, + "y": 325.0 }, { - "x": 145.0, - "y": 130.0 + "x": 5.0, + "y": 305.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A2" + "pinName": "B1" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "A2" + "pinName": "B1" }, - "name": "unnamedWire#3", + "name": "unnamedWire#6", "path": [ { "x": 10.0, - "y": 225.0 + "y": 375.0 }, { "x": 10.0, - "y": 285.0 + "y": 315.0 } ] }, - { - "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y3" - }, - "pin2": { - "compName": "GUInot4#0", - "pinName": "A3" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" - }, - "name": "unnamedWire#34", - "path": [] - }, { "pin1": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "B2" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "A1" + "pinName": "B2" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [ { "x": 15.0, - "y": 175.0 + "y": 425.0 }, { "x": 15.0, - "y": 275.0 + "y": 325.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A2" + "compName": "GUIsel2_4#0", + "pinName": "B3" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 20.0, + "y": 475.0 + }, + { + "x": 20.0, + "y": 335.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUIsel2_4#0", + "pinName": "B4" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 25.0, + "y": 525.0 + }, + { + "x": 25.0, + "y": 345.0 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -912,5 +931,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/GUIxor.json b/net.mograsim.logic.model.editor/components/GUIxor.json index 82b991e3..48c22e59 100644 --- a/net.mograsim.logic.model.editor/components/GUIxor.json +++ b/net.mograsim.logic.model.editor/components/GUIxor.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 20.0, @@ -9,7 +8,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "A", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "B", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,12 +26,22 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 7.5, + "y": 15.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -42,10 +53,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 7.5, - "y": 15.0 + "x": 35.0, + "y": 27.5 }, "params": 1 }, @@ -60,28 +71,19 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 36.5 - }, - "params": 1 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#2", - "pos": { - "x": 35.0, - "y": 27.5 + "y": 11.5 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 11.5 + "y": 36.5 }, "params": 1 }, @@ -95,34 +97,52 @@ mograsim version: 0.1.3 "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#9" + "name": "unnamedWire#0", + "path": [] }, { "pin1": { + "compName": "_submodelinterface", + "pinName": "B" + }, + "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "pin2": { + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#3", "pinName": "B" }, - "name": "unnamedWire#8", - "path": [ - { - "x": 5.0, - "y": 42.5 - } - ] + "name": "unnamedWire#10" + }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#11" }, { "pin1": { @@ -130,57 +150,44 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#7", + "name": "unnamedWire#2", "path": [ { "x": 5.0, - "y": 7.5 + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#6", + "name": "unnamedWire#3", "path": [ { - "x": 30.0, - "y": 32.5 + "x": 5.0, + "y": 30.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#1", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#4" }, { "pin1": { @@ -201,72 +208,68 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" - }, - "name": "unnamedWire#10" - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4" + "pin2": { + "compName": "GUINandGate#2", + "pinName": "A" + }, + "name": "unnamedWire#6", + "path": [ + { + "x": 30.0, + "y": 32.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#7", "path": [ { "x": 5.0, - "y": 30.0 + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [ { "x": 5.0, - "y": 20.0 + "y": 42.5 } ] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#11" + "name": "unnamedWire#9" } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -276,5 +279,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ 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 81536b1f..64f12afe 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json @@ -1,87 +1,87 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 270.0, "interfacePins": [ - { - "location": { - "x": 35.0, - "y": 85.0 - }, - "name": "ORAMn", - "logicWidth": 1 - }, { "location": { "x": 0.0, - "y": 95.0 + "y": 155.0 }, - "name": "C", - "logicWidth": 1 + "name": "A0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 265.0 + "y": 165.0 }, - "name": "IQn+3", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 175.0 }, - "name": "I0", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 255.0 + "y": 185.0 }, - "name": "IQn", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 195.0 }, - "name": "I1", - "logicWidth": 1 + "name": "B0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 205.0 }, - "name": "I2", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 215.0 }, - "name": "I3", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 65.0 + "x": 0.0, + "y": 225.0 }, - "name": "OVR", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 95.0 }, - "name": "I4", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,199 +89,233 @@ mograsim version: 0.1.3 "y": 105.0 }, "name": "Cn", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 115.0 + "y": 55.0 }, - "name": "OQn+3", - "logicWidth": 1 + "name": "Cn+4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 115.0 }, - "name": "I5", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 125.0 }, - "name": "I6", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 105.0 + "x": 0.0, + "y": 135.0 }, - "name": "OQn", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 145.0 }, - "name": "I7", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 75.0 }, - "name": "I8", - "logicWidth": 1 + "name": "F3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 155.0 + "x": 35.0, + "y": 45.0 }, - "name": "A0", - "logicWidth": 1 + "name": "F\u003d0", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 165.0 + "y": 85.0 }, - "name": "A1", - "logicWidth": 1 + "name": "I0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 175.0 + "y": 75.0 }, - "name": "A2", - "logicWidth": 1 + "name": "I1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 185.0 + "y": 65.0 }, - "name": "A3", - "logicWidth": 1 + "name": "I2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 235.0 + "y": 55.0 }, - "name": "IRAMn", - "logicWidth": 1 + "name": "I3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 45.0 }, - "name": "Cn+4", - "logicWidth": 1 + "name": "I4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 95.0 + "x": 0.0, + "y": 35.0 }, - "name": "ORAMn+3", - "logicWidth": 1 + "name": "I5", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "F\u003d0", - "logicWidth": 1 + "name": "I6", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 115.0 + "y": 15.0 }, - "name": "D1", - "logicWidth": 1 + "name": "I7", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 245.0 + "y": 5.0 }, - "name": "IRAMn+3", - "logicWidth": 1 + "name": "I8", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 75.0 + "x": 0.0, + "y": 255.0 }, - "name": "F3", - "logicWidth": 1 + "name": "IQn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 125.0 + "y": 265.0 }, - "name": "D2", - "logicWidth": 1 + "name": "IQn+3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 195.0 + "y": 235.0 }, - "name": "B0", - "logicWidth": 1 + "name": "IRAMn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 135.0 + "y": 245.0 }, - "name": "D3", - "logicWidth": 1 + "name": "IRAMn+3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 205.0 + "x": 35.0, + "y": 105.0 }, - "name": "B1", - "logicWidth": 1 + "name": "OQn", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 145.0 + "x": 35.0, + "y": 115.0 }, - "name": "D4", - "logicWidth": 1 + "name": "OQn+3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 215.0 + "x": 35.0, + "y": 85.0 }, - "name": "B2", - "logicWidth": 1 + "name": "ORAMn", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 225.0 + "x": 35.0, + "y": 95.0 }, - "name": "B3", - "logicWidth": 1 + "name": "ORAMn+3", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 65.0 + }, + "name": "OVR", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -289,7 +323,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "Y1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -297,7 +332,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "Y2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -305,7 +341,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "Y3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -313,107 +350,118 @@ mograsim version: 0.1.3 "y": 35.0 }, "name": "Y4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "GUIsel3_4", - "name": "GUIsel3_4#0", + "id": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", + "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", "pos": { - "x": 45.0, - "y": 2310.0 + "x": 240.0, + "y": 2110.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", - "pos": { - "x": 144.0, - "y": 2524.0 - }, - "params": 1 - }, - { - "id": "GUIsel3_4", - "name": "GUIsel3_4#1", + "id": "GUIAm2901DestDecode", + "name": "GUIAm2901DestDecode#0", "pos": { - "x": 45.0, - "y": 2510.0 + "x": 15.0, + "y": 45.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { - "x": 139.0, - "y": 2514.0 + "x": 160.0, + "y": 75.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 234.0, - "y": 2524.0 + "x": 320.0, + "y": 440.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIand", + "name": "GUIand#0", "pos": { - "x": 219.0, - "y": 2494.0 - }, - "params": 1 + "x": 190.0, + "y": 65.0 + } }, { - "id": "GUIAm2901DestDecode", - "name": "GUIAm2901DestDecode#0", + "id": "GUIdff4", + "name": "GUIdff4#0", "pos": { - "x": 15.0, - "y": 45.0 + "x": 90.0, + "y": 2490.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUIdlatch4", + "name": "GUIdlatch4#0", "pos": { - "x": 39.0, - "y": 2634.0 - }, - "params": 1 + "x": 160.0, + "y": 2220.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "id": "GUIdlatch4", + "name": "GUIdlatch4#1", "pos": { - "x": 34.0, - "y": 2624.0 - }, - "params": 1 + "x": 160.0, + "y": 2275.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "id": "GUImux1_4", + "name": "GUImux1_4#0", "pos": { - "x": 279.0, - "y": 2114.0 - }, - "params": 1 + "x": 275.0, + "y": 135.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIor4", + "name": "GUIor4#0", "pos": { - "x": 154.0, - "y": 89.0 - }, - "params": 1 + "x": 275.0, + "y": 445.0 + } + }, + { + "id": "GUIram4", + "name": "GUIram4#0", + "pos": { + "x": 95.0, + "y": 2220.0 + } + }, + { + "id": "GUIsel3_4", + "name": "GUIsel3_4#0", + "pos": { + "x": 45.0, + "y": 2310.0 + } + }, + { + "id": "GUIsel3_4", + "name": "GUIsel3_4#1", + "pos": { + "x": 45.0, + "y": 2510.0 + } }, { "id": "WireCrossPoint", @@ -426,214 +474,210 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { "x": 154.0, - "y": 2319.0 + "y": 89.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#10", "pos": { - "x": 154.0, - "y": 2264.0 + "x": 234.0, + "y": 2254.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#11", "pos": { - "x": 34.0, - "y": 2324.0 + "x": 129.0, + "y": 2494.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#12", "pos": { - "x": 39.0, - "y": 2314.0 + "x": 134.0, + "y": 2504.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#13", "pos": { - "x": 219.0, - "y": 2224.0 + "x": 139.0, + "y": 2514.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#14", "pos": { - "x": 29.0, - "y": 2334.0 + "x": 144.0, + "y": 2524.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#15", "pos": { - "x": 229.0, - "y": 2244.0 + "x": 219.0, + "y": 2494.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#16", "pos": { - "x": 224.0, - "y": 2234.0 + "x": 234.0, + "y": 2524.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#17", "pos": { - "x": 234.0, - "y": 2254.0 + "x": 34.0, + "y": 2624.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#18", "pos": { - "x": 134.0, - "y": 2504.0 + "x": 39.0, + "y": 2634.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#19", "pos": { - "x": 129.0, - "y": 2494.0 + "x": 279.0, + "y": 2114.0 }, "params": 1 }, { - "id": "GUIdlatch4", - "name": "GUIdlatch4#1", - "pos": { - "x": 160.0, - "y": 2275.0 - } - }, - { - "id": "GUIdlatch4", - "name": "GUIdlatch4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 160.0, - "y": 2220.0 - } + "x": 154.0, + "y": 2264.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#40", + "name": "WireCrossPoint#20", "pos": { - "x": 314.0, - "y": 449.0 + "x": 294.0, + "y": 2144.0 }, "params": 1 }, { - "id": "GUIdff4", - "name": "GUIdff4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { - "x": 90.0, - "y": 2490.0 - } + "x": 329.0, + "y": 949.0 + }, + "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#22", "pos": { - "x": 320.0, - "y": 440.0 + "x": 254.0, + "y": 2089.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#36", + "name": "WireCrossPoint#23", "pos": { - "x": 9.0, - "y": 2384.0 + "x": 259.0, + "y": 2094.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { - "x": 160.0, - "y": 75.0 + "x": 264.0, + "y": 2099.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#35", + "name": "WireCrossPoint#25", "pos": { - "x": 24.0, - "y": 2414.0 + "x": 269.0, + "y": 2104.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#38", + "name": "WireCrossPoint#26", "pos": { - "x": 19.0, - "y": 2434.0 + "x": 254.0, + "y": 449.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#37", + "name": "WireCrossPoint#27", "pos": { - "x": 14.0, - "y": 2424.0 + "x": 259.0, + "y": 459.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#39", + "name": "WireCrossPoint#28", "pos": { - "x": 24.0, - "y": 2444.0 + "x": 264.0, + "y": 469.0 }, "params": 1 }, { - "id": "GUIand", - "name": "GUIand#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#29", "pos": { - "x": 190.0, - "y": 65.0 - } + "x": 269.0, + "y": 479.0 + }, + "params": 1 }, { - "id": "GUImux1_4", - "name": "GUImux1_4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 275.0, - "y": 135.0 - } + "x": 154.0, + "y": 2319.0 + }, + "params": 1 }, { "id": "WireCrossPoint", @@ -644,6 +688,15 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#31", + "pos": { + "x": 14.0, + "y": 2364.0 + }, + "params": 1 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#32", @@ -655,10 +708,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#31", + "name": "WireCrossPoint#33", "pos": { "x": 14.0, - "y": 2364.0 + "y": 2394.0 }, "params": 1 }, @@ -673,789 +726,769 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#33", + "name": "WireCrossPoint#35", "pos": { - "x": 14.0, - "y": 2394.0 + "x": 24.0, + "y": 2414.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#25", + "name": "WireCrossPoint#36", "pos": { - "x": 269.0, - "y": 2104.0 + "x": 9.0, + "y": 2384.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "name": "WireCrossPoint#37", "pos": { - "x": 264.0, - "y": 2099.0 + "x": 14.0, + "y": 2424.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#27", + "name": "WireCrossPoint#38", "pos": { - "x": 259.0, - "y": 459.0 + "x": 19.0, + "y": 2434.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#26", + "name": "WireCrossPoint#39", "pos": { - "x": 254.0, - "y": 449.0 + "x": 24.0, + "y": 2444.0 }, "params": 1 }, - { - "id": "GUIor4", - "name": "GUIor4#0", - "pos": { - "x": 275.0, - "y": 445.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#29", + "name": "WireCrossPoint#4", "pos": { - "x": 269.0, - "y": 479.0 + "x": 39.0, + "y": 2314.0 }, "params": 1 }, - { - "id": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", - "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pos": { - "x": 240.0, - "y": 2110.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#28", + "name": "WireCrossPoint#40", "pos": { - "x": 264.0, - "y": 469.0 + "x": 314.0, + "y": 449.0 }, "params": 1 }, { - "id": "GUIram4", - "name": "GUIram4#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 95.0, - "y": 2220.0 - } + "x": 34.0, + "y": 2324.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "name": "WireCrossPoint#6", "pos": { - "x": 329.0, - "y": 949.0 + "x": 29.0, + "y": 2334.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#7", "pos": { - "x": 294.0, - "y": 2144.0 + "x": 219.0, + "y": 2224.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#8", "pos": { - "x": 259.0, - "y": 2094.0 + "x": 224.0, + "y": 2234.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "name": "WireCrossPoint#9", "pos": { - "x": 254.0, - "y": 2089.0 + "x": 229.0, + "y": 2244.0 }, "params": 1 } ], - "innerWires": [ - { - "pin1": { - "compName": "GUIram4#0", - "pinName": "QA2" - }, - "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D2" - }, - "name": "unnamedWire#36", - "path": [] - }, + "wires": [ { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA1" + "compName": "_submodelinterface", + "pinName": "I8" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D1" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I8" }, - "name": "unnamedWire#35", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA4" + "compName": "_submodelinterface", + "pinName": "I7" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D4" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I7" }, - "name": "unnamedWire#38", - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 5.0, + "y": 150.0 + }, + { + "x": 5.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D3" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB1" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F3" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D1" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#39", + "name": "unnamedWire#100", "path": [ { - "x": 150.0, - "y": 2265.0 + "x": 290.0, + "y": 2135.0 }, { - "x": 150.0, - "y": 2280.0 + "x": 290.0, + "y": 2100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_1" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#110", + "name": "unnamedWire#101", "path": [ { - "x": 255.0, - "y": 190.0 + "x": 295.0, + "y": 2105.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#22", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_2" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#111", - "path": [ - { - "x": 260.0, - "y": 200.0 - } - ] + "name": "unnamedWire#102", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#27", "pinName": "" }, - "name": "unnamedWire#114", - "path": [ - { - "x": 10.0, - "y": 2090.0 - } - ] + "name": "unnamedWire#103", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#24", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#28", "pinName": "" }, - "name": "unnamedWire#115", - "path": [ - { - "x": 15.0, - "y": 2095.0 - } - ] + "name": "unnamedWire#104", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_3" + "compName": "WireCrossPoint#29", + "pinName": "" }, - "name": "unnamedWire#112", - "path": [ - { - "x": 265.0, - "y": 210.0 - } - ] + "name": "unnamedWire#105", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#26", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_4" + "compName": "GUIor4#0", + "pinName": "A1" }, - "name": "unnamedWire#113", - "path": [ - { - "x": 270.0, - "y": 220.0 - } - ] + "name": "unnamedWire#106", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#27", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", + "compName": "GUIor4#0", "pinName": "A2" }, - "name": "unnamedWire#118", + "name": "unnamedWire#107", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", + "compName": "GUIor4#0", "pinName": "A3" }, - "name": "unnamedWire#119", + "name": "unnamedWire#108", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB3" + "compName": "WireCrossPoint#29", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D3" + "compName": "GUIor4#0", + "pinName": "A4" }, - "name": "unnamedWire#41", - "path": [ - { - "x": 140.0, - "y": 2285.0 - }, - { - "x": 140.0, - "y": 2300.0 - } - ] + "name": "unnamedWire#109", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#116", + "name": "unnamedWire#11", "path": [ { - "x": 20.0, - "y": 2100.0 + "x": 155.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB2" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D2" + "compName": "GUImux1_4#0", + "pinName": "I1_1" }, - "name": "unnamedWire#40", + "name": "unnamedWire#110", "path": [ { - "x": 145.0, - "y": 2275.0 - }, - { - "x": 145.0, - "y": 2290.0 + "x": 255.0, + "y": 190.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IRAMn" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A1" + "compName": "GUImux1_4#0", + "pinName": "I1_2" }, - "name": "unnamedWire#117", + "name": "unnamedWire#111", "path": [ { - "x": 5.0, - "y": 2350.0 - }, - { - "x": 5.0, - "y": 2345.0 + "x": 260.0, + "y": 200.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Cn" + "compName": "WireCrossPoint#28", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Cn" + "compName": "GUImux1_4#0", + "pinName": "I1_3" }, - "name": "unnamedWire#43", + "name": "unnamedWire#112", "path": [ { - "x": 100.0, - "y": 1050.0 - }, - { - "x": 100.0, - "y": 2175.0 + "x": 265.0, + "y": 210.0 } ] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB4" + "compName": "WireCrossPoint#29", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D4" + "compName": "GUImux1_4#0", + "pinName": "I1_4" }, - "name": "unnamedWire#42", + "name": "unnamedWire#113", "path": [ { - "x": 135.0, - "y": 2295.0 - }, - { - "x": 135.0, - "y": 2310.0 + "x": 270.0, + "y": 220.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D2" + "compName": "WireCrossPoint#30", + "pinName": "" }, - "name": "unnamedWire#45", + "name": "unnamedWire#114", "path": [ { - "x": 175.0, - "y": 1250.0 - }, - { - "x": 175.0, - "y": 2195.0 + "x": 10.0, + "y": 2090.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D1" + "compName": "WireCrossPoint#31", + "pinName": "" }, - "name": "unnamedWire#44", + "name": "unnamedWire#115", "path": [ { - "x": 180.0, - "y": 1150.0 - }, - { - "x": 180.0, - "y": 2185.0 + "x": 15.0, + "y": 2095.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "WireCrossPoint#24", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D4" + "compName": "WireCrossPoint#32", + "pinName": "" }, - "name": "unnamedWire#47", + "name": "unnamedWire#116", "path": [ { - "x": 165.0, - "y": 1450.0 - }, - { - "x": 165.0, - "y": 2215.0 + "x": 20.0, + "y": 2100.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D3" + "pinName": "IRAMn" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D3" + "compName": "GUIsel3_4#0", + "pinName": "A1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#117", "path": [ { - "x": 170.0, - "y": 1350.0 + "x": 5.0, + "y": 2350.0 }, { - "x": 170.0, - "y": 2205.0 + "x": 5.0, + "y": 2345.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q2" + "compName": "WireCrossPoint#30", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "A2" }, - "name": "unnamedWire#49", + "name": "unnamedWire#118", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q1" + "compName": "WireCrossPoint#31", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "A3" }, - "name": "unnamedWire#48", + "name": "unnamedWire#119", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#24", + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#32", "pinName": "" }, - "name": "unnamedWire#100", - "path": [ - { - "x": 290.0, - "y": 2135.0 - }, - { - "x": 290.0, - "y": 2100.0 - } - ] + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "A4" + }, + "name": "unnamedWire#120", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#31", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#33", "pinName": "" }, - "name": "unnamedWire#103", + "name": "unnamedWire#121", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#32", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#34", "pinName": "" }, - "name": "unnamedWire#104", + "name": "unnamedWire#122", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#35", "pinName": "" }, - "name": "unnamedWire#101", + "name": "unnamedWire#123", "path": [ { - "x": 295.0, + "x": 25.0, "y": 2105.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#36", "pinName": "" }, - "name": "unnamedWire#102", + "name": "unnamedWire#124", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q3" + "compName": "WireCrossPoint#36", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "B1" }, - "name": "unnamedWire#50", + "name": "unnamedWire#125", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#33", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A2" + "compName": "GUIsel3_4#0", + "pinName": "B2" }, - "name": "unnamedWire#107", + "name": "unnamedWire#126", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#34", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A3" + "compName": "GUIsel3_4#0", + "pinName": "B3" }, - "name": "unnamedWire#108", + "name": "unnamedWire#127", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#35", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_1" + "compName": "GUIsel3_4#0", + "pinName": "B4" }, - "name": "unnamedWire#52", - "path": [ - { - "x": 220.0, - "y": 150.0 - } - ] + "name": "unnamedWire#128", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#33", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#37", "pinName": "" }, - "name": "unnamedWire#105", + "name": "unnamedWire#129", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q4" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#51", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#34", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A1" + "compName": "WireCrossPoint#38", + "pinName": "" }, - "name": "unnamedWire#106", + "name": "unnamedWire#130", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#35", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_3" + "compName": "WireCrossPoint#39", + "pinName": "" }, - "name": "unnamedWire#54", + "name": "unnamedWire#131", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#37", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C1" + }, + "name": "unnamedWire#132", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#38", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C2" + }, + "name": "unnamedWire#133", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#39", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C3" + }, + "name": "unnamedWire#134", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "IRAMn+3" + }, + "pin2": { + "compName": "GUIsel3_4#0", + "pinName": "C4" + }, + "name": "unnamedWire#135", "path": [ { - "x": 230.0, - "y": 170.0 + "x": 5.0, + "y": 2450.0 + }, + { + "x": 5.0, + "y": 2455.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#36", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_2" + "compName": "GUIsel3_4#1", + "pinName": "B1" }, - "name": "unnamedWire#53", + "name": "unnamedWire#136", "path": [ { - "x": 225.0, - "y": 160.0 + "x": 10.0, + "y": 2585.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#37", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A1" + "compName": "GUIsel3_4#1", + "pinName": "B2" }, - "name": "unnamedWire#56", - "path": [] + "name": "unnamedWire#137", + "path": [ + { + "x": 15.0, + "y": 2595.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#38", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A4" + "compName": "GUIsel3_4#1", + "pinName": "B3" }, - "name": "unnamedWire#109", - "path": [] + "name": "unnamedWire#138", + "path": [ + { + "x": 20.0, + "y": 2605.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#39", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_4" + "compName": "GUIsel3_4#1", + "pinName": "B4" }, - "name": "unnamedWire#55", + "name": "unnamedWire#139", "path": [ { - "x": 235.0, - "y": 180.0 + "x": 25.0, + "y": 2615.0 } ] }, @@ -1473,1923 +1506,1929 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "D1" }, - "name": "unnamedWire#13", + "name": "unnamedWire#140", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "C" + "compName": "GUIram4#0", + "pinName": "D2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#141", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "D3" }, - "name": "unnamedWire#15", + "name": "unnamedWire#142", + "path": [] + }, + { + "pin1": { + "compName": "GUIsel3_4#0", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIram4#0", + "pinName": "D4" + }, + "name": "unnamedWire#143", "path": [] }, { "pin1": { "compName": "GUIAm2901DestDecode#0", - "pinName": "LSH" + "pinName": "RAMWE" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIand#0", + "pinName": "A" }, - "name": "unnamedWire#18", + "name": "unnamedWire#144", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIand#0", + "pinName": "B" + }, + "name": "unnamedWire#145" + }, + { + "pin1": { + "compName": "GUIand#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIram4#0", + "pinName": "WE" + }, + "name": "unnamedWire#146", "path": [ { - "x": 55.0, - "y": 90.0 + "x": 230.0, + "y": 70.0 }, { - "x": 55.0, - "y": 125.0 + "x": 230.0, + "y": 105.0 }, { - "x": 40.0, - "y": 125.0 + "x": 90.0, + "y": 105.0 + }, + { + "x": 90.0, + "y": 2305.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901DestDecode#0", + "pinName": "QWE" }, "pin2": { "compName": "GUIdff4#0", - "pinName": "C" + "pinName": "WE" }, - "name": "unnamedWire#17", + "name": "unnamedWire#147", "path": [ { - "x": 155.0, - "y": 2485.0 - }, - { - "x": 80.0, - "y": 2485.0 + "x": 85.0, + "y": 100.0 }, { - "x": 80.0, - "y": 2495.0 + "x": 85.0, + "y": 2505.0 } ] }, { "pin1": { "compName": "GUIAm2901DestDecode#0", - "pinName": "NSH" + "pinName": "YF" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "S0" }, - "name": "unnamedWire#19", + "name": "unnamedWire#148", "path": [ { - "x": 60.0, - "y": 50.0 - }, - { - "x": 60.0, - "y": 120.0 + "x": 70.0, + "y": 80.0 }, { - "x": 35.0, - "y": 120.0 + "x": 70.0, + "y": 140.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SA" - }, - "name": "unnamedWire#21", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "RSH" + "compName": "GUImux1_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "name": "unnamedWire#20", + "name": "unnamedWire#149", "path": [ { - "x": 65.0, - "y": 60.0 - }, - { - "x": 65.0, - "y": 115.0 + "x": 335.0, + "y": 140.0 }, { - "x": 30.0, - "y": 115.0 + "x": 335.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SC" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SB" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "name": "unnamedWire#22", + "name": "unnamedWire#150", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SB" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "name": "unnamedWire#25", + "name": "unnamedWire#151", "path": [ { - "x": 35.0, - "y": 2525.0 + "x": 335.0, + "y": 160.0 + }, + { + "x": 335.0, + "y": 250.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SA" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "name": "unnamedWire#24", + "name": "unnamedWire#152", "path": [ { - "x": 40.0, - "y": 2515.0 + "x": 325.0, + "y": 170.0 + }, + { + "x": 325.0, + "y": 350.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "GUIor4#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A0" + "compName": "WireCrossPoint#40", + "pinName": "" }, - "name": "unnamedWire#27", - "path": [ - { - "x": 80.0, - "y": 1550.0 - }, - { - "x": 80.0, - "y": 2225.0 - } - ] + "name": "unnamedWire#153", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#40", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SC" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#26", + "name": "unnamedWire#154", "path": [ { - "x": 30.0, - "y": 2535.0 + "x": 315.0, + "y": 445.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "WireCrossPoint#40", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A2" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#29", + "name": "unnamedWire#155", "path": [ { - "x": 70.0, - "y": 1750.0 - }, - { - "x": 70.0, - "y": 2245.0 + "x": 315.0, + "y": 455.0 } ] }, { "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "A1" + "pinName": "F\u003d0" + }, + "name": "unnamedWire#156", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A1" + "compName": "GUIdlatch4#1", + "pinName": "C" }, - "name": "unnamedWire#28", - "path": [ - { - "x": 75.0, - "y": 1650.0 - }, - { - "x": 75.0, - "y": 2235.0 - } - ] + "name": "unnamedWire#16", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "A3" + "compName": "GUIdff4#0", + "pinName": "C" }, - "name": "unnamedWire#30", + "name": "unnamedWire#17", "path": [ { - "x": 65.0, - "y": 1850.0 + "x": 155.0, + "y": 2485.0 }, { - "x": 65.0, - "y": 2255.0 + "x": 80.0, + "y": 2485.0 + }, + { + "x": 80.0, + "y": 2495.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUIAm2901DestDecode#0", + "pinName": "LSH" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B1" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#32", + "name": "unnamedWire#18", "path": [ { "x": 55.0, - "y": 2050.0 + "y": 90.0 }, { "x": 55.0, - "y": 2275.0 + "y": 125.0 + }, + { + "x": 40.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "GUIAm2901DestDecode#0", + "pinName": "NSH" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B0" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#31", + "name": "unnamedWire#19", "path": [ { "x": 60.0, - "y": 1950.0 + "y": 50.0 }, { "x": 60.0, - "y": 2265.0 + "y": 120.0 + }, + { + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "I6" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B3" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I6" }, - "name": "unnamedWire#34", + "name": "unnamedWire#2", "path": [ { - "x": 45.0, - "y": 2250.0 + "x": 10.0, + "y": 250.0 }, { - "x": 45.0, - "y": 2295.0 + "x": 10.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUIAm2901DestDecode#0", + "pinName": "RSH" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B2" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#33", + "name": "unnamedWire#20", "path": [ { - "x": 50.0, - "y": 2150.0 + "x": 65.0, + "y": 60.0 }, { - "x": 50.0, - "y": 2285.0 + "x": 65.0, + "y": 115.0 + }, + { + "x": 30.0, + "y": 115.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A2" + "compName": "GUIsel3_4#0", + "pinName": "SA" }, - "name": "unnamedWire#79", - "path": [ - { - "x": 130.0, - "y": 2665.0 - }, - { - "x": 25.0, - "y": 2665.0 - }, - { - "x": 25.0, - "y": 2630.0 - }, - { - "x": 30.0, - "y": 2630.0 - }, - { - "x": 30.0, - "y": 2555.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y2" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUIsel3_4#0", + "pinName": "SB" }, - "name": "unnamedWire#150", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y3" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIsel3_4#0", + "pinName": "SC" }, - "name": "unnamedWire#151", + "name": "unnamedWire#23", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#1", + "pinName": "SA" + }, + "name": "unnamedWire#24", "path": [ { - "x": 335.0, - "y": 160.0 - }, - { - "x": 335.0, - "y": 250.0 + "x": 40.0, + "y": 2515.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#40", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUIsel3_4#1", + "pinName": "SB" }, - "name": "unnamedWire#154", + "name": "unnamedWire#25", "path": [ { - "x": 315.0, - "y": 445.0 + "x": 35.0, + "y": 2525.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#40", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUIsel3_4#1", + "pinName": "SC" }, - "name": "unnamedWire#155", + "name": "unnamedWire#26", "path": [ { - "x": 315.0, - "y": 455.0 + "x": 30.0, + "y": 2535.0 } ] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIram4#0", + "pinName": "A0" }, - "name": "unnamedWire#152", + "name": "unnamedWire#27", "path": [ { - "x": 325.0, - "y": 170.0 + "x": 80.0, + "y": 1550.0 }, { - "x": 325.0, - "y": 350.0 + "x": 80.0, + "y": 2225.0 } ] }, { "pin1": { - "compName": "GUIor4#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#40", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "A1" }, - "name": "unnamedWire#153", - "path": [] + "name": "unnamedWire#28", + "path": [ + { + "x": 75.0, + "y": 1650.0 + }, + { + "x": 75.0, + "y": 2235.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q2" + "compName": "GUIram4#0", + "pinName": "A2" }, - "name": "unnamedWire#81", + "name": "unnamedWire#29", "path": [ { - "x": 225.0, - "y": 2505.0 + "x": 70.0, + "y": 1750.0 }, { - "x": 225.0, - "y": 2315.0 + "x": 70.0, + "y": 2245.0 } ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "F\u003d0" - }, - "name": "unnamedWire#156", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "pinName": "I5" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q1" + "pinName": "I5" }, - "name": "unnamedWire#80", + "name": "unnamedWire#3", "path": [ { - "x": 220.0, - "y": 2305.0 + "x": 130.0, + "y": 350.0 + }, + { + "x": 130.0, + "y": 2115.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q4" + "compName": "GUIram4#0", + "pinName": "A3" }, - "name": "unnamedWire#83", + "name": "unnamedWire#30", "path": [ { - "x": 235.0, - "y": 2335.0 + "x": 65.0, + "y": 1850.0 + }, + { + "x": 65.0, + "y": 2255.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B0" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q3" + "compName": "GUIram4#0", + "pinName": "B0" }, - "name": "unnamedWire#82", + "name": "unnamedWire#31", "path": [ { - "x": 230.0, - "y": 2515.0 + "x": 60.0, + "y": 1950.0 }, { - "x": 230.0, - "y": 2325.0 + "x": 60.0, + "y": 2265.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A4" + "compName": "GUIram4#0", + "pinName": "B1" }, - "name": "unnamedWire#85", + "name": "unnamedWire#32", "path": [ { - "x": 40.0, - "y": 2575.0 + "x": 55.0, + "y": 2050.0 + }, + { + "x": 55.0, + "y": 2275.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A3" + "compName": "GUIram4#0", + "pinName": "B2" }, - "name": "unnamedWire#84", + "name": "unnamedWire#33", "path": [ { - "x": 35.0, - "y": 2565.0 + "x": 50.0, + "y": 2150.0 + }, + { + "x": 50.0, + "y": 2285.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "GUIdff4#0", - "pinName": "D2" + "compName": "GUIram4#0", + "pinName": "B3" }, - "name": "unnamedWire#87", - "path": [] + "name": "unnamedWire#34", + "path": [ + { + "x": 45.0, + "y": 2250.0 + }, + { + "x": 45.0, + "y": 2295.0 + } + ] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y1" + "compName": "GUIram4#0", + "pinName": "QA1" }, "pin2": { - "compName": "GUIdff4#0", + "compName": "GUIdlatch4#0", "pinName": "D1" }, - "name": "unnamedWire#86", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y4" + "compName": "GUIram4#0", + "pinName": "QA2" }, "pin2": { - "compName": "GUIdff4#0", - "pinName": "D4" + "compName": "GUIdlatch4#0", + "pinName": "D2" }, - "name": "unnamedWire#89", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y3" + "compName": "GUIram4#0", + "pinName": "QA3" }, "pin2": { - "compName": "GUIdff4#0", + "compName": "GUIdlatch4#0", "pinName": "D3" }, - "name": "unnamedWire#88", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y1" - }, - "pin2": { "compName": "GUIram4#0", - "pinName": "D1" - }, - "name": "unnamedWire#140", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "pinName": "QA4" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "D4" }, - "name": "unnamedWire#9", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y4" + "compName": "GUIram4#0", + "pinName": "QB1" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D4" + "compName": "GUIdlatch4#1", + "pinName": "D1" }, - "name": "unnamedWire#143", - "path": [] + "name": "unnamedWire#39", + "path": [ + { + "x": 150.0, + "y": 2265.0 + }, + { + "x": 150.0, + "y": 2280.0 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0" + "pinName": "I4" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I0" + "pinName": "I4" }, - "name": "unnamedWire#8", + "name": "unnamedWire#4", "path": [ { - "x": 105.0, - "y": 850.0 + "x": 125.0, + "y": 450.0 }, { - "x": 105.0, - "y": 2165.0 + "x": 125.0, + "y": 2125.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "RAMWE" + "compName": "GUIram4#0", + "pinName": "QB2" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" + "compName": "GUIdlatch4#1", + "pinName": "D2" }, - "name": "unnamedWire#144", - "path": [] + "name": "unnamedWire#40", + "path": [ + { + "x": 145.0, + "y": 2275.0 + }, + { + "x": 145.0, + "y": 2290.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "GUIram4#0", + "pinName": "QB3" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I1" + "compName": "GUIdlatch4#1", + "pinName": "D3" }, - "name": "unnamedWire#7", + "name": "unnamedWire#41", "path": [ { - "x": 110.0, - "y": 750.0 + "x": 140.0, + "y": 2285.0 }, { - "x": 110.0, - "y": 2155.0 + "x": 140.0, + "y": 2300.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y2" + "compName": "GUIram4#0", + "pinName": "QB4" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D2" + "compName": "GUIdlatch4#1", + "pinName": "D4" }, - "name": "unnamedWire#141", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 135.0, + "y": 2295.0 + }, + { + "x": 135.0, + "y": 2310.0 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I2" + "pinName": "Cn" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I2" + "pinName": "Cn" }, - "name": "unnamedWire#6", + "name": "unnamedWire#43", "path": [ { - "x": 115.0, - "y": 650.0 + "x": 100.0, + "y": 1050.0 }, { - "x": 115.0, - "y": 2145.0 + "x": 100.0, + "y": 2175.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D3" - }, - "name": "unnamedWire#142", - "path": [] - }, - { - "pin1": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Cn+4" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "pinName": "D1" }, - "name": "unnamedWire#90", + "name": "unnamedWire#44", "path": [ { - "x": 315.0, - "y": 2155.0 + "x": 180.0, + "y": 1150.0 }, { - "x": 315.0, - "y": 550.0 + "x": 180.0, + "y": 2185.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "QWE" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "GUIdff4#0", - "pinName": "WE" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D2" }, - "name": "unnamedWire#147", + "name": "unnamedWire#45", "path": [ { - "x": 85.0, - "y": 100.0 + "x": 175.0, + "y": 1250.0 }, { - "x": 85.0, - "y": 2505.0 + "x": 175.0, + "y": 2195.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "YF" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "S0" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D3" }, - "name": "unnamedWire#148", + "name": "unnamedWire#46", "path": [ { - "x": 70.0, - "y": 80.0 + "x": 170.0, + "y": 1350.0 }, { - "x": 70.0, - "y": 140.0 + "x": 170.0, + "y": 2205.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F1" - }, - "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" - }, - "name": "unnamedWire#92", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIand#0", - "pinName": "B" - }, - "name": "unnamedWire#145" - }, - { - "pin1": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "OVR" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "OVR" + "pinName": "D4" }, - "name": "unnamedWire#91", + "name": "unnamedWire#47", "path": [ { - "x": 320.0, - "y": 2165.0 + "x": 165.0, + "y": 1450.0 }, { - "x": 320.0, - "y": 650.0 + "x": 165.0, + "y": 2215.0 } ] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "GUIdlatch4#0", + "pinName": "Q1" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "WE" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#146", - "path": [ - { - "x": 230.0, - "y": 70.0 - }, - { - "x": 230.0, - "y": 105.0 - }, - { - "x": 90.0, - "y": 105.0 - }, - { - "x": 90.0, - "y": 2305.0 - } - ] + "name": "unnamedWire#48", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I7" + "compName": "GUIdlatch4#0", + "pinName": "Q2" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I7" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 5.0, - "y": 150.0 - }, - { - "x": 5.0, - "y": 60.0 - } - ] + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "ORAMn" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I3" }, - "name": "unnamedWire#94", + "name": "unnamedWire#5", "path": [ { - "x": 325.0, - "y": 2115.0 + "x": 120.0, + "y": 550.0 }, { - "x": 325.0, - "y": 850.0 + "x": 120.0, + "y": 2135.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I8" + "compName": "GUIdlatch4#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I8" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F4" + "compName": "GUIdlatch4#0", + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#10", "pinName": "" }, - "name": "unnamedWire#93", + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "ORAMn+3" + "compName": "GUImux1_4#0", + "pinName": "I0_1" }, - "name": "unnamedWire#96", - "path": [] + "name": "unnamedWire#52", + "path": [ + { + "x": 220.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y1" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUImux1_4#0", + "pinName": "I0_2" }, - "name": "unnamedWire#149", + "name": "unnamedWire#53", "path": [ { - "x": 335.0, - "y": 140.0 - }, - { - "x": 335.0, - "y": 50.0 + "x": 225.0, + "y": 160.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "I0_3" }, - "name": "unnamedWire#95", + "name": "unnamedWire#54", "path": [ { - "x": 330.0, - "y": 2145.0 + "x": 230.0, + "y": 170.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I3" + "compName": "GUImux1_4#0", + "pinName": "I0_4" }, - "name": "unnamedWire#5", + "name": "unnamedWire#55", "path": [ { - "x": 120.0, - "y": 550.0 - }, - { - "x": 120.0, - "y": 2135.0 + "x": 235.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A1" }, - "name": "unnamedWire#10", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A2" }, - "name": "unnamedWire#98", - "path": [ - { - "x": 280.0, - "y": 2090.0 - } - ] + "name": "unnamedWire#57", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I4" + "pinName": "A3" }, - "name": "unnamedWire#4", - "path": [ - { - "x": 125.0, - "y": 450.0 - }, - { - "x": 125.0, - "y": 2125.0 - } - ] + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A4" }, - "name": "unnamedWire#97", - "path": [ - { - "x": 330.0, - "y": 750.0 - } - ] + "name": "unnamedWire#59", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I5" + "pinName": "I2" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I5" + "pinName": "I2" }, - "name": "unnamedWire#3", + "name": "unnamedWire#6", "path": [ { - "x": 130.0, - "y": 350.0 + "x": 115.0, + "y": 650.0 }, { - "x": 130.0, - "y": 2115.0 + "x": 115.0, + "y": 2145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I6" + "compName": "GUIdlatch4#1", + "pinName": "Q1" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I6" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B1" }, - "name": "unnamedWire#2", + "name": "unnamedWire#60", "path": [ { - "x": 10.0, - "y": 250.0 + "x": 200.0, + "y": 2280.0 }, { - "x": 10.0, - "y": 70.0 + "x": 200.0, + "y": 2265.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q2" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B2" }, - "name": "unnamedWire#11", + "name": "unnamedWire#61", "path": [ { - "x": 155.0, - "y": 80.0 + "x": 205.0, + "y": 2290.0 + }, + { + "x": 205.0, + "y": 2275.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F2" + "compName": "GUIdlatch4#1", + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B3" }, - "name": "unnamedWire#99", + "name": "unnamedWire#62", "path": [ { - "x": 285.0, - "y": 2125.0 + "x": 210.0, + "y": 2300.0 }, { - "x": 285.0, - "y": 2095.0 + "x": 210.0, + "y": 2285.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q4" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A3" + "pinName": "B4" }, - "name": "unnamedWire#58", - "path": [] + "name": "unnamedWire#63", + "path": [ + { + "x": 215.0, + "y": 2310.0 + }, + { + "x": 215.0, + "y": 2295.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q1" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A2" - }, - "name": "unnamedWire#57", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#11", "pinName": "" }, - "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A4" - }, - "name": "unnamedWire#59", + "name": "unnamedWire#64", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#37", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C1" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#132", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#38", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C2" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#133", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#34", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#38", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#130", + "name": "unnamedWire#67", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#35", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#39", + "compName": "WireCrossPoint#15", "pinName": "" }, - "name": "unnamedWire#131", + "name": "unnamedWire#68", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#36", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "B1" + "compName": "_submodelinterface", + "pinName": "OQn" }, - "name": "unnamedWire#136", + "name": "unnamedWire#69", "path": [ { - "x": 10.0, - "y": 2585.0 + "x": 335.0, + "y": 2495.0 + }, + { + "x": 335.0, + "y": 1050.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#37", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "B2" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I1" }, - "name": "unnamedWire#137", + "name": "unnamedWire#7", "path": [ { - "x": 15.0, - "y": 2595.0 + "x": 110.0, + "y": 750.0 + }, + { + "x": 110.0, + "y": 2155.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#39", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C3" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#134", + "name": "unnamedWire#70", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IRAMn+3" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C4" + "compName": "_submodelinterface", + "pinName": "OQn+3" }, - "name": "unnamedWire#135", + "name": "unnamedWire#71", "path": [ { - "x": 5.0, - "y": 2450.0 + "x": 340.0, + "y": 2525.0 }, { - "x": 5.0, - "y": 2455.0 + "x": 340.0, + "y": 1150.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q2" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B2" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#61", + "name": "unnamedWire#72", "path": [ { - "x": 205.0, - "y": 2290.0 + "x": 135.0, + "y": 2670.0 }, { - "x": 205.0, - "y": 2275.0 + "x": 30.0, + "y": 2670.0 + }, + { + "x": 30.0, + "y": 2635.0 + }, + { + "x": 35.0, + "y": 2635.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q1" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B1" + "compName": "WireCrossPoint#18", + "pinName": "" }, - "name": "unnamedWire#60", + "name": "unnamedWire#73", "path": [ { - "x": 200.0, - "y": 2280.0 + "x": 140.0, + "y": 2675.0 }, { - "x": 200.0, - "y": 2265.0 + "x": 35.0, + "y": 2675.0 + }, + { + "x": 35.0, + "y": 2640.0 + }, + { + "x": 40.0, + "y": 2640.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q4" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B4" + "compName": "GUIsel3_4#1", + "pinName": "C1" }, - "name": "unnamedWire#63", - "path": [ - { - "x": 215.0, - "y": 2310.0 - }, - { - "x": 215.0, - "y": 2295.0 - } - ] + "name": "unnamedWire#74", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#38", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { "compName": "GUIsel3_4#1", - "pinName": "B3" + "pinName": "C2" }, - "name": "unnamedWire#138", - "path": [ - { - "x": 20.0, - "y": 2605.0 - } - ] + "name": "unnamedWire#75", + "path": [] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q3" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B3" + "compName": "GUIsel3_4#1", + "pinName": "C3" }, - "name": "unnamedWire#62", + "name": "unnamedWire#76", "path": [ { - "x": 210.0, - "y": 2300.0 + "x": 145.0, + "y": 2680.0 }, { - "x": 210.0, - "y": 2285.0 + "x": 40.0, + "y": 2680.0 + }, + { + "x": 40.0, + "y": 2645.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#39", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IQn+3" }, "pin2": { "compName": "GUIsel3_4#1", - "pinName": "B4" + "pinName": "C4" }, - "name": "unnamedWire#139", + "name": "unnamedWire#77", "path": [ { - "x": 25.0, - "y": 2615.0 + "x": 5.0, + "y": 2650.0 + }, + { + "x": 5.0, + "y": 2655.0 } ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q2" + "compName": "_submodelinterface", + "pinName": "IQn" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "A1" }, - "name": "unnamedWire#65", - "path": [] + "name": "unnamedWire#78", + "path": [ + { + "x": 5.0, + "y": 2550.0 + }, + { + "x": 5.0, + "y": 2545.0 + } + ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q1" - }, - "pin2": { "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#64", - "path": [] + "pin2": { + "compName": "GUIsel3_4#1", + "pinName": "A2" + }, + "name": "unnamedWire#79", + "path": [ + { + "x": 130.0, + "y": 2665.0 + }, + { + "x": 25.0, + "y": 2665.0 + }, + { + "x": 25.0, + "y": 2630.0 + }, + { + "x": 30.0, + "y": 2630.0 + }, + { + "x": 30.0, + "y": 2555.0 + } + ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q4" + "compName": "_submodelinterface", + "pinName": "I0" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I0" }, - "name": "unnamedWire#67", - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 105.0, + "y": 850.0 + }, + { + "x": 105.0, + "y": 2165.0 + } + ] }, { "pin1": { - "compName": "GUIdff4#0", - "pinName": "Q3" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q1" }, - "name": "unnamedWire#66", - "path": [] + "name": "unnamedWire#80", + "path": [ + { + "x": 220.0, + "y": 2305.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OQn" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q2" }, - "name": "unnamedWire#69", + "name": "unnamedWire#81", "path": [ { - "x": 335.0, - "y": 2495.0 + "x": 225.0, + "y": 2505.0 }, { - "x": 335.0, - "y": 1050.0 + "x": 225.0, + "y": 2315.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q3" }, - "name": "unnamedWire#68", - "path": [] + "name": "unnamedWire#82", + "path": [ + { + "x": 230.0, + "y": 2515.0 + }, + { + "x": 230.0, + "y": 2325.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#33", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q4" }, - "name": "unnamedWire#121", - "path": [] + "name": "unnamedWire#83", + "path": [ + { + "x": 235.0, + "y": 2335.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#32", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#34", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "A3" }, - "name": "unnamedWire#122", - "path": [] + "name": "unnamedWire#84", + "path": [ + { + "x": 35.0, + "y": 2565.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#32", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", + "compName": "GUIsel3_4#1", "pinName": "A4" }, - "name": "unnamedWire#120", - "path": [] + "name": "unnamedWire#85", + "path": [ + { + "x": 40.0, + "y": 2575.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#36", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B1" + "compName": "GUIdff4#0", + "pinName": "D1" }, - "name": "unnamedWire#125", + "name": "unnamedWire#86", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B2" + "compName": "GUIdff4#0", + "pinName": "D2" }, - "name": "unnamedWire#126", + "name": "unnamedWire#87", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "D3" }, - "name": "unnamedWire#70", + "name": "unnamedWire#88", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#35", - "pinName": "" + "compName": "GUIdff4#0", + "pinName": "D4" }, - "name": "unnamedWire#123", - "path": [ - { - "x": 25.0, - "y": 2105.0 - } - ] + "name": "unnamedWire#89", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "WireCrossPoint#36", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#124", + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Cn+4" }, "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, - "name": "unnamedWire#72", + "name": "unnamedWire#90", "path": [ { - "x": 135.0, - "y": 2670.0 - }, - { - "x": 30.0, - "y": 2670.0 - }, - { - "x": 30.0, - "y": 2635.0 + "x": 315.0, + "y": 2155.0 }, { - "x": 35.0, - "y": 2635.0 + "x": 315.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#33", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#37", - "pinName": "" - }, - "name": "unnamedWire#129", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "OVR" }, "pin2": { "compName": "_submodelinterface", - "pinName": "OQn+3" + "pinName": "OVR" }, - "name": "unnamedWire#71", + "name": "unnamedWire#91", "path": [ { - "x": 340.0, - "y": 2525.0 + "x": 320.0, + "y": 2165.0 }, { - "x": 340.0, - "y": 1150.0 + "x": 320.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F1" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C1" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#74", + "name": "unnamedWire#92", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#34", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B3" + "compName": "WireCrossPoint#20", + "pinName": "" }, - "name": "unnamedWire#127", + "name": "unnamedWire#93", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "ORAMn" }, - "name": "unnamedWire#73", + "name": "unnamedWire#94", "path": [ { - "x": 140.0, - "y": 2675.0 - }, - { - "x": 35.0, - "y": 2675.0 - }, - { - "x": 35.0, - "y": 2640.0 + "x": 325.0, + "y": 2115.0 }, { - "x": 40.0, - "y": 2640.0 + "x": 325.0, + "y": 850.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#35", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B4" - }, - "name": "unnamedWire#128", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#21", "pinName": "" }, - "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C3" - }, - "name": "unnamedWire#76", + "name": "unnamedWire#95", "path": [ { - "x": 145.0, - "y": 2680.0 - }, - { - "x": 40.0, - "y": 2680.0 - }, - { - "x": 40.0, - "y": 2645.0 + "x": 330.0, + "y": 2145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#21", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "ORAMn+3" }, - "name": "unnamedWire#75", + "name": "unnamedWire#96", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IQn" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "F3" }, - "name": "unnamedWire#78", + "name": "unnamedWire#97", "path": [ { - "x": 5.0, - "y": 2550.0 - }, + "x": 330.0, + "y": 750.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#19", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#22", + "pinName": "" + }, + "name": "unnamedWire#98", + "path": [ { - "x": 5.0, - "y": 2545.0 + "x": 280.0, + "y": 2090.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IQn+3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F2" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C4" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#77", + "name": "unnamedWire#99", "path": [ { - "x": 5.0, - "y": 2650.0 + "x": 285.0, + "y": 2125.0 }, { - "x": 5.0, - "y": 2655.0 + "x": 285.0, + "y": 2095.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -3417,5 +3456,6 @@ mograsim version: 0.1.3 } }, "atomicHighLevelStates": {} - } + }, + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUFuncDecode.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUFuncDecode.json index 006a46ff..92d2200e 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUFuncDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUFuncDecode.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, @@ -6,10 +5,11 @@ mograsim version: 0.1.3 { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "SBE", - "logicWidth": 1 + "name": "CinE", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -17,7 +17,8 @@ mograsim version: 0.1.3 "y": 45.0 }, "name": "FN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -25,7 +26,8 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "I3", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,15 +35,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I4", - "logicWidth": 1 - }, - { - "location": { - "x": 35.0, - "y": 25.0 - }, - "name": "SN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -49,7 +44,8 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "I5", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -57,7 +53,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "L", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,43 +62,55 @@ mograsim version: 0.1.3 "y": 55.0 }, "name": "RN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 35.0 }, - "name": "CinE", - "logicWidth": 1 + "name": "SBE", + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 25.0 + }, + "name": "SN", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 15.0, - "y": 50.0 + "y": 10.0 }, "params": 1 }, { - "id": "GUInand3", - "name": "GUInand3#0", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 55.0, - "y": 10.0 - } + "x": 15.0, + "y": 50.0 + }, + "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 15.0, - "y": 10.0 + "x": 55.0, + "y": 45.0 }, "params": 1 }, @@ -116,10 +125,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { - "x": 55.0, - "y": 45.0 + "x": 100.0, + "y": 50.0 }, "params": 1 }, @@ -131,30 +140,38 @@ mograsim version: 0.1.3 "y": 135.0 } }, + { + "id": "GUInand3", + "name": "GUInand3#0", + "pos": { + "x": 55.0, + "y": 10.0 + } + }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, - "y": 24.0 + "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 19.0 + "y": 24.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#10", "pos": { - "x": 9.0, - "y": 59.0 + "x": 39.0, + "y": 34.0 }, "params": 1 }, @@ -169,10 +186,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { "x": 9.0, - "y": 64.0 + "y": 59.0 }, "params": 1 }, @@ -187,10 +204,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 49.0, - "y": 99.0 + "x": 9.0, + "y": 64.0 }, "params": 1 }, @@ -205,10 +222,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#7", "pos": { - "x": 39.0, - "y": 19.0 + "x": 49.0, + "y": 99.0 }, "params": 1 }, @@ -223,34 +240,78 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#9", "pos": { "x": 39.0, - "y": 34.0 + "y": 19.0 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I5" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 100.0, - "y": 50.0 + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 5.0, + "y": 15.0 + } + ] + }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", "pinName": "B" }, - "name": "unnamedWire#14", + "name": "unnamedWire#12", "path": [] }, { @@ -267,20 +328,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 50.0, - "y": 100.0 - } - ] + "name": "unnamedWire#14", + "path": [] }, { "pin1": { @@ -309,15 +365,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#18", - "path": [] + "name": "unnamedWire#16", + "path": [ + { + "x": 50.0, + "y": 100.0 + } + ] }, { "pin1": { @@ -336,6 +397,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#8", @@ -355,14 +428,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#21", + "name": "unnamedWire#2", "path": [] }, { @@ -379,14 +452,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#9", "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#21", "path": [] }, { @@ -416,20 +489,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "B" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 40.0, - "y": 150.0 - } - ] + "name": "unnamedWire#23", + "path": [] }, { "pin1": { @@ -445,14 +513,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUInand3#0", - "pinName": "Y" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "GUIand#0", + "pinName": "B" }, - "name": "unnamedWire#27" + "name": "unnamedWire#25", + "path": [ + { + "x": 40.0, + "y": 150.0 + } + ] }, { "pin1": { @@ -468,14 +542,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUInand3#0", "pinName": "Y" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUINandGate#4", "pinName": "A" }, - "name": "unnamedWire#29" + "name": "unnamedWire#27" }, { "pin1": { @@ -490,109 +564,61 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUInand3#0", + "compName": "GUIand#0", "pinName": "A" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 10.0, - "y": 40.0 - }, - { - "x": 45.0, - "y": 40.0 - }, - { - "x": 45.0, - "y": 15.0 - } - ] + "name": "unnamedWire#29" }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "L" }, - "name": "unnamedWire#7", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "FN" + "pinName": "SBE" }, - "name": "unnamedWire#6", - "path": [ - { - "x": 5.0, - "y": 180.0 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "name": "unnamedWire#1", - "path": [ - { - "x": 5.0, - "y": 15.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I5" - }, - "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "L" - }, - "name": "unnamedWire#30", + "name": "unnamedWire#4", "path": [] }, { @@ -618,89 +644,72 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" - }, - "name": "unnamedWire#10", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", - "path": [] - }, - { - "pin1": { - "compName": "GUIand#0", - "pinName": "Y" - }, "pin2": { "compName": "_submodelinterface", - "pinName": "SBE" + "pinName": "FN" }, - "name": "unnamedWire#31", - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 5.0, + "y": 180.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" - }, - "name": "unnamedWire#3", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#3", "pinName": "" }, - "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" - }, - "name": "unnamedWire#12", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "A" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 10.0, + "y": 40.0 + }, + { + "x": 45.0, + "y": 40.0 + }, + { + "x": 45.0, + "y": 15.0 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -710,5 +719,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclDecode.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclDecode.json index 0f8ee57c..2dec1af2 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclDecode.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 120.0, @@ -6,58 +5,65 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 55.0 + "y": 35.0 }, - "name": "R2", - "logicWidth": 1 + "name": "Cn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 105.0 + "x": 35.0, + "y": 45.0 }, - "name": "S3", - "logicWidth": 1 + "name": "Cn+4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 65.0 + "x": 35.0, + "y": 5.0 }, - "name": "R3", - "logicWidth": 1 + "name": "F1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 115.0 + "x": 35.0, + "y": 15.0 }, - "name": "S4", - "logicWidth": 1 + "name": "F2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 75.0 + "x": 35.0, + "y": 25.0 }, - "name": "R4", - "logicWidth": 1 + "name": "F3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 35.0 }, - "name": "I3", - "logicWidth": 1 + "name": "F4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 25.0 }, - "name": "OVR", - "logicWidth": 1 + "name": "I3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -65,98 +71,193 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I4", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 5.0 }, - "name": "Cn", - "logicWidth": 1 + "name": "I5", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 55.0 }, - "name": "F1", - "logicWidth": 1 + "name": "OVR", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 45.0 }, - "name": "I5", - "logicWidth": 1 + "name": "R1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 55.0 }, - "name": "F2", - "logicWidth": 1 + "name": "R2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 65.0 }, - "name": "F3", - "logicWidth": 1 + "name": "R3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 75.0 }, - "name": "F4", - "logicWidth": 1 + "name": "R4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 85.0 }, - "name": "Cn+4", - "logicWidth": 1 + "name": "S1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 95.0 }, - "name": "S1", - "logicWidth": 1 + "name": "S2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 105.0 }, - "name": "R1", - "logicWidth": 1 + "name": "S3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 115.0 }, - "name": "S2", - "logicWidth": 1 + "name": "S4", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ + { + "id": "GUIAm2901ALUFuncDecode", + "name": "GUIAm2901ALUFuncDecode#0", + "pos": { + "x": 20.0, + "y": 2.5 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#0", + "pos": { + "x": 45.0, + "y": 80.0 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#1", + "pos": { + "x": 45.0, + "y": 180.0 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#2", + "pos": { + "x": 45.0, + "y": 280.0 + } + }, + { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#3", + "pos": { + "x": 45.0, + "y": 380.0 + } + }, + { + "id": "GUIxor", + "name": "GUIxor#0", + "pos": { + "x": 95.0, + "y": 400.0 + } + }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "name": "WireCrossPoint#0", + "pos": { + "x": 24.0, + "y": 94.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 24.0, + "y": 194.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 31.5, + "y": 244.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", + "pos": { + "x": 31.5, + "y": 344.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 34.0, - "y": 354.0 + "y": 154.0 }, "params": 1 }, @@ -171,10 +272,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "name": "WireCrossPoint#14", "pos": { - "x": 36.5, - "y": 264.0 + "x": 34.0, + "y": 354.0 }, "params": 1 }, @@ -189,10 +290,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "name": "WireCrossPoint#16", "pos": { - "x": 84.0, - "y": 374.0 + "x": 36.5, + "y": 264.0 }, "params": 1 }, @@ -205,54 +306,30 @@ mograsim version: 0.1.3 }, "params": 1 }, - { - "id": "GUIAm2901ALUFuncDecode", - "name": "GUIAm2901ALUFuncDecode#0", - "pos": { - "x": 20.0, - "y": 2.5 - } - }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#0", - "pos": { - "x": 45.0, - "y": 80.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#19", + "name": "WireCrossPoint#18", "pos": { "x": 84.0, - "y": 384.0 + "y": 374.0 }, "params": 1 }, - { - "id": "GUIxor", - "name": "GUIxor#0", - "pos": { - "x": 95.0, - "y": 400.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#19", "pos": { - "x": 24.0, - "y": 194.0 + "x": 84.0, + "y": 384.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { "x": 24.0, - "y": 94.0 + "y": 294.0 }, "params": 1 }, @@ -267,10 +344,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#4", "pos": { - "x": 24.0, - "y": 294.0 + "x": 26.5, + "y": 204.0 }, "params": 1 }, @@ -285,21 +362,13 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#6", "pos": { - "x": 26.5, - "y": 204.0 + "x": 29.0, + "y": 124.0 }, "params": 1 }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#1", - "pos": { - "x": 45.0, - "y": 180.0 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#7", @@ -309,31 +378,15 @@ mograsim version: 0.1.3 }, "params": 1 }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#2", - "pos": { - "x": 45.0, - "y": 280.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#8", "pos": { "x": 29.0, - "y": 124.0 + "y": 324.0 }, "params": 1 }, - { - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#3", - "pos": { - "x": 45.0, - "y": 380.0 - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#9", @@ -342,636 +395,848 @@ mograsim version: 0.1.3 "y": 144.0 }, "params": 1 + } + ], + "wires": [ + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I5" + }, + "pin2": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I5" + }, + "name": "unnamedWire#0", + "path": [ + { + "x": 5.0, + "y": 20.0 + }, + { + "x": 5.0, + "y": 7.5 + } + ] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 29.0, - "y": 324.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "I4" }, - "params": 1 + "pin2": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I4" + }, + "name": "unnamedWire#1", + "path": [ + { + "x": 10.0, + "y": 60.0 + }, + { + "x": 10.0, + "y": 17.5 + } + ] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", - "pos": { - "x": 31.5, - "y": 244.0 + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "CinE" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 70.0, + "y": 7.5 + }, + { + "x": 70.0, + "y": 77.5 + }, + { + "x": 27.5, + "y": 77.5 + } + ] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", - "pos": { - "x": 34.0, - "y": 154.0 + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" }, - "params": 1 + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [] }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", - "pos": { - "x": 31.5, - "y": 344.0 + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#12", + "path": [] + }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "FN" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "CinE" }, - "name": "unnamedWire#36", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#1", - "pinName": "FN" + "pinName": "CinE" }, - "name": "unnamedWire#35", + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "CinE" + }, + "name": "unnamedWire#15", "path": [] }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "CinE" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 27.5, + "y": 405.0 + } + ] + }, { "pin1": { "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "L" + "pinName": "RN" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#38", + "name": "unnamedWire#17", "path": [ { - "x": 67.5, - "y": 17.5 + "x": 57.5, + "y": 57.5 }, { - "x": 67.5, - "y": 75.0 + "x": 57.5, + "y": 65.0 }, { - "x": 37.5, - "y": 75.0 + "x": 30.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "FN" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#37", + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I3" + }, + "pin2": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I3" + }, + "name": "unnamedWire#2", "path": [ { - "x": 35.0, - "y": 455.0 + "x": 15.0, + "y": 100.0 + }, + { + "x": 15.0, + "y": 27.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#16", + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "RN" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#39", + "pin2": { + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "RN" + }, + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "L" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "RN" }, - "name": "unnamedWire#41", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#17", + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "RN" + }, + "name": "unnamedWire#23", + "path": [ + { + "x": 30.0, + "y": 425.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "SN" + }, + "pin2": { + "compName": "WireCrossPoint#9", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#24", + "path": [ + { + "x": 65.0, + "y": 27.5 + }, + { + "x": 65.0, + "y": 72.5 + }, + { + "x": 32.5, + "y": 72.5 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "L" + "compName": "WireCrossPoint#11", + "pinName": "" }, - "name": "unnamedWire#43", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "SN" + }, + "name": "unnamedWire#27", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#1", - "pinName": "L" + "pinName": "SN" }, - "name": "unnamedWire#42", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R1" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "R" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "SN" }, - "name": "unnamedWire#45", + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "SBE" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#3", "path": [ { - "x": 10.0, - "y": 180.0 + "x": 62.5, + "y": 37.5 }, { - "x": 10.0, - "y": 115.0 + "x": 62.5, + "y": 70.0 + }, + { + "x": 25.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "L" + "pinName": "SN" }, - "name": "unnamedWire#44", + "name": "unnamedWire#30", "path": [ { - "x": 37.5, - "y": 465.0 + "x": 32.5, + "y": 445.0 + } + ] + }, + { + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "FN" + }, + "pin2": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "name": "unnamedWire#31", + "path": [ + { + "x": 60.0, + "y": 47.5 + }, + { + "x": 60.0, + "y": 67.5 + }, + { + "x": 35.0, + "y": 67.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R3" + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "name": "unnamedWire#33", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "FN" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "FN" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "R" + "pinName": "FN" }, - "name": "unnamedWire#47", - "path": [ - { - "x": 10.0, - "y": 260.0 - }, - { - "x": 10.0, - "y": 315.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R2" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "R" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "FN" }, - "name": "unnamedWire#46", + "name": "unnamedWire#37", "path": [ { - "x": 10.0, - "y": 220.0 - }, - { - "x": 10.0, - "y": 215.0 + "x": 35.0, + "y": 455.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "L" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "S" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#49", + "name": "unnamedWire#38", "path": [ { - "x": 15.0, - "y": 340.0 + "x": 67.5, + "y": 17.5 }, { - "x": 15.0, - "y": 135.0 + "x": 67.5, + "y": 75.0 + }, + { + "x": 37.5, + "y": 75.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R4" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "R" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#48", - "path": [ - { - "x": 20.0, - "y": 300.0 - }, - { - "x": 20.0, - "y": 415.0 - } - ] + "name": "unnamedWire#39", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "CoutE" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 25.0, - "y": 395.0 - } - ] + "name": "unnamedWire#4", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "CoutE" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "CoutE" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "L" }, - "name": "unnamedWire#7", + "name": "unnamedWire#41", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "CoutE" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "L" }, - "name": "unnamedWire#6", + "name": "unnamedWire#42", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I4" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "L" }, - "name": "unnamedWire#1", - "path": [ - { - "x": 10.0, - "y": 60.0 - }, - { - "x": 10.0, - "y": 17.5 - } - ] + "name": "unnamedWire#43", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S2" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "S" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "L" }, - "name": "unnamedWire#50", + "name": "unnamedWire#44", "path": [ { - "x": 5.0, - "y": 380.0 - }, - { - "x": 5.0, - "y": 235.0 + "x": 37.5, + "y": 465.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I5" + "pinName": "R1" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I5" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "R" }, - "name": "unnamedWire#0", + "name": "unnamedWire#45", "path": [ { - "x": 5.0, - "y": 20.0 + "x": 10.0, + "y": 180.0 }, { - "x": 5.0, - "y": 7.5 + "x": 10.0, + "y": 115.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "S4" + "pinName": "R2" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "S" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "R" }, - "name": "unnamedWire#52", + "name": "unnamedWire#46", "path": [ { "x": 10.0, - "y": 460.0 + "y": 220.0 }, { "x": 10.0, - "y": 435.0 + "y": 215.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "S3" + "pinName": "R3" }, "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "S" + "pinName": "R" }, - "name": "unnamedWire#51", + "name": "unnamedWire#47", "path": [ { "x": 10.0, - "y": 420.0 + "y": 260.0 }, { "x": 10.0, - "y": 335.0 + "y": 315.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#5", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "CinE" + "compName": "_submodelinterface", + "pinName": "R4" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "R" }, - "name": "unnamedWire#10", + "name": "unnamedWire#48", "path": [ { - "x": 70.0, - "y": 7.5 - }, - { - "x": 70.0, - "y": 77.5 + "x": 20.0, + "y": 300.0 }, { - "x": 27.5, - "y": 77.5 + "x": 20.0, + "y": 415.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "Cout" + "compName": "_submodelinterface", + "pinName": "S1" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "Cin" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "S" }, - "name": "unnamedWire#54", + "name": "unnamedWire#49", "path": [ { - "x": 85.0, - "y": 85.0 - }, - { - "x": 85.0, - "y": 175.0 - }, - { - "x": 40.0, - "y": 175.0 + "x": 15.0, + "y": 340.0 }, { - "x": 40.0, - "y": 185.0 + "x": 15.0, + "y": 135.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#5", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Cn" + "pinName": "S2" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "Cin" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "S" }, - "name": "unnamedWire#53", + "name": "unnamedWire#50", "path": [ { "x": 5.0, - "y": 140.0 + "y": 380.0 }, { "x": 5.0, - "y": 85.0 + "y": 235.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "SBE" + "compName": "_submodelinterface", + "pinName": "S3" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "S" }, - "name": "unnamedWire#3", + "name": "unnamedWire#51", "path": [ { - "x": 62.5, - "y": 37.5 - }, - { - "x": 62.5, - "y": 70.0 + "x": 10.0, + "y": 420.0 }, { - "x": 25.0, - "y": 70.0 + "x": 10.0, + "y": 335.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "Cout" + "compName": "_submodelinterface", + "pinName": "S4" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "S" }, - "name": "unnamedWire#56", + "name": "unnamedWire#52", "path": [ { - "x": 85.0, - "y": 285.0 + "x": 10.0, + "y": 460.0 + }, + { + "x": 10.0, + "y": 435.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I3" + "pinName": "Cn" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I3" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "Cin" }, - "name": "unnamedWire#2", + "name": "unnamedWire#53", "path": [ { - "x": 15.0, - "y": 100.0 + "x": 5.0, + "y": 140.0 }, { - "x": 15.0, - "y": 27.5 + "x": 5.0, + "y": 85.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "Cout" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "Cin" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#54", + "path": [ + { + "x": 85.0, + "y": 85.0 + }, + { + "x": 85.0, + "y": 175.0 + }, + { + "x": 40.0, + "y": 175.0 + }, + { + "x": 40.0, + "y": 185.0 + } + ] }, { "pin1": { @@ -1004,39 +1269,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "CinE" - }, - "name": "unnamedWire#14", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUOneBit#3", + "compName": "GUIAm2901ALUOneBit#2", "pinName": "Cout" }, "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" - }, - "name": "unnamedWire#58", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#18", "pinName": "" }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "CinE" - }, - "name": "unnamedWire#13", - "path": [] + "name": "unnamedWire#56", + "path": [ + { + "x": 85.0, + "y": 285.0 + } + ] }, { "pin1": { @@ -1061,124 +1307,49 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "CinE" - }, - "name": "unnamedWire#16", - "path": [ - { - "x": 27.5, - "y": 405.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "CinE" - }, - "name": "unnamedWire#15", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "F" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "F1" - }, - "name": "unnamedWire#59", - "path": [ - { - "x": 90.0, - "y": 95.0 - }, - { - "x": 90.0, - "y": 20.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "name": "unnamedWire#18", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "RN" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "name": "unnamedWire#17", - "path": [ - { - "x": 57.5, - "y": 57.5 - }, - { - "x": 57.5, - "y": 65.0 - }, - { - "x": 30.0, - "y": 65.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "pinName": "Cout" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#19", "pinName": "" }, - "name": "unnamedWire#19", + "name": "unnamedWire#58", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#2", + "compName": "GUIAm2901ALUOneBit#0", "pinName": "F" }, "pin2": { "compName": "_submodelinterface", - "pinName": "F3" + "pinName": "F1" }, - "name": "unnamedWire#61", + "name": "unnamedWire#59", "path": [ { - "x": 100.0, - "y": 295.0 + "x": 90.0, + "y": 95.0 }, { - "x": 100.0, - "y": 100.0 + "x": 90.0, + "y": 20.0 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "CoutE" + }, + "name": "unnamedWire#6", + "path": [] + }, { "pin1": { "compName": "GUIAm2901ALUOneBit#1", @@ -1202,22 +1373,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "F" }, "pin2": { - "compName": "GUIxor#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "F3" }, - "name": "unnamedWire#63", + "name": "unnamedWire#61", "path": [ { - "x": 90.0, - "y": 375.0 + "x": 100.0, + "y": 295.0 }, { - "x": 90.0, - "y": 405.0 + "x": 100.0, + "y": 100.0 } ] }, @@ -1244,49 +1415,25 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "RN" - }, - "name": "unnamedWire#21", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "compName": "GUIxor#0", + "pinName": "A" }, - "name": "unnamedWire#65", + "name": "unnamedWire#63", "path": [ { - "x": 130.0, - "y": 385.0 + "x": 90.0, + "y": 375.0 }, { - "x": 130.0, - "y": 180.0 + "x": 90.0, + "y": 405.0 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "RN" - }, - "name": "unnamedWire#20", - "path": [] - }, { "pin1": { "compName": "WireCrossPoint#19", @@ -1306,33 +1453,25 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "RN" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, - "name": "unnamedWire#23", + "name": "unnamedWire#65", "path": [ { - "x": 30.0, - "y": 425.0 + "x": 130.0, + "y": 385.0 + }, + { + "x": 130.0, + "y": 180.0 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "RN" - }, - "name": "unnamedWire#22", - "path": [] - }, { "pin1": { "compName": "GUIxor#0", @@ -1346,168 +1485,47 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "name": "unnamedWire#25", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "SN" - }, - "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "name": "unnamedWire#24", - "path": [ - { - "x": 65.0, - "y": 27.5 - }, - { - "x": 65.0, - "y": 72.5 - }, - { - "x": 32.5, - "y": 72.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "SN" - }, - "name": "unnamedWire#27", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "CoutE" }, - "name": "unnamedWire#26", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "SN" - }, - "name": "unnamedWire#29", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "SN" + "pinName": "CoutE" }, - "name": "unnamedWire#28", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "SN" - }, - "name": "unnamedWire#30", - "path": [ - { - "x": 32.5, - "y": 445.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "name": "unnamedWire#32", - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "FN" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "pinName": "CoutE" }, - "name": "unnamedWire#31", + "name": "unnamedWire#9", "path": [ { - "x": 60.0, - "y": 47.5 - }, - { - "x": 60.0, - "y": 67.5 - }, - { - "x": 35.0, - "y": 67.5 + "x": 25.0, + "y": 395.0 } ] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "FN" - }, - "name": "unnamedWire#34", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "name": "unnamedWire#33", - "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1517,5 +1535,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json index 71d2d2d6..2fa5c1b1 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 230.0, @@ -6,255 +5,299 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 195.0 + "y": 115.0 }, - "name": "Q1", - "logicWidth": 1 + "name": "A1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 205.0 + "y": 125.0 }, - "name": "Q2", - "logicWidth": 1 + "name": "A2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 215.0 + "y": 135.0 }, - "name": "Q3", - "logicWidth": 1 + "name": "A3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 225.0 + "y": 145.0 }, - "name": "Q4", - "logicWidth": 1 + "name": "A4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 155.0 }, - "name": "I0", - "logicWidth": 1 + "name": "B1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 165.0 }, - "name": "I1", - "logicWidth": 1 + "name": "B2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 35.0 + "y": 175.0 }, - "name": "I2", - "logicWidth": 1 + "name": "B3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 185.0 }, - "name": "I3", - "logicWidth": 1 + "name": "B4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 55.0 + "x": 0.0, + "y": 65.0 }, - "name": "OVR", - "logicWidth": 1 + "name": "Cn", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 45.0 }, - "name": "I4", - "logicWidth": 1 + "name": "Cn+4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 75.0 }, - "name": "Cn", - "logicWidth": 1 + "name": "D1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 5.0 + "y": 85.0 }, - "name": "I5", - "logicWidth": 1 + "name": "D2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 115.0 + "y": 95.0 }, - "name": "A1", - "logicWidth": 1 + "name": "D3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 125.0 + "y": 105.0 }, - "name": "A2", - "logicWidth": 1 + "name": "D4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 135.0 + "x": 35.0, + "y": 5.0 }, - "name": "A3", - "logicWidth": 1 + "name": "F1", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 145.0 + "x": 35.0, + "y": 15.0 }, - "name": "A4", - "logicWidth": 1 + "name": "F2", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 45.0 + "y": 25.0 }, - "name": "Cn+4", - "logicWidth": 1 + "name": "F3", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 35.0 }, - "name": "F1", - "logicWidth": 1 + "name": "F4", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 55.0 }, - "name": "F2", - "logicWidth": 1 + "name": "I0", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 45.0 }, - "name": "D1", - "logicWidth": 1 + "name": "I1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 25.0 + "x": 0.0, + "y": 35.0 }, - "name": "F3", - "logicWidth": 1 + "name": "I2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 25.0 }, - "name": "D2", - "logicWidth": 1 + "name": "I3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 35.0 + "x": 0.0, + "y": 15.0 }, - "name": "F4", - "logicWidth": 1 + "name": "I4", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 95.0 + "y": 5.0 }, - "name": "D3", - "logicWidth": 1 + "name": "I5", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 155.0 + "x": 35.0, + "y": 55.0 }, - "name": "B1", - "logicWidth": 1 + "name": "OVR", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 105.0 + "y": 195.0 }, - "name": "D4", - "logicWidth": 1 + "name": "Q1", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 165.0 + "y": 205.0 }, - "name": "B2", - "logicWidth": 1 + "name": "Q2", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 175.0 + "y": 215.0 }, - "name": "B3", - "logicWidth": 1 + "name": "Q3", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 185.0 + "y": 225.0 }, - "name": "B4", - "logicWidth": 1 + "name": "Q4", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { - "id": "GUIsel3_4", - "name": "GUIsel3_4#0", + "id": "GUIAm2901ALUInclDecode", + "name": "GUIAm2901ALUInclDecode#0", + "pos": { + "x": 60.0, + "y": 15.0 + } + }, + { + "id": "GUIAm2901SourceDecode", + "name": "GUIAm2901SourceDecode#0", + "pos": { + "x": 15.0, + "y": 165.0 + } + }, + { + "id": "GUIsel2_4", + "name": "GUIsel2_4#0", "pos": { "x": 45.0, - "y": 575.0 + "y": 365.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIsel3_4", + "name": "GUIsel3_4#0", "pos": { - "x": 14.0, - "y": 499.0 - }, - "params": 1 + "x": 45.0, + "y": 575.0 + } }, { "id": "WireCrossPoint", @@ -265,20 +308,12 @@ mograsim version: 0.1.3 }, "params": 1 }, - { - "id": "GUIAm2901ALUInclDecode", - "name": "GUIAm2901ALUInclDecode#0", - "pos": { - "x": 60.0, - "y": 15.0 - } - }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 24.0, - "y": 579.0 + "x": 14.0, + "y": 499.0 }, "params": 1 }, @@ -292,1065 +327,1059 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUIsel2_4", - "name": "GUIsel2_4#0", - "pos": { - "x": 45.0, - "y": 365.0 - } - }, - { - "id": "GUIAm2901SourceDecode", - "name": "GUIAm2901SourceDecode#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 15.0, - "y": 165.0 - } + "x": 24.0, + "y": 579.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "I5" }, "pin2": { "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R1" + "pinName": "I5" }, - "name": "unnamedWire#36", - "path": [ - { - "x": 82.5, - "y": 370.0 - }, - { - "x": 82.5, - "y": 162.5 - }, - { - "x": 20.0, - "y": 162.5 - }, - { - "x": 20.0, - "y": 60.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "RD" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SA" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "I4" }, - "name": "unnamedWire#35", + "name": "unnamedWire#1", "path": [ { - "x": 55.0, - "y": 210.0 - }, - { - "x": 55.0, - "y": 220.0 - }, - { - "x": 25.0, - "y": 220.0 + "x": 5.0, + "y": 60.0 }, { - "x": 25.0, - "y": 370.0 + "x": 5.0, + "y": 30.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R3" + "compName": "GUIsel2_4#0", + "pinName": "A4" }, - "name": "unnamedWire#38", - "path": [ - { - "x": 87.5, - "y": 390.0 - }, - { - "x": 87.5, - "y": 157.5 - }, - { - "x": 25.0, - "y": 157.5 - }, - { - "x": 25.0, - "y": 80.0 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#37", - "path": [ - { - "x": 85.0, - "y": 380.0 - }, - { - "x": 85.0, - "y": 160.0 - }, - { - "x": 22.5, - "y": 160.0 - }, - { - "x": 22.5, - "y": 70.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R4" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#39", + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A4" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel2_4#0", + "pinName": "B1" + }, + "name": "unnamedWire#15", "path": [ { - "x": 90.0, - "y": 400.0 - }, - { - "x": 90.0, - "y": 155.0 - }, - { - "x": 27.5, - "y": 155.0 - }, - { - "x": 27.5, - "y": 90.0 + "x": 10.0, + "y": 430.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y2" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S2" + "compName": "GUIsel2_4#0", + "pinName": "B2" }, - "name": "unnamedWire#41", + "name": "unnamedWire#16", "path": [ { - "x": 95.0, - "y": 590.0 - }, - { - "x": 95.0, - "y": 150.0 - }, - { - "x": 32.5, - "y": 150.0 - }, - { - "x": 32.5, - "y": 110.0 + "x": 15.0, + "y": 440.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S1" + "compName": "GUIsel2_4#0", + "pinName": "B3" }, - "name": "unnamedWire#40", + "name": "unnamedWire#17", "path": [ { - "x": 92.5, - "y": 580.0 - }, - { - "x": 92.5, - "y": 152.5 - }, - { - "x": 30.0, - "y": 152.5 - }, - { - "x": 30.0, - "y": 100.0 + "x": 20.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y4" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S4" + "compName": "GUIsel2_4#0", + "pinName": "B4" }, - "name": "unnamedWire#43", + "name": "unnamedWire#18", "path": [ { - "x": 100.0, - "y": 610.0 - }, - { - "x": 100.0, - "y": 145.0 - }, - { - "x": 37.5, - "y": 145.0 - }, - { - "x": 37.5, - "y": 130.0 + "x": 25.0, + "y": 460.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S3" + "compName": "GUIsel3_4#0", + "pinName": "A1" }, - "name": "unnamedWire#42", + "name": "unnamedWire#19", "path": [ { - "x": 97.5, - "y": 600.0 - }, - { - "x": 97.5, - "y": 147.5 - }, - { - "x": 35.0, - "y": 147.5 - }, - { - "x": 35.0, - "y": 120.0 + "x": 10.0, + "y": 610.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F2" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "I3" }, - "name": "unnamedWire#45", + "name": "unnamedWire#2", "path": [ { - "x": 135.0, - "y": 30.0 + "x": 15.0, + "y": 100.0 }, { - "x": 135.0, - "y": 60.0 + "x": 15.0, + "y": 40.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F1" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F1" + "compName": "GUIsel3_4#0", + "pinName": "A2" }, - "name": "unnamedWire#44", - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 15.0, + "y": 620.0 + } + ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F4" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F4" + "compName": "GUIsel3_4#0", + "pinName": "A3" }, - "name": "unnamedWire#47", + "name": "unnamedWire#21", "path": [ { - "x": 125.0, - "y": 50.0 - }, - { - "x": 125.0, - "y": 140.0 + "x": 20.0, + "y": 630.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F3" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F3" + "compName": "GUIsel3_4#0", + "pinName": "A4" }, - "name": "unnamedWire#46", - "path": [ - { - "x": 130.0, - "y": 40.0 - }, + "name": "unnamedWire#22", + "path": [ { - "x": 130.0, - "y": 100.0 + "x": 25.0, + "y": 640.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "OVR" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OVR" + "compName": "GUIsel3_4#0", + "pinName": "B1" }, - "name": "unnamedWire#49", + "name": "unnamedWire#23", "path": [ { - "x": 115.0, - "y": 70.0 + "x": 5.0, + "y": 620.0 }, { - "x": 115.0, - "y": 220.0 + "x": 5.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "Cn+4" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "compName": "GUIsel3_4#0", + "pinName": "B2" }, - "name": "unnamedWire#48", - "path": [ - { - "x": 120.0, - "y": 60.0 - }, - { - "x": 120.0, - "y": 180.0 - } - ] + "name": "unnamedWire#24", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D3" + "pinName": "B3" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A3" + "compName": "GUIsel3_4#0", + "pinName": "B3" }, - "name": "unnamedWire#9", + "name": "unnamedWire#25", "path": [ { "x": 5.0, - "y": 380.0 + "y": 700.0 }, { "x": 5.0, - "y": 410.0 + "y": 670.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "B4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A2" + "compName": "GUIsel3_4#0", + "pinName": "B4" }, - "name": "unnamedWire#8", + "name": "unnamedWire#26", "path": [ { "x": 10.0, - "y": 340.0 + "y": 740.0 }, { "x": 10.0, - "y": 400.0 + "y": 680.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D1" + "pinName": "Q1" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A1" + "compName": "GUIsel3_4#0", + "pinName": "C1" }, - "name": "unnamedWire#7", + "name": "unnamedWire#27", "path": [ { "x": 15.0, - "y": 300.0 + "y": 780.0 }, { "x": 15.0, - "y": 390.0 + "y": 690.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Cn" + "pinName": "Q2" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "Cn" + "compName": "GUIsel3_4#0", + "pinName": "C2" }, - "name": "unnamedWire#6", + "name": "unnamedWire#28", "path": [ { - "x": 10.0, - "y": 260.0 + "x": 20.0, + "y": 820.0 }, { - "x": 10.0, - "y": 50.0 + "x": 20.0, + "y": 700.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I4" + "pinName": "Q3" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I4" + "compName": "GUIsel3_4#0", + "pinName": "C3" }, - "name": "unnamedWire#1", + "name": "unnamedWire#29", "path": [ { - "x": 5.0, - "y": 60.0 + "x": 25.0, + "y": 860.0 }, { - "x": 5.0, - "y": 30.0 + "x": 25.0, + "y": 710.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I5" - }, - "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I5" - }, - "name": "unnamedWire#0", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I0" + "pinName": "I2" }, "pin2": { "compName": "GUIAm2901SourceDecode#0", - "pinName": "I0" + "pinName": "I2" }, - "name": "unnamedWire#5", + "name": "unnamedWire#3", "path": [ { "x": 5.0, - "y": 220.0 + "y": 140.0 }, { "x": 5.0, - "y": 190.0 + "y": 170.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D4" + "pinName": "Q4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A4" + "compName": "GUIsel3_4#0", + "pinName": "C4" }, - "name": "unnamedWire#10", - "path": [] + "name": "unnamedWire#30", + "path": [ + { + "x": 30.0, + "y": 900.0 + }, + { + "x": 30.0, + "y": 720.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" - }, - "pin2": { "compName": "GUIAm2901SourceDecode#0", - "pinName": "I1" - }, - "name": "unnamedWire#4", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I2" + "pinName": "SQ" }, "pin2": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "I2" + "compName": "GUIsel3_4#0", + "pinName": "SC" }, - "name": "unnamedWire#3", + "name": "unnamedWire#31", "path": [ { - "x": 5.0, - "y": 140.0 + "x": 75.0, + "y": 170.0 }, { - "x": 5.0, - "y": 170.0 + "x": 75.0, + "y": 240.0 + }, + { + "x": 30.0, + "y": 240.0 + }, + { + "x": 30.0, + "y": 600.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "name": "unnamedWire#12", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "RA" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I3" + "compName": "GUIsel2_4#0", + "pinName": "SB" }, - "name": "unnamedWire#2", + "name": "unnamedWire#32", "path": [ { - "x": 15.0, - "y": 100.0 + "x": 70.0, + "y": 180.0 }, { - "x": 15.0, - "y": 40.0 + "x": 70.0, + "y": 235.0 + }, + { + "x": 20.0, + "y": 235.0 + }, + { + "x": 20.0, + "y": 380.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "SB" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "SB" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#33", + "path": [ + { + "x": 65.0, + "y": 190.0 + }, + { + "x": 65.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 590.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "SA" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "SA" }, - "name": "unnamedWire#14", - "path": [] + "name": "unnamedWire#34", + "path": [ + { + "x": 60.0, + "y": 200.0 + }, + { + "x": 60.0, + "y": 225.0 + }, + { + "x": 40.0, + "y": 225.0 + }, + { + "x": 40.0, + "y": 580.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "RD" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "SA" }, - "name": "unnamedWire#13", - "path": [] + "name": "unnamedWire#35", + "path": [ + { + "x": 55.0, + "y": 210.0 + }, + { + "x": 55.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 370.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R1" }, - "name": "unnamedWire#16", + "name": "unnamedWire#36", "path": [ { - "x": 15.0, - "y": 440.0 + "x": 82.5, + "y": 370.0 + }, + { + "x": 82.5, + "y": 162.5 + }, + { + "x": 20.0, + "y": 162.5 + }, + { + "x": 20.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B1" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R2" }, - "name": "unnamedWire#15", + "name": "unnamedWire#37", "path": [ { - "x": 10.0, - "y": 430.0 + "x": 85.0, + "y": 380.0 + }, + { + "x": 85.0, + "y": 160.0 + }, + { + "x": 22.5, + "y": 160.0 + }, + { + "x": 22.5, + "y": 70.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B4" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R3" }, - "name": "unnamedWire#18", + "name": "unnamedWire#38", "path": [ + { + "x": 87.5, + "y": 390.0 + }, + { + "x": 87.5, + "y": 157.5 + }, { "x": 25.0, - "y": 460.0 + "y": 157.5 + }, + { + "x": 25.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel2_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R4" }, - "name": "unnamedWire#17", + "name": "unnamedWire#39", "path": [ { - "x": 20.0, - "y": 450.0 + "x": 90.0, + "y": 400.0 + }, + { + "x": 90.0, + "y": 155.0 + }, + { + "x": 27.5, + "y": 155.0 + }, + { + "x": 27.5, + "y": 90.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { + "compName": "GUIAm2901SourceDecode#0", + "pinName": "I1" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { "compName": "GUIsel3_4#0", - "pinName": "A1" + "pinName": "Y1" }, - "name": "unnamedWire#19", + "pin2": { + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S1" + }, + "name": "unnamedWire#40", "path": [ { - "x": 10.0, - "y": 610.0 + "x": 92.5, + "y": 580.0 + }, + { + "x": 92.5, + "y": 152.5 + }, + { + "x": 30.0, + "y": 152.5 + }, + { + "x": 30.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S2" }, - "name": "unnamedWire#21", + "name": "unnamedWire#41", "path": [ { - "x": 20.0, - "y": 630.0 + "x": 95.0, + "y": 590.0 + }, + { + "x": 95.0, + "y": 150.0 + }, + { + "x": 32.5, + "y": 150.0 + }, + { + "x": 32.5, + "y": 110.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S3" }, - "name": "unnamedWire#20", + "name": "unnamedWire#42", "path": [ { - "x": 15.0, - "y": 620.0 + "x": 97.5, + "y": 600.0 + }, + { + "x": 97.5, + "y": 147.5 + }, + { + "x": 35.0, + "y": 147.5 + }, + { + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUIsel3_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B1" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S4" }, - "name": "unnamedWire#23", + "name": "unnamedWire#43", "path": [ { - "x": 5.0, - "y": 620.0 + "x": 100.0, + "y": 610.0 }, { - "x": 5.0, - "y": 650.0 + "x": 100.0, + "y": 145.0 + }, + { + "x": 37.5, + "y": 145.0 + }, + { + "x": 37.5, + "y": 130.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A4" + "compName": "_submodelinterface", + "pinName": "F1" }, - "name": "unnamedWire#22", - "path": [ - { - "x": 25.0, - "y": 640.0 - } - ] + "name": "unnamedWire#44", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B3" + "compName": "_submodelinterface", + "pinName": "F2" }, - "name": "unnamedWire#25", + "name": "unnamedWire#45", "path": [ { - "x": 5.0, - "y": 700.0 + "x": 135.0, + "y": 30.0 }, { - "x": 5.0, - "y": 670.0 + "x": 135.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B2" - }, - "name": "unnamedWire#24", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "Q1" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C1" + "pinName": "F3" }, - "name": "unnamedWire#27", + "name": "unnamedWire#46", "path": [ { - "x": 15.0, - "y": 780.0 + "x": 130.0, + "y": 40.0 }, { - "x": 15.0, - "y": 690.0 + "x": 130.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B4" + "compName": "_submodelinterface", + "pinName": "F4" }, - "name": "unnamedWire#26", + "name": "unnamedWire#47", "path": [ { - "x": 10.0, - "y": 740.0 + "x": 125.0, + "y": 50.0 }, { - "x": 10.0, - "y": 680.0 + "x": 125.0, + "y": 140.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Q3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "Cn+4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C3" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, - "name": "unnamedWire#29", + "name": "unnamedWire#48", "path": [ { - "x": 25.0, - "y": 860.0 + "x": 120.0, + "y": 60.0 }, { - "x": 25.0, - "y": 710.0 + "x": 120.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Q2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "OVR" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C2" + "compName": "_submodelinterface", + "pinName": "OVR" }, - "name": "unnamedWire#28", + "name": "unnamedWire#49", "path": [ { - "x": 20.0, - "y": 820.0 + "x": 115.0, + "y": 70.0 }, { - "x": 20.0, - "y": 700.0 + "x": 115.0, + "y": 220.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Q4" + "pinName": "I0" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C4" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "I0" }, - "name": "unnamedWire#30", + "name": "unnamedWire#5", "path": [ { - "x": 30.0, - "y": 900.0 + "x": 5.0, + "y": 220.0 }, { - "x": 30.0, - "y": 720.0 + "x": 5.0, + "y": 190.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "RA" + "compName": "_submodelinterface", + "pinName": "Cn" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SB" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "Cn" }, - "name": "unnamedWire#32", + "name": "unnamedWire#6", "path": [ { - "x": 70.0, - "y": 180.0 - }, - { - "x": 70.0, - "y": 235.0 - }, - { - "x": 20.0, - "y": 235.0 + "x": 10.0, + "y": 260.0 }, { - "x": 20.0, - "y": 380.0 + "x": 10.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SQ" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SC" + "compName": "GUIsel2_4#0", + "pinName": "A1" }, - "name": "unnamedWire#31", + "name": "unnamedWire#7", "path": [ { - "x": 75.0, - "y": 170.0 - }, - { - "x": 75.0, - "y": 240.0 - }, - { - "x": 30.0, - "y": 240.0 + "x": 15.0, + "y": 300.0 }, { - "x": 30.0, - "y": 600.0 + "x": 15.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SA" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SA" + "compName": "GUIsel2_4#0", + "pinName": "A2" }, - "name": "unnamedWire#34", + "name": "unnamedWire#8", "path": [ { - "x": 60.0, - "y": 200.0 - }, - { - "x": 60.0, - "y": 225.0 - }, - { - "x": 40.0, - "y": 225.0 + "x": 10.0, + "y": 340.0 }, { - "x": 40.0, - "y": 580.0 + "x": 10.0, + "y": 400.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SB" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SB" + "compName": "GUIsel2_4#0", + "pinName": "A3" }, - "name": "unnamedWire#33", + "name": "unnamedWire#9", "path": [ { - "x": 65.0, - "y": 190.0 - }, - { - "x": 65.0, - "y": 230.0 - }, - { - "x": 35.0, - "y": 230.0 + "x": 5.0, + "y": 380.0 }, { - "x": 35.0, - "y": 590.0 + "x": 5.0, + "y": 410.0 } ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1360,5 +1389,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUOneBit.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUOneBit.json index b32a2b18..1fd3ed88 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUOneBit.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUOneBit.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 90.0, @@ -6,95 +5,106 @@ mograsim version: 0.1.3 { "location": { "x": 0.0, - "y": 35.0 + "y": 5.0 }, - "name": "R", - "logicWidth": 1 + "name": "Cin", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 55.0 + "y": 25.0 }, - "name": "S", - "logicWidth": 1 + "name": "CinE", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 15.0 + "y": 5.0 }, - "name": "F", - "logicWidth": 1 + "name": "Cout", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 75.0 + "y": 15.0 }, - "name": "FN", - "logicWidth": 1 + "name": "CoutE", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 15.0 }, - "name": "Cin", - "logicWidth": 1 + "name": "F", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 65.0 + "y": 75.0 }, - "name": "SN", - "logicWidth": 1 + "name": "FN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 85.0 }, - "name": "Cout", - "logicWidth": 1 + "name": "L", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 45.0 + "y": 35.0 }, - "name": "RN", - "logicWidth": 1 + "name": "R", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 85.0 + "y": 45.0 }, - "name": "L", - "logicWidth": 1 + "name": "RN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 25.0 + "y": 55.0 }, - "name": "CinE", - "logicWidth": 1 + "name": "S", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 65.0 }, - "name": "CoutE", - "logicWidth": 1 + "name": "SN", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ { "id": "GUINandGate", "name": "GUINandGate#0", @@ -105,22 +115,28 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIand", + "name": "GUIand#0", "pos": { - "x": 54.0, - "y": 69.0 - }, - "params": 1 + "x": 10.0, + "y": 20.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUIand", + "name": "GUIand#1", "pos": { - "x": 49.0, - "y": 59.0 - }, - "params": 1 + "x": 135.0, + "y": 20.0 + } + }, + { + "id": "GUIfulladder", + "name": "GUIfulladder#0", + "pos": { + "x": 60.0, + "y": 20.0 + } }, { "id": "GUImux1", @@ -131,11 +147,11 @@ mograsim version: 0.1.3 } }, { - "id": "GUIand", - "name": "GUIand#0", + "id": "GUIxor", + "name": "GUIxor#0", "pos": { "x": 10.0, - "y": 20.0 + "y": 190.0 } }, { @@ -155,284 +171,264 @@ mograsim version: 0.1.3 } }, { - "id": "GUIfulladder", - "name": "GUIfulladder#0", - "pos": { - "x": 60.0, - "y": 20.0 - } - }, - { - "id": "GUIxor", - "name": "GUIxor#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { - "x": 10.0, - "y": 190.0 - } + "x": 49.0, + "y": 59.0 + }, + "params": 1 }, { - "id": "GUIand", - "name": "GUIand#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 135.0, - "y": 20.0 - } + "x": 54.0, + "y": 69.0 + }, + "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cin" }, "pin2": { - "compName": "GUIfulladder#0", - "pinName": "C" + "compName": "GUIand#0", + "pinName": "A" }, - "name": "unnamedWire#14", + "name": "unnamedWire#0", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "CoutE" + }, + "pin2": { + "compName": "GUIand#1", + "pinName": "A" + }, + "name": "unnamedWire#1", "path": [ { - "x": 55.0, - "y": 45.0 + "x": 5.0, + "y": 75.0 + }, + { + "x": 5.0, + "y": 10.0 + }, + { + "x": 130.0, + "y": 10.0 + }, + { + "x": 130.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "GUIxor#1", + "compName": "GUIxor#0", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#13", + "name": "unnamedWire#10", "path": [ { - "x": 55.0, - "y": 295.0 + "x": 50.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIfulladder#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I0" + "compName": "GUIfulladder#0", + "pinName": "B" }, - "name": "unnamedWire#16", + "name": "unnamedWire#11", "path": [ { - "x": 100.0, - "y": 25.0 - }, - { - "x": 100.0, - "y": 65.0 - }, - { - "x": 85.0, - "y": 65.0 - }, - { - "x": 85.0, - "y": 85.0 + "x": 50.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#15", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUIxor#1", "pinName": "Y" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I1" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#13", "path": [ { - "x": 82.5, - "y": 65.0 - }, - { - "x": 82.5, - "y": 95.0 + "x": 55.0, + "y": 295.0 } ] }, { "pin1": { - "compName": "GUIfulladder#0", - "pinName": "Z" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIand#1", - "pinName": "B" + "compName": "GUIfulladder#0", + "pinName": "C" }, - "name": "unnamedWire#17", - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 55.0, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "GUImux1#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIxor#2", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#19", + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" - }, - "pin2": { "compName": "GUIfulladder#0", - "pinName": "A" - }, - "name": "unnamedWire#9", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "L" + "pinName": "Y" }, "pin2": { "compName": "GUImux1#0", - "pinName": "S0" + "pinName": "I0" }, - "name": "unnamedWire#8", + "name": "unnamedWire#16", "path": [ { - "x": 87.5, - "y": 425.0 + "x": 100.0, + "y": 25.0 }, { - "x": 87.5, - "y": 75.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "FN" - }, - "pin2": { - "compName": "GUIxor#2", - "pinName": "B" - }, - "name": "unnamedWire#7", - "path": [ + "x": 100.0, + "y": 65.0 + }, { - "x": 130.0, - "y": 375.0 + "x": 85.0, + "y": 65.0 }, { - "x": 130.0, + "x": 85.0, "y": 85.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SN" + "compName": "GUIfulladder#0", + "pinName": "Z" }, "pin2": { - "compName": "GUIxor#1", + "compName": "GUIand#1", "pinName": "B" }, - "name": "unnamedWire#6" + "name": "unnamedWire#17", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "CoutE" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#1", - "pinName": "A" + "compName": "GUImux1#0", + "pinName": "I1" }, - "name": "unnamedWire#1", + "name": "unnamedWire#18", "path": [ { - "x": 5.0, - "y": 75.0 - }, - { - "x": 5.0, - "y": 10.0 - }, - { - "x": 130.0, - "y": 10.0 + "x": 82.5, + "y": 65.0 }, { - "x": 130.0, - "y": 25.0 + "x": 82.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Cin" + "compName": "GUImux1#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUIxor#2", "pinName": "A" }, - "name": "unnamedWire#0", + "name": "unnamedWire#19", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "S" + "pinName": "CinE" }, "pin2": { - "compName": "GUIxor#1", - "pinName": "A" + "compName": "GUIand#0", + "pinName": "B" }, - "name": "unnamedWire#5" + "name": "unnamedWire#2", + "path": [ + { + "x": 7.5, + "y": 125.0 + }, + { + "x": 7.5, + "y": 35.0 + } + ] }, { "pin1": { - "compName": "GUIxor#0", + "compName": "GUIand#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cout" }, - "name": "unnamedWire#10", - "path": [ - { - "x": 50.0, - "y": 195.0 - } - ] + "name": "unnamedWire#20", + "path": [] }, { "pin1": { @@ -449,88 +445,103 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "RN" + "pinName": "R" }, "pin2": { "compName": "GUIxor#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#4" + "name": "unnamedWire#3" }, { "pin1": { - "compName": "GUIand#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "RN" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cout" + "compName": "GUIxor#0", + "pinName": "B" }, - "name": "unnamedWire#20", - "path": [] + "name": "unnamedWire#4" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "R" + "pinName": "S" }, "pin2": { - "compName": "GUIxor#0", + "compName": "GUIxor#1", "pinName": "A" }, - "name": "unnamedWire#3" + "name": "unnamedWire#5" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "SN" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIxor#1", + "pinName": "B" }, - "name": "unnamedWire#12", - "path": [] + "name": "unnamedWire#6" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "CinE" + "pinName": "FN" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUIxor#2", "pinName": "B" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [ { - "x": 7.5, - "y": 125.0 + "x": 130.0, + "y": 375.0 }, { - "x": 7.5, - "y": 35.0 + "x": 130.0, + "y": 85.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "L" }, "pin2": { - "compName": "GUIfulladder#0", - "pinName": "B" + "compName": "GUImux1#0", + "pinName": "S0" }, - "name": "unnamedWire#11", + "name": "unnamedWire#8", "path": [ { - "x": 50.0, - "y": 35.0 + "x": 87.5, + "y": 425.0 + }, + { + "x": 87.5, + "y": 75.0 } ] + }, + { + "pin1": { + "compName": "GUIand#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIfulladder#0", + "pinName": "A" + }, + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -540,5 +551,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901DestDecode.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901DestDecode.json index 38f5fa63..0b2d6111 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901DestDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901DestDecode.json @@ -1,55 +1,60 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 60.0, "interfacePins": [ { "location": { - "x": 35.0, - "y": 45.0 + "x": 0.0, + "y": 25.0 }, - "name": "LSH", - "logicWidth": 1 + "name": "I6", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 5.0 + "x": 0.0, + "y": 15.0 }, - "name": "NSH", - "logicWidth": 1 + "name": "I7", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.0, - "y": 15.0 + "x": 0.0, + "y": 5.0 }, - "name": "RSH", - "logicWidth": 1 + "name": "I8", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 25.0 + "x": 35.0, + "y": 45.0 }, - "name": "I6", - "logicWidth": 1 + "name": "LSH", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 5.0 }, - "name": "YF", - "logicWidth": 1 + "name": "NSH", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 15.0 + "x": 35.0, + "y": 55.0 }, - "name": "I7", - "logicWidth": 1 + "name": "QWE", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -57,70 +62,73 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "RAMWE", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 55.0 + "y": 15.0 }, - "name": "QWE", - "logicWidth": 1 + "name": "RSH", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 35.0, + "y": 35.0 }, - "name": "I8", - "logicWidth": 1 + "name": "YF", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 15.0, - "y": 50.0 + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 74.0, - "y": 159.0 + "x": 15.0, + "y": 50.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#10", "pos": { - "x": 15.0, - "y": 10.0 + "x": 80.0, + "y": 145.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { - "x": 74.0, - "y": 104.0 + "x": 110.0, + "y": 105.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#12", "pos": { - "x": 15.0, - "y": 150.0 + "x": 115.0, + "y": 210.0 }, "params": 1 }, @@ -134,300 +142,313 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 109.0, - "y": 214.0 + "x": 15.0, + "y": 150.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 4.0, - "y": 14.0 + "x": 50.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 4.0, - "y": 19.0 + "x": 50.0, + "y": 50.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 9.0, - "y": 59.0 + "x": 50.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 4.0, - "y": 24.0 + "x": 50.0, + "y": 130.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 9.0, - "y": 104.0 + "x": 80.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { - "x": 9.0, - "y": 64.0 + "x": 80.0, + "y": 90.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#0", "pos": { - "x": 39.0, - "y": 59.0 + "x": 4.0, + "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, - "y": 154.0 + "y": 14.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#10", "pos": { - "x": 44.0, - "y": 54.0 + "x": 39.0, + "y": 134.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#11", "pos": { - "x": 44.0, + "x": 74.0, "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#12", "pos": { - "x": 39.0, - "y": 134.0 + "x": 74.0, + "y": 99.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#13", "pos": { "x": 74.0, - "y": 99.0 + "y": 104.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#14", "pos": { "x": 74.0, - "y": 19.0 + "y": 159.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 115.0, - "y": 210.0 + "x": 109.0, + "y": 214.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#11", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 110.0, - "y": 105.0 + "x": 4.0, + "y": 24.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#10", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 80.0, - "y": 145.0 + "x": 9.0, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 80.0, - "y": 90.0 + "x": 9.0, + "y": 64.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 80.0, - "y": 10.0 + "x": 9.0, + "y": 104.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 50.0, - "y": 50.0 + "x": 4.0, + "y": 154.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { - "x": 50.0, - "y": 10.0 + "x": 39.0, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { - "x": 50.0, - "y": 130.0 + "x": 44.0, + "y": 19.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 50.0, - "y": 90.0 + "x": 44.0, + "y": 54.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I8" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#14", - "path": [ - { - "x": 5.0, - "y": 165.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "LSH" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#36", - "path": [ - { - "x": 125.0, - "y": 140.0 - }, - { - "x": 125.0, - "y": 180.0 - } - ] + "name": "unnamedWire#1", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#13", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#35", - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 5.0, + "y": 95.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I6" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#16", - "path": [] + "name": "unnamedWire#12", + "path": [ + { + "x": 5.0, + "y": 100.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#38", + "name": "unnamedWire#13", "path": [] }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#14", + "path": [ + { + "x": 5.0, + "y": 165.0 + } + ] + }, { "pin1": { "compName": "WireCrossPoint#1", @@ -455,20 +476,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "A" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#37", - "path": [ - { - "x": 75.0, - "y": 150.0 - } - ] + "name": "unnamedWire#16", + "path": [] }, { "pin1": { @@ -476,14 +492,14 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#4", "pinName": "B" }, - "name": "unnamedWire#18", + "name": "unnamedWire#17", "path": [ { "x": 40.0, - "y": 65.0 + "y": 25.0 } ] }, @@ -493,29 +509,17 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#17", + "name": "unnamedWire#18", "path": [ { "x": 40.0, - "y": 25.0 + "y": 65.0 } ] }, - { - "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#10", - "pinName": "B" - }, - "name": "unnamedWire#39", - "path": [] - }, { "pin1": { "compName": "GUINandGate#0", @@ -530,33 +534,38 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", - "pinName": "A" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#41" + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { "compName": "_submodelinterface", - "pinName": "RSH" + "pinName": "NSH" }, - "name": "unnamedWire#40", + "name": "unnamedWire#20", "path": [ { - "x": 130.0, - "y": 20.0 + "x": 45.0, + "y": 5.0 }, { - "x": 130.0, - "y": 60.0 + "x": 135.0, + "y": 5.0 + }, + { + "x": 135.0, + "y": 20.0 } ] }, @@ -574,503 +583,503 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, - "name": "unnamedWire#43", - "path": [ - { - "x": 110.0, - "y": 155.0 - } - ] + "name": "unnamedWire#22", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "NSH" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#20", + "name": "unnamedWire#23", "path": [ { "x": 45.0, - "y": 5.0 - }, - { - "x": 135.0, - "y": 5.0 - }, - { - "x": 135.0, - "y": 20.0 + "y": 95.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#42", + "name": "unnamedWire#24", "path": [ { - "x": 75.0, - "y": 170.0 + "x": 10.0, + "y": 115.0 }, { - "x": 105.0, - "y": 170.0 + "x": 45.0, + "y": 115.0 }, { - "x": 105.0, - "y": 120.0 + "x": 45.0, + "y": 105.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#25", "path": [ { - "x": 45.0, - "y": 95.0 + "x": 40.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#7", + "pinName": "A" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#45", + "name": "unnamedWire#27", "path": [ { - "x": 110.0, - "y": 225.0 + "x": 40.0, + "y": 145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "A" + "compName": "WireCrossPoint#11", + "pinName": "" }, - "name": "unnamedWire#22", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#8", "pinName": "A" }, - "name": "unnamedWire#44", - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "name": "unnamedWire#25", + "name": "unnamedWire#29", "path": [ { - "x": 40.0, - "y": 100.0 + "x": 75.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "GUINandGate#12", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QWE" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#47", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#8", "pinName": "B" }, - "name": "unnamedWire#24", + "name": "unnamedWire#30", "path": [ { - "x": 10.0, - "y": 115.0 - }, - { - "x": 45.0, - "y": 115.0 - }, - { - "x": 45.0, - "y": 105.0 + "x": 75.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "YF" - }, - "name": "unnamedWire#46" - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "pinName": "RAMWE" }, - "name": "unnamedWire#27", + "name": "unnamedWire#31", "path": [ { - "x": 40.0, - "y": 145.0 + "x": 125.0, + "y": 60.0 + }, + { + "x": 125.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#26", + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#9", "pinName": "A" }, - "name": "unnamedWire#29", + "name": "unnamedWire#33", "path": [ { "x": 75.0, - "y": 15.0 + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "name": "unnamedWire#28", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#13", "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#9", "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "LSH" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#36", + "path": [ + { + "x": 125.0, + "y": 140.0 + }, + { + "x": 125.0, + "y": 180.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#10", "pinName": "A" }, - "name": "unnamedWire#6", + "name": "unnamedWire#37", "path": [ { - "x": 10.0, - "y": 55.0 + "x": 75.0, + "y": 150.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I8" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "B" }, - "name": "unnamedWire#0", + "name": "unnamedWire#39", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#0", "pinName": "B" }, - "name": "unnamedWire#30", + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "RSH" + }, + "name": "unnamedWire#40", "path": [ { - "x": 75.0, - "y": 25.0 + "x": 130.0, + "y": 20.0 + }, + { + "x": 130.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I7" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "A" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#41" }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#11", "pinName": "B" }, - "name": "unnamedWire#10", - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 75.0, + "y": 170.0 + }, + { + "x": 105.0, + "y": 170.0 + }, + { + "x": 105.0, + "y": 120.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#10", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#15", "pinName": "" }, - "name": "unnamedWire#32", - "path": [] + "name": "unnamedWire#43", + "path": [ + { + "x": 110.0, + "y": 155.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#12", + "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RAMWE" + "compName": "GUINandGate#12", + "pinName": "B" }, - "name": "unnamedWire#31", + "name": "unnamedWire#45", "path": [ { - "x": 125.0, - "y": 60.0 - }, - { - "x": 125.0, - "y": 100.0 + "x": 110.0, + "y": 225.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "YF" }, - "name": "unnamedWire#3", + "name": "unnamedWire#46" + }, + { + "pin1": { + "compName": "GUINandGate#12", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QWE" + }, + "name": "unnamedWire#47", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I6" + "pinName": "I7" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 5.0, - "y": 100.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#34", - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 10.0, + "y": 55.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#11", - "path": [ - { - "x": 5.0, - "y": 95.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#33", - "path": [ - { - "x": 75.0, - "y": 95.0 - } - ] + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1080,5 +1089,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json index cb28db67..112fecb7 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json @@ -1,23 +1,15 @@ -mograsim version: 0.1.3 { "width": 35.0, "height": 50.0, "interfacePins": [ - { - "location": { - "x": 35.0, - "y": 45.0 - }, - "name": "RD", - "logicWidth": 1 - }, { "location": { "x": 0.0, "y": 25.0 }, "name": "I0", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,7 +17,8 @@ mograsim version: 0.1.3 "y": 15.0 }, "name": "I1", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -33,31 +26,35 @@ mograsim version: 0.1.3 "y": 5.0 }, "name": "I2", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 35.0, - "y": 5.0 + "y": 15.0 }, - "name": "SQ", - "logicWidth": 1 + "name": "RA", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 35.0 + "y": 45.0 }, - "name": "SA", - "logicWidth": 1 + "name": "RD", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 35.0, - "y": 15.0 + "y": 35.0 }, - "name": "RA", - "logicWidth": 1 + "name": "SA", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,162 +62,172 @@ mograsim version: 0.1.3 "y": 25.0 }, "name": "SB", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" + }, + { + "location": { + "x": 35.0, + "y": 5.0 + }, + "name": "SQ", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.25, "submodel": { - "innerScale": 0.25, - "subComps": [ + "components": [ { "id": "GUINandGate", - "name": "GUINandGate#1", + "name": "GUINandGate#0", "pos": { "x": 10.0, - "y": 50.0 + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 94.0, - "y": 19.0 + "x": 10.0, + "y": 50.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#10", "pos": { - "x": 10.0, - "y": 10.0 + "x": 70.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { - "x": 64.0, - "y": 139.0 + "x": 70.0, + "y": 130.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#3", + "name": "GUINandGate#12", "pos": { - "x": 40.0, - "y": 10.0 + "x": 70.0, + "y": 170.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#13", "pos": { - "x": 10.0, - "y": 90.0 + "x": 100.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUINandGate", + "name": "GUINandGate#14", "pos": { - "x": 94.0, - "y": 179.0 + "x": 100.0, + "y": 170.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 6.5, - "y": 19.0 + "x": 10.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { - "x": 4.0, - "y": 19.0 + "x": 40.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 6.5, - "y": 59.0 + "x": 40.0, + "y": 50.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 4.0, - "y": 144.0 + "x": 40.0, + "y": 90.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 6.5, - "y": 104.0 + "x": 40.0, + "y": 130.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 6.5, - "y": 99.0 + "x": 40.0, + "y": 170.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 34.0, - "y": 59.0 + "x": 70.0, + "y": 10.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { - "x": 31.5, - "y": 54.0 + "x": 70.0, + "y": 50.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#0", "pos": { - "x": 34.0, - "y": 134.0 + "x": 4.0, + "y": 19.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#8", + "name": "WireCrossPoint#1", "pos": { - "x": 34.0, - "y": 64.0 + "x": 6.5, + "y": 19.0 }, "params": 1 }, @@ -235,481 +242,472 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "name": "WireCrossPoint#11", "pos": { "x": 64.0, - "y": 99.0 + "y": 59.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "name": "WireCrossPoint#12", "pos": { "x": 64.0, - "y": 59.0 + "y": 99.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { - "x": 70.0, - "y": 170.0 + "x": 64.0, + "y": 139.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#11", + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { - "x": 70.0, - "y": 130.0 + "x": 94.0, + "y": 19.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#14", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 100.0, - "y": 170.0 + "x": 94.0, + "y": 179.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#13", + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { - "x": 100.0, - "y": 10.0 + "x": 4.0, + "y": 144.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#10", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 70.0, - "y": 90.0 + "x": 6.5, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { - "x": 70.0, - "y": 50.0 + "x": 6.5, + "y": 99.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 70.0, - "y": 10.0 + "x": 6.5, + "y": 104.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 40.0, - "y": 90.0 + "x": 31.5, + "y": 54.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { - "x": 40.0, - "y": 50.0 + "x": 34.0, + "y": 59.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { - "x": 40.0, - "y": 170.0 + "x": 34.0, + "y": 64.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 40.0, - "y": 130.0 + "x": 34.0, + "y": 134.0 }, "params": 1 } ], - "innerWires": [ + "wires": [ { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I2" }, "pin2": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#0", "pinName": "" }, - "name": "unnamedWire#36", + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "B" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#35", + "name": "unnamedWire#1", "path": [ { - "x": 65.0, - "y": 105.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#11", - "pinName": "B" - }, - "name": "unnamedWire#38", - "path": [ + "x": 5.0, + "y": 5.0 + }, { - "x": 65.0, - "y": 145.0 + "x": 35.0, + "y": 5.0 + }, + { + "x": 35.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#37", + "name": "unnamedWire#10", "path": [ { - "x": 65.0, - "y": 135.0 + "x": 7.5, + "y": 65.0 } ] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "I0" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "A" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#39" + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#13", + "compName": "GUINandGate#2", "pinName": "A" }, - "name": "unnamedWire#41", + "name": "unnamedWire#12", "path": [ { - "x": 95.0, - "y": 15.0 + "x": 7.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RA" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#43", + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#13", + "compName": "GUINandGate#5", "pinName": "B" }, - "name": "unnamedWire#42", + "name": "unnamedWire#15", "path": [ { - "x": 95.0, - "y": 25.0 + "x": 7.5, + "y": 112.5 + }, + { + "x": 32.5, + "y": 112.5 + }, + { + "x": 32.5, + "y": 105.0 } ] }, { "pin1": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SA" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#45", - "path": [] + "name": "unnamedWire#16", + "path": [ + { + "x": 32.5, + "y": 20.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SB" + "compName": "GUINandGate#4", + "pinName": "A" }, - "name": "unnamedWire#44", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#14", + "compName": "GUINandGate#5", "pinName": "A" }, - "name": "unnamedWire#47", + "name": "unnamedWire#18", "path": [ { - "x": 95.0, - "y": 175.0 + "x": 32.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#46", + "name": "unnamedWire#19", "path": [] }, { "pin1": { - "compName": "GUINandGate#13", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SQ" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#49", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#14", + "compName": "GUINandGate#3", "pinName": "B" }, - "name": "unnamedWire#48", + "name": "unnamedWire#20", "path": [ { - "x": 95.0, - "y": 185.0 + "x": 35.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#9", - "path": [ - { - "x": 7.5, - "y": 55.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, - "name": "unnamedWire#8", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "B" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#7", - "path": [ - { - "x": 5.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 185.0 - } - ] + "name": "unnamedWire#23", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { "compName": "GUINandGate#6", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#6", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#7", "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#25", "path": [ - { - "x": 5.0, - "y": 5.0 - }, - { - "x": 35.0, - "y": 5.0 - }, { "x": 35.0, - "y": 15.0 + "y": 175.0 } ] }, { "pin1": { - "compName": "GUINandGate#14", + "compName": "GUINandGate#2", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RD" - }, - "name": "unnamedWire#50", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I2" - }, - "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#10", "pinName": "" }, - "name": "unnamedWire#0", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#8", + "pinName": "B" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#27", + "path": [ + { + "x": 37.5, + "y": 35.0 + }, + { + "x": 65.0, + "y": 35.0 + }, + { + "x": 65.0, + "y": 25.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#7", "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#28", "path": [ { - "x": 7.5, - "y": 65.0 + "x": 37.5, + "y": 185.0 } ] }, + { + "pin1": { + "compName": "GUINandGate#3", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "A" + }, + "name": "unnamedWire#29" + }, { "pin1": { "compName": "WireCrossPoint#1", @@ -717,404 +715,414 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, - "name": "unnamedWire#4", + "name": "unnamedWire#3", "path": [ { "x": 7.5, - "y": 25.0 + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "GUINandGate#4", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#30", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#9", "pinName": "A" }, - "name": "unnamedWire#3", + "name": "unnamedWire#31", "path": [ { - "x": 7.5, - "y": 15.0 + "x": 65.0, + "y": 55.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#9", + "pinName": "B" }, - "name": "unnamedWire#12", + "name": "unnamedWire#32", "path": [ { - "x": 7.5, - "y": 95.0 + "x": 65.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#12", "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I0" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "A" }, - "name": "unnamedWire#11", - "path": [] + "name": "unnamedWire#34", + "path": [ + { + "x": 65.0, + "y": 95.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#10", "pinName": "B" }, - "name": "unnamedWire#14", - "path": [] + "name": "unnamedWire#35", + "path": [ + { + "x": 65.0, + "y": 105.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#13", "pinName": "" }, - "name": "unnamedWire#13", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "A" }, - "name": "unnamedWire#16", + "name": "unnamedWire#37", "path": [ { - "x": 32.5, - "y": 20.0 + "x": 65.0, + "y": 135.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#11", "pinName": "B" }, - "name": "unnamedWire#15", + "name": "unnamedWire#38", "path": [ { - "x": 7.5, - "y": 112.5 - }, - { - "x": 32.5, - "y": 112.5 - }, - { - "x": 32.5, - "y": 105.0 + "x": 65.0, + "y": 145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#12", "pinName": "A" }, - "name": "unnamedWire#18", - "path": [ - { - "x": 32.5, - "y": 95.0 - } - ] + "name": "unnamedWire#39" }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#17", - "path": [] + "name": "unnamedWire#4", + "path": [ + { + "x": 7.5, + "y": 25.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#8", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#19", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#13", + "pinName": "A" }, - "name": "unnamedWire#21", - "path": [] + "name": "unnamedWire#41", + "path": [ + { + "x": 95.0, + "y": 15.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#13", "pinName": "B" }, - "name": "unnamedWire#20", + "name": "unnamedWire#42", "path": [ { - "x": 35.0, + "x": 95.0, "y": 25.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "RA" }, - "name": "unnamedWire#23", + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "SB" }, - "name": "unnamedWire#22", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "SA" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 35.0, - "y": 175.0 - } - ] + "name": "unnamedWire#45", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#12", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#24", + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "B" + "compName": "GUINandGate#14", + "pinName": "A" }, - "name": "unnamedWire#27", + "name": "unnamedWire#47", "path": [ { - "x": 37.5, - "y": 35.0 - }, - { - "x": 65.0, - "y": 35.0 - }, - { - "x": 65.0, - "y": 25.0 + "x": 95.0, + "y": 175.0 } ] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUINandGate#14", + "pinName": "B" }, - "name": "unnamedWire#26", - "path": [] + "name": "unnamedWire#48", + "path": [ + { + "x": 95.0, + "y": 185.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#13", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "SQ" }, - "name": "unnamedWire#29" + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#28", - "path": [ - { - "x": 37.5, - "y": 185.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#14", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "RD" }, - "name": "unnamedWire#30", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#6", "pinName": "B" }, - "name": "unnamedWire#32", - "path": [ - { - "x": 65.0, - "y": 65.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "A" + "compName": "GUINandGate#12", + "pinName": "B" }, - "name": "unnamedWire#31", + "name": "unnamedWire#7", "path": [ + { + "x": 5.0, + "y": 195.0 + }, { "x": 65.0, - "y": 55.0 + "y": 195.0 + }, + { + "x": 65.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "A" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#34", - "path": [ - { - "x": 65.0, - "y": 95.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#33", - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 7.5, + "y": 55.0 + } + ] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1124,5 +1132,7 @@ mograsim version: 0.1.3 "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 }, - "outlineRendererSnippetID": "default" + "outlineRendererSnippetID": "default", + "highLevelStateHandlerSnippetID": "default", + "version": "0.1.5" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json index dd1723b0..82d233c7 100644 --- a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904.json @@ -5,466 +5,495 @@ { "location": { "x": 0.0, - "y": 25.0 + "y": 5.0 }, - "name": "IOVR", - "logicWidth": 1 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 30.0 + "x": 120.0, + "y": 108.0 }, - "name": "_CEM", - "logicWidth": 1 + "name": "C0", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 120.0, + "y": 60.0 }, - "name": "C", - "logicWidth": 1 + "name": "CT", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 61.0 + "y": 110.0 }, - "name": "I", - "logicWidth": 13 + "name": "Cx", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 40.0 + "y": 61.0 }, - "name": "_EN", - "logicWidth": 1 + "name": "I", + "logicWidth": 13, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 17.0 + "x": 0.0, + "y": 15.0 }, - "name": "YC", - "logicWidth": 1 + "name": "IC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 108.0 + "x": 0.0, + "y": 20.0 }, - "name": "C0", - "logicWidth": 1 + "name": "IN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 36.0 + "y": 25.0 }, - "name": "_EZ", - "logicWidth": 1 + "name": "IOVR", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 110.0 + "y": 10.0 }, - "name": "Cx", - "logicWidth": 1 + "name": "IZ", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 120.0, - "y": 21.0 + "y": 128.0 }, - "name": "YN", - "logicWidth": 1 + "name": "QIO0", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { "x": 0.0, - "y": 15.0 + "y": 128.0 }, - "name": "IC", - "logicWidth": 1 + "name": "QIOn", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 0.0, - "y": 42.0 + "x": 120.0, + "y": 118.0 }, - "name": "_EOVR", - "logicWidth": 1 + "name": "SIO0", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 120.0, - "y": 11.0 + "x": 0.0, + "y": 119.0 }, - "name": "YZ", - "logicWidth": 1 + "name": "SIOn", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 0.0, - "y": 20.0 + "x": 120.0, + "y": 17.0 }, - "name": "IN", - "logicWidth": 1 + "name": "YC", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 61.0, - "y": 0.0 + "x": 120.0, + "y": 21.0 }, - "name": "_OEY", - "logicWidth": 1 + "name": "YN", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { - "x": 0.0, - "y": 83.0 + "x": 120.0, + "y": 25.0 }, - "name": "_SE", - "logicWidth": 1 + "name": "YOVR", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { "x": 120.0, - "y": 118.0 + "y": 11.0 }, - "name": "SIO0", - "logicWidth": 1 + "name": "YZ", + "logicWidth": 1, + "usage": "TRISTATE" }, { "location": { "x": 0.0, - "y": 10.0 + "y": 30.0 }, - "name": "IZ", - "logicWidth": 1 + "name": "_CEM", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 60.0 + "x": 0.0, + "y": 33.0 }, - "name": "CT", - "logicWidth": 1 + "name": "_CEmu", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 128.0 + "y": 38.0 }, - "name": "QIOn", - "logicWidth": 1 + "name": "_EC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 119.0 + "y": 40.0 }, - "name": "SIOn", - "logicWidth": 1 + "name": "_EN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 33.0 + "y": 42.0 }, - "name": "_CEmu", - "logicWidth": 1 + "name": "_EOVR", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 51.0 + "x": 0.0, + "y": 36.0 }, - "name": "_OECT", - "logicWidth": 1 + "name": "_EZ", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 120.0, - "y": 25.0 + "y": 51.0 }, - "name": "YOVR", - "logicWidth": 1 + "name": "_OECT", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 120.0, - "y": 128.0 + "x": 61.0, + "y": 0.0 }, - "name": "QIO0", - "logicWidth": 1 + "name": "_OEY", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { "x": 0.0, - "y": 38.0 + "y": 83.0 }, - "name": "_EC", - "logicWidth": 1 + "name": "_SE", + "logicWidth": 1, + "usage": "INPUT" } ], "innerScale": 0.2, "submodel": { "components": [ { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "GUIAm2904MSR", + "name": "DeserializedSubmodelComponent#0", "pos": { - "x": 130.0, - "y": 5.0 - }, - "params": 1 + "x": 225.0, + "y": 95.0 + } }, { - "id": "GUINandGate", - "name": "GUINandGate#10", + "id": "GUIAm2904muSR", + "name": "DeserializedSubmodelComponent#1", "pos": { - "x": 340.0, - "y": 120.0 - }, - "params": 1 + "x": 270.0, + "y": 250.0 + } }, { "id": "GUIxor", - "name": "DeserializedSubmodelComponent#21", + "name": "DeserializedSubmodelComponent#10", "pos": { - "x": 250.0, - "y": 820.0 + "x": 455.0, + "y": 355.0 } }, { - "id": "GUImux2", - "name": "DeserializedSubmodelComponent#15", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#11", "pos": { - "x": 435.0, - "y": 575.0 + "x": 265.0, + "y": 515.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#12", "pos": { - "x": 330.0, - "y": 125.0 - }, - "params": 1 + "x": 315.0, + "y": 505.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#27", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#13", "pos": { - "x": 440.0, - "y": 385.0 - }, - "params": 1 + "x": 365.0, + "y": 485.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#14", "pos": { - "x": 120.0, - "y": 15.0 - }, - "params": 1 + "x": 415.0, + "y": 465.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#15", "pos": { - "x": 35.0, - "y": 640.0 - }, - "params": 1 + "x": 435.0, + "y": 575.0 + } }, { - "id": "GUIAm2904ShiftInstrDecode", - "name": "GUIAm2904ShiftInstrDecode#0", + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#16", "pos": { - "x": 50.0, - "y": 360.0 + "x": 435.0, + "y": 655.0 } }, { - "id": "GUISplitter", - "name": "GUISplitter#6", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#17", "pos": { - "x": 285.0, - "y": 320.0 - }, - "params": 3 + "x": 190.0, + "y": 460.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#18", "pos": { - "x": 195.0, - "y": 35.0 - }, - "params": 1 + "x": 135.0, + "y": 470.0 + } }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#12", + "id": "GUIand", + "name": "DeserializedSubmodelComponent#2", "pos": { - "x": 315.0, - "y": 505.0 + "x": 380.0, + "y": 125.0 } }, { - "id": "GUIAm2904TestLogic", - "name": "DeserializedSubmodelComponent#6", + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#21", "pos": { - "x": 225.0, - "y": 340.0 + "x": 250.0, + "y": 820.0 } }, { - "id": "GUImux3", - "name": "DeserializedSubmodelComponent#7", + "id": "GUImux2", + "name": "DeserializedSubmodelComponent#22", + "pos": { + "x": 120.0, + "y": 720.0 + } + }, + { + "id": "GUImux3", + "name": "DeserializedSubmodelComponent#23", "pos": { "x": 300.0, - "y": 310.0 + "y": 715.0 } }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#3", "pos": { - "x": 530.0, - "y": 70.0 - }, - "params": 4 + "x": 470.0, + "y": 160.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#22", + "id": "GUInot4", + "name": "DeserializedSubmodelComponent#4", "pos": { - "x": 250.0, - "y": 540.0 - }, - "params": 1 + "x": 135.0, + "y": 40.0 + } }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#14", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#5", "pos": { "x": 415.0, - "y": 465.0 + "y": 210.0 } }, { - "id": "GUINandGate", - "name": "GUINandGate#7", + "id": "GUIAm2904TestLogic", + "name": "DeserializedSubmodelComponent#6", "pos": { - "x": 205.0, - "y": 50.0 - }, - "params": 1 + "x": 225.0, + "y": 340.0 + } }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#17", + "id": "GUImux3", + "name": "DeserializedSubmodelComponent#7", "pos": { - "x": 190.0, - "y": 460.0 + "x": 300.0, + "y": 310.0 } }, { - "id": "GUISplitter", - "name": "GUISplitter#11", + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#8", "pos": { - "x": 405.0, - "y": 575.0 - }, - "params": 3 + "x": 495.0, + "y": 295.0 + } }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#10", + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#9", "pos": { - "x": 455.0, - "y": 355.0 + "x": 450.0, + "y": 310.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "id": "GUIAm2904RegCTInstrDecode", + "name": "GUIAm2904RegCTInstrDecode#0", "pos": { - "x": 150.0, - "y": 160.0 - }, - "params": 1 + "x": 50.0, + "y": 240.0 + } }, { - "id": "GUInot4", - "name": "DeserializedSubmodelComponent#4", + "id": "GUIAm2904ShiftInstrDecode", + "name": "GUIAm2904ShiftInstrDecode#0", "pos": { - "x": 135.0, - "y": 40.0 + "x": 50.0, + "y": 360.0 } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#30", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#0", "pos": { - "x": 550.0, - "y": 570.0 + "x": 530.0, + "y": 70.0 }, - "params": 1 + "params": 4 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#2", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#1", "pos": { - "x": 10.0, - "y": 605.0 + "x": 565.0, + "y": 180.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 4 }, { - "id": "GUIAm2904muSR", - "name": "DeserializedSubmodelComponent#1", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#2", "pos": { - "x": 270.0, - "y": 250.0 - } + "x": 530.0, + "y": 200.0 + }, + "params": 4 }, { - "id": "GUISplitter", - "name": "GUISplitter#7", + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#3", "pos": { - "x": 420.0, - "y": 325.0 + "x": 560.0, + "y": 150.0 }, - "params": 4 + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "id": "GUIMerger", + "name": "GUIMerger#0", "pos": { - "x": 255.0, - "y": 265.0 + "x": 25.0, + "y": 245.0 }, - "params": 4 + "params": 6 }, { - "id": "GUIAm2904RegCTInstrDecode", - "name": "GUIAm2904RegCTInstrDecode#0", + "id": "GUIMerger", + "name": "GUIMerger#1", "pos": { - "x": 50.0, - "y": 240.0 - } + "x": 25.0, + "y": 305.0 + }, + "params": 5 + }, + { + "id": "GUIMerger", + "name": "GUIMerger#2", + "pos": { + "x": 15.0, + "y": 65.0 + }, + "params": 4 }, { "id": "GUIMerger", @@ -476,127 +505,130 @@ "params": 4 }, { - "id": "GUISplitter", - "name": "GUISplitter#10", + "id": "GUIMerger", + "name": "GUIMerger#4", "pos": { - "x": 420.0, - "y": 410.0 + "x": 25.0, + "y": 355.0 }, - "params": 4 + "params": 2 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#33", + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { - "x": 530.0, - "y": 270.0 + "x": 190.0, + "y": 145.0 }, "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#3", + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { - "x": 560.0, - "y": 595.0 + "x": 130.0, + "y": 5.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", + "id": "GUINandGate", + "name": "GUINandGate#10", "pos": { - "x": 195.0, - "y": 15.0 + "x": 340.0, + "y": 120.0 }, "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "GUINandGate", + "name": "GUINandGate#12", "pos": { - "x": 10.0, - "y": 245.0 + "x": 540.0, + "y": 265.0 }, - "params": 13 + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 215.0, - "y": 180.0 + "x": 225.0, + "y": 195.0 }, "params": 1 }, { "id": "GUINandGate", - "name": "GUINandGate#5", + "name": "GUINandGate#3", "pos": { "x": 225.0, - "y": 175.0 + "y": 215.0 }, "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { - "x": 565.0, - "y": 180.0 + "x": 225.0, + "y": 155.0 }, - "params": 4 + "params": 1 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 530.0, - "y": 200.0 + "x": 225.0, + "y": 175.0 }, - "params": 4 + "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#21", + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { - "x": 585.0, - "y": 640.0 + "x": 205.0, + "y": 70.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { - "x": 255.0, - "y": 255.0 + "x": 205.0, + "y": 50.0 }, - "params": 4 + "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#5", + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { - "x": 560.0, - "y": 290.0 + "x": 205.0, + "y": 30.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 + }, + { + "id": "GUINandGate", + "name": "GUINandGate#9", + "pos": { + "x": 205.0, + "y": 10.0 + }, + "params": 1 }, { "id": "GUISplitter", - "name": "GUISplitter#14", + "name": "GUISplitter#0", "pos": { - "x": 90.0, - "y": 720.0 + "x": 10.0, + "y": 245.0 }, - "params": 3 + "params": 13 }, { "id": "GUISplitter", @@ -608,75 +640,112 @@ "params": 4 }, { - "id": "GUINandGate", - "name": "GUINandGate#2", + "id": "GUISplitter", + "name": "GUISplitter#10", "pos": { - "x": 225.0, - "y": 195.0 + "x": 420.0, + "y": 410.0 }, - "params": 1 + "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#3", + "name": "GUISplitter#11", "pos": { - "x": 450.0, - "y": 175.0 + "x": 405.0, + "y": 575.0 }, - "params": 4 + "params": 3 }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "GUISplitter", + "name": "GUISplitter#12", "pos": { - "x": 190.0, - "y": 145.0 + "x": 405.0, + "y": 655.0 }, - "params": 1 + "params": 3 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#13", + "pos": { + "x": 265.0, + "y": 725.0 + }, + "params": 3 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#14", + "pos": { + "x": 90.0, + "y": 720.0 + }, + "params": 3 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#15", + "pos": { + "x": 120.0, + "y": 455.0 + }, + "params": 2 + }, + { + "id": "GUISplitter", + "name": "GUISplitter#2", + "pos": { + "x": 395.0, + "y": 195.0 + }, + "params": 2 }, { "id": "GUISplitter", - "name": "GUISplitter#9", + "name": "GUISplitter#3", "pos": { - "x": 240.0, - "y": 475.0 + "x": 450.0, + "y": 175.0 }, "params": 4 }, { "id": "GUISplitter", - "name": "GUISplitter#13", + "name": "GUISplitter#4", "pos": { - "x": 265.0, - "y": 725.0 + "x": 395.0, + "y": 225.0 }, - "params": 3 + "params": 4 }, { - "id": "GUIMerger", - "name": "GUIMerger#2", + "id": "GUISplitter", + "name": "GUISplitter#5", "pos": { - "x": 15.0, - "y": 65.0 + "x": 395.0, + "y": 265.0 }, "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#24", + "id": "GUISplitter", + "name": "GUISplitter#6", "pos": { "x": 285.0, - "y": 725.0 + "y": 320.0 }, - "params": 1 + "params": 3 }, { - "id": "GUIAm2904MSR", - "name": "DeserializedSubmodelComponent#0", + "id": "GUISplitter", + "name": "GUISplitter#7", "pos": { - "x": 225.0, - "y": 95.0 - } + "x": 420.0, + "y": 325.0 + }, + "params": 4 }, { "id": "GUISplitter", @@ -688,55 +757,24 @@ "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 215.0, - "y": 160.0 - }, - "params": 1 - }, - { - "id": "GUImux3", - "name": "DeserializedSubmodelComponent#23", - "pos": { - "x": 300.0, - "y": 715.0 - } - }, - { - "id": "GUIMerger", - "name": "GUIMerger#4", - "pos": { - "x": 25.0, - "y": 355.0 - }, - "params": 2 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUISplitter", + "name": "GUISplitter#9", "pos": { - "x": 335.0, - "y": 270.0 + "x": 240.0, + "y": 475.0 }, "params": 4 }, { - "id": "GUIMerger", - "name": "GUIMerger#0", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#0", "pos": { - "x": 25.0, - "y": 245.0 + "x": 535.0, + "y": 165.0 }, - "params": 6 - }, - { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#9", - "pos": { - "x": 450.0, - "y": 310.0 + "params": { + "logicWidth": 4, + "orientation": "RIGHT" } }, { @@ -752,161 +790,149 @@ } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", - "pos": { - "x": 530.0, - "y": 100.0 - }, - "params": 4 - }, - { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 225.0, - "y": 155.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#2", "pos": { - "x": 295.0, - "y": 120.0 + "x": 10.0, + "y": 605.0 }, - "params": 4 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { - "id": "GUISplitter", - "name": "GUISplitter#2", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#3", "pos": { - "x": 395.0, - "y": 195.0 + "x": 560.0, + "y": 595.0 }, - "params": 2 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" + } }, { - "id": "GUISplitter", - "name": "GUISplitter#5", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#4", "pos": { - "x": 395.0, - "y": 265.0 + "x": 565.0, + "y": 655.0 }, - "params": 4 - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#3", - "pos": { - "x": 470.0, - "y": 160.0 + "params": { + "logicWidth": 1, + "orientation": "RIGHT" } }, { - "id": "GUImux2", - "name": "DeserializedSubmodelComponent#16", + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#5", "pos": { - "x": 435.0, - "y": 655.0 + "x": 560.0, + "y": 290.0 + }, + "params": { + "logicWidth": 1, + "orientation": "RIGHT" } }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#28", + "name": "WireCrossPoint#0", "pos": { - "x": 440.0, - "y": 345.0 + "x": 165.0, + "y": 150.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#17", + "name": "WireCrossPoint#1", "pos": { - "x": 360.0, - "y": 495.0 + "x": 180.0, + "y": 135.0 }, - "params": 1 + "params": 4 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#26", + "name": "WireCrossPoint#10", "pos": { - "x": 290.0, - "y": 805.0 + "x": 195.0, + "y": 55.0 }, "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#15", + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { - "x": 120.0, - "y": 455.0 + "x": 195.0, + "y": 15.0 }, - "params": 2 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#12", "pos": { - "x": 165.0, - "y": 150.0 + "x": 195.0, + "y": 35.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#13", "pos": { - "x": 215.0, - "y": 200.0 + "x": 330.0, + "y": 125.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { - "x": 205.0, - "y": 30.0 + "x": 520.0, + "y": 190.0 }, - "params": 1 + "params": 4 }, { - "id": "GUISplitter", - "name": "GUISplitter#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 395.0, - "y": 225.0 + "x": 255.0, + "y": 265.0 }, "params": 4 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#11", + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { - "x": 265.0, - "y": 515.0 - } + "x": 255.0, + "y": 255.0 + }, + "params": 4 }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", + "id": "WireCrossPoint", + "name": "WireCrossPoint#17", "pos": { - "x": 560.0, - "y": 150.0 + "x": 360.0, + "y": 495.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#3", - "pos": { - "x": 225.0, - "y": 215.0 + "id": "WireCrossPoint", + "name": "WireCrossPoint#18", + "pos": { + "x": 35.0, + "y": 640.0 }, "params": 1 }, @@ -921,181 +947,181 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#14", + "name": "WireCrossPoint#2", "pos": { - "x": 520.0, - "y": 190.0 + "x": 295.0, + "y": 120.0 }, "params": 4 }, { - "id": "GUINandGate", - "name": "GUINandGate#9", + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { - "x": 205.0, - "y": 10.0 + "x": 585.0, + "y": 590.0 }, "params": 1 }, { - "id": "GUIand", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { - "x": 380.0, - "y": 125.0 - } + "x": 585.0, + "y": 640.0 + }, + "params": 1 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#13", + "id": "WireCrossPoint", + "name": "WireCrossPoint#22", "pos": { - "x": 365.0, - "y": 485.0 - } + "x": 250.0, + "y": 540.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#25", + "name": "WireCrossPoint#23", "pos": { - "x": 285.0, - "y": 755.0 + "x": 330.0, + "y": 640.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { - "x": 540.0, - "y": 265.0 + "x": 285.0, + "y": 725.0 }, "params": 1 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#4", + "id": "WireCrossPoint", + "name": "WireCrossPoint#25", "pos": { - "x": 565.0, - "y": 655.0 + "x": 285.0, + "y": 755.0 }, - "params": { - "logicWidth": 1, - "orientation": "RIGHT" - } + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#20", + "name": "WireCrossPoint#26", "pos": { - "x": 585.0, - "y": 590.0 + "x": 290.0, + "y": 805.0 }, "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#6", + "id": "WireCrossPoint", + "name": "WireCrossPoint#27", "pos": { - "x": 205.0, - "y": 70.0 + "x": 440.0, + "y": 385.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#28", "pos": { - "x": 195.0, - "y": 55.0 + "x": 440.0, + "y": 345.0 }, "params": 1 }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#8", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 495.0, - "y": 295.0 - } + "x": 335.0, + "y": 270.0 + }, + "params": 4 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#18", + "id": "WireCrossPoint", + "name": "WireCrossPoint#30", "pos": { - "x": 135.0, - "y": 470.0 - } + "x": 550.0, + "y": 570.0 + }, + "params": 1 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#32", "pos": { - "x": 415.0, - "y": 210.0 - } + "x": 85.0, + "y": 590.0 + }, + "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#12", + "id": "WireCrossPoint", + "name": "WireCrossPoint#33", "pos": { - "x": 405.0, - "y": 655.0 + "x": 530.0, + "y": 270.0 }, - "params": 3 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#4", "pos": { - "x": 180.0, - "y": 135.0 + "x": 150.0, + "y": 160.0 }, - "params": 4 + "params": 1 }, { - "id": "GUImux2", - "name": "DeserializedSubmodelComponent#22", + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { - "x": 120.0, - "y": 720.0 - } + "x": 530.0, + "y": 100.0 + }, + "params": 4 }, { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { - "x": 535.0, - "y": 165.0 + "x": 120.0, + "y": 15.0 }, - "params": { - "logicWidth": 4, - "orientation": "RIGHT" - } + "params": 1 }, { - "id": "GUIMerger", - "name": "GUIMerger#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { - "x": 25.0, - "y": 305.0 + "x": 215.0, + "y": 180.0 }, - "params": 5 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#32", + "name": "WireCrossPoint#8", "pos": { - "x": 85.0, - "y": 590.0 + "x": 215.0, + "y": 160.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#23", + "name": "WireCrossPoint#9", "pos": { - "x": 330.0, - "y": 640.0 + "x": 215.0, + "y": 200.0 }, "params": 1 } @@ -1103,2663 +1129,2675 @@ "wires": [ { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O3" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_4" - }, - "name": "unnamedWire#100", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "GUISplitter#8", - "pinName": "O1" - }, - "name": "unnamedWire#172", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#0", "pinName": "" }, - "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I01" - }, - "name": "unnamedWire#170", - "path": [] + "name": "unnamedWire#0", + "path": [ + { + "x": 5.0, + "y": 25.0 + }, + { + "x": 5.0, + "y": 10.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_MUX" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "OEn" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "MUX" }, - "name": "unnamedWire#202", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "O1" + "compName": "GUISplitter#0", + "pinName": "O6" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_2" + "compName": "GUIMerger#1", + "pinName": "I0" }, - "name": "unnamedWire#103", + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y010" + "compName": "GUISplitter#3", + "pinName": "O3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I010" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_4" }, - "name": "unnamedWire#119", + "name": "unnamedWire#100", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "YOVR" + "compName": "GUISplitter#3", + "pinName": "I" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O3" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#52", + "name": "unnamedWire#101", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "GUISplitter#4", + "pinName": "O0" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_1" }, - "name": "unnamedWire#7", + "name": "unnamedWire#102", "path": [] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "GUISplitter#4", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EN" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_2" }, - "name": "unnamedWire#44", + "name": "unnamedWire#103", "path": [] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_3" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUISplitter#4", + "pinName": "O2" }, - "name": "unnamedWire#81", + "name": "unnamedWire#104", "path": [] }, { "pin1": { - "compName": "GUIMerger#4", - "pinName": "I1" + "compName": "GUISplitter#4", + "pinName": "O3" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O12" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_4" }, - "name": "unnamedWire#140", + "name": "unnamedWire#105", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#5", - "pinName": "OUT" + "compName": "GUISplitter#4", + "pinName": "I" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "CT" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#236", + "name": "unnamedWire#106", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IN" + "compName": "GUISplitter#5", + "pinName": "O0" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_1" }, - "name": "unnamedWire#18", - "path": [ - { - "x": 5.0, - "y": 100.0 - }, - { - "x": 5.0, - "y": 85.0 - } - ] + "name": "unnamedWire#107", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUISplitter#5", + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_2" }, - "name": "unnamedWire#26", + "name": "unnamedWire#108", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEC" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_3" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" + "compName": "GUISplitter#5", + "pinName": "O2" }, - "name": "unnamedWire#48", + "name": "unnamedWire#109", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I01" + "compName": "GUIMerger#1", + "pinName": "I1" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O7" }, - "name": "unnamedWire#197", + "name": "unnamedWire#11", "path": [] }, { "pin1": { - "compName": "GUIMerger#3", - "pinName": "O" + "compName": "GUISplitter#5", + "pinName": "O3" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_4" }, - "name": "unnamedWire#93", + "name": "unnamedWire#110", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "O0" + "compName": "GUISplitter#5", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_1" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#102", + "name": "unnamedWire#111", "path": [] }, { "pin1": { - "compName": "GUINandGate#12", - "pinName": "Y" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#5", - "pinName": "EN" + "compName": "GUITriStateBuffer#0", + "pinName": "IN" }, - "name": "unnamedWire#122", + "name": "unnamedWire#112", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I" }, - "name": "unnamedWire#55", + "name": "unnamedWire#113", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y111" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_2" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I111" }, - "name": "unnamedWire#108", + "name": "unnamedWire#114", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", + "compName": "DeserializedSubmodelComponent#7", "pinName": "I110" }, "pin2": { - "compName": "GUISplitter#7", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y110" }, - "name": "unnamedWire#196", + "name": "unnamedWire#115", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y101" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I101" }, - "name": "unnamedWire#184", + "name": "unnamedWire#116", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I100" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y100" }, - "name": "unnamedWire#105", + "name": "unnamedWire#117", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#2", - "pinName": "EN" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y011" }, "pin2": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I011" }, - "name": "unnamedWire#218", + "name": "unnamedWire#118", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y010" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I010" }, - "name": "unnamedWire#123", + "name": "unnamedWire#119", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O8" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "A" + "compName": "GUIMerger#1", + "pinName": "I2" }, - "name": "unnamedWire#62", + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "S1" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I001" }, "pin2": { - "compName": "GUISplitter#12", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y001" }, - "name": "unnamedWire#175", + "name": "unnamedWire#120", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y000" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EOVR" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I000" }, - "name": "unnamedWire#43", + "name": "unnamedWire#121", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUINandGate#12", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I10" + "compName": "GUITriStateBuffer#5", + "pinName": "EN" }, - "name": "unnamedWire#171", + "name": "unnamedWire#122", "path": [] }, { "pin1": { - "compName": "GUIBitDisplay#0", - "pinName": "" + "compName": "DeserializedSubmodelComponent#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "B" }, - "name": "unnamedWire#229", + "name": "unnamedWire#123", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#21", - "pinName": "Y" + "compName": "GUISplitter#6", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I111" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_MUX" }, - "name": "unnamedWire#194", + "name": "unnamedWire#124", "path": [] }, { "pin1": { "compName": "GUISplitter#6", - "pinName": "O2" + "pinName": "O0" }, "pin2": { "compName": "DeserializedSubmodelComponent#7", - "pinName": "S2" + "pinName": "S0" }, - "name": "unnamedWire#127", + "name": "unnamedWire#125", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S1" }, "pin2": { - "compName": "GUITriStateBuffer#1", - "pinName": "EN" + "compName": "GUISplitter#6", + "pinName": "O1" }, - "name": "unnamedWire#219", + "name": "unnamedWire#126", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "GUISplitter#6", + "pinName": "O2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S2" }, - "name": "unnamedWire#3", + "name": "unnamedWire#127", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O0" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_EXP" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", + "compName": "DeserializedSubmodelComponent#9", "pinName": "S0" }, - "name": "unnamedWire#95", + "name": "unnamedWire#128", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "DeserializedSubmodelComponent#9", + "pinName": "I0" }, - "name": "unnamedWire#183", + "name": "unnamedWire#129", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIMerger#1", + "pinName": "I3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#10", - "pinName": "B" + "compName": "GUISplitter#0", + "pinName": "O9" }, - "name": "unnamedWire#200", + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_3" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "A" }, "pin2": { - "compName": "GUISplitter#4", - "pinName": "O2" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "CT_INV" }, - "name": "unnamedWire#104", + "name": "unnamedWire#130", "path": [] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#10", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y2" + "compName": "DeserializedSubmodelComponent#9", + "pinName": "I1" }, - "name": "unnamedWire#72", + "name": "unnamedWire#131", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "I" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "O" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 40.0, - "y": 395.0 - }, - { - "x": 40.0, - "y": 325.0 - } - ] + "name": "unnamedWire#132", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "QIO0" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUISplitter#7", + "pinName": "I" }, - "name": "unnamedWire#160", + "name": "unnamedWire#133", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y3" + "compName": "GUISplitter#7", + "pinName": "O2" }, "pin2": { - "compName": "GUIMerger#3", - "pinName": "I2" + "compName": "WireCrossPoint#28", + "pinName": "" }, - "name": "unnamedWire#91", + "name": "unnamedWire#134", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I10" + "compName": "GUISplitter#8", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#27", "pinName": "" }, - "name": "unnamedWire#198", + "name": "unnamedWire#135", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "M" }, - "name": "unnamedWire#60", + "name": "unnamedWire#136", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y000" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I000" + "compName": "GUISplitter#8", + "pinName": "I" }, - "name": "unnamedWire#121", + "name": "unnamedWire#137", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#21", - "pinName": "B" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "OEN" }, "pin2": { - "compName": "GUISplitter#7", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "B" }, - "name": "unnamedWire#206", + "name": "unnamedWire#138", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y111" + "compName": "GUISplitter#0", + "pinName": "O11" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I111" + "compName": "GUIMerger#4", + "pinName": "I0" }, - "name": "unnamedWire#114", + "name": "unnamedWire#139", "path": [] }, { "pin1": { - "compName": "GUISplitter#10", - "pinName": "I" + "compName": "GUISplitter#0", + "pinName": "O10" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIMerger#1", + "pinName": "I4" }, - "name": "unnamedWire#144", + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUIMerger#4", + "pinName": "I1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I000" + "compName": "GUISplitter#0", + "pinName": "O12" }, - "name": "unnamedWire#186", + "name": "unnamedWire#140", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIMerger#4", + "pinName": "O" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I101" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "I12-11" }, - "name": "unnamedWire#199", + "name": "unnamedWire#141", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "C0_MUX" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_CEmu" + "compName": "GUISplitter#9", + "pinName": "I" }, - "name": "unnamedWire#35", + "name": "unnamedWire#142", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "DeserializedSubmodelComponent#11", + "pinName": "I1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I01" + "compName": "WireCrossPoint#22", + "pinName": "" }, - "name": "unnamedWire#179", + "name": "unnamedWire#143", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "OUT" + "compName": "GUISplitter#10", + "pinName": "I" }, "pin2": { - "compName": "GUIBitDisplay#1", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#230", + "name": "unnamedWire#144", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y1" + "compName": "GUISplitter#10", + "pinName": "O1" }, "pin2": { - "compName": "GUIMerger#3", + "compName": "DeserializedSubmodelComponent#11", "pinName": "I0" }, - "name": "unnamedWire#89", + "name": "unnamedWire#145", "path": [] }, { "pin1": { - "compName": "GUINandGate#12", - "pinName": "B" + "compName": "GUISplitter#9", + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#33", - "pinName": "" + "compName": "DeserializedSubmodelComponent#11", + "pinName": "S0" }, - "name": "unnamedWire#234", + "name": "unnamedWire#146", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Q" + "compName": "DeserializedSubmodelComponent#11", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#12", + "pinName": "B" }, - "name": "unnamedWire#27", + "name": "unnamedWire#147", "path": [] }, { "pin1": { - "compName": "GUISplitter#12", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#12", + "pinName": "A" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "QIO0_MUX" + "compName": "GUISplitter#9", + "pinName": "O0" }, - "name": "unnamedWire#178", + "name": "unnamedWire#148", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", + "compName": "GUISplitter#9", "pinName": "O2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "S1" + "compName": "WireCrossPoint#17", + "pinName": "" }, - "name": "unnamedWire#208", + "name": "unnamedWire#149", "path": [] }, { "pin1": { - "compName": "GUIMerger#4", + "compName": "GUIMerger#0", "pinName": "O" }, "pin2": { "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "I12-11" + "pinName": "I5-0" }, - "name": "unnamedWire#141", + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I10" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "S0" }, - "name": "unnamedWire#180", + "name": "unnamedWire#150", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#2", - "pinName": "IN" + "compName": "DeserializedSubmodelComponent#12", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "I1" }, - "name": "unnamedWire#212", + "name": "unnamedWire#151", "path": [] }, { "pin1": { - "compName": "GUIMerger#3", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "I0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "Cx" }, - "name": "unnamedWire#90", + "name": "unnamedWire#152", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEOVR" + "compName": "DeserializedSubmodelComponent#13", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "I1" }, - "name": "unnamedWire#59", + "name": "unnamedWire#153", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "I0" }, "pin2": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#17", "pinName": "" }, - "name": "unnamedWire#70", + "name": "unnamedWire#154", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I100" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "S0" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUISplitter#9", + "pinName": "O3" }, - "name": "unnamedWire#193", + "name": "unnamedWire#155", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I100" + "compName": "DeserializedSubmodelComponent#14", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y100" + "compName": "_submodelinterface", + "pinName": "C0" }, - "name": "unnamedWire#117", + "name": "unnamedWire#156", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "QIOn" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EZ" + "compName": "WireCrossPoint#18", + "pinName": "" }, - "name": "unnamedWire#75", + "name": "unnamedWire#157", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "C0_MUX" + "compName": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#9", - "pinName": "I" + "compName": "_submodelinterface", + "pinName": "SIOn" }, - "name": "unnamedWire#142", + "name": "unnamedWire#158", "path": [] }, { "pin1": { + "compName": "WireCrossPoint#20", + "pinName": "" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "IZ" + "pinName": "SIO0" + }, + "name": "unnamedWire#159", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "I" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I0" + "compName": "GUIMerger#1", + "pinName": "O" }, - "name": "unnamedWire#20", + "name": "unnamedWire#16", "path": [ { - "x": 5.0, - "y": 50.0 + "x": 40.0, + "y": 395.0 }, { - "x": 5.0, - "y": 65.0 + "x": 40.0, + "y": 325.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I001" + "compName": "_submodelinterface", + "pinName": "QIO0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y001" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#120", + "name": "unnamedWire#160", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", + "compName": "GUITriStateBuffer#1", "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#18", "pinName": "" }, - "name": "unnamedWire#79", + "name": "unnamedWire#161", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "MSR_MUX" + "compName": "GUITriStateBuffer#2", + "pinName": "OUT" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "MUX" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#31", + "name": "unnamedWire#162", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", - "pinName": "O1" + "compName": "GUITriStateBuffer#3", + "pinName": "OUT" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "S0" + "compName": "WireCrossPoint#20", + "pinName": "" }, - "name": "unnamedWire#209", + "name": "unnamedWire#163", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUITriStateBuffer#4", + "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#21", "pinName": "" }, - "name": "unnamedWire#36", + "name": "unnamedWire#164", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Q" + "compName": "GUITriStateBuffer#3", + "pinName": "IN" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "Y" }, - "name": "unnamedWire#25", + "name": "unnamedWire#165", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EC" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "SIO0_MUX" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "GUISplitter#11", + "pinName": "I" }, - "name": "unnamedWire#45", + "name": "unnamedWire#166", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "I0" + "compName": "GUISplitter#11", + "pinName": "O0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cx" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I00" }, - "name": "unnamedWire#152", + "name": "unnamedWire#167", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#11", + "pinName": "O2" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#15", + "pinName": "S1" + }, + "name": "unnamedWire#168", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#15", + "pinName": "S0" + }, + "pin2": { + "compName": "GUISplitter#11", + "pinName": "O1" + }, + "name": "unnamedWire#169", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O8" + "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": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I01" }, - "name": "unnamedWire#12", + "name": "unnamedWire#170", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_OECT" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I10" }, - "name": "unnamedWire#235", + "name": "unnamedWire#171", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O4" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I4" + "compName": "GUISplitter#8", + "pinName": "O1" }, - "name": "unnamedWire#8", + "name": "unnamedWire#172", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "Y" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "I1" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#153", + "name": "unnamedWire#173", "path": [] }, { "pin1": { - "compName": "GUISplitter#8", - "pinName": "O2" + "compName": "GUISplitter#12", + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "S0" }, - "name": "unnamedWire#135", + "name": "unnamedWire#174", "path": [] }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "S1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EOVR" + "compName": "GUISplitter#12", + "pinName": "O2" }, - "name": "unnamedWire#66", + "name": "unnamedWire#175", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y4" + "compName": "GUISplitter#12", + "pinName": "O0" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I00" }, - "name": "unnamedWire#74", + "name": "unnamedWire#176", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "O" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "Y" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "I5-0" + "compName": "GUITriStateBuffer#4", + "pinName": "IN" }, - "name": "unnamedWire#15", + "name": "unnamedWire#177", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUISplitter#12", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "C" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "QIO0_MUX" }, - "name": "unnamedWire#29", + "name": "unnamedWire#178", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" + "compName": "WireCrossPoint#19", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I01" }, - "name": "unnamedWire#232", + "name": "unnamedWire#179", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "C" + "compName": "GUIMerger#2", + "pinName": "I2" }, - "name": "unnamedWire#30", - "path": [] + "name": "unnamedWire#18", + "path": [ + { + "x": 5.0, + "y": 100.0 + }, + { + "x": 5.0, + "y": 85.0 + } + ] }, { "pin1": { - "compName": "GUITriStateBuffer#3", - "pinName": "EN" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I10" }, - "name": "unnamedWire#214", + "name": "unnamedWire#180", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "Y" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#16", + "pinName": "I11" }, - "name": "unnamedWire#129", + "name": "unnamedWire#181", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I001" + "compName": "DeserializedSubmodelComponent#15", + "pinName": "I11" }, "pin2": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#23", "pinName": "" }, - "name": "unnamedWire#187", + "name": "unnamedWire#182", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" + "compName": "GUISplitter#13", + "pinName": "O0" }, "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" + "compName": "WireCrossPoint#24", + "pinName": "" }, - "name": "unnamedWire#84", + "name": "unnamedWire#183", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#17", - "pinName": "I1" + "compName": "WireCrossPoint#24", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "S0" }, - "name": "unnamedWire#223", + "name": "unnamedWire#184", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "WireCrossPoint#25", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#24", "pinName": "" }, - "name": "unnamedWire#56", + "name": "unnamedWire#185", "path": [] }, { "pin1": { - "compName": "GUISplitter#9", - "pinName": "O1" + "compName": "WireCrossPoint#25", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I000" }, - "name": "unnamedWire#146", + "name": "unnamedWire#186", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_SE" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I001" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "_SE" + "compName": "WireCrossPoint#25", + "pinName": "" }, - "name": "unnamedWire#213", + "name": "unnamedWire#187", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "YC" + "compName": "GUISplitter#13", + "pinName": "I" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O1" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "SIOn_MUX" }, - "name": "unnamedWire#50", + "name": "unnamedWire#188", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "GUISplitter#13", + "pinName": "O2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "S2" }, - "name": "unnamedWire#5", + "name": "unnamedWire#189", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y101" + "compName": "_submodelinterface", + "pinName": "IC" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I101" + "compName": "GUIMerger#2", + "pinName": "I1" }, - "name": "unnamedWire#116", + "name": "unnamedWire#19", "path": [] }, { "pin1": { - "compName": "GUISplitter#6", - "pinName": "O0" + "compName": "GUISplitter#13", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "S1" }, - "name": "unnamedWire#125", + "name": "unnamedWire#190", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "I0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I010" }, "pin2": { "compName": "WireCrossPoint#20", "pinName": "" }, - "name": "unnamedWire#224", + "name": "unnamedWire#191", "path": [] }, { "pin1": { - "compName": "GUIMerger#2", - "pinName": "O" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I011" }, - "name": "unnamedWire#22", + "name": "unnamedWire#192", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I100" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I0" + "compName": "WireCrossPoint#23", + "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#193", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#16", + "compName": "DeserializedSubmodelComponent#21", "pinName": "Y" }, "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "IN" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I111" }, - "name": "unnamedWire#177", + "name": "unnamedWire#194", "path": [] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EZ" + "compName": "WireCrossPoint#26", + "pinName": "" }, - "name": "unnamedWire#69", + "name": "unnamedWire#195", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "IN" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I110" }, "pin2": { - "compName": "GUIBitDisplay#2", - "pinName": "" + "compName": "GUISplitter#7", + "pinName": "O1" }, - "name": "unnamedWire#231", + "name": "unnamedWire#196", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "I01" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#20", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#197", "path": [] }, { "pin1": { "compName": "DeserializedSubmodelComponent#22", - "pinName": "Y" + "pinName": "I10" }, "pin2": { - "compName": "GUITriStateBuffer#1", - "pinName": "IN" + "compName": "WireCrossPoint#21", + "pinName": "" }, - "name": "unnamedWire#207", + "name": "unnamedWire#198", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "CT_EXP" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#23", + "pinName": "I101" }, - "name": "unnamedWire#128", + "name": "unnamedWire#199", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "S0" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_OVRRET" }, "pin2": { - "compName": "GUISplitter#11", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "OVRRET" }, - "name": "unnamedWire#169", + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IZ" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y" + "compName": "GUIMerger#2", + "pinName": "I0" }, - "name": "unnamedWire#54", - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 5.0, + "y": 50.0 + }, + { + "x": 5.0, + "y": 65.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#12", - "pinName": "O0" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I00" + "compName": "DeserializedSubmodelComponent#10", + "pinName": "B" }, - "name": "unnamedWire#176", + "name": "unnamedWire#200", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#26", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SIO0" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "I11" }, - "name": "unnamedWire#159", + "name": "unnamedWire#201", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#32", "pinName": "" }, "pin2": { - "compName": "GUITriStateBuffer#4", - "pinName": "EN" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "OEn" }, - "name": "unnamedWire#215", + "name": "unnamedWire#202", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_2" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "OE0" }, "pin2": { - "compName": "GUISplitter#3", - "pinName": "O1" + "compName": "WireCrossPoint#30", + "pinName": "" }, - "name": "unnamedWire#98", + "name": "unnamedWire#203", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "S1" + "compName": "WireCrossPoint#28", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#6", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#10", + "pinName": "A" }, - "name": "unnamedWire#126", + "name": "unnamedWire#204", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "DeserializedSubmodelComponent#21", + "pinName": "A" }, - "name": "unnamedWire#195", + "name": "unnamedWire#205", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "DeserializedSubmodelComponent#21", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUISplitter#7", + "pinName": "O3" }, - "name": "unnamedWire#38", + "name": "unnamedWire#206", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I110" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y110" + "compName": "GUITriStateBuffer#1", + "pinName": "IN" }, - "name": "unnamedWire#115", + "name": "unnamedWire#207", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "MC_MUX" + "compName": "GUISplitter#14", + "pinName": "O2" }, "pin2": { - "compName": "GUISplitter#15", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "S1" }, - "name": "unnamedWire#226", + "name": "unnamedWire#208", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUISplitter#14", + "pinName": "O1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SIOn" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "S0" }, - "name": "unnamedWire#158", + "name": "unnamedWire#209", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O10" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_CINV" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I4" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "CINV" }, - "name": "unnamedWire#14", + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "S0" + "compName": "GUISplitter#14", + "pinName": "I" }, "pin2": { - "compName": "GUISplitter#9", - "pinName": "O3" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "QIOn_MUX" }, - "name": "unnamedWire#155", + "name": "unnamedWire#210", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUISplitter#14", + "pinName": "O0" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#22", + "pinName": "I00" }, - "name": "unnamedWire#39", + "name": "unnamedWire#211", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#5", + "compName": "GUITriStateBuffer#2", "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", + "compName": "DeserializedSubmodelComponent#23", "pinName": "Y" }, - "name": "unnamedWire#237", + "name": "unnamedWire#212", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_SE" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "_SE" }, - "name": "unnamedWire#41", + "name": "unnamedWire#213", "path": [] }, { "pin1": { - "compName": "GUISplitter#15", - "pinName": "O0" + "compName": "GUITriStateBuffer#3", + "pinName": "EN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "S0" + "compName": "WireCrossPoint#30", + "pinName": "" }, - "name": "unnamedWire#227", + "name": "unnamedWire#214", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", - "pinName": "O0" + "compName": "WireCrossPoint#30", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I00" + "compName": "GUITriStateBuffer#4", + "pinName": "EN" }, - "name": "unnamedWire#211", + "name": "unnamedWire#215", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#1", - "pinName": "OUT" + "compName": "GUITriStateBuffer#2", + "pinName": "EN" }, "pin2": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#32", "pinName": "" }, - "name": "unnamedWire#161", + "name": "unnamedWire#218", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "O1" + "compName": "WireCrossPoint#32", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "S1" + "compName": "GUITriStateBuffer#1", + "pinName": "EN" }, - "name": "unnamedWire#190", + "name": "unnamedWire#219", "path": [] }, { "pin1": { - "compName": "GUISplitter#12", - "pinName": "O1" + "compName": "GUIMerger#2", + "pinName": "O" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "S0" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#174", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "Y" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "I0" }, - "name": "unnamedWire#6", + "name": "unnamedWire#221", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "COVD_V" }, - "name": "unnamedWire#53", + "name": "unnamedWire#222", "path": [] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "I1" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEN" + "compName": "WireCrossPoint#19", + "pinName": "" }, - "name": "unnamedWire#58", + "name": "unnamedWire#223", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "I0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I" + "compName": "WireCrossPoint#20", + "pinName": "" }, - "name": "unnamedWire#132", + "name": "unnamedWire#224", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "QIOn" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "I1" }, - "name": "unnamedWire#157", + "name": "unnamedWire#225", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EN" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "MC_MUX" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "GUISplitter#15", + "pinName": "I" }, - "name": "unnamedWire#67", + "name": "unnamedWire#226", "path": [] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "B" + "compName": "GUISplitter#15", + "pinName": "O0" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_WEZ" + "compName": "DeserializedSubmodelComponent#18", + "pinName": "S0" }, - "name": "unnamedWire#47", + "name": "unnamedWire#227", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y3" + "compName": "GUISplitter#15", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I1_3" + "compName": "DeserializedSubmodelComponent#17", + "pinName": "S0" }, - "name": "unnamedWire#87", + "name": "unnamedWire#228", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#10", - "pinName": "Y" + "compName": "GUIBitDisplay#0", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#9", - "pinName": "I1" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#131", + "name": "unnamedWire#229", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I" }, - "name": "unnamedWire#150", + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "O2" + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "S2" + "compName": "GUIBitDisplay#1", + "pinName": "" }, - "name": "unnamedWire#189", + "name": "unnamedWire#230", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUITriStateBuffer#0", + "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#16", - "pinName": "I11" + "compName": "GUIBitDisplay#2", + "pinName": "" }, - "name": "unnamedWire#181", + "name": "unnamedWire#231", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "Y" + "compName": "GUITriStateBuffer#0", + "pinName": "EN" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "C0" + "compName": "GUIBitDisplay#3", + "pinName": "" }, - "name": "unnamedWire#156", + "name": "unnamedWire#232", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_MUX" + "compName": "WireCrossPoint#33", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "MUX" + "compName": "GUINandGate#12", + "pinName": "A" }, - "name": "unnamedWire#1", + "name": "unnamedWire#233", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O6" + "compName": "GUINandGate#12", + "pinName": "B" }, "pin2": { - "compName": "GUIMerger#1", - "pinName": "I0" + "compName": "WireCrossPoint#33", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#234", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#17", - "pinName": "Y" + "compName": "WireCrossPoint#33", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "COVD_V" + "compName": "_submodelinterface", + "pinName": "_OECT" }, - "name": "unnamedWire#222", + "name": "unnamedWire#235", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "Y_MUX" + "compName": "GUITriStateBuffer#5", + "pinName": "OUT" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "I" + "compName": "_submodelinterface", + "pinName": "CT" }, - "name": "unnamedWire#94", + "name": "unnamedWire#236", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EOVR" + "compName": "GUITriStateBuffer#5", + "pinName": "IN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "A4" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "Y" }, - "name": "unnamedWire#78", + "name": "unnamedWire#237", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "mu" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#28", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I1_2" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Q" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y2" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#86", + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#12", - "pinName": "B" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#147", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I010" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Q" }, "pin2": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#191", + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "mu" }, - "name": "unnamedWire#233", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_CEM" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "C" }, - "name": "unnamedWire#57", + "name": "unnamedWire#29", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "A3" + "compName": "_submodelinterface", + "pinName": "I" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EN" + "compName": "GUISplitter#0", + "pinName": "I" }, - "name": "unnamedWire#77", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "C" }, - "name": "unnamedWire#61", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "MSR_MUX" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I" + "pinName": "MUX" }, - "name": "unnamedWire#23", + "name": "unnamedWire#31", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIAm2904ShiftInstrDecode#0", + "pinName": "MC_EN" }, "pin2": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "COVD_EN" }, - "name": "unnamedWire#225", + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y1" + "compName": "GUINandGate#0", + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#71", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#21", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#205", + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O0" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { "compName": "_submodelinterface", - "pinName": "YZ" + "pinName": "_CEmu" }, - "name": "unnamedWire#49", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUISplitter#4", - "pinName": "I" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, - "name": "unnamedWire#106", + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y3" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "GUINandGate#4", + "pinName": "A" }, - "name": "unnamedWire#73", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O11" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUIMerger#4", - "pinName": "I0" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#139", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "I1" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, - "name": "unnamedWire#143", + "name": "unnamedWire#39", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O0" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I0" }, - "name": "unnamedWire#24", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_OVRRET" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "OVRRET" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#113", + "name": "unnamedWire#41", "path": [] }, { "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "OEN" + "compName": "GUINandGate#3", + "pinName": "A" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "B" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#138", + "name": "unnamedWire#42", "path": [] }, { "pin1": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#3", "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "_EC" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EOVR" }, - "name": "unnamedWire#68", + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EN" }, - "name": "unnamedWire#65", + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IC" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EC" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I1" + "compName": "GUINandGate#5", + "pinName": "Y" }, - "name": "unnamedWire#19", + "name": "unnamedWire#45", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "OE0" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "_EZ" }, - "name": "unnamedWire#203", + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEZ" }, - "name": "unnamedWire#173", + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I11" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEC" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "B" }, - "name": "unnamedWire#182", + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#3", - "pinName": "IN" + "compName": "GUISplitter#1", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "YZ" }, - "name": "unnamedWire#165", + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I1" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUISplitter#0", + "pinName": "O1" }, - "name": "unnamedWire#34", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "YC" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "CT_INV" + "compName": "GUISplitter#1", + "pinName": "O1" }, - "name": "unnamedWire#130", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#4", - "pinName": "OUT" + "compName": "GUISplitter#1", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "YN" }, - "name": "unnamedWire#164", + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "GUIMerger#1", - "pinName": "I3" + "compName": "_submodelinterface", + "pinName": "YOVR" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O9" + "compName": "GUISplitter#1", + "pinName": "O3" }, - "name": "unnamedWire#13", + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "MC_EN" + "compName": "GUISplitter#1", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "COVD_EN" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#32", + "name": "unnamedWire#53", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUISplitter#7", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" }, - "name": "unnamedWire#133", + "name": "unnamedWire#54", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "M" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#136", + "name": "unnamedWire#55", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "I" + "compName": "GUINandGate#1", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#101", + "name": "unnamedWire#56", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C" + "pinName": "_CEM" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#0", - "path": [ - { - "x": 5.0, - "y": 25.0 - }, - { - "x": 5.0, - "y": 10.0 - } - ] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_3" - }, - "pin2": { - "compName": "GUISplitter#5", - "pinName": "O2" - }, - "name": "unnamedWire#109", + "name": "unnamedWire#57", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O0" + "compName": "GUINandGate#2", + "pinName": "B" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_1" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEN" }, - "name": "unnamedWire#97", + "name": "unnamedWire#58", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y011" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "muSR_WEOVR" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "I011" + "compName": "GUINandGate#3", + "pinName": "B" }, - "name": "unnamedWire#118", + "name": "unnamedWire#59", "path": [] }, { "pin1": { - "compName": "GUISplitter#6", - "pinName": "I" + "compName": "GUISplitter#0", + "pinName": "O2" }, "pin2": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "CT_MUX" + "compName": "GUIMerger#0", + "pinName": "I2" }, - "name": "unnamedWire#124", + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "GUISplitter#7", - "pinName": "O2" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "A" }, - "name": "unnamedWire#134", + "name": "unnamedWire#60", "path": [] }, { "pin1": { - "compName": "GUIMerger#3", - "pinName": "I3" + "compName": "GUINandGate#7", + "pinName": "A" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y4" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#92", + "name": "unnamedWire#61", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "O3" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_4" + "compName": "GUINandGate#8", + "pinName": "A" }, - "name": "unnamedWire#110", + "name": "unnamedWire#62", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#9", "pinName": "A" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#42", + "name": "unnamedWire#63", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#12", "pinName": "" }, - "name": "unnamedWire#185", + "name": "unnamedWire#64", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#37", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#12", - "pinName": "A" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUISplitter#9", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EOVR" }, - "name": "unnamedWire#148", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I5" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EN" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O5" + "compName": "GUINandGate#7", + "pinName": "Y" }, - "name": "unnamedWire#9", + "name": "unnamedWire#67", "path": [] }, { "pin1": { - "compName": "GUISplitter#9", - "pinName": "O2" + "compName": "GUINandGate#8", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EC" }, - "name": "unnamedWire#149", + "name": "unnamedWire#68", "path": [] }, { "pin1": { - "compName": "GUISplitter#14", - "pinName": "I" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "QIOn_MUX" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "_EZ" }, - "name": "unnamedWire#210", + "name": "unnamedWire#69", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIMerger#0", + "pinName": "I3" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O3" }, - "name": "unnamedWire#33", + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUITriStateBuffer#0", - "pinName": "IN" + "compName": "WireCrossPoint#11", + "pinName": "" }, - "name": "unnamedWire#112", + "name": "unnamedWire#70", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "IOVR" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y1" }, "pin2": { - "compName": "GUIMerger#2", - "pinName": "I3" + "compName": "GUINandGate#9", + "pinName": "B" }, - "name": "unnamedWire#17", - "path": [ - { - "x": 10.0, - "y": 125.0 - }, - { - "x": 10.0, - "y": 95.0 - } - ] + "name": "unnamedWire#71", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EC" + "compName": "GUINandGate#8", + "pinName": "B" }, "pin2": { "compName": "DeserializedSubmodelComponent#4", - "pinName": "A2" + "pinName": "Y2" }, - "name": "unnamedWire#76", + "name": "unnamedWire#72", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#10", - "pinName": "A" + "compName": "GUINandGate#7", + "pinName": "B" }, - "name": "unnamedWire#204", + "name": "unnamedWire#73", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#3", - "pinName": "OUT" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "B" }, - "name": "unnamedWire#163", + "name": "unnamedWire#74", "path": [] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EZ" }, - "name": "unnamedWire#63", + "name": "unnamedWire#75", "path": [] }, { - "pin1": { - "compName": "GUIAm2904RegCTInstrDecode#0", - "pinName": "muSR_CINV" + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EC" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "CINV" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A2" }, - "name": "unnamedWire#21", + "name": "unnamedWire#76", "path": [] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "_EN" }, - "name": "unnamedWire#83", + "name": "unnamedWire#77", "path": [] }, { "pin1": { - "compName": "GUISplitter#11", - "pinName": "O2" + "compName": "_submodelinterface", + "pinName": "_EOVR" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "S1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "A4" }, - "name": "unnamedWire#168", + "name": "unnamedWire#78", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#14", - "pinName": "I0" + "compName": "GUITriStateBuffer#0", + "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#154", + "name": "unnamedWire#79", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#18", - "pinName": "Y" + "compName": "GUISplitter#0", + "pinName": "O4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#17", - "pinName": "I0" + "compName": "GUIMerger#0", + "pinName": "I4" }, - "name": "unnamedWire#221", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#23", - "pinName": "I011" + "compName": "GUINandGate#10", + "pinName": "A" }, - "name": "unnamedWire#192", + "name": "unnamedWire#80", "path": [] }, { "pin1": { - "compName": "GUISplitter#11", - "pinName": "O0" + "compName": "GUINandGate#10", + "pinName": "B" }, "pin2": { - "compName": "DeserializedSubmodelComponent#15", - "pinName": "I00" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#167", + "name": "unnamedWire#81", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O1" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "_OEY" }, - "name": "unnamedWire#96", + "name": "unnamedWire#82", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "O0" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "A" }, - "name": "unnamedWire#107", + "name": "unnamedWire#83", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "YN" + "compName": "GUITriStateBuffer#0", + "pinName": "EN" }, - "name": "unnamedWire#51", + "name": "unnamedWire#84", "path": [] }, { @@ -3777,193 +3815,181 @@ { "pin1": { "compName": "DeserializedSubmodelComponent#3", - "pinName": "I1_4" + "pinName": "I1_2" }, "pin2": { "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y4" + "pinName": "Y2" }, - "name": "unnamedWire#88", + "name": "unnamedWire#86", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#12", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#13", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_3" }, - "name": "unnamedWire#151", + "name": "unnamedWire#87", "path": [] }, { "pin1": { - "compName": "GUIMerger#1", - "pinName": "I1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I1_4" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O7" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y4" }, - "name": "unnamedWire#11", + "name": "unnamedWire#88", "path": [] }, { "pin1": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "SIO0_MUX" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y1" }, "pin2": { - "compName": "GUISplitter#11", - "pinName": "I" + "compName": "GUIMerger#3", + "pinName": "I0" }, - "name": "unnamedWire#166", + "name": "unnamedWire#89", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "I5" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "A" + "compName": "GUISplitter#0", + "pinName": "O5" }, - "name": "unnamedWire#80", + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "I0_3" + "compName": "GUIMerger#3", + "pinName": "I1" }, "pin2": { - "compName": "GUISplitter#3", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y2" }, - "name": "unnamedWire#99", + "name": "unnamedWire#90", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIMerger#3", + "pinName": "I2" }, - "name": "unnamedWire#64", + "name": "unnamedWire#91", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#2", - "pinName": "OUT" + "compName": "GUIMerger#3", + "pinName": "I3" }, "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y4" }, - "name": "unnamedWire#162", + "name": "unnamedWire#92", "path": [] }, { "pin1": { - "compName": "GUISplitter#13", - "pinName": "I" + "compName": "GUIMerger#3", + "pinName": "O" }, "pin2": { - "compName": "GUIAm2904ShiftInstrDecode#0", - "pinName": "SIOn_MUX" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#188", + "name": "unnamedWire#93", "path": [] }, { "pin1": { - "compName": "GUISplitter#5", - "pinName": "I" + "compName": "GUIAm2904RegCTInstrDecode#0", + "pinName": "Y_MUX" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "I" }, - "name": "unnamedWire#111", + "name": "unnamedWire#94", "path": [] }, { "pin1": { - "compName": "GUISplitter#15", - "pinName": "O1" + "compName": "GUISplitter#2", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#17", + "compName": "DeserializedSubmodelComponent#5", "pinName": "S0" }, - "name": "unnamedWire#228", + "name": "unnamedWire#95", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#22", - "pinName": "I11" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "S0" }, - "name": "unnamedWire#201", + "name": "unnamedWire#96", "path": [] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "GUISplitter#3", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "_EZ" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#97", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_2" }, "pin2": { - "compName": "GUISplitter#8", - "pinName": "I" - }, - "name": "unnamedWire#137", - "path": [] - }, - { - "pin1": { - "compName": "GUISplitter#10", + "compName": "GUISplitter#3", "pinName": "O1" }, - "pin2": { - "compName": "DeserializedSubmodelComponent#11", - "pinName": "I0" - }, - "name": "unnamedWire#145", + "name": "unnamedWire#98", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "I0_3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_OEY" + "compName": "GUISplitter#3", + "pinName": "O2" }, - "name": "unnamedWire#82", + "name": "unnamedWire#99", "path": [] } ], @@ -3980,8 +4006,21 @@ "outlineRendererSnippetID": "default", "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { - "subcomponentHighLevelStates": {}, + "subcomponentHighLevelStates": { + "musr": { + "id": "delegating", + "params": { + "delegateTarget": "DeserializedSubmodelComponent#1" + } + }, + "msr": { + "id": "delegating", + "params": { + "delegateTarget": "DeserializedSubmodelComponent#0" + } + } + }, "atomicHighLevelStates": {} }, - "version": "0.1.4" + "version": "0.1.5" } \ 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 index 4a244645..6e93abf4 100644 --- a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904MSR.json +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904MSR.json @@ -4,19 +4,12 @@ "interfacePins": [ { "location": { - "x": 4.0, + "x": 14.0, "y": 46.0 }, - "name": "MUX", - "logicWidth": 3 - }, - { - "location": { - "x": 45.0, - "y": 19.0 - }, - "name": "Q", - "logicWidth": 4 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -24,39 +17,44 @@ "y": 46.0 }, "name": "COVD_EN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 14.0, + "x": 37.5, "y": 46.0 }, - "name": "C", - "logicWidth": 1 + "name": "COVD_V", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 5.5, - "y": 0.0 + "x": 0.0, + "y": 31.0 }, - "name": "_EZ", - "logicWidth": 1 + "name": "I", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 37.5, + "x": 4.0, "y": 46.0 }, - "name": "COVD_V", - "logicWidth": 1 + "name": "MUX", + "logicWidth": 3, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 5.0 + "x": 45.0, + "y": 19.0 }, - "name": "mu", - "logicWidth": 4 + "name": "Q", + "logicWidth": 4, + "usage": "OUTPUT" }, { "location": { @@ -64,15 +62,17 @@ "y": 18.0 }, "name": "Y", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 31.0 + "x": 15.5, + "y": 0.0 }, - "name": "I", - "logicWidth": 4 + "name": "_EC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -80,37 +80,40 @@ "y": 0.0 }, "name": "_EN", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 15.5, + "x": 35.5, + "y": 0.2 + }, + "name": "_EOVR", + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 5.5, "y": 0.0 }, - "name": "_EC", - "logicWidth": 1 + "name": "_EZ", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 35.5, - "y": 0.2 + "x": 0.0, + "y": 5.0 }, - "name": "_EOVR", - "logicWidth": 1 + "name": "mu", + "logicWidth": 4, + "usage": "INPUT" } ], "innerScale": 0.1, "submodel": { "components": [ - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 419.0, - "y": 184.0 - }, - "params": 1 - }, { "id": "GUImux1_4", "name": "DeserializedSubmodelComponent#0", @@ -119,6 +122,70 @@ "y": 110.0 } }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 35.0, + "y": 250.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#2", + "pos": { + "x": 150.0, + "y": 280.0 + } + }, + { + "id": "GUInot4", + "name": "DeserializedSubmodelComponent#3", + "pos": { + "x": 100.0, + "y": 330.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#4", + "pos": { + "x": 110.0, + "y": 60.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#5", + "pos": { + "x": 200.0, + "y": 230.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#6", + "pos": { + "x": 250.0, + "y": 180.0 + } + }, + { + "id": "GUImux1", + "name": "DeserializedSubmodelComponent#7", + "pos": { + "x": 325.0, + "y": 290.0 + } + }, + { + "id": "GUIand", + "name": "DeserializedSubmodelComponent#8", + "pos": { + "x": 380.0, + "y": 85.0 + } + }, { "id": "GUIMerger", "name": "GUIMerger#0", @@ -129,11 +196,11 @@ "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { - "x": 84.0, - "y": 344.0 + "x": 325.0, + "y": 90.0 }, "params": 1 }, @@ -147,30 +214,13 @@ "params": 4 }, { - "id": "GUIdff4_finewe", - "name": "GUIdff4_finewe#0", - "pos": { - "x": 375.0, - "y": 170.0 - } - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 74.0, - "y": 314.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "id": "GUISplitter", + "name": "GUISplitter#1", "pos": { - "x": 424.0, - "y": 194.0 + "x": 5.0, + "y": 165.0 }, - "params": 1 + "params": 4 }, { "id": "GUISplitter", @@ -183,19 +233,45 @@ }, { "id": "GUISplitter", - "name": "GUISplitter#1", + "name": "GUISplitter#3", "pos": { "x": 5.0, - "y": 165.0 + "y": 295.0 }, "params": 4 }, + { + "id": "GUIdff4_finewe", + "name": "GUIdff4_finewe#0", + "pos": { + "x": 375.0, + "y": 170.0 + } + }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#4", + "name": "WireCrossPoint#0", "pos": { - "x": 429.0, - "y": 204.0 + "x": 29.0, + "y": 284.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", + "pos": { + "x": 414.0, + "y": 174.0 + }, + "params": 1 + }, + { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", + "pos": { + "x": 89.0, + "y": 84.0 }, "params": 1 }, @@ -218,86 +294,74 @@ "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { - "x": 325.0, - "y": 90.0 + "x": 194.0, + "y": 234.0 }, "params": 1 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { - "x": 200.0, - "y": 230.0 - } + "x": 89.0, + "y": 104.0 + }, + "params": 1 }, { - "id": "GUImux1", - "name": "DeserializedSubmodelComponent#7", + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { - "x": 325.0, - "y": 290.0 - } + "x": 319.0, + "y": 294.0 + }, + "params": 1 }, { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#2", + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { - "x": 150.0, - "y": 280.0 - } + "x": 319.0, + "y": 104.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#0", + "name": "WireCrossPoint#2", "pos": { - "x": 29.0, - "y": 284.0 + "x": 419.0, + "y": 184.0 }, "params": 1 }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#1", + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { - "x": 35.0, - "y": 250.0 - } - }, - { - "id": "GUInot4", - "name": "DeserializedSubmodelComponent#3", - "pos": { - "x": 100.0, - "y": 330.0 - } - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#4", - "pos": { - "x": 110.0, - "y": 60.0 - } + "x": 424.0, + "y": 194.0 + }, + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "name": "WireCrossPoint#4", "pos": { - "x": 414.0, - "y": 174.0 + "x": 429.0, + "y": 204.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 29.0, - "y": 254.0 + "x": 84.0, + "y": 344.0 }, "params": 1 }, @@ -312,28 +376,19 @@ }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#14", - "pos": { - "x": 89.0, - "y": 104.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", + "name": "WireCrossPoint#7", "pos": { - "x": 89.0, - "y": 84.0 + "x": 29.0, + "y": 254.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#15", + "name": "WireCrossPoint#8", "pos": { - "x": 319.0, - "y": 294.0 + "x": 74.0, + "y": 314.0 }, "params": 1 }, @@ -345,83 +400,73 @@ "y": 114.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", - "pos": { - "x": 319.0, - "y": 104.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", - "pos": { - "x": 194.0, - "y": 234.0 + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "C" }, - "params": 1 - }, - { - "id": "GUIand", - "name": "DeserializedSubmodelComponent#8", - "pos": { - "x": 380.0, - "y": 85.0 - } - }, - { - "id": "GUImux1_4", - "name": "DeserializedSubmodelComponent#6", - "pos": { - "x": 250.0, - "y": 180.0 - } + "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 + } + ] }, - { - "id": "GUISplitter", - "name": "GUISplitter#3", - "pos": { - "x": 5.0, - "y": 295.0 - }, - "params": 4 - } - ], - "wires": [ { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "_submodelinterface", + "pinName": "_EOVR" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_1" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE4" }, - "name": "unnamedWire#12", + "name": "unnamedWire#1", "path": [ { - "x": 35.0, - "y": 35.0 + "x": 355.0, + "y": 30.0 }, { - "x": 35.0, - "y": 125.0 + "x": 355.0, + "y": 215.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "mu" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "S0" + "compName": "GUISplitter#0", + "pinName": "I" }, - "name": "unnamedWire#68", + "name": "unnamedWire#10", "path": [] }, { @@ -438,271 +483,201 @@ }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_3" + "compName": "GUISplitter#0", + "pinName": "O0" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" }, - "name": "unnamedWire#61", + "name": "unnamedWire#12", "path": [ { - "x": 75.0, - "y": 265.0 + "x": 35.0, + "y": 35.0 + }, + { + "x": 35.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "O1" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 30.0, + "y": 135.0 + }, + { + "x": 30.0, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#2", + "compName": "GUISplitter#0", "pinName": "O2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" }, - "name": "unnamedWire#82", + "name": "unnamedWire#14", "path": [ { - "x": 245.0, - "y": 445.0 + "x": 25.0, + "y": 55.0 }, { - "x": 245.0, - "y": 185.0 + "x": 25.0, + "y": 145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "S0" + "compName": "GUISplitter#0", + "pinName": "O3" }, - "name": "unnamedWire#43", - "path": [] + "name": "unnamedWire#15", + "path": [ + { + "x": 20.0, + "y": 155.0 + }, + { + "x": 20.0, + "y": 65.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUISplitter#1", + "pinName": "O0" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" }, - "name": "unnamedWire#21", + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", + "compName": "DeserializedSubmodelComponent#0", "pinName": "I1_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y2" + "compName": "GUISplitter#1", + "pinName": "O1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O1" + "compName": "GUISplitter#1", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" }, - "name": "unnamedWire#67", - "path": [ - { - "x": 195.0, - "y": 435.0 - } - ] - }, - { - "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": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" - }, - "pin2": { - "compName": "GUISplitter#1", - "pinName": "O1" - }, - "name": "unnamedWire#17", + "name": "unnamedWire#18", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I1_4" + "compName": "GUISplitter#1", + "pinName": "O3" }, "pin2": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y4" - }, - "name": "unnamedWire#48", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_2" + "pinName": "I1_4" }, - "name": "unnamedWire#53", + "name": "unnamedWire#19", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C" + "pinName": "_EN" }, "pin2": { "compName": "GUIdff4_finewe#0", - "pinName": "C" + "pinName": "_WE3" }, - "name": "unnamedWire#0", + "name": "unnamedWire#2", "path": [ - { - "x": 140.0, - "y": 415.0 - }, - { - "x": 255.0, - "y": 415.0 - }, { "x": 255.0, - "y": 280.0 + "y": 25.0 }, { - "x": 340.0, - "y": 280.0 + "x": 360.0, + "y": 25.0 }, { - "x": 340.0, - "y": 175.0 + "x": 360.0, + "y": 205.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_2" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y2" - }, - "name": "unnamedWire#31", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "MUX" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "I" }, - "name": "unnamedWire#35", + "name": "unnamedWire#20", "path": [ { - "x": 420.0, - "y": 385.0 - }, - { - "x": 85.0, - "y": 385.0 + "x": 40.0, + "y": 435.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "COVD_EN" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#84", - "path": [ - { - "x": 275.0, - "y": 295.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "I" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_3" + "compName": "GUISplitter#3", + "pinName": "I" }, - "name": "unnamedWire#79", - "path": [ - { - "x": 205.0, - "y": 85.0 - }, - { - "x": 205.0, - "y": 215.0 - } - ] + "name": "unnamedWire#22", + "path": [] }, { "pin1": { @@ -727,244 +702,324 @@ }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUISplitter#2", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#89", + "name": "unnamedWire#24", + "path": [ + { + "x": 60.0, + "y": 425.0 + }, + { + "x": 60.0, + "y": 415.0 + }, + { + "x": 30.0, + "y": 415.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#1", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y1" + "compName": "GUIdff4_finewe#0", + "pinName": "Q3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_1" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#77", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_1" + "compName": "GUIMerger#0", + "pinName": "I2" }, - "name": "unnamedWire#57", + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "GUIMerger#0", + "pinName": "I3" }, "pin2": { - "compName": "GUISplitter#3", - "pinName": "I" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#22", + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O2" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_3" + "compName": "GUIdff4_finewe#0", + "pinName": "Q4" }, - "name": "unnamedWire#14", + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "_EC" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#8", + "pinName": "A" + }, + "name": "unnamedWire#3", "path": [ { - "x": 25.0, - "y": 55.0 + "x": 155.0, + "y": 20.0 }, { - "x": 25.0, - "y": 145.0 + "x": 365.0, + "y": 20.0 + }, + { + "x": 365.0, + "y": 90.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", + "compName": "DeserializedSubmodelComponent#3", "pinName": "Y1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", + "compName": "DeserializedSubmodelComponent#2", "pinName": "I1_1" }, - "name": "unnamedWire#63", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y2" }, - "name": "unnamedWire#13", - "path": [ - { - "x": 30.0, - "y": 135.0 - }, - { - "x": 30.0, - "y": 45.0 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y1" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_3" }, - "name": "unnamedWire#44", + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I1_4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "Y4" }, - "name": "unnamedWire#49", + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_4" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y4" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A1" }, - "name": "unnamedWire#78", + "name": "unnamedWire#34", "path": [ { - "x": 200.0, - "y": 225.0 + "x": 415.0, + "y": 380.0 }, { - "x": 200.0, - "y": 95.0 + "x": 80.0, + "y": 380.0 + }, + { + "x": 80.0, + "y": 335.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y3" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_3" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#65", - "path": [] + "name": "unnamedWire#35", + "path": [ + { + "x": 420.0, + "y": 385.0 + }, + { + "x": 85.0, + "y": 385.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "MUX" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A3" }, - "name": "unnamedWire#20", + "name": "unnamedWire#36", "path": [ { - "x": 40.0, - "y": 435.0 + "x": 425.0, + "y": 390.0 + }, + { + "x": 90.0, + "y": 390.0 + }, + { + "x": 90.0, + "y": 355.0 } ] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#6", "pinName": "" }, - "name": "unnamedWire#28", - "path": [] + "name": "unnamedWire#37", + "path": [ + { + "x": 430.0, + "y": 395.0 + }, + { + "x": 95.0, + "y": 395.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O2" + "compName": "GUISplitter#3", + "pinName": "O0" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_3" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "name": "unnamedWire#18", + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_1" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_4" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#54", + "name": "unnamedWire#39", "path": [ { - "x": 90.0, - "y": 75.0 + "x": 85.0, + "y": 325.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "_EZ" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_3" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE1" }, - "name": "unnamedWire#32", - "path": [] + "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#4", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q4" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_2" }, - "name": "unnamedWire#29", - "path": [] + "name": "unnamedWire#40", + "path": [ + { + "x": 95.0, + "y": 305.0 + } + ] }, { "pin1": { @@ -980,572 +1035,470 @@ }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O3" + "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": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#2", + "pinName": "S0" + }, + "name": "unnamedWire#43", + "path": [] + }, + { + "pin1": { "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_4" + "pinName": "Y1" }, - "name": "unnamedWire#19", + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_1" + }, + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "A1" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "name": "unnamedWire#34", + "name": "unnamedWire#45", "path": [ { - "x": 415.0, - "y": 380.0 - }, - { - "x": 80.0, - "y": 380.0 - }, - { - "x": 80.0, - "y": 335.0 + "x": 50.0, + "y": 105.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "mu" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_2" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "I" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, - "name": "unnamedWire#10", + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_3" + }, + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O0" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I1_4" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, - "name": "unnamedWire#38", + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_4" }, - "name": "unnamedWire#45", - "path": [ - { - "x": 50.0, - "y": 105.0 - } - ] + "name": "unnamedWire#49", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIMerger#0", + "pinName": "O" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#92", - "path": [ - { - "x": 320.0, - "y": 95.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "I0_3" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#52", + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O0" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#14", "pinName": "" }, - "name": "unnamedWire#24", - "path": [ - { - "x": 60.0, - "y": 425.0 - }, - { - "x": 60.0, - "y": 415.0 - }, - { - "x": 30.0, - "y": 415.0 - } - ] + "name": "unnamedWire#51", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_3" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#11", "pinName": "" }, - "name": "unnamedWire#37", - "path": [ - { - "x": 430.0, - "y": 395.0 - }, - { - "x": 95.0, - "y": 395.0 - } - ] + "name": "unnamedWire#52", + "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O0" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_2" }, - "name": "unnamedWire#16", + "name": "unnamedWire#53", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EOVR" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "I0_1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE4" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#1", + "name": "unnamedWire#54", "path": [ { - "x": 355.0, - "y": 30.0 - }, - { - "x": 355.0, - "y": 215.0 + "x": 90.0, + "y": 75.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#93", + "name": "unnamedWire#55", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "O" + "compName": "DeserializedSubmodelComponent#3", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#5", + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y3" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_3" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "I0_1" }, - "name": "unnamedWire#75", + "name": "unnamedWire#57", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "A2" + "compName": "GUISplitter#3", + "pinName": "O2" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#8", "pinName": "" }, - "name": "unnamedWire#56", + "name": "unnamedWire#58", "path": [] }, { "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#13", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_1" }, - "name": "unnamedWire#69", + "name": "unnamedWire#59", "path": [ { - "x": 105.0, - "y": 235.0 - }, - { - "x": 105.0, - "y": 65.0 + "x": 20.0, + "y": 245.0 } ] }, { "pin1": { "compName": "GUIdff4_finewe#0", - "pinName": "Q2" + "pinName": "Q1" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#9", + "name": "unnamedWire#6", "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#5", - "pinName": "I1_2" + "pinName": "I0_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y" }, - "name": "unnamedWire#64", + "name": "unnamedWire#60", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_3" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I0" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#7", - "path": [] + "name": "unnamedWire#61", + "path": [ + { + "x": 75.0, + "y": 265.0 + } + ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_4" + "compName": "GUISplitter#3", + "pinName": "O3" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I0_4" }, - "name": "unnamedWire#39", + "name": "unnamedWire#62", "path": [ { - "x": 85.0, + "x": 80.0, "y": 325.0 + }, + { + "x": 80.0, + "y": 275.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_2" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_1" }, - "name": "unnamedWire#60", + "name": "unnamedWire#63", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "S0" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y2" }, - "name": "unnamedWire#85", + "name": "unnamedWire#64", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y3" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_3" }, - "name": "unnamedWire#27", + "name": "unnamedWire#65", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "I1_4" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "Y4" }, - "name": "unnamedWire#91", + "name": "unnamedWire#66", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUISplitter#2", + "pinName": "O1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I0_2" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#67", "path": [ { - "x": 95.0, - "y": 305.0 + "x": 195.0, + "y": 435.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "S0" }, - "name": "unnamedWire#42", - "path": [ - { - "x": 30.0, - "y": 230.0 - }, - { - "x": 50.0, - "y": 230.0 - } - ] + "name": "unnamedWire#68", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y1" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "S0" }, - "name": "unnamedWire#81", + "name": "unnamedWire#69", "path": [ { - "x": 215.0, - "y": 65.0 + "x": 105.0, + "y": 235.0 }, { - "x": 215.0, - "y": 195.0 + "x": 105.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EZ" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE1" + "compName": "GUIMerger#0", + "pinName": "I0" }, - "name": "unnamedWire#4", - "path": [ - { - "x": 55.0, - "y": 15.0 - }, - { - "x": 370.0, - "y": 15.0 - }, - { - "x": 370.0, - "y": 185.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D1" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y4" }, "pin2": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y1" + "compName": "GUIdff4_finewe#0", + "pinName": "D4" }, - "name": "unnamedWire#73", + "name": "unnamedWire#70", "path": [ { - "x": 310.0, - "y": 225.0 + "x": 295.0, + "y": 215.0 }, { - "x": 310.0, - "y": 185.0 + "x": 295.0, + "y": 255.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I1_4" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y4" - }, - "name": "unnamedWire#66", - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "_EN" + "compName": "GUIdff4_finewe#0", + "pinName": "D3" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE3" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y3" }, - "name": "unnamedWire#2", + "name": "unnamedWire#71", "path": [ { - "x": 255.0, - "y": 25.0 - }, - { - "x": 360.0, - "y": 25.0 + "x": 300.0, + "y": 245.0 }, { - "x": 360.0, + "x": 300.0, "y": 205.0 } ] }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "A4" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "name": "unnamedWire#55", - "path": [] - }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_4" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y4" - }, - "name": "unnamedWire#33", - "path": [] - }, { "pin1": { "compName": "DeserializedSubmodelComponent#8", @@ -1577,195 +1530,253 @@ }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "D1" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "Y1" }, - "name": "unnamedWire#51", + "name": "unnamedWire#73", + "path": [ + { + "x": 310.0, + "y": 225.0 + }, + { + "x": 310.0, + "y": 185.0 + } + ] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_4" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y4" + }, + "name": "unnamedWire#74", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", + "compName": "DeserializedSubmodelComponent#5", "pinName": "Y3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", + "compName": "DeserializedSubmodelComponent#6", "pinName": "I1_3" }, - "name": "unnamedWire#47", + "name": "unnamedWire#75", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_2" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y2" }, - "name": "unnamedWire#83", + "name": "unnamedWire#76", "path": [] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#5", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I1_1" }, - "name": "unnamedWire#58", + "name": "unnamedWire#77", "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q3" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_4" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y4" }, - "name": "unnamedWire#26", - "path": [] + "name": "unnamedWire#78", + "path": [ + { + "x": 200.0, + "y": 225.0 + }, + { + "x": 200.0, + "y": 95.0 + } + ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D3" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y3" }, "pin2": { "compName": "DeserializedSubmodelComponent#6", - "pinName": "Y3" + "pinName": "I0_3" }, - "name": "unnamedWire#71", + "name": "unnamedWire#79", "path": [ { - "x": 300.0, - "y": 245.0 + "x": 205.0, + "y": 85.0 }, { - "x": 300.0, - "y": 205.0 + "x": 205.0, + "y": 215.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q1" + "compName": "GUIMerger#0", + "pinName": "I1" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_1" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y2" }, - "name": "unnamedWire#59", + "name": "unnamedWire#80", "path": [ { - "x": 20.0, - "y": 245.0 + "x": 210.0, + "y": 205.0 + }, + { + "x": 210.0, + "y": 75.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#4", + "pinName": "Y1" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "I0_1" }, - "name": "unnamedWire#15", + "name": "unnamedWire#81", "path": [ { - "x": 20.0, - "y": 155.0 + "x": 215.0, + "y": 65.0 }, { - "x": 20.0, - "y": 65.0 + "x": 215.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I0_2" + "compName": "GUISplitter#2", + "pinName": "O2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#4", - "pinName": "Y2" + "compName": "DeserializedSubmodelComponent#6", + "pinName": "S0" }, - "name": "unnamedWire#80", + "name": "unnamedWire#82", "path": [ { - "x": 210.0, - "y": 205.0 + "x": 245.0, + "y": 445.0 }, { - "x": 210.0, - "y": 75.0 + "x": 245.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#7", - "pinName": "Y" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "D2" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#88", + "name": "unnamedWire#83", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "COVD_EN" + }, + "name": "unnamedWire#84", "path": [ { - "x": 365.0, + "x": 275.0, "y": 295.0 - }, - { - "x": 365.0, - "y": 235.0 } ] }, { "pin1": { - "compName": "GUISplitter#3", - "pinName": "O3" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "I0_4" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "S0" }, - "name": "unnamedWire#62", + "name": "unnamedWire#85", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "COVD_V" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#7", + "pinName": "I1" + }, + "name": "unnamedWire#86", "path": [ { - "x": 80.0, + "x": 375.0, "y": 325.0 }, { - "x": 80.0, - "y": 275.0 + "x": 320.0, + "y": 325.0 + }, + { + "x": 320.0, + "y": 315.0 } ] }, @@ -1792,99 +1803,100 @@ }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "DeserializedSubmodelComponent#7", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "D2" }, - "name": "unnamedWire#90", - "path": [] + "name": "unnamedWire#88", + "path": [ + { + "x": 365.0, + "y": 295.0 + }, + { + "x": 365.0, + "y": 235.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "DeserializedSubmodelComponent#8", + "pinName": "B" }, - "name": "unnamedWire#50", + "name": "unnamedWire#89", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_2" + "compName": "GUIdff4_finewe#0", + "pinName": "Q2" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y2" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#76", + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#3", - "pinName": "Y1" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "I1_1" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "name": "unnamedWire#30", + "name": "unnamedWire#90", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#6", - "pinName": "I1_4" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#5", - "pinName": "Y4" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#74", + "name": "unnamedWire#91", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EC" + "compName": "GUINandGate#0", + "pinName": "A" }, "pin2": { - "compName": "DeserializedSubmodelComponent#8", - "pinName": "A" + "compName": "WireCrossPoint#16", + "pinName": "" }, - "name": "unnamedWire#3", + "name": "unnamedWire#92", "path": [ { - "x": 155.0, - "y": 20.0 - }, - { - "x": 365.0, - "y": 20.0 - }, - { - "x": 365.0, - "y": 90.0 + "x": 320.0, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "S0" }, - "name": "unnamedWire#8", + "name": "unnamedWire#93", "path": [] } ], @@ -1902,7 +1914,15 @@ "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { "subcomponentHighLevelStates": {}, - "atomicHighLevelStates": {} + "atomicHighLevelStates": { + "q": { + "id": "delegating", + "params": { + "delegateTarget": "GUIdff4_finewe#0", + "subStateID": "q" + } + } + } }, - "version": "0.1.4" + "version": "0.1.5" } \ 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 index 5b35584f..93b91e58 100644 --- a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904TestLogic.json +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904TestLogic.json @@ -1,63 +1,69 @@ -mograsim version: 0.1.3 { "width": 60.0, "height": 90.0, "interfacePins": [ { "location": { - "x": 60.0, - "y": 60.0 + "x": 0.0, + "y": 50.0 }, - "name": "Y101", - "logicWidth": 1 + "name": "I", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { "x": 60.0, - "y": 20.0 + "y": 10.0 }, - "name": "Y001", - "logicWidth": 1 + "name": "Y000", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 50.0 + "y": 20.0 }, - "name": "Y100", - "logicWidth": 1 + "name": "Y001", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 80.0 + "y": 30.0 }, - "name": "Y111", - "logicWidth": 1 + "name": "Y010", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 0.0, - "y": 50.0 + "x": 60.0, + "y": 40.0 }, - "name": "I", - "logicWidth": 4 + "name": "Y011", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 40.0 + "y": 50.0 }, - "name": "Y011", - "logicWidth": 1 + "name": "Y100", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 10.0 + "y": 60.0 }, - "name": "Y000", - "logicWidth": 1 + "name": "Y101", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { @@ -65,20 +71,39 @@ mograsim version: 0.1.3 "y": 70.0 }, "name": "Y110", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 60.0, - "y": 30.0 + "y": 80.0 }, - "name": "Y010", - "logicWidth": 1 + "name": "Y111", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.4, "submodel": { - "innerScale": 0.4, - "subComps": [ + "components": [ + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 40.0, + "y": 20.0 + } + }, + { + "id": "GUINandGate", + "name": "GUINandGate#0", + "pos": { + "x": 85.0, + "y": 20.0 + }, + "params": 1 + }, { "id": "GUINandGate", "name": "GUINandGate#1", @@ -90,10 +115,10 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#0", + "name": "GUINandGate#2", "pos": { - "x": 85.0, - "y": 20.0 + "x": 120.0, + "y": 15.0 }, "params": 1 }, @@ -108,22 +133,31 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#4", "pos": { - "x": 120.0, - "y": 15.0 + "x": 80.0, + "y": 115.0 }, "params": 1 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { - "x": 34.0, - "y": 99.0 + "x": 80.0, + "y": 165.0 }, "params": 1 }, + { + "id": "GUISplitter", + "name": "GUISplitter#0", + "pos": { + "x": 5.0, + "y": 110.0 + }, + "params": 4 + }, { "id": "WireCrossPoint", "name": "WireCrossPoint#0", @@ -134,20 +168,20 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 5.0, - "y": 110.0 + "x": 34.0, + "y": 99.0 }, - "params": 4 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#10", "pos": { - "x": 79.0, - "y": 24.0 + "x": 39.0, + "y": 109.0 }, "params": 1 }, @@ -162,10 +196,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 24.0, - "y": 119.0 + "x": 79.0, + "y": 24.0 }, "params": 1 }, @@ -180,10 +214,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 74.0, - "y": 59.0 + "x": 24.0, + "y": 119.0 }, "params": 1 }, @@ -198,10 +232,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#7", "pos": { - "x": 24.0, - "y": 149.0 + "x": 74.0, + "y": 59.0 }, "params": 1 }, @@ -215,60 +249,92 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUINandGate", - "name": "GUINandGate#5", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 80.0, - "y": 165.0 + "x": 24.0, + "y": 149.0 }, "params": 1 - }, + } + ], + "wires": [ { - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", - "pos": { - "x": 39.0, - "y": 109.0 + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" }, - "params": 1 + "pin2": { + "compName": "GUISplitter#0", + "pinName": "I" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIxor", - "name": "DeserializedSubmodelComponent#0", - "pos": { - "x": 40.0, - "y": 20.0 - } + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O2" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUINandGate", - "name": "GUINandGate#4", - "pos": { - "x": 80.0, - "y": 115.0 + "pin1": { + "compName": "GUINandGate#2", + "pinName": "A" }, - "params": 1 - } - ], - "innerWires": [ + "pin2": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 110.0, + "y": 20.0 + }, + { + "x": 110.0, + "y": 30.0 + } + ] + }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "name": "unnamedWire#14", + "name": "unnamedWire#11", "path": [ { - "x": 115.0, - "y": 60.0 - }, + "x": 20.0, + "y": 65.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#12", + "path": [ { - "x": 115.0, - "y": 30.0 + "x": 40.0, + "y": 55.0 } ] }, @@ -286,15 +352,24 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y000" + "compName": "GUINandGate#2", + "pinName": "B" }, - "name": "unnamedWire#16", - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 115.0, + "y": 60.0 + }, + { + "x": 115.0, + "y": 30.0 + } + ] }, { "pin1": { @@ -315,14 +390,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y000" }, - "name": "unnamedWire#18", + "name": "unnamedWire#16", "path": [] }, { @@ -344,30 +419,42 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#9", "pinName": "" }, - "name": "unnamedWire#19", + "name": "unnamedWire#18", "path": [] }, { "pin1": { "compName": "GUISplitter#0", - "pinName": "O0" + "pinName": "O1" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#5", "pinName": "" }, - "name": "unnamedWire#21", + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "name": "unnamedWire#2", "path": [ { - "x": 20.0, - "y": 110.0 + "x": 35.0, + "y": 140.0 } ] }, @@ -385,15 +472,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "GUISplitter#0", + "pinName": "O0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y100" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#21", + "path": [ + { + "x": 20.0, + "y": 110.0 + } + ] }, { "pin1": { @@ -409,14 +501,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y100" }, - "name": "unnamedWire#25", + "name": "unnamedWire#23", "path": [] }, { @@ -442,14 +534,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#27", + "name": "unnamedWire#25", "path": [] }, { @@ -466,14 +558,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Y110" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "GUINandGate#3", + "pinName": "A" }, - "name": "unnamedWire#29", + "name": "unnamedWire#27", "path": [] }, { @@ -490,75 +582,32 @@ mograsim version: 0.1.3 }, { "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": "" + "compName": "_submodelinterface", + "pinName": "Y110" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#5", + "pinName": "Y" }, - "name": "unnamedWire#6", + "name": "unnamedWire#29", "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" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "A" }, - "name": "unnamedWire#0", - "path": [] + "name": "unnamedWire#3", + "path": [ + { + "x": 30.0, + "y": 25.0 + } + ] }, { "pin1": { @@ -579,37 +628,21 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#3", + "pinName": "B" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#10", + "pinName": "" }, - "name": "unnamedWire#10", + "name": "unnamedWire#31", "path": [ { - "x": 110.0, - "y": 20.0 - }, - { - "x": 110.0, - "y": 30.0 + "x": 40.0, + "y": 120.0 } ] }, - { - "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "name": "unnamedWire#5", - "path": [] - }, { "pin1": { "compName": "WireCrossPoint#9", @@ -629,124 +662,100 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y111" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#4", + "name": "unnamedWire#33", "path": [ { - "x": 35.0, - "y": 35.0 + "x": 30.0, + "y": 200.0 } ] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "B" }, - "name": "unnamedWire#31", + "name": "unnamedWire#4", "path": [ { - "x": 40.0, - "y": 120.0 + "x": 35.0, + "y": 35.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "A" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#3", - "path": [ - { - "x": 30.0, - "y": 25.0 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 40.0, - "y": 55.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#2", - "path": [ - { - "x": 35.0, - "y": 140.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, - "name": "unnamedWire#11", - "path": [ - { - "x": 20.0, - "y": 65.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Y111" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#7", "pinName": "" }, - "name": "unnamedWire#33", - "path": [ - { - "x": 30.0, - "y": 200.0 - } - ] + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -761,5 +770,6 @@ mograsim version: 0.1.3 "highLevelStateHandlerParams": { "subcomponentHighLevelStates": {}, "atomicHighLevelStates": {} - } + }, + "version": "0.1.5" } \ 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 index fa3ed355..05fbd4ee 100644 --- a/net.mograsim.logic.model.editor/components/am2904/GUIAm2904muSR.json +++ b/net.mograsim.logic.model.editor/components/am2904/GUIAm2904muSR.json @@ -1,23 +1,15 @@ -mograsim version: 0.1.3 { "width": 45.0, "height": 46.0, "interfacePins": [ { "location": { - "x": 4.0, + "x": 14.0, "y": 46.0 }, - "name": "MUX", - "logicWidth": 2 - }, - { - "location": { - "x": 45.0, - "y": 19.0 - }, - "name": "Q", - "logicWidth": 4 + "name": "C", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,47 +17,53 @@ mograsim version: 0.1.3 "y": 46.0 }, "name": "CINV", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 14.0, - "y": 46.0 + "x": 0.0, + "y": 31.0 }, - "name": "C", - "logicWidth": 1 + "name": "I", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 5.5, - "y": 0.0 + "x": 0.0, + "y": 13.5 }, - "name": "_EZ", - "logicWidth": 1 + "name": "M", + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 37.5, + "x": 4.0, "y": 46.0 }, - "name": "OVRRET", - "logicWidth": 1 + "name": "MUX", + "logicWidth": 2, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 31.0 + "x": 37.5, + "y": 46.0 }, - "name": "I", - "logicWidth": 4 + "name": "OVRRET", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 25.5, - "y": 0.0 + "x": 45.0, + "y": 19.0 }, - "name": "_EN", - "logicWidth": 1 + "name": "Q", + "logicWidth": 4, + "usage": "OUTPUT" }, { "location": { @@ -73,15 +71,17 @@ mograsim version: 0.1.3 "y": 0.0 }, "name": "_EC", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 13.5 + "x": 25.5, + "y": 0.0 }, - "name": "M", - "logicWidth": 4 + "name": "_EN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -89,20 +89,54 @@ mograsim version: 0.1.3 "y": 0.0 }, "name": "_EOVR", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 5.5, + "y": 0.0 + }, + "name": "_EZ", + "logicWidth": 1, + "usage": "INPUT" } ], + "innerScale": 0.1, "submodel": { - "innerScale": 0.1, - "subComps": [ + "components": [ { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#0", + "pos": { + "x": 45.0, + "y": 240.0 + } + }, + { + "id": "GUImux1_4", + "name": "DeserializedSubmodelComponent#1", + "pos": { + "x": 100.0, + "y": 190.0 + } + }, + { + "id": "GUIxor", + "name": "DeserializedSubmodelComponent#2", "pos": { "x": 215.0, - "y": 255.0 + "y": 200.0 + } + }, + { + "id": "GUIMerger", + "name": "GUIMerger#0", + "pos": { + "x": 435.0, + "y": 175.0 }, - "params": 1 + "params": 4 }, { "id": "GUINandGate", @@ -115,30 +149,30 @@ mograsim version: 0.1.3 }, { "id": "GUINandGate", - "name": "GUINandGate#2", + "name": "GUINandGate#1", "pos": { "x": 215.0, - "y": 235.0 + "y": 255.0 }, "params": 1 }, { - "id": "GUIMerger", - "name": "GUIMerger#0", + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { - "x": 435.0, - "y": 175.0 + "x": 215.0, + "y": 235.0 }, - "params": 4 + "params": 1 }, { "id": "GUISplitter", - "name": "GUISplitter#2", + "name": "GUISplitter#0", "pos": { - "x": 45.0, - "y": 430.0 + "x": 5.0, + "y": 120.0 }, - "params": 2 + "params": 4 }, { "id": "GUISplitter", @@ -150,13 +184,21 @@ mograsim version: 0.1.3 "params": 4 }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUISplitter", + "name": "GUISplitter#2", "pos": { - "x": 89.0, - "y": 224.0 + "x": 45.0, + "y": 430.0 }, - "params": 1 + "params": 2 + }, + { + "id": "GUIdff4_finewe", + "name": "GUIdff4_finewe#0", + "pos": { + "x": 375.0, + "y": 170.0 + } }, { "id": "WireCrossPoint", @@ -168,29 +210,29 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUISplitter", - "name": "GUISplitter#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { - "x": 5.0, - "y": 120.0 + "x": 89.0, + "y": 224.0 }, - "params": 4 + "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#2", "pos": { - "x": 429.0, - "y": 204.0 + "x": 89.0, + "y": 214.0 }, "params": 1 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#2", + "name": "WireCrossPoint#3", "pos": { - "x": 89.0, - "y": 214.0 + "x": 429.0, + "y": 204.0 }, "params": 1 }, @@ -202,867 +244,836 @@ mograsim version: 0.1.3 "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": [ + "wires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "CINV" + "compName": "GUIdff4_finewe#0", + "pinName": "Q1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "B" + "compName": "GUIMerger#0", + "pinName": "I0" }, - "name": "unnamedWire#36", - "path": [ - { - "x": 275.0, - "y": 390.0 - }, - { - "x": 190.0, - "y": 390.0 - }, - { - "x": 190.0, - "y": 215.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y2" + "compName": "GUIMerger#0", + "pinName": "I1" }, "pin2": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "A" + "compName": "GUIdff4_finewe#0", + "pinName": "Q2" }, - "name": "unnamedWire#35", + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "C" + "compName": "GUISplitter#1", + "pinName": "O0" }, - "name": "unnamedWire#38", + "name": "unnamedWire#10", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#0", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_4" + }, + "name": "unnamedWire#11", "path": [ { - "x": 140.0, - "y": 325.0 - }, - { - "x": 345.0, - "y": 325.0 + "x": 20.0, + "y": 150.0 }, { - "x": 345.0, - "y": 175.0 + "x": 20.0, + "y": 285.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EZ" + "compName": "GUISplitter#0", + "pinName": "O2" }, - "name": "unnamedWire#37", + "name": "unnamedWire#12", "path": [ { - "x": 370.0, - "y": 185.0 - }, - { - "x": 370.0, - "y": 5.0 + "x": 25.0, + "y": 275.0 }, { - "x": 55.0, - "y": 5.0 + "x": 25.0, + "y": 140.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EOVR" + "compName": "GUISplitter#0", + "pinName": "O1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE4" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_2" }, - "name": "unnamedWire#39", + "name": "unnamedWire#13", "path": [ { - "x": 355.0, - "y": 215.0 + "x": 30.0, + "y": 130.0 + }, + { + "x": 30.0, + "y": 265.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_EC" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I0_1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE2" + "compName": "GUISplitter#0", + "pinName": "O0" }, - "name": "unnamedWire#41", + "name": "unnamedWire#14", "path": [ { - "x": 155.0, - "y": 10.0 - }, - { - "x": 365.0, - "y": 10.0 + "x": 35.0, + "y": 255.0 }, { - "x": 365.0, - "y": 195.0 + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "_WE3" + "compName": "_submodelinterface", + "pinName": "MUX" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_EN" + "compName": "GUISplitter#2", + "pinName": "I" }, - "name": "unnamedWire#40", + "name": "unnamedWire#15", "path": [ { - "x": 360.0, - "y": 205.0 - }, - { - "x": 360.0, - "y": 15.0 - }, - { - "x": 255.0, - "y": 15.0 + "x": 40.0, + "y": 435.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#2", - "pinName": "Y" + "compName": "GUISplitter#2", + "pinName": "O0" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "D2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#43", + "name": "unnamedWire#16", "path": [ { - "x": 310.0, - "y": 205.0 - }, - { - "x": 310.0, - "y": 235.0 + "x": 90.0, + "y": 430.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D1" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y4" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y1" + "pinName": "I1_4" }, - "name": "unnamedWire#42", - "path": [ - { - "x": 315.0, - "y": 225.0 - }, - { - "x": 315.0, - "y": 195.0 - } - ] + "name": "unnamedWire#17", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y4" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y3" }, - "name": "unnamedWire#45", - "path": [ - { - "x": 160.0, - "y": 245.0 - }, - { - "x": 160.0, - "y": 225.0 - } - ] + "name": "unnamedWire#18", + "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "D3" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y2" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "Y3" + "pinName": "I1_2" }, - "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 - } - ] + "name": "unnamedWire#19", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUIMerger#0", + "pinName": "I2" }, - "name": "unnamedWire#47", - "path": [ - { - "x": 210.0, - "y": 240.0 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "D4" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I1_1" }, - "name": "unnamedWire#46", + "name": "unnamedWire#20", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_1" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#48", + "name": "unnamedWire#21", "path": [ { - "x": 210.0, - "y": 250.0 + "x": 90.0, + "y": 205.0 } ] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_2" }, - "name": "unnamedWire#9", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_3" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_3" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "O2" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "name": "unnamedWire#8", + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUISplitter#1", - "pinName": "O3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I1_4" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#7", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#1", - "pinName": "I" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "GUIMerger#0", - "pinName": "I1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "I0_4" }, - "name": "unnamedWire#1", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "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" + "pinName": "S0" }, - "name": "unnamedWire#4", - "path": [] + "name": "unnamedWire#27", + "path": [ + { + "x": 40.0, + "y": 235.0 + }, + { + "x": 40.0, + "y": 245.0 + } + ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_3" + "compName": "GUISplitter#2", + "pinName": "O1" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O2" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "S0" }, - "name": "unnamedWire#12", + "name": "unnamedWire#28", "path": [ { - "x": 25.0, - "y": 275.0 + "x": 85.0, + "y": 440.0 }, { - "x": 25.0, - "y": 140.0 + "x": 85.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIdff4_finewe#0", - "pinName": "Q4" - }, - "pin2": { "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#3", + "pin2": { + "compName": "GUIMerger#0", + "pinName": "I3" + }, + "name": "unnamedWire#29", "path": [] }, { "pin1": { "compName": "GUIdff4_finewe#0", - "pinName": "Q3" + "pinName": "Q4" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I2" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#2", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O3" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_4" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#11", + "name": "unnamedWire#30", "path": [ { - "x": 20.0, - "y": 150.0 + "x": 240.0, + "y": 245.0 }, { - "x": 20.0, - "y": 285.0 + "x": 240.0, + "y": 250.0 } ] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_1" + "compName": "GUINandGate#0", + "pinName": "B" }, "pin2": { - "compName": "GUISplitter#0", - "pinName": "O0" + "compName": "GUINandGate#1", + "pinName": "Y" }, - "name": "unnamedWire#14", + "name": "unnamedWire#31", "path": [ { - "x": 35.0, - "y": 255.0 + "x": 240.0, + "y": 260.0 }, { - "x": 35.0, - "y": 120.0 + "x": 240.0, + "y": 265.0 } ] }, { "pin1": { - "compName": "GUISplitter#0", - "pinName": "O1" + "compName": "_submodelinterface", + "pinName": "OVRRET" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "I0_2" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#13", + "name": "unnamedWire#32", "path": [ { - "x": 30.0, - "y": 130.0 + "x": 375.0, + "y": 360.0 }, { - "x": 30.0, - "y": 265.0 + "x": 205.0, + "y": 360.0 + }, + { + "x": 205.0, + "y": 260.0 } ] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O0" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#3", "pinName": "" }, - "name": "unnamedWire#16", - "path": [ - { - "x": 90.0, - "y": 430.0 - } - ] + "name": "unnamedWire#33", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "MUX" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUISplitter#2", - "pinName": "I" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#15", + "name": "unnamedWire#34", "path": [ { - "x": 40.0, - "y": 435.0 + "x": 430.0, + "y": 280.0 + }, + { + "x": 210.0, + "y": 280.0 + }, + { + "x": 210.0, + "y": 270.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" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "A" }, - "name": "unnamedWire#19", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_1" + "compName": "_submodelinterface", + "pinName": "CINV" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "DeserializedSubmodelComponent#2", + "pinName": "B" }, - "name": "unnamedWire#21", + "name": "unnamedWire#36", "path": [ { - "x": 90.0, - "y": 205.0 + "x": 275.0, + "y": 390.0 + }, + { + "x": 190.0, + "y": 390.0 + }, + { + "x": 190.0, + "y": 215.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" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE1" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EZ" }, - "name": "unnamedWire#23", - "path": [] + "name": "unnamedWire#37", + "path": [ + { + "x": 370.0, + "y": 185.0 + }, + { + "x": 370.0, + "y": 5.0 + }, + { + "x": 55.0, + "y": 5.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_2" + "compName": "GUIdff4_finewe#0", + "pinName": "C" }, - "name": "unnamedWire#22", - "path": [] + "name": "unnamedWire#38", + "path": [ + { + "x": 140.0, + "y": 325.0 + }, + { + "x": 345.0, + "y": 325.0 + }, + { + "x": 345.0, + "y": 175.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EOVR" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE4" }, - "name": "unnamedWire#25", - "path": [] + "name": "unnamedWire#39", + "path": [ + { + "x": 355.0, + "y": 215.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIMerger#0", + "pinName": "O" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Q" }, - "name": "unnamedWire#24", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE3" }, "pin2": { - "compName": "DeserializedSubmodelComponent#0", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "_EN" }, - "name": "unnamedWire#27", + "name": "unnamedWire#40", "path": [ { - "x": 40.0, - "y": 235.0 + "x": 360.0, + "y": 205.0 }, { - "x": 40.0, - "y": 245.0 + "x": 360.0, + "y": 15.0 + }, + { + "x": 255.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "DeserializedSubmodelComponent#1", - "pinName": "I0_4" - }, - "name": "unnamedWire#26", - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_EC" }, "pin2": { - "compName": "GUIMerger#0", - "pinName": "I3" + "compName": "GUIdff4_finewe#0", + "pinName": "_WE2" }, - "name": "unnamedWire#29", - "path": [] + "name": "unnamedWire#41", + "path": [ + { + "x": 155.0, + "y": 10.0 + }, + { + "x": 365.0, + "y": 10.0 + }, + { + "x": 365.0, + "y": 195.0 + } + ] }, { "pin1": { - "compName": "GUISplitter#2", - "pinName": "O1" + "compName": "GUIdff4_finewe#0", + "pinName": "D1" }, "pin2": { "compName": "DeserializedSubmodelComponent#1", - "pinName": "S0" + "pinName": "Y1" }, - "name": "unnamedWire#28", + "name": "unnamedWire#42", "path": [ { - "x": 85.0, - "y": 440.0 + "x": 315.0, + "y": 225.0 }, { - "x": 85.0, + "x": 315.0, "y": 195.0 } ] }, { "pin1": { - "compName": "GUINandGate#2", + "compName": "DeserializedSubmodelComponent#2", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIdff4_finewe#0", + "pinName": "D2" }, - "name": "unnamedWire#30", + "name": "unnamedWire#43", "path": [ { - "x": 240.0, - "y": 245.0 + "x": 310.0, + "y": 205.0 }, { - "x": 240.0, - "y": 250.0 + "x": 310.0, + "y": 235.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "OVRRET" + "compName": "GUIdff4_finewe#0", + "pinName": "D3" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y3" }, - "name": "unnamedWire#32", + "name": "unnamedWire#44", "path": [ { - "x": 375.0, - "y": 360.0 + "x": 305.0, + "y": 245.0 }, { - "x": 205.0, - "y": 360.0 + "x": 305.0, + "y": 225.0 }, { - "x": 205.0, - "y": 260.0 + "x": 170.0, + "y": 225.0 + }, + { + "x": 170.0, + "y": 215.0 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "DeserializedSubmodelComponent#1", + "pinName": "Y4" }, - "name": "unnamedWire#31", + "name": "unnamedWire#45", "path": [ { - "x": 240.0, - "y": 260.0 + "x": 160.0, + "y": 245.0 }, { - "x": 240.0, - "y": 265.0 + "x": 160.0, + "y": 225.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIdff4_finewe#0", + "pinName": "D4" + }, + "name": "unnamedWire#46", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, - "name": "unnamedWire#34", + "name": "unnamedWire#47", "path": [ - { - "x": 430.0, - "y": 280.0 - }, { "x": 210.0, - "y": 280.0 - }, + "y": 240.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#48", + "path": [ { "x": 210.0, - "y": 270.0 + "y": 250.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "M" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUISplitter#0", + "pinName": "I" }, - "name": "unnamedWire#33", + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "I" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O3" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_4" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_3" + }, + "pin2": { + "compName": "GUISplitter#1", + "pinName": "O2" + }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUISplitter#1", + "pinName": "O1" + }, + "pin2": { + "compName": "DeserializedSubmodelComponent#0", + "pinName": "I1_2" + }, + "name": "unnamedWire#9", "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1076,6 +1087,15 @@ mograsim version: 0.1.3 "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { "subcomponentHighLevelStates": {}, - "atomicHighLevelStates": {} - } + "atomicHighLevelStates": { + "q": { + "id": "delegating", + "params": { + "delegateTarget": "GUIdff4_finewe#0", + "subStateID": "q" + } + } + } + }, + "version": "0.1.5" } \ 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 index e410f3b4..a5681506 100644 --- a/net.mograsim.logic.model.editor/components/am2910/GUIAm2910.json +++ b/net.mograsim.logic.model.editor/components/am2910/GUIAm2910.json @@ -1,4 +1,3 @@ -mograsim version: 0.1.3 { "width": 72.0, "height": 67.0, @@ -9,15 +8,8 @@ mograsim version: 0.1.3 "y": 0.0 }, "name": "C", - "logicWidth": 1 - }, - { - "location": { - "x": 36.0, - "y": 0.0 - }, - "name": "D", - "logicWidth": 12 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -25,15 +17,17 @@ mograsim version: 0.1.3 "y": 40.0 }, "name": "CI", - "logicWidth": 1 + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 0.0, - "y": 6.0 + "x": 36.0, + "y": 0.0 }, - "name": "_RLD", - "logicWidth": 1 + "name": "D", + "logicWidth": 12, + "usage": "INPUT" }, { "location": { @@ -41,31 +35,35 @@ mograsim version: 0.1.3 "y": 50.0 }, "name": "I", - "logicWidth": 4 + "logicWidth": 4, + "usage": "INPUT" }, { "location": { - "x": 19.0, + "x": 38.0, "y": 67.0 }, - "name": "_MAP", - "logicWidth": 1 + "name": "Y", + "logicWidth": 12, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 44.0 + "y": 38.0 }, - "name": "_CCEN", - "logicWidth": 1 + "name": "_CC", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 49.0, - "y": 67.0 + "x": 0.0, + "y": 44.0 }, - "name": "_OE", - "logicWidth": 1 + "name": "_CCEN", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { @@ -73,61 +71,136 @@ mograsim version: 0.1.3 "y": 14.0 }, "name": "_FULL", - "logicWidth": 1 + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 38.0, + "x": 19.0, "y": 67.0 }, - "name": "Y", - "logicWidth": 12 + "name": "_MAP", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { - "x": 13.0, + "x": 49.0, "y": 67.0 }, - "name": "_PL", - "logicWidth": 1 + "name": "_OE", + "logicWidth": 1, + "usage": "INPUT" }, { "location": { - "x": 25.0, + "x": 13.0, "y": 67.0 }, - "name": "_VECT", - "logicWidth": 1 + "name": "_PL", + "logicWidth": 1, + "usage": "OUTPUT" }, { "location": { "x": 0.0, - "y": 38.0 + "y": 6.0 }, - "name": "_CC", - "logicWidth": 1 + "name": "_RLD", + "logicWidth": 1, + "usage": "INPUT" + }, + { + "location": { + "x": 25.0, + "y": 67.0 + }, + "name": "_VECT", + "logicWidth": 1, + "usage": "OUTPUT" } ], + "innerScale": 0.2, "submodel": { - "innerScale": 0.2, - "subComps": [ + "components": [ { - "id": "GUINandGate", - "name": "GUINandGate#1", + "id": "GUIAm2910InstrPLA", + "name": "GUIAm2910InstrPLA#0", "pos": { - "x": 10.0, - "y": 210.0 - }, - "params": 1 + "x": 80.0, + "y": 155.0 + } }, { - "id": "GUIram5_12", - "name": "GUIram5_12#0", + "id": "GUIAm2910RegCntr", + "name": "GUIAm2910RegCntr#0", + "pos": { + "x": 160.0, + "y": 25.0 + } + }, + { + "id": "GUIAm2910SP", + "name": "GUIAm2910SP#0", "pos": { "x": 305.0, - "y": 100.0 + "y": 55.0 } }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#0", + "pos": { + "x": 160.0, + "y": 95.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#1", + "pos": { + "x": 260.0, + "y": 115.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#2", + "pos": { + "x": 345.0, + "y": 180.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#3", + "pos": { + "x": 265.0, + "y": 150.0 + }, + "params": 12 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#4", + "pos": { + "x": 260.0, + "y": 85.0 + }, + "params": 3 + }, + { + "id": "GUIBitDisplay", + "name": "GUIBitDisplay#5", + "pos": { + "x": 260.0, + "y": 70.0 + }, + "params": 3 + }, { "id": "GUINandGate", "name": "GUINandGate#0", @@ -137,6 +210,27 @@ mograsim version: 0.1.3 }, "params": 1 }, + { + "id": "GUINandGate", + "name": "GUINandGate#1", + "pos": { + "x": 10.0, + "y": 210.0 + }, + "params": 1 + }, + { + "id": "GUITriStateBuffer", + "name": "GUITriStateBuffer#0", + "pos": { + "x": 180.0, + "y": 290.0 + }, + "params": { + "logicWidth": 12, + "orientation": "DOWN" + } + }, { "id": "GUIdff12", "name": "GUIdff12#0", @@ -154,22 +248,28 @@ mograsim version: 0.1.3 } }, { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", + "id": "GUInor12", + "name": "GUInor12#0", "pos": { - "x": 265.0, - "y": 150.0 - }, - "params": 12 + "x": 190.0, + "y": 80.0 + } }, { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", + "id": "GUIram5_12", + "name": "GUIram5_12#0", "pos": { - "x": 294.0, - "y": 104.0 - }, - "params": 1 + "x": 305.0, + "y": 100.0 + } + }, + { + "id": "GUIsel4_12", + "name": "GUIsel4_12#0", + "pos": { + "x": 150.0, + "y": 175.0 + } }, { "id": "WireCrossPoint", @@ -182,12 +282,12 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#3", + "name": "WireCrossPoint#1", "pos": { - "x": 179.0, - "y": 89.0 + "x": 294.0, + "y": 104.0 }, - "params": 12 + "params": 1 }, { "id": "WireCrossPoint", @@ -200,12 +300,12 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#5", + "name": "WireCrossPoint#3", "pos": { - "x": 4.0, - "y": 219.0 + "x": 179.0, + "y": 89.0 }, - "params": 1 + "params": 12 }, { "id": "WireCrossPoint", @@ -218,25 +318,13 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#7", + "name": "WireCrossPoint#5", "pos": { - "x": 299.0, - "y": 44.0 + "x": 4.0, + "y": 219.0 }, "params": 1 }, - { - "id": "GUITriStateBuffer", - "name": "GUITriStateBuffer#0", - "pos": { - "x": 180.0, - "y": 290.0 - }, - "params": { - "logicWidth": 12, - "orientation": "DOWN_ALT" - } - }, { "id": "WireCrossPoint", "name": "WireCrossPoint#6", @@ -248,10 +336,10 @@ mograsim version: 0.1.3 }, { "id": "WireCrossPoint", - "name": "WireCrossPoint#9", + "name": "WireCrossPoint#7", "pos": { "x": 299.0, - "y": 114.0 + "y": 44.0 }, "params": 1 }, @@ -265,615 +353,651 @@ mograsim version: 0.1.3 "params": 1 }, { - "id": "GUInor12", - "name": "GUInor12#0", + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { - "x": 190.0, - "y": 80.0 - } - }, + "x": 299.0, + "y": 114.0 + }, + "params": 1 + } + ], + "wires": [ { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", - "pos": { - "x": 160.0, - "y": 95.0 + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YD" }, - "params": 12 + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SA" + }, + "name": "unnamedWire#0", + "path": [] }, { - "id": "GUIAm2910InstrPLA", - "name": "GUIAm2910InstrPLA#0", - "pos": { - "x": 80.0, - "y": 155.0 - } + "pin1": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "YR" + }, + "pin2": { + "compName": "GUIsel4_12#0", + "pinName": "SB" + }, + "name": "unnamedWire#1", + "path": [] }, { - "id": "GUIAm2910SP", - "name": "GUIAm2910SP#0", - "pos": { - "x": 305.0, - "y": 55.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", - "pos": { - "x": 260.0, - "y": 115.0 + "pin1": { + "compName": "GUInor12#0", + "pinName": "Y" }, - "params": 12 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", - "pos": { - "x": 345.0, - "y": 180.0 + "pin2": { + "compName": "GUIAm2910InstrPLA#0", + "pinName": "R\u003d0" }, - "params": 12 - }, - { - "id": "GUIsel4_12", - "name": "GUIsel4_12#0", - "pos": { - "x": 150.0, - "y": 175.0 - } + "name": "unnamedWire#10", + "path": [ + { + "x": 230.0, + "y": 90.0 + }, + { + "x": 230.0, + "y": 120.0 + }, + { + "x": 95.0, + "y": 120.0 + } + ] }, - { - "id": "GUIAm2910RegCntr", - "name": "GUIAm2910RegCntr#0", - "pos": { - "x": 160.0, - "y": 25.0 - } - } - ], - "innerWires": [ { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RWE" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIAm2910RegCntr#0", + "pinName": "WE" }, - "name": "unnamedWire#36", - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 115.0, + "y": 160.0 + }, + { + "x": 115.0, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "RDEC" }, "pin2": { - "compName": "GUIdff12#0", - "pinName": "C" + "compName": "GUIAm2910RegCntr#0", + "pinName": "DEC" }, - "name": "unnamedWire#35", - "path": [] + "name": "unnamedWire#12", + "path": [ + { + "x": 120.0, + "y": 170.0 + }, + { + "x": 120.0, + "y": 55.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI0" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#38", - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 295.0, + "y": 220.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "STKI1" }, "pin2": { "compName": "GUIAm2910SP#0", - "pinName": "C" + "pinName": "STKI1" }, - "name": "unnamedWire#37", - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 290.0, + "y": 230.0 + }, + { + "x": 290.0, + "y": 70.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "C" - }, - "name": "unnamedWire#39", - "path": [] - }, - { - "pin1": { - "compName": "GUIinc12#0", - "pinName": "CI" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "CI" + "compName": "GUIAm2910SP#0", + "pinName": "STKI0" }, - "name": "unnamedWire#41", - "path": [] + "name": "unnamedWire#15", + "path": [ + { + "x": 295.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "GUIram5_12#0", + "pinName": "WE" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#1", "pinName": "" }, - "name": "unnamedWire#40", + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "_MAP" + "compName": "GUIsel4_12#0", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_MAP" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#43", + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "_PL" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_PL" + "compName": "GUIinc12#0", + "pinName": "A" }, - "name": "unnamedWire#42", + "name": "unnamedWire#18", "path": [ { - "x": 85.0, - "y": 290.0 - }, - { - "x": 65.0, - "y": 290.0 + "x": 325.0, + "y": 275.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I" + "compName": "GUIram5_12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "I" + "compName": "GUIsel4_12#0", + "pinName": "C" }, - "name": "unnamedWire#45", + "name": "unnamedWire#19", "path": [ { - "x": 70.0, - "y": 250.0 - }, - { - "x": 70.0, - "y": 175.0 + "x": 200.0, + "y": 130.0 } ] }, { "pin1": { "compName": "GUIAm2910InstrPLA#0", - "pinName": "_VECT" + "pinName": "YF" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_VECT" + "compName": "GUIsel4_12#0", + "pinName": "SC" }, - "name": "unnamedWire#44", - "path": [ - { - "x": 105.0, - "y": 290.0 - }, - { - "x": 125.0, - "y": 290.0 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUIram5_12#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#1", - "pinName": "" + "compName": "GUIsel4_12#0", + "pinName": "D" }, - "name": "unnamedWire#47", - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 220.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#0", - "pinName": "" + "compName": "GUIsel4_12#0", + "pinName": "B" }, - "name": "unnamedWire#46", + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "GUIdff12#0", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIBitDisplay#3", - "pinName": "" + "compName": "GUInor12#0", + "pinName": "D" }, - "name": "unnamedWire#49", + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "GUIinc12#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "D" }, "pin2": { - "compName": "GUIBitDisplay#2", + "compName": "WireCrossPoint#4", "pinName": "" }, - "name": "unnamedWire#48", + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "Y" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2910RegCntr#0", + "pinName": "D" }, - "name": "unnamedWire#9", + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "GUIAm2910SP#0", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "B" + "compName": "GUIsel4_12#0", + "pinName": "A" }, - "name": "unnamedWire#8", - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 145.0, + "y": 15.0 + }, + { + "x": 145.0, + "y": 150.0 + }, + { + "x": 160.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "GUIAm2910SP#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "_RLD" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "A" + "compName": "GUIAm2910RegCntr#0", + "pinName": "_RLD" }, - "name": "unnamedWire#7", + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUITriStateBuffer#0", + "pinName": "IN" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "D" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "name": "unnamedWire#6", + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "YR" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "SB" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "PASS" }, - "name": "unnamedWire#1", - "path": [] + "name": "unnamedWire#28", + "path": [ + { + "x": 65.0, + "y": 195.0 + }, + { + "x": 65.0, + "y": 160.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_CC" }, "pin2": { - "compName": "GUIram5_12#0", - "pinName": "C" + "compName": "GUINandGate#0", + "pinName": "A" }, - "name": "unnamedWire#50", + "name": "unnamedWire#29", "path": [] }, { "pin1": { "compName": "GUIAm2910InstrPLA#0", - "pinName": "YD" + "pinName": "YmuPC" }, "pin2": { "compName": "GUIsel4_12#0", - "pinName": "SA" + "pinName": "SD" }, - "name": "unnamedWire#0", + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "OUT" + "compName": "_submodelinterface", + "pinName": "_CCEN" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "name": "unnamedWire#52", + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "name": "unnamedWire#51", - "path": [] + "name": "unnamedWire#31", + "path": [ + { + "x": 5.0, + "y": 215.0 + } + ] }, { "pin1": { - "compName": "GUIdff12#0", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "B" }, - "name": "unnamedWire#5", - "path": [] + "name": "unnamedWire#32", + "path": [ + { + "x": 5.0, + "y": 225.0 + } + ] }, { "pin1": { - "compName": "GUInor12#0", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "R\u003d0" + "compName": "GUINandGate#0", + "pinName": "B" }, - "name": "unnamedWire#10", + "name": "unnamedWire#33", "path": [ { - "x": 230.0, - "y": 90.0 - }, - { - "x": 230.0, - "y": 120.0 + "x": 35.0, + "y": 220.0 }, { - "x": 95.0, - "y": 120.0 + "x": 35.0, + "y": 200.0 } ] }, { "pin1": { - "compName": "GUIinc12#0", - "pinName": "Y" + "compName": "GUIAm2910SP#0", + "pinName": "_FULL" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_FULL" + }, + "name": "unnamedWire#34", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { "compName": "GUIdff12#0", - "pinName": "D" + "pinName": "C" }, - "name": "unnamedWire#4", + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "GUITriStateBuffer#0", - "pinName": "EN" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_OE" + "compName": "WireCrossPoint#9", + "pinName": "" }, - "name": "unnamedWire#53", - "path": [ - { - "x": 245.0, - "y": 300.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "YmuPC" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "SD" + "compName": "GUIAm2910SP#0", + "pinName": "C" }, - "name": "unnamedWire#3", + "name": "unnamedWire#37", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "RDEC" + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#38", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { "compName": "GUIAm2910RegCntr#0", - "pinName": "DEC" + "pinName": "C" }, - "name": "unnamedWire#12", - "path": [ - { - "x": 120.0, - "y": 170.0 - }, - { - "x": 120.0, - "y": 55.0 - } - ] + "name": "unnamedWire#39", + "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "YF" + "compName": "GUIinc12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "SC" + "compName": "GUIdff12#0", + "pinName": "D" }, - "name": "unnamedWire#2", + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "RWE" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "WE" + "compName": "WireCrossPoint#7", + "pinName": "" }, - "name": "unnamedWire#11", - "path": [ - { - "x": 115.0, - "y": 160.0 - }, - { - "x": 115.0, - "y": 45.0 - } - ] + "name": "unnamedWire#40", + "path": [] }, { "pin1": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "STKI1" + "compName": "GUIinc12#0", + "pinName": "CI" }, "pin2": { - "compName": "GUIAm2910SP#0", - "pinName": "STKI1" + "compName": "_submodelinterface", + "pinName": "CI" }, - "name": "unnamedWire#14", - "path": [ - { - "x": 290.0, - "y": 230.0 - }, - { - "x": 290.0, - "y": 70.0 - } - ] + "name": "unnamedWire#41", + "path": [] }, { "pin1": { "compName": "GUIAm2910InstrPLA#0", - "pinName": "STKI0" + "pinName": "_PL" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_PL" }, - "name": "unnamedWire#13", + "name": "unnamedWire#42", "path": [ { - "x": 295.0, - "y": 220.0 + "x": 85.0, + "y": 290.0 + }, + { + "x": 65.0, + "y": 290.0 } ] }, { "pin1": { - "compName": "GUIram5_12#0", - "pinName": "WE" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_MAP" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_MAP" }, - "name": "unnamedWire#16", + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "_VECT" }, - "pin2": { - "compName": "GUIAm2910SP#0", - "pinName": "STKI0" + "pin2": { + "compName": "_submodelinterface", + "pinName": "_VECT" }, - "name": "unnamedWire#15", + "name": "unnamedWire#44", "path": [ { - "x": 295.0, - "y": 60.0 + "x": 105.0, + "y": 290.0 + }, + { + "x": 125.0, + "y": 290.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I" }, "pin2": { - "compName": "GUIinc12#0", - "pinName": "A" + "compName": "GUIAm2910InstrPLA#0", + "pinName": "I" }, - "name": "unnamedWire#18", + "name": "unnamedWire#45", "path": [ { - "x": 325.0, - "y": 275.0 + "x": 70.0, + "y": 250.0 + }, + { + "x": 70.0, + "y": 175.0 } ] }, { "pin1": { - "compName": "GUIsel4_12#0", + "compName": "GUIAm2910RegCntr#0", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "GUIBitDisplay#0", "pinName": "" }, - "name": "unnamedWire#17", + "name": "unnamedWire#46", "path": [] }, { @@ -882,244 +1006,175 @@ mograsim version: 0.1.3 "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "C" - }, - "name": "unnamedWire#19", - "path": [ - { - "x": 200.0, - "y": 130.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", + "compName": "GUIBitDisplay#1", "pinName": "" }, - "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "B" - }, - "name": "unnamedWire#21", + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIinc12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "D" + "compName": "GUIBitDisplay#2", + "pinName": "" }, - "name": "unnamedWire#20", - "path": [ - { - "x": 220.0, - "y": 150.0 - } - ] + "name": "unnamedWire#48", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D" + "compName": "GUIdff12#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "GUIBitDisplay#3", "pinName": "" }, - "name": "unnamedWire#23", + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIdff12#0", + "pinName": "Y" }, "pin2": { - "compName": "GUInor12#0", - "pinName": "D" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "name": "unnamedWire#22", + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIsel4_12#0", - "pinName": "A" + "compName": "GUIram5_12#0", + "pinName": "C" }, - "name": "unnamedWire#25", - "path": [ - { - "x": 145.0, - "y": 15.0 - }, - { - "x": 145.0, - "y": 150.0 - }, - { - "x": 160.0, - "y": 150.0 - } - ] + "name": "unnamedWire#50", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "D" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "name": "unnamedWire#24", + "name": "unnamedWire#51", "path": [] }, { "pin1": { "compName": "GUITriStateBuffer#0", - "pinName": "IN" + "pinName": "OUT" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "name": "unnamedWire#27", - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "_RLD" - }, - "pin2": { - "compName": "GUIAm2910RegCntr#0", - "pinName": "_RLD" + "pinName": "Y" }, - "name": "unnamedWire#26", + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_CC" + "compName": "GUITriStateBuffer#0", + "pinName": "EN" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "_OE" }, - "name": "unnamedWire#29", - "path": [] + "name": "unnamedWire#53", + "path": [ + { + "x": 245.0, + "y": 300.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "GUIAm2910SP#0", + "pinName": "A" }, "pin2": { - "compName": "GUIAm2910InstrPLA#0", - "pinName": "PASS" + "compName": "GUIBitDisplay#5", + "pinName": "" }, - "name": "unnamedWire#28", - "path": [ - { - "x": 65.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 160.0 - } - ] + "name": "unnamedWire#54", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "_CCEN" + "compName": "GUIAm2910SP#0", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "GUIBitDisplay#4", "pinName": "" }, - "name": "unnamedWire#30", + "name": "unnamedWire#55", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUIram5_12#0", + "pinName": "D" }, - "name": "unnamedWire#32", - "path": [ - { - "x": 5.0, - "y": 225.0 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIAm2910SP#0", + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUIram5_12#0", "pinName": "A" }, - "name": "unnamedWire#31", - "path": [ - { - "x": 5.0, - "y": 215.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { "compName": "GUIAm2910SP#0", - "pinName": "_FULL" + "pinName": "B" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_FULL" + "compName": "GUIram5_12#0", + "pinName": "B" }, - "name": "unnamedWire#34", + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUIAm2910RegCntr#0", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "name": "unnamedWire#33", - "path": [ - { - "x": 35.0, - "y": 220.0 - }, - { - "x": 35.0, - "y": 200.0 - } - ] + "name": "unnamedWire#9", + "path": [] } - ] + ], + "version": "0.1.1" }, "symbolRendererSnippetID": "simpleRectangularLike", "symbolRendererParams": { @@ -1132,7 +1187,33 @@ mograsim version: 0.1.3 "outlineRendererSnippetID": "default", "highLevelStateHandlerSnippetID": "standard", "highLevelStateHandlerParams": { - "subcomponentHighLevelStates": {}, + "subcomponentHighLevelStates": { + "r": { + "id": "delegating", + "params": { + "delegateTarget": "GUIAm2910RegCntr#0" + } + }, + "stack": { + "id": "delegating", + "params": { + "delegateTarget": "GUIram5_12#0" + } + }, + "mupc": { + "id": "delegating", + "params": { + "delegateTarget": "GUIdff12#0" + } + }, + "sp": { + "id": "delegating", + "params": { + "delegateTarget": "GUIAm2910SP#0" + } + } + }, "atomicHighLevelStates": {} - } + }, + "version": "0.1.5" } \ 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 deleted file mode 100644 index 20f9ac0d..00000000 --- a/net.mograsim.logic.model.editor/components/am2910/GUIAm2910_old.json +++ /dev/null @@ -1,1089 +0,0 @@ -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": "GUINandGate", - "name": "GUINandGate#1", - "pos": { - "x": 10.0, - "y": 210.0 - }, - "params": 1 - }, - { - "id": "GUIram5_12", - "name": "GUIram5_12#0", - "pos": { - "x": 305.0, - "y": 100.0 - } - }, - { - "id": "GUINandGate", - "name": "GUINandGate#0", - "pos": { - "x": 40.0, - "y": 185.0 - }, - "params": 1 - }, - { - "id": "GUIdff12", - "name": "GUIdff12#0", - "pos": { - "x": 305.0, - "y": 160.0 - } - }, - { - "id": "GUIinc12", - "name": "GUIinc12#0", - "pos": { - "x": 305.0, - "y": 190.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#3", - "pos": { - "x": 265.0, - "y": 150.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", - "pos": { - "x": 294.0, - "y": 104.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", - "pos": { - "x": 324.0, - "y": 149.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", - "pos": { - "x": 179.0, - "y": 89.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", - "pos": { - "x": 189.0, - "y": 274.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", - "pos": { - "x": 4.0, - "y": 219.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", - "pos": { - "x": 179.0, - "y": 14.0 - }, - "params": 12 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", - "pos": { - "x": 299.0, - "y": 44.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", - "pos": { - "x": 299.0, - "y": 79.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", - "pos": { - "x": 299.0, - "y": 114.0 - }, - "params": 1 - }, - { - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", - "pos": { - "x": 299.0, - "y": 169.0 - }, - "params": 1 - }, - { - "id": "GUIsel4_12", - "name": "GUIsel4_12#0", - "pos": { - "x": 150.0, - "y": 175.0 - } - }, - { - "id": "GUInor12", - "name": "GUInor12#0", - "pos": { - "x": 190.0, - "y": 80.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#0", - "pos": { - "x": 160.0, - "y": 95.0 - }, - "params": 12 - }, - { - "id": "GUIAm2910InstrPLA", - "name": "GUIAm2910InstrPLA#0", - "pos": { - "x": 80.0, - "y": 155.0 - } - }, - { - "id": "GUIAm2910SP", - "name": "GUIAm2910SP#0", - "pos": { - "x": 305.0, - "y": 55.0 - } - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#1", - "pos": { - "x": 260.0, - "y": 115.0 - }, - "params": 12 - }, - { - "id": "GUIBitDisplay", - "name": "GUIBitDisplay#2", - "pos": { - "x": 345.0, - "y": 180.0 - }, - "params": 12 - }, - { - "id": "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": "simpleRectangularLike", - "symbolRendererParams": { - "centerText": "Am2910", - "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/src/net/mograsim/logic/model/editor/EditableSubmodelComponent.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/EditableSubmodelComponent.java deleted file mode 100644 index baa02f3f..00000000 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/EditableSubmodelComponent.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.mograsim.logic.model.editor; - -import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.model.wires.MovablePin; -import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; -import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer; -import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer; -import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer.SimpleRectangularLikeParams; - -public class EditableSubmodelComponent extends DeserializedSubmodelComponent -{ - private static final double labelFontHeight = 5; - private static final double pinNameFontHeight = 3; - private String label; - - public EditableSubmodelComponent(ViewModelModifiable model, String label) - { - super(model, label, null, null); // TODO: set name properly - this.label = label; - setSubmodelScale(0.2); - addSubmodelInterface(new MovablePin(this, "A Pin", 1, 0, 10)); - updateSymbolRenderer(); - setOutlineRenderer(new DefaultOutlineRenderer(this)); - } - - private void updateSymbolRenderer() - { - SimpleRectangularLikeParams rendererParams = new SimpleRectangularLikeParams(); - rendererParams.centerText = label; - rendererParams.centerTextHeight = labelFontHeight; - rendererParams.horizontalComponentCenter = getWidth() / 2; - rendererParams.pinLabelHeight = pinNameFontHeight; - rendererParams.pinLabelMargin = 0; - setSymbolRenderer(new SimpleRectangularLikeSymbolRenderer(this, rendererParams)); - } - - public String getLabel() - { - return label; - } - - public void setLabel(String label) - { - this.label = label; - updateSymbolRenderer(); - } -} diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java index e2dee42c..2cc13c15 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/Editor.java @@ -24,6 +24,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.GUIWire; import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public final class Editor @@ -177,7 +178,7 @@ public final class Editor { if (identifierPerComponent.containsKey(c)) return identifierPerComponent.get(c); - return "class:" + c.getClass().getCanonicalName(); + return new IdentifierGetter().componentIDs.apply(c); } public void duplicate() diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/SaveLoadManager.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/SaveLoadManager.java index 1e3d2715..e690200e 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/SaveLoadManager.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/SaveLoadManager.java @@ -1,8 +1,6 @@ package net.mograsim.logic.model.editor; import java.io.IOException; -import java.util.Map; -import java.util.Map.Entry; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.FileDialog; @@ -10,11 +8,8 @@ import org.eclipse.swt.widgets.Shell; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent; -import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.logic.model.serializing.SubmodelComponentSerializer; -import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; -import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers; public class SaveLoadManager { @@ -53,19 +48,7 @@ public class SaveLoadManager { try { - IdentifierGetter idGetter = new IdentifierGetter(); - idGetter.componentIDs = c -> getStandardID(c, IndirectGUIComponentCreator.getStandardComponentIDs(), true); - idGetter.symbolRendererIDs = h -> getStandardID(h, - SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getStandardSnippetIDs()); - idGetter.outlineRendererIDs = h -> getStandardID(h, - SubmodelComponentSnippetSuppliers.outlineRendererSupplier.getStandardSnippetIDs()); - idGetter.highLevelStateHandlerIDs = h -> getStandardID(h, - SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier.getStandardSnippetIDs()); - idGetter.atomicHighLevelStateHandlerIDs = h -> getStandardID(h, - StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier.getStandardSnippetIDs()); - idGetter.subcomponentHighLevelStateHandlerIDs = h -> getStandardID(h, - StandardHighLevelStateHandlerSnippetSuppliers.subcomponentHandlerSupplier.getStandardSnippetIDs()); - SubmodelComponentSerializer.serialize(editor.toBeEdited, idGetter, savePath); + SubmodelComponentSerializer.serialize(editor.toBeEdited, savePath); } catch (IOException e) { @@ -75,18 +58,6 @@ public class SaveLoadManager } } - private static String getStandardID(Object o, Map standardIDs) - { - return getStandardID(o, standardIDs, false); - } - - private static String getStandardID(Object o, Map standardIDs, boolean standardIDsHaveClassConcatenated) - { - String verboseID = (standardIDsHaveClassConcatenated ? "class:" : "") + o.getClass().getCanonicalName(); - return standardIDs.entrySet().stream().filter(e -> e.getValue().equals(verboseID)).map(Entry::getKey).findAny() - .orElseGet(() -> (standardIDsHaveClassConcatenated ? "" : "class:") + verboseID); - } - public static void openLoadDialog() throws IOException { Shell fdShell = new Shell(); diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/states/SelectionState.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/states/SelectionState.java index f6e8ccdb..4a02db4c 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/states/SelectionState.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/states/SelectionState.java @@ -15,6 +15,7 @@ import net.mograsim.logic.model.editor.handles.WireHandle.WireHandleClickInfo; import net.mograsim.logic.model.editor.ui.DialogManager; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; public class SelectionState extends EditorState { @@ -98,19 +99,23 @@ public class SelectionState extends EditorState editor.getSelection().clear(); if ((stateMask & SWT.ALT) == SWT.ALT) { - String[] result = DialogManager.openMultiTextDialog("Add Pin...", "Add", "Cancel", "Name", "Logic Width"); + String[] result = DialogManager.openMultiTextDialog("Add Pin...", "Add", "Cancel", "Name", "Logic Width", "Usage"); if (result != null) { try { - Pin p = editor.toBeEdited.addSubmodelInterface( - new MovablePin(editor.toBeEdited, result[0], Integer.parseInt(result[1]), clicked.x, clicked.y)); + Pin p = editor.toBeEdited.addSubmodelInterface(new MovablePin(editor.toBeEdited, result[0], Integer.parseInt(result[1]), + PinUsage.valueOf(result[2]), clicked.x, clicked.y)); editor.handleManager.getInterfacePinHandle(p).reqMove(clicked.x, clicked.y); } catch (NumberFormatException e) { editor.dialogManager.openWarningDialog("Failed to create Pin!", "Bit width must be a number!"); } + catch (IllegalArgumentException e) + { + editor.dialogManager.openWarningDialog("Failed to create Pin!", "Usage must be one of INPUT, OUTPUT, TRISTATE!"); + } } } } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java index b4062288..97993a7d 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java @@ -5,6 +5,7 @@ import java.util.Set; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.GUIWire; +//TODO a ViewModel is modifiable without casting to ViewModelModifiable via GUIWire::destroy and GUIComponent::destroy public class ViewModelModifiable extends ViewModel { public String getDefaultComponentName(GUIComponent component) diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/Orientation.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/Orientation.java new file mode 100644 index 00000000..9fba366f --- /dev/null +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/Orientation.java @@ -0,0 +1,65 @@ +package net.mograsim.logic.model.model.components; + +/** + * For components that can have different orientations. The meaning is not clearly defined, however it is common that the orientation + * denotes the direction the output is facing or the general flow of signals. _ALT represents an alternative, which is normally + * a mirrored version. A component can choose to not support some variants. + *

+ * In terms of calculation, {@link #RIGHT} is considered the default. + *

+ * Note that this needs to be interpreted using the GUI coordinate system, meaning that UP and DOWN are swapped. + * + * @author Christian Femers + */ +public enum Orientation +{ + /** + * The orientation RIGHT is the default orientation, all others are defined relative to it. + */ + RIGHT(1, 0, 0, 1), LEFT(-1, 0, 0, -1), UP(0, 1, -1, 0), DOWN(0, -1, 1, 0), RIGHT_ALT(1, 0, 0, -1), LEFT_ALT(-1, 0, 0, 1), + UP_ALT(0, -1, -1, 0), DOWN_ALT(0, 1, 1, 0); + + // simple 2D transformation matrix + final double trans11; + final double trans12; + final double trans21; + final double trans22; + + private Orientation(double trans11, double trans12, double trans21, double trans22) + { + this.trans11 = trans11; + this.trans12 = trans12; + this.trans21 = trans21; + this.trans22 = trans22; + } + + /** + * Performs a simple rotation around the origin. This does not work for the display coordinate system. + * + * @return the point's new X coordinate + */ + public double getNewX(double rightX, double rightY) + { + return rightX * trans11 + rightY * trans12; + } + + /** + * Performs a simple rotation around the origin. This does not work for the display coordinate system. + * + * @return the point's new Y coordinate + */ + public double getNewY(double rightX, double rightY) + { + return rightX * trans21 + rightY * trans22; + } + + public boolean doesMirror() + { + return ordinal() > 3; + } + + public boolean swapsWidthAndHeight() + { + return trans11 == 0; + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/OrientationCalculator.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/OrientationCalculator.java new file mode 100644 index 00000000..f16eaa9b --- /dev/null +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/OrientationCalculator.java @@ -0,0 +1,76 @@ +package net.mograsim.logic.model.model.components; + +/** + * This class simplifies the calculation of coordinates, especially for GUI components. + *

+ * Supply it with the original width and height and an orientation, and use the methods {@link #newX(double, double)} and + * {@link #newY(double, double)} to retrieve the new coordinates, relative to the upper left corner of {@link Orientation#RIGHT}. The + * {@link #height()} and {@link #width()} methods return the width and height in the new orientation. + *

+ * This is meant to be used in the context of a a classic display coordinate system, as done in the {@link GUIComponent}s. + * + * @see Orientation + * @author Christian Femers + */ +public class OrientationCalculator +{ + final Orientation o; + final double oldWHalf; + final double oldHHalf; + final double w; + final double h; + final double wHalf; + final double hHalf; + + public OrientationCalculator(Orientation o, double width, double height) + { + this.o = o; + this.oldWHalf = width / 2; + this.oldHHalf = height / 2; + + if (o.swapsWidthAndHeight()) + { + w = height; + h = width; + wHalf = oldHHalf; + hHalf = oldWHalf; + } else + { + w = width; + h = height; + wHalf = oldWHalf; + hHalf = oldHHalf; + } + } + + /** + * Returns the new height (that equals the old width if {@link Orientation#swapsWidthAndHeight()} is true) + */ + public double height() + { + return h; + } + + /** + * Returns the new width (that equals the old height if {@link Orientation#swapsWidthAndHeight()} is true) + */ + public double width() + { + return w; + } + + public double newX(double x, double y) + { + return (x - oldWHalf) * o.trans11 + (y - oldHHalf) * o.trans12 + wHalf; + } + + public double newY(double x, double y) + { + return (x - oldWHalf) * o.trans21 + (y - oldHHalf) * o.trans22 + hHalf; + } + + public final Orientation getOrientation() + { + return o; + } +} diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIBitDisplay.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIBitDisplay.java index 9d6b57e5..12c0ee84 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIBitDisplay.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIBitDisplay.java @@ -15,6 +15,7 @@ import net.mograsim.logic.core.types.BitVectorFormatter; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.BitDisplayAdapter; import net.mograsim.logic.model.serializing.IdentifierGetter; @@ -45,7 +46,7 @@ public class GUIBitDisplay extends GUIComponent logicObs = (i) -> model.requestRedraw(); setSize(width, height); - addPin(this.inputPin = new Pin(this, "", logicWidth, 0, height / 2)); + addPin(this.inputPin = new Pin(this, "", logicWidth, PinUsage.INPUT, 0, height / 2)); } @Override diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIClock.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIClock.java new file mode 100644 index 00000000..91a4f326 --- /dev/null +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIClock.java @@ -0,0 +1,161 @@ +package net.mograsim.logic.model.model.components.atomic; + +import org.eclipse.swt.graphics.Color; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonSyntaxException; + +import net.haspamelodica.swt.helper.gcs.GeneralGC; +import net.haspamelodica.swt.helper.swtobjectwrappers.Font; +import net.haspamelodica.swt.helper.swtobjectwrappers.Point; +import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; +import net.mograsim.logic.core.LogicObserver; +import net.mograsim.logic.core.components.Clock; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.Orientation; +import net.mograsim.logic.model.model.components.OrientationCalculator; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.ClockAdapter; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.preferences.Preferences; + +public class GUIClock extends GUIComponent +{ + private static final double width = 20; + private static final double height = 20; + private static final double fontHeight = 5; + + private final Pin outputPin; + + private final LogicObserver logicObs; + private GUIClockParams params; + private OrientationCalculator oc; + private Clock clock; + + public GUIClock(ViewModelModifiable model, GUIClockParams params) + { + this(model, params, null); + } + + public GUIClock(ViewModelModifiable model, GUIClockParams params, String name) + { + super(model, name); + this.params = params; + logicObs = (i) -> model.requestRedraw(); + + oc = new OrientationCalculator(params.orientation, width, height); + setSize(oc.width(), oc.height()); + + this.outputPin = new Pin(this, "", 1, PinUsage.OUTPUT, oc.newX(width, height / 2), oc.newY(width, height / 2)); + addPin(outputPin); + } + + @Override + public void render(GeneralGC gc, Rectangle visibleRegion) + { + Color foreground = Preferences.current().getColor("net.mograsim.logic.model.color.foreground"); + if (foreground != null) + gc.setForeground(foreground); + gc.drawRectangle(getBounds()); + String label = clock == null ? "null" : (clock.isOn() ? "|" : "\u2015"); + Font oldFont = gc.getFont(); + Font labelFont = new Font(oldFont.getName(), fontHeight, oldFont.getStyle()); + gc.setFont(labelFont); + Point textExtent = gc.textExtent(label); + Color textColor = Preferences.current().getColor("net.mograsim.logic.model.color.text"); + if (textColor != null) + gc.setForeground(textColor); + gc.drawText(label, getPosX() + (oc.width() - textExtent.x) / 2, getPosY() + (oc.height() - textExtent.y) / 2, true); + gc.setFont(oldFont); + } + + public void setLogicModelBinding(Clock clock) + { + if (this.clock != null) + this.clock.deregisterObserver(logicObs); + this.clock = clock; + if (clock != null) + clock.registerObserver(logicObs); + } + + public boolean hasLogicModelBinding() + { + return clock != null; + } + + @Override + public Object getHighLevelState(String stateID) + { + switch (stateID) + { + case "out": + if (clock != null) + return clock.getOut().getInputValues(); + return null; + default: + return super.getHighLevelState(stateID); + } + } + + @Override + public void setHighLevelState(String stateID, Object newState) + { + switch (stateID) + { + case "out": + throw new UnsupportedOperationException("cannot set state of clock"); + default: + super.setHighLevelState(stateID, newState); + } + } + + public Clock getClock() + { + return clock; + } + + public Pin getOutputPin() + { + return outputPin; + } + + public int getDelta() + { + return params.delta; + } + + @Override + public JsonElement getParamsForSerializing(IdentifierGetter idGetter) + { + return new Gson().toJsonTree(params); + } + + static + { + ViewLogicModelAdapter.addComponentAdapter(new ClockAdapter()); + IndirectGUIComponentCreator.setComponentSupplier(GUIClock.class.getName(), (m, p, n) -> + { + GUIClockParams params = new Gson().fromJson(p, GUIClockParams.class); + if (params == null) + throw new JsonSyntaxException("Invalid!!!"); + return new GUIClock(m, params, n); + }); + } + + public static class GUIClockParams + { + int delta; + Orientation orientation; + + public GUIClockParams(int delta, Orientation orientation) + { + this.delta = delta; + this.orientation = orientation; + } + } +} diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIManualSwitch.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIManualSwitch.java index b9a09e3c..daa7bd9a 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIManualSwitch.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIManualSwitch.java @@ -9,15 +9,14 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Font; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.core.LogicObservable; import net.mograsim.logic.core.LogicObserver; import net.mograsim.logic.core.components.ManualSwitch; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.types.BitVectorFormatter; -import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.ManualSwitchAdapter; import net.mograsim.logic.model.serializing.IdentifierGetter; @@ -35,7 +34,6 @@ public class GUIManualSwitch extends GUIComponent private final LogicObserver logicObs; private ManualSwitch logicSwitch; - private ReadEnd end; public GUIManualSwitch(ViewModelModifiable model, int logicWidth) { @@ -49,18 +47,17 @@ public class GUIManualSwitch extends GUIComponent logicObs = (i) -> model.requestRedraw(); setSize(width, height); - addPin(this.outputPin = new Pin(this, "", logicWidth, width, height / 2)); + addPin(this.outputPin = new Pin(this, "", logicWidth, PinUsage.OUTPUT, width, height / 2)); } @Override public void render(GeneralGC gc, Rectangle visibleRegion) { - // TODO maybe draw switch state too? Color foreground = Preferences.current().getColor("net.mograsim.logic.model.color.foreground"); if (foreground != null) gc.setForeground(foreground); gc.drawRectangle(getBounds()); - String label = BitVectorFormatter.formatValueAsString(end); + String label = BitVectorFormatter.formatAsString(logicSwitch == null ? null : logicSwitch.getValues()); Font oldFont = gc.getFont(); Font labelFont = new Font(oldFont.getName(), fontHeight, oldFont.getStyle()); gc.setFont(labelFont); @@ -72,14 +69,13 @@ public class GUIManualSwitch extends GUIComponent gc.setFont(oldFont); } - public void setLogicModelBinding(ManualSwitch logicSwitch, ReadEnd end) + public void setLogicModelBinding(ManualSwitch logicSwitch) { - deregisterLogicObs(this.end); - deregisterLogicObs(this.logicSwitch); + if (this.logicSwitch != null) + this.logicSwitch.deregisterObserver(logicObs); this.logicSwitch = logicSwitch; - this.end = end; - registerLogicObs(end); - registerLogicObs(logicSwitch); + if (logicSwitch != null) + logicSwitch.registerObserver(logicObs); } public boolean hasLogicModelBinding() @@ -116,18 +112,6 @@ public class GUIManualSwitch extends GUIComponent } } - private void registerLogicObs(LogicObservable observable) - { - if (observable != null) - observable.registerObserver(logicObs); - } - - private void deregisterLogicObs(LogicObservable observable) - { - if (observable != null) - observable.deregisterObserver(logicObs); - } - @Override public boolean clicked(double x, double y) { diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java index e72cf8a6..656c91f2 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java @@ -12,6 +12,7 @@ import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.MergerAdapter; import net.mograsim.logic.model.serializing.IdentifierGetter; @@ -43,8 +44,8 @@ public class GUIMerger extends GUIComponent setSize(width, logicWidth * heightPerPin); double inputHeight = 0; for (int i = 0; i < logicWidth; i++, inputHeight += 10) - addPin(new Pin(this, "I" + i, 1, 0, inputHeight)); - addPin(this.outputPin = new Pin(this, "O", logicWidth, width, (logicWidth - 1) * heightPerPin / 2)); + addPin(new Pin(this, "I" + i, 1, PinUsage.TRISTATE, 0, inputHeight)); + addPin(this.outputPin = new Pin(this, "O", logicWidth, PinUsage.TRISTATE, width, (logicWidth - 1) * heightPerPin / 2)); inputEnds = new ReadEnd[logicWidth]; } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java index 0ca71c77..63650a64 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java @@ -12,6 +12,7 @@ import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SplitterAdapter; import net.mograsim.logic.model.serializing.IdentifierGetter; @@ -41,10 +42,10 @@ public class GUISplitter extends GUIComponent super(model, name); this.logicWidth = logicWidth; setSize(width, logicWidth * heightPerPin); - addPin(this.inputPin = new Pin(this, "I", logicWidth, 0, (logicWidth - 1) * heightPerPin / 2)); + addPin(this.inputPin = new Pin(this, "I", logicWidth, PinUsage.TRISTATE, 0, (logicWidth - 1) * heightPerPin / 2)); double outputHeight = 0; for (int i = 0; i < logicWidth; i++, outputHeight += 10) - addPin(new Pin(this, "O" + i, 1, width, outputHeight)); + addPin(new Pin(this, "O" + i, 1, PinUsage.TRISTATE, width, outputHeight)); outputEnds = new ReadEnd[logicWidth]; } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUITriStateBuffer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUITriStateBuffer.java index bfc49d84..c9036d2b 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUITriStateBuffer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUITriStateBuffer.java @@ -10,7 +10,10 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.Orientation; +import net.mograsim.logic.model.model.components.OrientationCalculator; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.TriStateBufferAdapter; import net.mograsim.logic.model.serializing.IdentifierGetter; @@ -28,6 +31,7 @@ public class GUITriStateBuffer extends GUIComponent private double[] path; private GUITriStateBufferParams params; + private OrientationCalculator oc; public GUITriStateBuffer(ViewModelModifiable model, GUITriStateBufferParams params) { @@ -39,26 +43,19 @@ public class GUITriStateBuffer extends GUIComponent super(model, name); this.params = params; + oc = new OrientationCalculator(params.orientation, width, height); + double wHalf = width / 2; double hHalf = height / 2; - double wQuar = width / 4; double hQuar = height / 4; - int ordi = params.orientation.ordinal(); - int isVerti = (ordi % 4) / 2; - int isHori = 1 ^ isVerti; - int isAlt = ordi / 4; - int isInv = ordi % 2; - int isStd = 1 ^ isInv; - - this.input = new Pin(this, "IN", params.logicWidth, width * isInv * isHori + wHalf * isVerti, - height * isVerti * isStd + hHalf * isHori); - this.output = new Pin(this, "OUT", params.logicWidth, width * isStd * isHori + wHalf * isVerti, - height * isVerti * isInv + hHalf * isHori); - this.enable = new Pin(this, "EN", 1, wQuar * isVerti + wHalf * (isAlt | isHori), hQuar * isHori + hHalf * (isAlt | isVerti)); - this.path = new double[] { width * (isStd ^ isHori), height * (isStd ^ isHori), width * isInv, height * isStd, - width * isStd * isHori + wHalf * isVerti, height * isVerti * isInv + hHalf * isHori }; - - setSize(width, height); + + this.input = new Pin(this, "IN", params.logicWidth, PinUsage.INPUT, oc.newX(0, hHalf), oc.newY(0, hHalf)); + this.output = new Pin(this, "OUT", params.logicWidth, PinUsage.OUTPUT, oc.newX(width, hHalf), oc.newY(width, hHalf)); + this.enable = new Pin(this, "EN", 1, PinUsage.INPUT, oc.newX(wHalf, hQuar), oc.newY(wHalf, hQuar)); + this.path = new double[] { oc.newX(0, 0), oc.newY(0, 0), oc.newX(width, hHalf), oc.newY(width, hHalf), oc.newX(0, height), + oc.newY(0, height) }; + + setSize(oc.width(), oc.height()); addPin(input); addPin(output); addPin(enable); @@ -73,15 +70,6 @@ public class GUITriStateBuffer extends GUIComponent double x = getPosX(); double y = getPosY(); gc.drawPolygon(new double[] { x + path[0], y + path[1], x + path[2], y + path[3], x + path[4], y + path[5] }); -// Font oldFont = gc.getFont(); -// Font labelFont = new Font(oldFont.getName(), fontHeight, oldFont.getStyle()); -// gc.setFont(labelFont); -// Point textExtent = gc.textExtent(label); -// Color textColor = Preferences.current().getColor("net.mograsim.logic.model.color.text"); -// if (textColor != null) -// gc.setForeground(textColor); -// gc.drawText(label, getPosX() + (rectWidth - textExtent.x) / 2, getPosY() + (height - textExtent.y) / 2, true); -// gc.setFont(oldFont); } @Override @@ -102,14 +90,15 @@ public class GUITriStateBuffer extends GUIComponent }); } - private static class GUITriStateBufferParams + public static class GUITriStateBufferParams { int logicWidth; Orientation orientation; - } - public enum Orientation - { - RIGHT, LEFT, UP, DOWN, RIGHT_ALT, LEFT_ALT, UP_ALT, DOWN_ALT; + public GUITriStateBufferParams(int logicWidth, Orientation orientation) + { + this.logicWidth = logicWidth; + this.orientation = orientation; + } } } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularGUIGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularGUIGate.java index ef7d0101..e343c586 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularGUIGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularGUIGate.java @@ -16,6 +16,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.preferences.Preferences; @@ -41,7 +42,7 @@ public class SimpleRectangularGUIGate extends GUIComponent this.logicWidth = logicWidth; this.isInverted = isInverted; this.rectWidth = width - (isInverted ? invertedCircleDiam : 0); - this.outputPin = new MovablePin(this, "Y", logicWidth, width, 0); + this.outputPin = new MovablePin(this, "Y", logicWidth, PinUsage.OUTPUT, width, 0); addPin(outputPin); this.inputPins = new ArrayList<>(); setInputCount(1); @@ -58,7 +59,7 @@ public class SimpleRectangularGUIGate extends GUIComponent for (int i = oldInputCount; i < inputCount; i++) { // TODO what for more than 24 input pins? - Pin pin = new Pin(this, String.valueOf((char) ('A' + i)), logicWidth, 0, pinDistance / 2 + i * pinDistance); + Pin pin = new Pin(this, String.valueOf((char) ('A' + i)), logicWidth, PinUsage.INPUT, 0, pinDistance / 2 + i * pinDistance); inputPins.add(pin); addPin(pin); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedGUIComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedGUIComponent.java index 1ced6d4a..c06ec149 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedGUIComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularHardcodedGUIComponent.java @@ -1,7 +1,7 @@ package net.mograsim.logic.model.model.components.atomic; -import java.util.HashMap; import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; @@ -12,6 +12,8 @@ import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.SimpleRectangularHardcodedGUIComponentAdapter; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.snippets.HighLevelStateHandler; import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer; import net.mograsim.logic.model.snippets.symbolrenderers.CenteredTextSymbolRenderer; import net.mograsim.logic.model.snippets.symbolrenderers.CenteredTextSymbolRenderer.CenteredTextParams; @@ -25,19 +27,18 @@ public abstract class SimpleRectangularHardcodedGUIComponent extends GUIComponen private static final double pinNamesHeight = 3.5; private static final double pinNamesMargin = .5; - // TODO maybe make this more general? - private final Map pinUsages; - private final DefaultOutlineRenderer outlineRenderer; private final CenteredTextSymbolRenderer centerTextRenderer; private final PinNamesSymbolRenderer pinNamesRenderer; + private AtomicReference state; + private Runnable recalculate; + // creation and destruction public SimpleRectangularHardcodedGUIComponent(ViewModelModifiable model, String name, String centerText) { super(model, name); - pinUsages = new HashMap<>(); this.outlineRenderer = new DefaultOutlineRenderer(this); CenteredTextParams centeredTextParams = new CenteredTextParams(); centeredTextParams.text = centerText; @@ -48,31 +49,67 @@ public abstract class SimpleRectangularHardcodedGUIComponent extends GUIComponen pinNamesParams.pinLabelMargin = pinNamesMargin; this.pinNamesRenderer = new PinNamesSymbolRenderer(this, pinNamesParams); addPinRemovedListener(this::pinRemoved); + setHighLevelStateHandler(new HighLevelStateHandler() + { + @Override + public Object getParamsForSerializing(IdentifierGetter idGetter) + { + return null; + } + + @Override + public Object getHighLevelState(String stateID) + { + return SimpleRectangularHardcodedGUIComponent.this.getHighLevelState(state.get(), stateID); + } + + @Override + public void setHighLevelState(String stateID, Object newState) + { + state.updateAndGet(s -> SimpleRectangularHardcodedGUIComponent.this.setHighLevelState(s, stateID, newState)); + recalculate.run(); + } + }); } // pins - protected void addPin(Pin pin, Usage usage, Position namePosition) + protected void addPin(Pin pin, Position namePosition) { super.addPin(pin); // do this first to catch errors - pinUsages.put(pin, usage); pinNamesRenderer.setPinPosition(pin, namePosition); } private void pinRemoved(Pin pin) { - pinUsages.remove(pin); pinNamesRenderer.setPinPosition(pin, null); } - public Usage getPinUsage(Pin pin) + // high-level access + + @SuppressWarnings({ "static-method", "unused" }) // this method is intended to be overridden + protected Object getHighLevelState(Object state, String stateID) { - return pinUsages.get(pin); + throw new IllegalArgumentException("No high level state with ID " + stateID); + } + + @SuppressWarnings({ "static-method", "unused" }) // this method is intended to be overridden + protected Object setHighLevelState(Object lastState, String stateID, Object newHighLevelState) + { + throw new IllegalArgumentException("No high level state with ID " + stateID); } // logic - protected abstract Object recalculate(Object lastState, Map readEnds, Map readWriteEnds); + public abstract Object recalculate(Object lastState, Map readEnds, Map readWriteEnds); + + // logic model binding + + public void setLogicModelBindingAndResetState(AtomicReference state, Runnable recalculate) + { + this.state = state; + this.recalculate = recalculate; + } // "graphical" operations @@ -89,16 +126,11 @@ public abstract class SimpleRectangularHardcodedGUIComponent extends GUIComponen @Override protected void addPin(Pin pin) { - throw new UnsupportedOperationException("Can't add pins without setting usage, call addPin(Pin, Usage [, Position]) instead"); - } - - public static enum Usage - { - INPUT, OUTPUT, TRISTATE; + throw new UnsupportedOperationException("Can't add pins without setting usage, call addPin(Pin [, Position]) instead"); } static { - ViewLogicModelAdapter.addComponentAdapter(new SimpleRectangularHardcodedGUIComponentAdapter(c -> c::recalculate)); + ViewLogicModelAdapter.addComponentAdapter(new SimpleRectangularHardcodedGUIComponentAdapter()); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java index 041a41e2..33a0bb31 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java @@ -9,6 +9,7 @@ import java.util.List; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer; import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer; import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer.SimpleRectangularLikeParams; @@ -56,15 +57,16 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent protected void setInputPins(String... pinNames) { - setIOPins(0, inputPinNames, outputPinNames, pinNames); + setIOPins(0, inputPinNames, outputPinNames, PinUsage.INPUT, pinNames); } protected void setOutputPins(String... pinNames) { - setIOPins(width, outputPinNames, inputPinNames, pinNames); + setIOPins(width, outputPinNames, inputPinNames, PinUsage.OUTPUT, pinNames); } - private void setIOPins(double relX, List pinNamesListThisSide, List pinNamesListOtherSide, String... newPinNames) + private void setIOPins(double relX, List pinNamesListThisSide, List pinNamesListOtherSide, PinUsage usage, + String... newPinNames) { int inputCount = newPinNames.length; List newPinNamesList = Arrays.asList(newPinNames); @@ -79,7 +81,7 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent String pinName = newPinNames[i]; int oldPinIndex = pinNamesListThisSide.indexOf(pinName); if (oldPinIndex == -1) - super.addSubmodelInterface(new MovablePin(this, pinName, logicWidth, relX, pinDistance / 2 + i * pinDistance)); + super.addSubmodelInterface(new MovablePin(this, pinName, logicWidth, usage, relX, pinDistance / 2 + i * pinDistance)); else getSupermodelMovablePin(pinName).setRelPos(relX, pinDistance / 2 + i * pinDistance); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java index 6ca77053..621f7217 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java @@ -16,6 +16,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.snippets.Renderer; /** @@ -107,8 +108,8 @@ public abstract class SubmodelComponent extends GUIComponent this.submodelInterface = new SubmodelInterface(submodelModifiable, SUBMODEL_INTERFACE_NAME); this.submodelScale = 1; - this.maxVisibleRegionFillRatioForAlpha0 = 0.0; - this.minVisibleRegionFillRatioForAlpha1 = 0.0; + this.maxVisibleRegionFillRatioForAlpha0 = 0.8; + this.minVisibleRegionFillRatioForAlpha1 = 0.9; this.renderer = new LogicUIRenderer(submodelModifiable); Consumer redrawHandlerChangedListener = submodelModifiable::setRedrawHandler; @@ -137,8 +138,24 @@ public abstract class SubmodelComponent extends GUIComponent super.addPin(supermodelPin);// do this first to be fail-fast if the supermodel does not belong to this component String name = supermodelPin.name; - MovablePin submodelPin = new MovablePin(submodelInterface, name, supermodelPin.logicWidth, supermodelPin.getRelX() / submodelScale, - supermodelPin.getRelY() / submodelScale); + // TODO if we upgrade to Java 12, replace with switch-expression + PinUsage submodelPinUsage; + switch (supermodelPin.usage) + { + case INPUT: + submodelPinUsage = PinUsage.OUTPUT; + break; + case OUTPUT: + submodelPinUsage = PinUsage.INPUT; + break; + case TRISTATE: + submodelPinUsage = PinUsage.TRISTATE; + break; + default: + throw new IllegalArgumentException("Unknown enum constant: " + supermodelPin.usage); + } + MovablePin submodelPin = new MovablePin(submodelInterface, name, supermodelPin.logicWidth, submodelPinUsage, + supermodelPin.getRelX() / submodelScale, supermodelPin.getRelY() / submodelScale); submodelPin.addPinMovedListener(p -> { diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/MovablePin.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/MovablePin.java index 06f4de2b..ba6d3b7e 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/MovablePin.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/MovablePin.java @@ -9,9 +9,9 @@ import net.mograsim.logic.model.model.components.GUIComponent; */ public class MovablePin extends Pin { - public MovablePin(GUIComponent component, String name, int logicWidth, double relX, double relY) + public MovablePin(GUIComponent component, String name, int logicWidth, PinUsage usage, double relX, double relY) { - super(component, name, logicWidth, relX, relY); + super(component, name, logicWidth, usage, relX, relY); } @Override diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java index d2008733..5f6504c5 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java @@ -2,6 +2,7 @@ package net.mograsim.logic.model.model.wires; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.function.Consumer; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; @@ -19,7 +20,7 @@ public class Pin { // TODO introduce input/output/tristate hints /** - * The {@link GUIComponent} this pin belongs to + * The {@link GUIComponent} this pin belongs to. */ public final GUIComponent component; /** @@ -30,6 +31,11 @@ public class Pin * The logical width of this pin. Denotes how many bits this pin consists of. */ public final int logicWidth; + /** + * How this pin is used by the component it belongs to.
+ * Note that this is only a hint. + */ + public final PinUsage usage; /** * The X position of this pin, relative to its component's location. @@ -50,11 +56,12 @@ public class Pin * * @author Daniel Kirschten */ - public Pin(GUIComponent component, String name, int logicWidth, double relX, double relY) + public Pin(GUIComponent component, String name, int logicWidth, PinUsage usage, double relX, double relY) { this.component = component; this.name = name; this.logicWidth = logicWidth; + this.usage = Objects.requireNonNull(usage); this.relX = relX; this.relY = relY; diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/PinUsage.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/PinUsage.java new file mode 100644 index 00000000..f229d023 --- /dev/null +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/PinUsage.java @@ -0,0 +1,18 @@ +package net.mograsim.logic.model.model.wires; + +public enum PinUsage +{ + /** + * The component never affects the value of the wire connected to the pin. + */ + INPUT, + /** + * The component is never affected by the value of the wire connected to this pin. This includes the look of the component. + */ + OUTPUT, + /** + * The component (sometimes) affects the value of the wire connected to the pin, but is also (sometimes) affected by the value of this + * wire. + */ + TRISTATE; +} \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/WireCrossPoint.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/WireCrossPoint.java index c3f625c8..57515969 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/WireCrossPoint.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/WireCrossPoint.java @@ -61,7 +61,7 @@ public class WireCrossPoint extends GUIComponent logicObs = (i) -> model.requestRedraw(); setSize(CIRCLE_DIAM, CIRCLE_DIAM); - addPin(this.pin = new Pin(this, "", logicWidth, CIRCLE_RADIUS, CIRCLE_RADIUS)); + addPin(this.pin = new Pin(this, "", logicWidth, PinUsage.TRISTATE, CIRCLE_RADIUS, CIRCLE_RADIUS)); } // pins diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ClockAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ClockAdapter.java new file mode 100644 index 00000000..55d3edba --- /dev/null +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ClockAdapter.java @@ -0,0 +1,30 @@ +package net.mograsim.logic.model.modeladapter.componentadapters; + +import java.util.Map; + +import net.mograsim.logic.core.components.Clock; +import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.wires.Wire; +import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; +import net.mograsim.logic.model.model.components.atomic.GUIClock; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; + +public class ClockAdapter implements ComponentAdapter +{ + + @Override + public Class getSupportedClass() + { + return GUIClock.class; + } + + @Override + public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, GUIClock guiClock, Map logicWiresPerPin) + { + ReadWriteEnd out = logicWiresPerPin.get(guiClock.getOutputPin()).createReadWriteEnd(); + Clock c = new Clock(timeline, out, guiClock.getDelta()); + guiClock.setLogicModelBinding(c); + } + +} \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java index 7ba8544a..518db91d 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java @@ -24,6 +24,6 @@ public class ManualSwitchAdapter implements ComponentAdapter { ReadWriteEnd end = logicWiresPerPin.get(guiComponent.getOutputPin()).createReadWriteEnd(); ManualSwitch manualSwitch = new ManualSwitch(timeline, end); - guiComponent.setLogicModelBinding(manualSwitch, end); + guiComponent.setLogicModelBinding(manualSwitch); } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedGUIComponentAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedGUIComponentAdapter.java index 7eeee59b..8ca38c08 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedGUIComponentAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleRectangularHardcodedGUIComponentAdapter.java @@ -3,7 +3,6 @@ package net.mograsim.logic.model.modeladapter.componentadapters; import java.util.HashMap; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; -import java.util.function.Function; import net.mograsim.logic.core.LogicObserver; import net.mograsim.logic.core.timeline.Timeline; @@ -11,21 +10,12 @@ import net.mograsim.logic.core.wires.Wire; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent; -import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedGUIComponent.Usage; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.LogicModelParameters; -//TODO support HighLevelStates public class SimpleRectangularHardcodedGUIComponentAdapter implements ComponentAdapter { - private final Function recalculateFunctionGenerator; - - public SimpleRectangularHardcodedGUIComponentAdapter( - Function recalculateFunctionGenerator) - { - this.recalculateFunctionGenerator = recalculateFunctionGenerator; - } - @Override public Class getSupportedClass() { @@ -36,20 +26,21 @@ public class SimpleRectangularHardcodedGUIComponentAdapter implements ComponentA public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, SimpleRectangularHardcodedGUIComponent guiComponent, Map logicWiresPerPin) { - RecalculateFunction recalculate = recalculateFunctionGenerator.apply(guiComponent); Map readEnds = new HashMap<>(); Map readWriteEnds = new HashMap<>(); AtomicReference state = new AtomicReference<>(); - LogicObserver logicObs = c -> timeline.addEvent(e -> state.set(recalculate.recalculate(state.get(), readEnds, readWriteEnds)), - params.gateProcessTime); + Runnable recalculate = () -> state.updateAndGet(s -> guiComponent.recalculate(s, readEnds, readWriteEnds)); + LogicObserver logicObs = c -> timeline.addEvent(e -> recalculate.run(), params.gateProcessTime); + + guiComponent.setLogicModelBindingAndResetState(state, recalculate); for (Pin pin : guiComponent.getPins().values()) { Wire wire = logicWiresPerPin.get(pin); ReadEnd end; - if (guiComponent.getPinUsage(pin) != Usage.INPUT) + if (pin.usage != PinUsage.INPUT) { ReadWriteEnd rwEnd = wire.createReadWriteEnd(); readWriteEnds.put(pin.name, rwEnd); @@ -57,13 +48,8 @@ public class SimpleRectangularHardcodedGUIComponentAdapter implements ComponentA } else end = wire.createReadOnlyEnd(); readEnds.put(pin.name, end); - if (guiComponent.getPinUsage(pin) != Usage.OUTPUT) + if (pin.usage != PinUsage.OUTPUT) end.registerObserver(logicObs); } } - - public static interface RecalculateFunction - { - public Object recalculate(Object lastState, Map readEnds, Map readWriteEnds); - } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java index ba8c4843..2dadcd80 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/TriStateBufferAdapter.java @@ -2,7 +2,6 @@ package net.mograsim.logic.model.modeladapter.componentadapters; import java.util.Map; -import net.mograsim.logic.core.LogicObserver; import net.mograsim.logic.core.components.TriStateBuffer; import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.Wire; @@ -29,17 +28,5 @@ public class TriStateBufferAdapter implements ComponentAdapter: "; - LogicObserver obs = c -> - { - System.out.println(msgHeader + "wire states:"); - System.out.println(msgHeader + " in : " + in.getValues()); - System.out.println(msgHeader + " enable: " + enable.getValues()); - System.out.println(msgHeader + " out : " + out.getValues()); - }; - in.registerObserver(obs); - enable.registerObserver(obs); - out.registerObserver(obs); } } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IdentifierGetter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IdentifierGetter.java index f1bb5f0b..7e2cfd80 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IdentifierGetter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IdentifierGetter.java @@ -1,8 +1,17 @@ package net.mograsim.logic.model.serializing; +import static net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier; +import static net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers.outlineRendererSupplier; +import static net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers.symbolRendererSupplier; +import static net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier; +import static net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers.subcomponentHandlerSupplier; + +import java.util.Map; +import java.util.Map.Entry; import java.util.function.Function; import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.snippets.CodeSnippetSupplier; import net.mograsim.logic.model.snippets.HighLevelStateHandler; import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.AtomicHighLevelStateHandler; @@ -20,17 +29,33 @@ public class IdentifierGetter public Function atomicHighLevelStateHandlerIDs; /** - * Creates a new IdentifierGetter using "class:" concatenated with a component's / snippet's complete (canonical) class name as the - * default for all ID getter functions. + * Creates a new IdentifierGetter using the following as the default for all ID getter functions:
+ * Define the verbose ID as "class:" + canonicalClassName.
+ * If there is a standard ID mapping to this verbose ID recorded in the matching {@link CodeSnippetSupplier}, use this ID; if not, use + * the verbose ID. */ public IdentifierGetter() { - Function defaultSnippetIDGetter = c -> "class:" + c.getClass().getCanonicalName(); - this.componentIDs = defaultSnippetIDGetter::apply; - this.symbolRendererIDs = defaultSnippetIDGetter::apply; - this.outlineRendererIDs = defaultSnippetIDGetter::apply; - this.highLevelStateHandlerIDs = defaultSnippetIDGetter::apply; - this.subcomponentHighLevelStateHandlerIDs = defaultSnippetIDGetter::apply; - this.atomicHighLevelStateHandlerIDs = defaultSnippetIDGetter::apply; + componentIDs = generateStandardIDFunction(IndirectGUIComponentCreator.getStandardComponentIDs()); + symbolRendererIDs = generateStandardIDFunction(symbolRendererSupplier); + outlineRendererIDs = generateStandardIDFunction(outlineRendererSupplier); + highLevelStateHandlerIDs = generateStandardIDFunction(highLevelStateHandlerSupplier); + atomicHighLevelStateHandlerIDs = generateStandardIDFunction(atomicHandlerSupplier); + subcomponentHighLevelStateHandlerIDs = generateStandardIDFunction(subcomponentHandlerSupplier); + } + + private static Function generateStandardIDFunction(CodeSnippetSupplier snippetSupplier) + { + return generateStandardIDFunction(snippetSupplier.getStandardSnippetIDs()); + } + + private static Function generateStandardIDFunction(Map standardComponentIDs) + { + return t -> + { + String verboseID = "class:" + t.getClass().getCanonicalName(); + return standardComponentIDs.entrySet().stream().filter(e -> e.getValue().equals(verboseID)).map(Entry::getKey).findAny() + .orElse(verboseID); + }; } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/LegacySubmodelComponentSerializer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/LegacySubmodelComponentSerializer.java index 2ede422c..f60fe5f1 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/LegacySubmodelComponentSerializer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/LegacySubmodelComponentSerializer.java @@ -15,6 +15,7 @@ import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.GUIWire; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.LegacySubmodelComponentParams.LegacyInterfacePinParams; import net.mograsim.logic.model.serializing.LegacySubmodelComponentParams.LegacySubmodelParameters; import net.mograsim.logic.model.serializing.LegacySubmodelComponentParams.LegacySubmodelParameters.LegacyInnerComponentParams; @@ -171,8 +172,9 @@ public final class LegacySubmodelComponentSerializer comp.setSubmodelScale(params.submodel.innerScale); comp.setSize(params.width, params.height); for (LegacyInterfacePinParams iPinParams : params.interfacePins) - comp.addSubmodelInterface( - new MovablePin(comp, iPinParams.name, iPinParams.logicWidth, iPinParams.location.x, iPinParams.location.y)); + // TRISTATE because we don't have a better choice + comp.addSubmodelInterface(new MovablePin(comp, iPinParams.name, iPinParams.logicWidth, PinUsage.TRISTATE, iPinParams.location.x, + iPinParams.location.y)); LegacySubmodelParameters submodelParams = params.submodel; ViewModelModifiable submodelModifiable = comp.getSubmodelModifiable(); Map componentsByName = submodelModifiable.getComponentsByName(); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentParams.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentParams.java index 155b6583..1cb5fcbc 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentParams.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentParams.java @@ -4,6 +4,7 @@ import com.google.gson.JsonElement; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.util.Version; /** @@ -37,5 +38,6 @@ public class SubmodelComponentParams extends SerializablePojo public Point location; public String name; public int logicWidth; + public PinUsage usage; } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java index 126e2aa8..a062eaaa 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java @@ -1,6 +1,8 @@ package net.mograsim.logic.model.serializing; import java.io.IOException; +import java.util.Arrays; +import java.util.Comparator; import com.google.gson.JsonElement; @@ -8,6 +10,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.MovablePin; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.serializing.SubmodelComponentParams.InterfacePinParams; import net.mograsim.logic.model.snippets.HighLevelStateHandler; import net.mograsim.logic.model.snippets.Renderer; @@ -23,7 +26,9 @@ import net.mograsim.logic.model.util.Version; */ public final class SubmodelComponentSerializer { - public static final Version CURRENT_JSON_VERSION = Version.parseSemver("0.1.4"); + public static final Version JSON_VERSION_CURRENT_SERIALIZING = Version.parseSemver("0.1.5"); + public static final Version JSON_VERSION_LATEST_SUPPORTED_DESERIALIZING = Version.parseSemver("0.1.5"); + public static final Version JSON_VERSION_EARLIEST_WITH_USAGE_SERIALIZED = Version.parseSemver("0.1.5"); // convenience methods /** @@ -157,13 +162,18 @@ public final class SubmodelComponentSerializer public static SubmodelComponent deserialize(ViewModelModifiable model, SubmodelComponentParams params, String name, String idForSerializingOverride, JsonElement paramsForSerializingOverride) { + Version version = params.version; + if (version.compareTo(JSON_VERSION_LATEST_SUPPORTED_DESERIALIZING) > 0) + throw new IllegalArgumentException("JSON version " + version + " not supported yet"); + boolean hasUsageSerialized = version.compareTo(JSON_VERSION_EARLIEST_WITH_USAGE_SERIALIZED) >= 0; DeserializedSubmodelComponent comp = new DeserializedSubmodelComponent(model, name, idForSerializingOverride, paramsForSerializingOverride); comp.setSubmodelScale(params.innerScale); comp.setSize(params.width, params.height); for (InterfacePinParams iPinParams : params.interfacePins) - comp.addSubmodelInterface( - new MovablePin(comp, iPinParams.name, iPinParams.logicWidth, iPinParams.location.x, iPinParams.location.y)); + // TRISTATE because we don't have a better choice + comp.addSubmodelInterface(new MovablePin(comp, iPinParams.name, iPinParams.logicWidth, + hasUsageSerialized ? iPinParams.usage : PinUsage.TRISTATE, iPinParams.location.x, iPinParams.location.y)); ViewModelModifiable submodelModifiable = comp.getSubmodelModifiable(); ViewModelSerializer.deserialize(comp.getSubmodelModifiable(), params.submodel); comp.setSymbolRenderer(SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getSnippetSupplier(params.symbolRendererSnippetID) @@ -187,7 +197,7 @@ public final class SubmodelComponentSerializer */ public static SubmodelComponentParams serialize(SubmodelComponent comp, IdentifierGetter idGetter) { - SubmodelComponentParams params = new SubmodelComponentParams(CURRENT_JSON_VERSION); + SubmodelComponentParams params = new SubmodelComponentParams(JSON_VERSION_CURRENT_SERIALIZING); params.innerScale = comp.getSubmodelScale(); params.submodel = ViewModelSerializer.serialize(comp.submodel, idGetter); @@ -203,9 +213,11 @@ public final class SubmodelComponentSerializer iPinParams.location = p.getRelPos(); iPinParams.name = p.name; iPinParams.logicWidth = p.logicWidth; + iPinParams.usage = p.usage; i++; } params.interfacePins = iPins; + Arrays.sort(params.interfacePins, Comparator.comparing(p -> p.name)); Renderer symbolRenderer = comp.getSymbolRenderer(); if (symbolRenderer != null) diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java index ffd18c94..38bdf9c4 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java @@ -1,7 +1,9 @@ package net.mograsim.logic.model.serializing; import java.io.IOException; +import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -161,6 +163,7 @@ public class ViewModelSerializer compParams.name = component.name; } modelParams.components = componentsParams.toArray(ComponentParams[]::new); + Arrays.sort(modelParams.components, Comparator.comparing(c -> c.name)); Collection wires = model.getWiresByName().values(); Set wiresParams = new HashSet<>(); @@ -180,6 +183,7 @@ public class ViewModelSerializer innerWireParams.path = innerWire.getPath(); } modelParams.wires = wiresParams.toArray(WireParams[]::new); + Arrays.sort(modelParams.wires, Comparator.comparing(c -> c.name)); return modelParams; } 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 1913f726..ec15a5a6 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 @@ -56,6 +56,7 @@ mograsim version: 0.1.3 "GUIsel4_12": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12", "GUISplitter": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter", "GUITriStateBuffer": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer", + "GUIClock": "class:net.mograsim.logic.model.model.components.atomic.GUIClock", "GUIxor": "file:components/GUIxor.json", "TextComponent": "class:net.mograsim.logic.model.model.components.atomic.TextComponent", "WireCrossPoint": "class:net.mograsim.logic.model.model.wires.WireCrossPoint" diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java index 0016cc72..26d5a0d9 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java @@ -16,9 +16,11 @@ public class CodeSnippetSupplier this.defaultSnippetSupplier = defaultSnippetSupplier; } - public void addStandardSnippetID(String standardSnippetID, String associatedSnippetClassName) + public void addStandardSnippetID(String standardSnippetID, String associatedSnippetID) { - standardSnippetIDClassNames.put(standardSnippetID, associatedSnippetClassName); + if (!associatedSnippetID.startsWith("class:")) + throw new IllegalArgumentException("Unrecognized snippet ID format: " + associatedSnippetID); + standardSnippetIDClassNames.put(standardSnippetID, associatedSnippetID); } public Map getStandardSnippetIDs() @@ -36,13 +38,10 @@ public class CodeSnippetSupplier { if (id != null) { - String snippetClassName; - if (id.startsWith("class:")) - snippetClassName = id.substring(6); - else - snippetClassName = standardSnippetIDClassNames.get(id); - if (snippetClassName != null) + String resolvedID = resolveID(id); + if (resolvedID != null) { + String snippetClassName = resolvedID.substring(6); tryLoadSnippetClass(snippetClassName); SnippetDefinintion snippetSupplier = snippetSuppliersForClassNames.get(snippetClassName); if (snippetSupplier != null) @@ -55,6 +54,13 @@ public class CodeSnippetSupplier return defaultSnippetSupplier; } + public String resolveID(String id) + { + if (id.startsWith("class:")) + return id; + return standardSnippetIDClassNames.get(id); + } + // static helpers private static void tryLoadSnippetClass(String snippetClassName) diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/standardSnippetIDMapping.json b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/standardSnippetIDMapping.json index 627f5dc6..ef9d686f 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/standardSnippetIDMapping.json +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/standardSnippetIDMapping.json @@ -1,11 +1,11 @@ mograsim version: 0.1.3 { "standardSubcomponentHandlerSuppliers": { - "delegating": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler" + "delegating": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler" }, "standardAtomicHandlerSuppliers": { - "delegating": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", - "wireForcing": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.WireForcingAtomicHighLevelStateHandler", - "bitVectorSplitting": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler" + "delegating": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "wireForcing": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.WireForcingAtomicHighLevelStateHandler", + "bitVectorSplitting": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler" } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/standardSnippetIDMapping.json b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/standardSnippetIDMapping.json index 9f7856fe..05007698 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/standardSnippetIDMapping.json +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/standardSnippetIDMapping.json @@ -1,16 +1,16 @@ mograsim version: 0.1.3 { "standardOutlineRendererSuppliers": { - "default": "net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" + "default": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" }, "standardSymbolRendererSuppliers": { - "default": "net.mograsim.logic.model.snippets.symbolrenderers.DefaultSymbolRenderer", - "centeredText": "net.mograsim.logic.model.snippets.symbolrenderers.CenteredTextSymbolRenderer", - "simpleRectangularLike": "net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", - "pinNames": "net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer" + "default": "class:net.mograsim.logic.model.snippets.symbolrenderers.DefaultSymbolRenderer", + "centeredText": "class:net.mograsim.logic.model.snippets.symbolrenderers.CenteredTextSymbolRenderer", + "simpleRectangularLike": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", + "pinNames": "class:net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer" }, "standardHighLevelStateHandlerSuppliers": { - "default": "net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler", - "standard": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler" + "default": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler", + "standard": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler" } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/util/Version.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/Version.java index ac42e13a..00aeed89 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/util/Version.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/Version.java @@ -10,7 +10,7 @@ import com.google.gson.stream.JsonWriter; import net.mograsim.logic.model.util.Version.VersionJSONAdapter; @JsonAdapter(VersionJSONAdapter.class) -public final class Version +public final class Version implements Comparable { public final int major, minor, patch; @@ -88,6 +88,40 @@ public final class Version return is(major, minor) && this.patch == patch; } + /** + * Compares this {@link Version} with the specified version.
+ * As required by {@link Comparable#compareTo(Object)}, returns a negative integer, zero, or a positive integer as this version is less + * (earlier) than, equal to, or greater (later) than the specified version. + *

+ * If the versions are equal ({@link #major}, {@link #minor}, {@link #patch} are the same), returns 0.
+ * If they differ in {@link #patch}, but neither {@link #major} or {@link #minor} , returns +-1.
+ * If they differ in {@link #minor}, but not {@link #major}, returns +-2.
+ * If they differ in {@link #major}, returns +-3. + */ + @Override + public int compareTo(Version o) + { + if (major != o.major) + { + if (major > o.major) + return 3; + return -3; + } + if (minor != o.minor) + { + if (minor > o.minor) + return 2; + return -2; + } + if (patch != o.patch) + { + if (patch > o.patch) + return 1; + return -1; + } + return 0; + } + static class VersionJSONAdapter extends TypeAdapter { @Override diff --git a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/GUIMemoryWA.java b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/GUIMemoryWA.java index 079c7e5b..6dbff4c8 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/standard/memory/GUIMemoryWA.java +++ b/net.mograsim.machine/src/net/mograsim/machine/standard/memory/GUIMemoryWA.java @@ -13,6 +13,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.atomic.GUIAndGate; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; @@ -34,9 +35,10 @@ public class GUIMemoryWA extends GUIComponent super(model, name); this.definition = definition; setSize(width, height); - addPin(addrPin = new Pin(this, "A", definition.getMemoryAddressBits(), 0, 10)); - addPin(dataPin = new Pin(this, "D", definition.getCellWidth(), 0, 30)); - addPin(rWPin = new Pin(this, "RW", 1, 0, 50)); + //TODO check the usages + addPin(addrPin = new Pin(this, "A", definition.getMemoryAddressBits(), PinUsage.INPUT, 0, 10)); + addPin(dataPin = new Pin(this, "D", definition.getCellWidth(), PinUsage.TRISTATE, 0, 30)); + addPin(rWPin = new Pin(this, "RW", 1, PinUsage.INPUT, 0, 50)); } public Pin getAddressPin() diff --git a/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java b/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java index 00b19566..81707be2 100644 --- a/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java +++ b/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java @@ -22,6 +22,7 @@ import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; import net.mograsim.logic.model.model.wires.GUIWire; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.PinUsage; import net.mograsim.logic.model.modeladapter.LogicModelParameters; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; @@ -85,11 +86,10 @@ public class LogicUIPart extends ViewPart { GUIComponent comp = IndirectGUIComponentCreator.createComponent(model, "GUIAm2901"); - // TODO this code exists four times... but it seems too "hacky" to put it in a helper class List inputPinNames = new ArrayList<>(); List outputPinNames = new ArrayList<>(); for (Pin p : comp.getPins().values()) - if (p.getRelX() == 0) + if (p.usage == PinUsage.INPUT) inputPinNames.add(p.name); else outputPinNames.add(p.name);