From a25f554756e1bc9a1f842293aefe60a220d8b950 Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Wed, 17 Jul 2019 12:46:54 +0200 Subject: [PATCH] Serializing now serializes everything; among many other things: -HighLevelStateHandlers now can be serialized -Common interface for serializable objects (JSONSerializable) -Serializable objects now "have" an ID (see IdentifierGetter) -LogicUICanvas's high level state debug shell sorts components better -HandleManager uses SubmodelComponent's constant for the name of the SubmodelInterface instead of a hardcoded string -Wrote some TODOs --- .../components/GUI_rsLatch.json | 46 +- .../components/GUIand.json | 5 +- .../components/GUIand41.json | 5 +- .../components/GUIandor414.json | 5 +- .../components/GUIdemux2.json | 5 +- .../components/GUIdff.json | 16 +- .../components/GUIdlatch.json | 16 +- .../components/GUIdlatch4.json | 54 +- .../components/GUIfulladder.json | 5 +- .../components/GUIhalfadder.json | 5 +- .../components/GUImux1.json | 5 +- .../components/GUImux1_4.json | 5 +- .../components/GUInand3.json | 5 +- .../components/GUInot4.json | 5 +- .../components/GUIor4.json | 5 +- .../components/GUIor_4.json | 5 +- .../components/GUIram2.json | 51 +- .../components/GUIram4.json | 163 +- .../components/GUIsel2_4.json | 5 +- .../components/GUIsel3_4.json | 5 +- .../components/GUIxor.json | 5 +- .../components/am2901/GUIAm2901.json | 21 +- .../am2901/GUIAm2901ALUFuncDecode.json | 5 +- .../am2901/GUIAm2901ALUInclDecode.json | 5 +- ...ALUInclSourceDecodeInclFunctionDecode.json | 5 +- .../components/am2901/GUIAm2901ALUOneBit.json | 5 +- .../am2901/GUIAm2901DestDecode.json | 5 +- .../components/am2901/GUIAm2901QReg.json | 54 +- .../am2901/GUIAm2901SourceDecode.json | 5 +- .../model/examples/ComponenetSerializer.java | 8 +- .../examples/SubmodelComponentTestbench.java | 17 +- .../components/GUI_rsLatch.json | 142 +- .../components/GUIand.json | 61 +- .../components/GUIand41.json | 162 +- .../components/GUIandor414.json | 306 +- .../components/GUIdemux2.json | 349 +- .../components/GUIdff.json | 241 +- .../components/GUIdlatch.json | 162 +- .../components/GUIdlatch4.json | 221 +- .../components/GUIfulladder.json | 127 +- .../components/GUIhalfadder.json | 192 +- .../components/GUImux1.json | 142 +- .../components/GUImux1_4.json | 290 +- .../components/GUInand3.json | 125 +- .../components/GUInot4.json | 181 +- .../components/GUIor4.json | 338 +- .../components/GUIor_4.json | 523 +-- .../components/GUIram2.json | 2428 +++++++------ .../components/GUIram4.json | 3004 +++++++++-------- .../components/GUIsel2_4.json | 625 ++-- .../components/GUIsel3_4.json | 644 ++-- .../components/GUIxor.json | 161 +- .../components/am2901/GUIAm2901.json | 2676 ++++++++------- .../am2901/GUIAm2901ALUFuncDecode.json | 461 +-- .../am2901/GUIAm2901ALUInclDecode.json | 1276 +++---- ...ALUInclSourceDecodeInclFunctionDecode.json | 1075 +++--- .../components/am2901/GUIAm2901ALUOneBit.json | 397 ++- .../am2901/GUIAm2901DestDecode.json | 697 ++-- .../components/am2901/GUIAm2901QReg.json | 317 +- .../am2901/GUIAm2901SourceDecode.json | 744 ++-- .../logic/model/editor/SaveLoadManager.java | 7 +- .../model/editor/handles/ComponentHandle.java | 3 +- .../model/editor/handles/HandleManager.java | 4 +- .../mograsim/logic/model/LogicUICanvas.java | 5 +- .../model/model/ViewModelModifiable.java | 11 +- .../model/model/components/GUIComponent.java | 13 +- .../atomic/SimpleRectangularGUIGate.java | 3 +- .../components/atomic/TextComponent.java | 3 +- .../SimpleRectangularSubmodelComponent.java | 2 +- .../submodels/SubmodelComponent.java | 4 +- .../model/model/wires/WireCrossPoint.java | 3 +- .../DeserializedSubmodelComponent.java | 7 - .../model/serializing/IdentifierGetter.java | 36 + .../IndirectGUIComponentCreator.java | 3 +- .../model/serializing/JSONSerializable.java | 15 + .../SubmodelComponentSerializer.java | 66 +- .../model/snippets/CodeSnippetSupplier.java | 8 + .../model/snippets/HighLevelStateHandler.java | 3 +- .../logic/model/snippets/Renderer.java | 3 +- .../model/snippets/SnippetDefinintion.java | 7 + .../DefaultHighLevelStateHandler.java | 7 + .../StandardHighLevelStateHandler.java | 29 + .../atomic/AtomicHighLevelStateHandler.java | 7 +- ...rSplittingAtomicHighLevelStateHandler.java | 25 +- ...DelegatingAtomicHighLevelStateHandler.java | 19 + ...ireForcingAtomicHighLevelStateHandler.java | 21 +- .../standard/standardSnippetIDMapping.json | 2 +- ...tingSubcomponentHighLevelStateHandler.java | 19 + .../SubcomponentHighLevelStateHandler.java | 7 +- .../DefaultOutlineRenderer.java | 7 + .../CenteredTextSymbolRenderer.java | 22 +- .../DefaultSymbolRenderer.java | 7 + .../SimpleRectangularLikeSymbolRenderer.java | 36 +- .../logic/model/util/JsonHandler.java | 6 + 94 files changed, 10569 insertions(+), 8469 deletions(-) create mode 100644 net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IdentifierGetter.java create mode 100644 net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/JSONSerializable.java diff --git a/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json b/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json index f6440706..4199e45f 100644 --- a/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json +++ b/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json @@ -77,18 +77,6 @@ mograsim version: 0.1.3 } ], "innerWires": [ - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" - }, - "name": "unnamedWire#7", - "path": [] - }, { "pin1": { "compName": "WireCrossPoint#0", @@ -98,7 +86,7 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "Q" }, - "name": "unnamedWire#6", + "name": "q", "path": [ { "x": 35.0, @@ -118,6 +106,18 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "_Q" + }, + "name": "_q", + "path": [] + }, { "pin1": { "compName": "_submodelinterface", @@ -219,12 +219,30 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "_rsLatch", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.WireForcingAtomicHighLevelStateHandler", + "params": { + "wiresToForce": [ + "q" + ], + "wiresToForceInverted": [ + "_q" + ] + } + } + } } } \ 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 bb69f119..6ec536a3 100644 --- a/net.mograsim.logic.model.am2900/components/GUIand.json +++ b/net.mograsim.logic.model.am2900/components/GUIand.json @@ -141,12 +141,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIand", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 dae4dfd6..95776814 100644 --- a/net.mograsim.logic.model.am2900/components/GUIand41.json +++ b/net.mograsim.logic.model.am2900/components/GUIand41.json @@ -332,12 +332,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIand41", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 939965a5..c6dc8210 100644 --- a/net.mograsim.logic.model.am2900/components/GUIandor414.json +++ b/net.mograsim.logic.model.am2900/components/GUIandor414.json @@ -493,12 +493,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIandor414", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 383337ae..55e3c8a1 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdemux2.json +++ b/net.mograsim.logic.model.am2900/components/GUIdemux2.json @@ -524,12 +524,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdemux2", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 9d29afb1..345b126e 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdff.json +++ b/net.mograsim.logic.model.am2900/components/GUIdff.json @@ -332,12 +332,26 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdff", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUI_rsLatch#1", + "subStateID": "q" + } + } + } } } \ 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 4280559e..26c4071d 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdlatch.json +++ b/net.mograsim.logic.model.am2900/components/GUIdlatch.json @@ -237,12 +237,26 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdlatch", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUI_rsLatch#0", + "subStateID": "q" + } + } + } } } \ 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 47965d75..28021dff 100644 --- a/net.mograsim.logic.model.am2900/components/GUIdlatch4.json +++ b/net.mograsim.logic.model.am2900/components/GUIdlatch4.json @@ -332,12 +332,64 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdlatch4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q1": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#0", + "subStateID": "q" + } + }, + "q2": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#1", + "subStateID": "q" + } + }, + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "q1", + "q2", + "q3", + "q4" + ], + "vectorPartLengthes": [ + 1, + 1, + 1, + 1 + ] + } + }, + "q3": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#2", + "subStateID": "q" + } + }, + "q4": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#3", + "subStateID": "q" + } + } + } } } \ 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 3a41f55a..b509eb28 100644 --- a/net.mograsim.logic.model.am2900/components/GUIfulladder.json +++ b/net.mograsim.logic.model.am2900/components/GUIfulladder.json @@ -185,12 +185,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIfulladder", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 1c9144f1..8ca9ccd8 100644 --- a/net.mograsim.logic.model.am2900/components/GUIhalfadder.json +++ b/net.mograsim.logic.model.am2900/components/GUIhalfadder.json @@ -319,12 +319,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIhalfadder", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 6d4ba960..b75d9f1a 100644 --- a/net.mograsim.logic.model.am2900/components/GUImux1.json +++ b/net.mograsim.logic.model.am2900/components/GUImux1.json @@ -230,12 +230,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUImux1", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 014f4eb5..b9f66127 100644 --- a/net.mograsim.logic.model.am2900/components/GUImux1_4.json +++ b/net.mograsim.logic.model.am2900/components/GUImux1_4.json @@ -476,12 +476,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUImux1_4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 9385c334..1bdc7ccd 100644 --- a/net.mograsim.logic.model.am2900/components/GUInand3.json +++ b/net.mograsim.logic.model.am2900/components/GUInand3.json @@ -201,12 +201,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUInand3", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 93b05925..0a3b7034 100644 --- a/net.mograsim.logic.model.am2900/components/GUInot4.json +++ b/net.mograsim.logic.model.am2900/components/GUInot4.json @@ -379,12 +379,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUInot4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 82f2a954..fca69d6f 100644 --- a/net.mograsim.logic.model.am2900/components/GUIor4.json +++ b/net.mograsim.logic.model.am2900/components/GUIor4.json @@ -539,12 +539,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIor4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 0f510174..07a3e1e3 100644 --- a/net.mograsim.logic.model.am2900/components/GUIor_4.json +++ b/net.mograsim.logic.model.am2900/components/GUIor_4.json @@ -871,12 +871,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIor_4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 56b12a69..325e2a62 100644 --- a/net.mograsim.logic.model.am2900/components/GUIram2.json +++ b/net.mograsim.logic.model.am2900/components/GUIram2.json @@ -2951,12 +2951,61 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIram2", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": { + "c00": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#0" + } + }, + "c11": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#3" + } + }, + "c10": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#2" + } + }, + "c01": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#1" + } + } + }, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "c00.q", + "c01.q", + "c10.q", + "c11.q" + ], + "vectorPartLengthes": [ + 4, + 4, + 4, + 4 + ] + } + } + } } } \ 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 28dd20de..d2774ae9 100644 --- a/net.mograsim.logic.model.am2900/components/GUIram4.json +++ b/net.mograsim.logic.model.am2900/components/GUIram4.json @@ -3331,12 +3331,173 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIram4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": { + "c00": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0" + } + }, + "c11": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3" + } + }, + "c10": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2" + } + }, + "c01": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1" + } + }, + "c1000": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c10" + } + }, + "c1011": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c10" + } + }, + "c1110": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c11" + } + }, + "c1001": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c10" + } + }, + "c1100": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c11" + } + }, + "c1111": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c11" + } + }, + "c0000": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c00" + } + }, + "c0011": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c00" + } + }, + "c0110": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c01" + } + }, + "c0010": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c00" + } + }, + "c1010": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c10" + } + }, + "c0101": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c01" + } + }, + "c0001": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c00" + } + }, + "c0100": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c01" + } + }, + "c0111": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c01" + } + }, + "c1101": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c11" + } + } + }, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "c00.q", + "c01.q", + "c10.q", + "c11.q" + ], + "vectorPartLengthes": [ + 16, + 16, + 16, + 16 + ] + } + } + } } } \ 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 90d6f1c5..1693ebfa 100644 --- a/net.mograsim.logic.model.am2900/components/GUIsel2_4.json +++ b/net.mograsim.logic.model.am2900/components/GUIsel2_4.json @@ -835,12 +835,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIsel2_4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 7b3b5a1f..cb7c3b4c 100644 --- a/net.mograsim.logic.model.am2900/components/GUIsel3_4.json +++ b/net.mograsim.logic.model.am2900/components/GUIsel3_4.json @@ -904,12 +904,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIsel3_4", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 a010047c..a15e5df5 100644 --- a/net.mograsim.logic.model.am2900/components/GUIxor.json +++ b/net.mograsim.logic.model.am2900/components/GUIxor.json @@ -268,12 +268,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIxor", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 1da7f91a..503d8546 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json @@ -3391,12 +3391,31 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": { + "qreg": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIAm2901QReg#0" + } + }, + "regs": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram4#0" + } + } + }, + "atomicHighLevelStates": {} } } \ 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 dd417e74..a575c5ce 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json @@ -702,12 +702,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUFuncDecode", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 08d122cc..c6f61c4f 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json @@ -1509,12 +1509,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUInclDecode", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 161cadb3..12e28505 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json @@ -1352,12 +1352,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 ca61568b..5abfdb5b 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json @@ -532,12 +532,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUOneBit", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 6be37994..150c0992 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json @@ -1072,12 +1072,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901DestDecode", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901QReg.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901QReg.json index 05bd7832..0f8ba036 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901QReg.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901QReg.json @@ -414,12 +414,64 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901QReg", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q1": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#0", + "subStateID": "q" + } + }, + "q2": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#1", + "subStateID": "q" + } + }, + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "q1", + "q2", + "q3", + "q4" + ], + "vectorPartLengthes": [ + 1, + 1, + 1, + 1 + ] + } + }, + "q3": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#2", + "subStateID": "q" + } + }, + "q4": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#3", + "subStateID": "q" + } + } + } } } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json index 746f301a..8c086bfe 100644 --- a/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json +++ b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json @@ -1116,12 +1116,13 @@ mograsim version: 0.1.3 } ] }, - "symbolRendererSnippetID": "simpleRectangularLike", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "Am2901SourceDecode", "centerTextHeight": 5.0, "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ No newline at end of file diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java index 52bf5c0b..8699c3b8 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java @@ -1,10 +1,8 @@ package net.mograsim.logic.model.examples; import java.io.IOException; -import java.util.function.Function; import net.mograsim.logic.model.model.ViewModelModifiable; -import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.mi.nandbased.GUI_rsLatch; import net.mograsim.logic.model.model.components.mi.nandbased.GUIand; import net.mograsim.logic.model.model.components.mi.nandbased.GUIand41; @@ -35,6 +33,7 @@ import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901De import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901QReg; import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901SourceDecode; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.SubmodelComponentParams; import net.mograsim.logic.model.serializing.SubmodelComponentSerializer; import net.mograsim.logic.model.util.JsonHandler; @@ -43,8 +42,9 @@ public class ComponenetSerializer { public static void main(String[] args) throws IOException { + IdentifierGetter idGetter = new IdentifierGetter(); // we know we only use components where this works - Function getIdentifier = c -> c.getClass().getSimpleName(); + idGetter.componentIDs = c -> c.getClass().getSimpleName(); ViewModelModifiable model = new ViewModelModifiable(); SubmodelComponent[] components = { new GUIAm2901(model), new GUIAm2901ALUFuncDecode(model), new GUIAm2901ALUInclDecode(model), @@ -57,7 +57,7 @@ public class ComponenetSerializer for (SubmodelComponent comp : components) { - SubmodelComponentParams params = SubmodelComponentSerializer.serialize(comp, getIdentifier); + SubmodelComponentParams params = SubmodelComponentSerializer.serialize(comp, idGetter); String shortClassName = comp.getClass().getName().substring("net.mograsim.logic.model.model.components.mi.nandbased.".length()); String path = "components/" + shortClassName.replace('.', '/') + ".json"; JsonHandler.writeJson(params, path); diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/SubmodelComponentTestbench.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/SubmodelComponentTestbench.java index 6a42d704..e55819a9 100644 --- a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/SubmodelComponentTestbench.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/SubmodelComponentTestbench.java @@ -1,18 +1,16 @@ package net.mograsim.logic.model.examples; -import java.io.IOException; -import java.io.UncheckedIOException; import java.util.ArrayList; import java.util.List; import net.mograsim.logic.model.SimpleLogicUIStandalone; 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.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.GUIWire; import net.mograsim.logic.model.model.wires.Pin; -import net.mograsim.logic.model.serializing.SubmodelComponentSerializer; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class SubmodelComponentTestbench { @@ -24,18 +22,11 @@ public class SubmodelComponentTestbench @SuppressWarnings("unused") // for GUIWires being created public static void createTestbench(ViewModelModifiable model) { - SubmodelComponent comp; - try - { - comp = SubmodelComponentSerializer.deserialize(model, "components/am2901/GUIAm2901.json"); - } - catch (IOException e) - { - throw new UncheckedIOException(e); - } + GUIComponent comp = IndirectGUIComponentCreator.createComponent(model, "file:components/am2901/GUIAm2901.json", "Am2901"); // guess which pins are outputs and which are inputs // TODO this code exists three times... but it seems too "hacky" to put it in a helper class + // TODO sort pins correctly - use Y coordinate List inputPinNames = new ArrayList<>(); List outputPinNames = new ArrayList<>(); for (Pin p : comp.getPins().values()) diff --git a/net.mograsim.logic.model.editor/components/GUI_rsLatch.json b/net.mograsim.logic.model.editor/components/GUI_rsLatch.json index a91b8159..4199e45f 100644 --- a/net.mograsim.logic.model.editor/components/GUI_rsLatch.json +++ b/net.mograsim.logic.model.editor/components/GUI_rsLatch.json @@ -40,110 +40,115 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 40.0, "y": 12.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 10.0, "y": 7.5 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 64.0, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 34.0, "y": 16.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "_S" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "_R" - }, - "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "pinName": "Q" }, + "name": "q", "path": [ { "x": 35.0, - "y": 37.5 + "y": 17.5 }, { "x": 35.0, - "y": 27.5 + "y": 7.5 + }, + { + "x": 65.0, + "y": 7.5 + }, + { + "x": 65.0, + "y": 12.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_Q" }, + "name": "_q", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "_R" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "B" }, + "name": "unnamedWire#1", "path": [ { - "x": 65.0, - "y": 22.5 + "x": 35.0, + "y": 37.5 + }, + { + "x": 35.0, + "y": 27.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_S" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" }, + "name": "unnamedWire#0", "path": [] }, { @@ -155,6 +160,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#0", "pinName": "B" }, + "name": "unnamedWire#5", "path": [ { "x": 65.0, @@ -176,47 +182,67 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#3", "path": [ - { - "x": 35.0, - "y": 17.5 - }, - { - "x": 35.0, - "y": 7.5 - }, { "x": 65.0, - "y": 7.5 - }, - { - "x": 65.0, - "y": 12.5 + "y": 22.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#2", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "_rsLatch", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.WireForcingAtomicHighLevelStateHandler", + "params": { + "wiresToForce": [ + "q" + ], + "wiresToForceInverted": [ + "_q" + ] + } + } + } } } \ 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 58772918..6ec536a3 100644 --- a/net.mograsim.logic.model.editor/components/GUIand.json +++ b/net.mograsim.logic.model.editor/components/GUIand.json @@ -32,30 +32,30 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 50.0, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 20.0, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 44.0, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 } ], @@ -63,33 +63,35 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "B" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" - } + "pinName": "B" + }, + "name": "unnamedWire#1" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B" + "pinName": "A" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" - } + "pinName": "A" + }, + "name": "unnamedWire#0" }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y" }, - "path": [] + "name": "unnamedWire#5" }, { "pin1": { @@ -98,12 +100,13 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, + "name": "unnamedWire#4", "path": [ { "x": 45.0, - "y": 20.0 + "y": 30.0 } ] }, @@ -114,33 +117,37 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#1", - "pinName": "B" + "pinName": "A" }, + "name": "unnamedWire#3", "path": [ { "x": 45.0, - "y": 30.0 + "y": 20.0 } ] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" - } + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIand", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 973a4c9d..95776814 100644 --- a/net.mograsim.logic.model.editor/components/GUIand41.json +++ b/net.mograsim.logic.model.editor/components/GUIand41.json @@ -80,135 +80,124 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 24.0, "y": 71.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 24.0, "y": 46.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 24.0, "y": 96.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "GUIand", + "name": "GUIand#0", "pos": { "x": 30.0, "y": 7.5 - }, - "id": "GUIand", - "name": "GUIand#0" + } }, { + "id": "GUIand", + "name": "GUIand#2", "pos": { "x": 30.0, "y": 57.5 - }, - "id": "GUIand", - "name": "GUIand#2" + } }, { + "id": "GUIand", + "name": "GUIand#1", "pos": { "x": 30.0, "y": 32.5 - }, - "id": "GUIand", - "name": "GUIand#1" + } }, { + "id": "GUIand", + "name": "GUIand#3", "pos": { "x": 30.0, "y": 82.5 - }, - "id": "GUIand", - "name": "GUIand#3" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "GUIand#3", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" - }, - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "GUIand#1", - "pinName": "A" + "pinName": "Y4" }, + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "GUIand#2", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#2", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Y3" }, + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIand#3", - "pinName": "A" + "compName": "GUIand#1", + "pinName": "B" }, + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "pinName": "" }, - "path": [ - { - "x": 25.0, - "y": 112.5 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIand#3", + "compName": "GUIand#2", "pinName": "B" }, + "name": "unnamedWire#7", "path": [] }, { @@ -220,39 +209,43 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#1", "pinName": "" }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUIand#2", - "pinName": "B" + "compName": "GUIand#1", + "pinName": "A" }, + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIand#0", + "pinName": "A" }, + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIand#1", + "compName": "GUIand#3", "pinName": "B" }, + "name": "unnamedWire#5", "path": [] }, { @@ -264,6 +257,7 @@ mograsim version: 0.1.3 "compName": "GUIand#0", "pinName": "B" }, + "name": "unnamedWire#10", "path": [ { "x": 25.0, @@ -273,13 +267,31 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B" }, "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [ + { + "x": 25.0, + "y": 112.5 + } + ] + }, + { + "pin1": { "compName": "_submodelinterface", - "pinName": "Y1" + "pinName": "A4" + }, + "pin2": { + "compName": "GUIand#3", + "pinName": "A" }, + "name": "unnamedWire#3", "path": [] }, { @@ -291,38 +303,42 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "Y2" }, + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "GUIand#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIand#2", + "pinName": "A" }, + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "GUIand#3", + "compName": "GUIand#0", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y4" + "pinName": "Y1" }, + "name": "unnamedWire#11", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIand41", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 5cadf0f6..c6dc8210 100644 --- a/net.mograsim.logic.model.editor/components/GUIandor414.json +++ b/net.mograsim.logic.model.editor/components/GUIandor414.json @@ -112,133 +112,159 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUIor_4", + "name": "GUIor_4#0", "pos": { "x": 35.0, "y": 37.5 - }, - "id": "GUIor_4", - "name": "GUIor_4#0" + } }, { + "id": "GUIand41", + "name": "GUIand41#0", "pos": { "x": 15.0, "y": 137.5 - }, - "id": "GUIand41", - "name": "GUIand41#0" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "GUIor_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "Y2" }, + "name": "unnamedWire#14", "path": [ { - "x": 10.0, - "y": 112.5 + "x": 80.0, + "y": 52.5 }, { - "x": 10.0, - "y": 142.5 + "x": 80.0, + "y": 37.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUIor_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A2" + "compName": "_submodelinterface", + "pinName": "Y1" }, + "name": "unnamedWire#13", "path": [ { - "x": 5.0, - "y": 137.5 + "x": 75.0, + "y": 42.5 }, { - "x": 5.0, - "y": 152.5 + "x": 75.0, + "y": 12.5 } ] }, { "pin1": { + "compName": "GUIor_4#0", + "pinName": "Y4" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "A3" + "pinName": "Y4" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 80.0, + "y": 72.5 + }, + { + "x": 80.0, + "y": 87.5 + } + ] + }, + { + "pin1": { + "compName": "GUIor_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" + "compName": "_submodelinterface", + "pinName": "Y3" }, + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "GUIand41#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A4" + "compName": "GUIor_4#0", + "pinName": "B1" }, + "name": "unnamedWire#9", "path": [ { - "x": 5.0, - "y": 187.5 + "x": 70.0, + "y": 142.5 }, { - "x": 5.0, - "y": 172.5 + "x": 70.0, + "y": 120.0 + }, + { + "x": 30.0, + "y": 120.0 + }, + { + "x": 30.0, + "y": 82.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B" + "pinName": "C4" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "GUIor_4#0", + "pinName": "A4" }, + "name": "unnamedWire#8", "path": [ { - "x": 10.0, - "y": 212.5 + "x": 5.0, + "y": 87.5 }, { - "x": 10.0, - "y": 182.5 + "x": 5.0, + "y": 72.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C1" + "pinName": "C3" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "A1" + "pinName": "A3" }, - "path": [ - { - "x": 10.0, - "y": 12.5 - }, - { - "x": 10.0, - "y": 42.5 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { @@ -249,6 +275,7 @@ mograsim version: 0.1.3 "compName": "GUIor_4#0", "pinName": "A2" }, + "name": "unnamedWire#6", "path": [ { "x": 5.0, @@ -263,59 +290,63 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "C3" + "pinName": "A2" }, "pin2": { - "compName": "GUIor_4#0", - "pinName": "A3" + "compName": "GUIand41#0", + "pinName": "A2" }, - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 5.0, + "y": 137.5 + }, + { + "x": 5.0, + "y": 152.5 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C4" + "pinName": "A1" }, "pin2": { - "compName": "GUIor_4#0", - "pinName": "A4" + "compName": "GUIand41#0", + "pinName": "A1" }, + "name": "unnamedWire#0", "path": [ { - "x": 5.0, - "y": 87.5 + "x": 10.0, + "y": 112.5 }, { - "x": 5.0, - "y": 72.5 + "x": 10.0, + "y": 142.5 } ] }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "C1" }, "pin2": { "compName": "GUIor_4#0", - "pinName": "B1" + "pinName": "A1" }, + "name": "unnamedWire#5", "path": [ { - "x": 70.0, - "y": 142.5 - }, - { - "x": 70.0, - "y": 120.0 - }, - { - "x": 30.0, - "y": 120.0 + "x": 10.0, + "y": 12.5 }, { - "x": 30.0, - "y": 82.5 + "x": 10.0, + "y": 42.5 } ] }, @@ -328,6 +359,7 @@ mograsim version: 0.1.3 "compName": "GUIor_4#0", "pinName": "B2" }, + "name": "unnamedWire#10", "path": [ { "x": 65.0, @@ -349,29 +381,43 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "B" }, "pin2": { - "compName": "GUIor_4#0", - "pinName": "B3" + "compName": "GUIand41#0", + "pinName": "B" }, + "name": "unnamedWire#4", "path": [ { - "x": 60.0, - "y": 162.5 + "x": 10.0, + "y": 212.5 }, { - "x": 60.0, - "y": 130.0 - }, + "x": 10.0, + "y": 182.5 + } + ] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A4" + }, + "pin2": { + "compName": "GUIand41#0", + "pinName": "A4" + }, + "name": "unnamedWire#3", + "path": [ { - "x": 20.0, - "y": 130.0 + "x": 5.0, + "y": 187.5 }, { - "x": 20.0, - "y": 102.5 + "x": 5.0, + "y": 172.5 } ] }, @@ -384,6 +430,7 @@ mograsim version: 0.1.3 "compName": "GUIor_4#0", "pinName": "B4" }, + "name": "unnamedWire#12", "path": [ { "x": 55.0, @@ -405,83 +452,54 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y1" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Y1" - }, - "path": [ - { - "x": 75.0, - "y": 42.5 - }, - { - "x": 75.0, - "y": 12.5 - } - ] - }, - { - "pin1": { - "compName": "GUIor_4#0", - "pinName": "Y2" + "pinName": "A3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUIand41#0", + "pinName": "A3" }, - "path": [ - { - "x": 80.0, - "y": 52.5 - }, - { - "x": 80.0, - "y": 37.5 - } - ] + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUIor_4#0", + "compName": "GUIand41#0", "pinName": "Y3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" - }, - "path": [] - }, - { - "pin1": { "compName": "GUIor_4#0", - "pinName": "Y4" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "pinName": "B3" }, + "name": "unnamedWire#11", "path": [ { - "x": 80.0, - "y": 72.5 + "x": 60.0, + "y": 162.5 }, { - "x": 80.0, - "y": 87.5 + "x": 60.0, + "y": 130.0 + }, + { + "x": 20.0, + "y": 130.0 + }, + { + "x": 20.0, + "y": 102.5 } ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIandor414", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 5ded84b7..55e3c8a1 100644 --- a/net.mograsim.logic.model.editor/components/GUIdemux2.json +++ b/net.mograsim.logic.model.editor/components/GUIdemux2.json @@ -56,215 +56,242 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 10.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 10.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUIand", + "name": "GUIand#0", "pos": { "x": 40.0, "y": 2.5 - }, - "id": "GUIand", - "name": "GUIand#0" + } }, { + "id": "GUIand", + "name": "GUIand#2", "pos": { "x": 40.0, "y": 52.5 - }, - "id": "GUIand", - "name": "GUIand#2" + } }, { + "id": "GUIand", + "name": "GUIand#1", "pos": { "x": 40.0, "y": 27.5 - }, - "id": "GUIand", - "name": "GUIand#1" + } }, { + "id": "GUIand", + "name": "GUIand#3", "pos": { "x": 40.0, "y": 77.5 - }, - "id": "GUIand", - "name": "GUIand#3" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 6.5, "y": 16.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 6.5, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 4.0, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 36.5, "y": 61.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 31.5, "y": 66.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 4.0, "y": 41.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 34.0, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 31.5, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIand#1", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 37.5, + "y": 32.5 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S1" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIand#0", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 35.0, + "y": 17.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUIand#2", "pinName": "A" }, + "name": "unnamedWire#16", "path": [ { - "x": 7.5, - "y": 7.5 + "x": 32.5, + "y": 57.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUIand#1", + "pinName": "B" }, + "name": "unnamedWire#15", "path": [ { - "x": 5.0, - "y": 32.5 + "x": 35.0, + "y": 42.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand#3", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#18", + "path": [ + { + "x": 37.5, + "y": 82.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIand#2", + "pinName": "B" }, + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUIand#3", "pinName": "B" }, - "path": [] + "name": "unnamedWire#19", + "path": [ + { + "x": 32.5, + "y": 92.5 + } + ] }, { "pin1": { @@ -272,10 +299,20 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 5.0, + "y": 67.5 + }, + { + "x": 32.5, + "y": 67.5 + } + ] }, { "pin1": { @@ -286,6 +323,7 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#2", "pinName": "" }, + "name": "unnamedWire#8", "path": [ { "x": 7.5, @@ -299,213 +337,200 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "B" }, - "path": [ - { - "x": 5.0, - "y": 67.5 - }, - { - "x": 32.5, - "y": 67.5 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "S1" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#3", "pinName": "" }, + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "S0" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "path": [ - { - "x": 32.5, - "y": 7.5 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "path": [ - { - "x": 35.0, - "y": 17.5 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#1", - "pinName": "A" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "path": [ - { - "x": 37.5, - "y": 32.5 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIand#1", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#1", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y01" }, - "path": [ - { - "x": 35.0, - "y": 42.5 - } - ] + "name": "unnamedWire#21" }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIand#2", - "pinName": "A" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "path": [ - { - "x": 32.5, - "y": 57.5 - } - ] + "name": "unnamedWire#4", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y00" }, - "path": [] + "name": "unnamedWire#20" }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIand#3", + "compName": "GUINandGate#1", "pinName": "A" }, + "name": "unnamedWire#3", "path": [ { - "x": 37.5, - "y": 82.5 + "x": 5.0, + "y": 32.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIand#3", - "pinName": "B" + "compName": "GUIand#0", + "pinName": "A" }, + "name": "unnamedWire#12", "path": [ { "x": 32.5, - "y": 92.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "GUIand#0", + "compName": "GUIand#3", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y00" - } + "pinName": "Y11" + }, + "name": "unnamedWire#23" }, { "pin1": { - "compName": "GUIand#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y01" - } + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 7.5, + "y": 7.5 + } + ] }, { "pin1": { - "compName": "GUIand#2", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y10" - } + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "GUIand#3", + "compName": "GUIand#2", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y11" - } + "pinName": "Y10" + }, + "name": "unnamedWire#22" } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdemux2", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 55151f8b..345b126e 100644 --- a/net.mograsim.logic.model.editor/components/GUIdff.json +++ b/net.mograsim.logic.model.editor/components/GUIdff.json @@ -40,162 +40,145 @@ mograsim version: 0.1.3 "innerScale": 0.2, "subComps": [ { + "id": "GUI_rsLatch", + "name": "GUI_rsLatch#0", "pos": { "x": 40.0, "y": 10.0 - }, - "id": "GUI_rsLatch", - "name": "GUI_rsLatch#0" + } }, { + "id": "GUInand3", + "name": "GUInand3#0", "pos": { "x": 40.0, "y": 40.0 - }, - "id": "GUInand3", - "name": "GUInand3#0" + } }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 120.0, "y": 60.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUI_rsLatch", + "name": "GUI_rsLatch#1", "pos": { "x": 120.0, "y": 30.0 - }, - "id": "GUI_rsLatch", - "name": "GUI_rsLatch#1" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 19.0, "y": 64.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 9.0, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 99.0, "y": 44.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 99.0, "y": 34.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "GUI_rsLatch#1", + "pinName": "_Q" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "_Q" }, - "path": [] + "name": "unnamedWire#14" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUI_rsLatch#1", + "pinName": "Q" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_R" + "compName": "_submodelinterface", + "pinName": "Q" }, - "path": [] + "name": "unnamedWire#13" }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "B" - }, - "path": [ - { - "x": 10.0, - "y": 55.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "D" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUI_rsLatch#1", + "pinName": "_S" }, + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "A" }, + "name": "unnamedWire#8", "path": [ { - "x": 145.0, - "y": 70.0 - }, - { - "x": 145.0, - "y": 85.0 + "x": 30.0, + "y": 35.0 }, { - "x": 20.0, - "y": 85.0 + "x": 30.0, + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUI_rsLatch#0", + "pinName": "_Q" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_S" + "compName": "WireCrossPoint#2", + "pinName": "" }, + "name": "unnamedWire#7", "path": [ { - "x": 20.0, - "y": 15.0 + "x": 100.0, + "y": 25.0 } ] }, @@ -208,75 +191,97 @@ mograsim version: 0.1.3 "compName": "GUInand3#0", "pinName": "C" }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { "compName": "GUI_rsLatch#0", - "pinName": "_Q" + "pinName": "_R" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "pinName": "" }, - "path": [ - { - "x": 100.0, - "y": 25.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "A" + "compName": "GUI_rsLatch#0", + "pinName": "_S" }, + "name": "unnamedWire#5", "path": [ { - "x": 30.0, - "y": 35.0 - }, - { - "x": 30.0, - "y": 45.0 + "x": 20.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "Y" }, "pin2": { - "compName": "GUI_rsLatch#1", - "pinName": "_S" + "compName": "WireCrossPoint#3", + "pinName": "" }, + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "GUInand3#0", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, - "path": [] + "name": "unnamedWire#4", + "path": [ + { + "x": 145.0, + "y": 70.0 + }, + { + "x": 145.0, + "y": 85.0 + }, + { + "x": 20.0, + "y": 85.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D" }, "pin2": { - "compName": "GUI_rsLatch#1", - "pinName": "_R" + "compName": "GUINandGate#0", + "pinName": "B" }, + "name": "unnamedWire#3", "path": [] }, { @@ -288,6 +293,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#0", "pinName": "A" }, + "name": "unnamedWire#12", "path": [ { "x": 100.0, @@ -297,32 +303,55 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUI_rsLatch#1", - "pinName": "Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" - } + "compName": "GUInand3#0", + "pinName": "B" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 10.0, + "y": 55.0 + } + ] }, { "pin1": { - "compName": "GUI_rsLatch#1", - "pinName": "_Q" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" - } + "compName": "GUI_rsLatch#1", + "pinName": "_R" + }, + "name": "unnamedWire#11", + "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdff", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUI_rsLatch#1", + "subStateID": "q" + } + } + } } } \ 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 69562cea..26c4071d 100644 --- a/net.mograsim.logic.model.editor/components/GUIdlatch.json +++ b/net.mograsim.logic.model.editor/components/GUIdlatch.json @@ -40,115 +40,130 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 15.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUI_rsLatch", + "name": "GUI_rsLatch#0", "pos": { "x": 45.0, "y": 7.5 - }, - "id": "GUI_rsLatch", - "name": "GUI_rsLatch#0" + } }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 10.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 34.0, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "D" + "compName": "GUI_rsLatch#0", + "pinName": "_Q" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - } + "compName": "_submodelinterface", + "pinName": "_Q" + }, + "name": "unnamedWire#9" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "E" + "compName": "GUI_rsLatch#0", + "pinName": "Q" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Q" }, + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUI_rsLatch#0", + "pinName": "_R" }, + "name": "unnamedWire#7", "path": [ { - "x": 5.0, - "y": 17.5 + "x": 40.0, + "y": 37.5 + }, + { + "x": 40.0, + "y": 22.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUI_rsLatch#0", + "pinName": "_S" }, - "path": [ - { - "x": 5.0, - "y": 42.5 - } - ] + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "E" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, + "name": "unnamedWire#1", "path": [] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D" + }, + "pin2": { + "compName": "GUINandGate#0", + "pinName": "A" + }, + "name": "unnamedWire#0" + }, { "pin1": { "compName": "WireCrossPoint#1", @@ -158,6 +173,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#1", "pinName": "A" }, + "name": "unnamedWire#5", "path": [ { "x": 35.0, @@ -175,64 +191,72 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_S" + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUI_rsLatch#0", - "pinName": "_R" + "compName": "GUINandGate#1", + "pinName": "B" }, + "name": "unnamedWire#3", "path": [ { - "x": 40.0, - "y": 37.5 - }, - { - "x": 40.0, - "y": 22.5 + "x": 5.0, + "y": 42.5 } ] }, { "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "Q" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUI_rsLatch#0", - "pinName": "_Q" + "compName": "GUINandGate#0", + "pinName": "B" }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "_Q" - } + "name": "unnamedWire#2", + "path": [ + { + "x": 5.0, + "y": 17.5 + } + ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdlatch", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUI_rsLatch#0", + "subStateID": "q" + } + } + } } } \ 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 29f4ac0f..28021dff 100644 --- a/net.mograsim.logic.model.editor/components/GUIdlatch4.json +++ b/net.mograsim.logic.model.editor/components/GUIdlatch4.json @@ -80,135 +80,124 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, "y": 71.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 14.0, "y": 46.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 14.0, "y": 96.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "GUIdlatch", + "name": "GUIdlatch#1", "pos": { "x": 30.0, "y": 32.5 - }, - "id": "GUIdlatch", - "name": "GUIdlatch#1" + } }, { + "id": "GUIdlatch", + "name": "GUIdlatch#0", "pos": { "x": 30.0, "y": 7.5 - }, - "id": "GUIdlatch", - "name": "GUIdlatch#0" + } }, { + "id": "GUIdlatch", + "name": "GUIdlatch#3", "pos": { "x": 30.0, "y": 82.5 - }, - "id": "GUIdlatch", - "name": "GUIdlatch#3" + } }, { + "id": "GUIdlatch", + "name": "GUIdlatch#2", "pos": { "x": 30.0, "y": 57.5 - }, - "id": "GUIdlatch", - "name": "GUIdlatch#2" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" - }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "path": [ - { - "x": 15.0, - "y": 112.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIdlatch#3", + "pinName": "Q" }, "pin2": { - "compName": "GUIdlatch#3", - "pinName": "E" + "compName": "_submodelinterface", + "pinName": "Q4" }, + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIdlatch#2", + "pinName": "Q" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Q3" }, + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { "compName": "GUIdlatch#2", - "pinName": "E" + "pinName": "D" }, + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIdlatch#1", + "pinName": "D" }, + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIdlatch#1", - "pinName": "E" + "compName": "GUIdlatch#0", + "pinName": "D" }, + "name": "unnamedWire#7", "path": [] }, { @@ -220,6 +209,7 @@ mograsim version: 0.1.3 "compName": "GUIdlatch#0", "pinName": "E" }, + "name": "unnamedWire#6", "path": [ { "x": 15.0, @@ -229,35 +219,43 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch#0", - "pinName": "D" + "compName": "GUIdlatch#3", + "pinName": "E" }, + "name": "unnamedWire#1", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "D2" + "pinName": "C" }, "pin2": { - "compName": "GUIdlatch#1", - "pinName": "D" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "path": [] + "name": "unnamedWire#0", + "path": [ + { + "x": 15.0, + "y": 112.5 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIdlatch#2", - "pinName": "D" + "compName": "GUIdlatch#1", + "pinName": "E" }, + "name": "unnamedWire#5", "path": [] }, { @@ -269,17 +267,31 @@ mograsim version: 0.1.3 "compName": "GUIdlatch#3", "pinName": "D" }, + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "GUIdlatch#0", - "pinName": "Q" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q1" + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" }, + "pin2": { + "compName": "GUIdlatch#2", + "pinName": "E" + }, + "name": "unnamedWire#3", "path": [] }, { @@ -291,38 +303,93 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "Q2" }, + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "GUIdlatch#2", - "pinName": "Q" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q3" + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "GUIdlatch#3", + "compName": "GUIdlatch#0", "pinName": "Q" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Q4" + "pinName": "Q1" }, + "name": "unnamedWire#11", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIdlatch4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q1": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#0", + "subStateID": "q" + } + }, + "q2": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#1", + "subStateID": "q" + } + }, + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "q1", + "q2", + "q3", + "q4" + ], + "vectorPartLengthes": [ + 1, + 1, + 1, + 1 + ] + } + }, + "q3": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#2", + "subStateID": "q" + } + }, + "q4": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch#3", + "subStateID": "q" + } + } + } } } \ 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 dc4c6162..b509eb28 100644 --- a/net.mograsim.logic.model.editor/components/GUIfulladder.json +++ b/net.mograsim.logic.model.editor/components/GUIfulladder.json @@ -48,82 +48,93 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 57.5, "y": 40.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUIhalfadder", + "name": "GUIhalfadder#0", "pos": { "x": 5.0, "y": 40.0 - }, - "id": "GUIhalfadder", - "name": "GUIhalfadder#0" + } }, { + "id": "GUIhalfadder", + "name": "GUIhalfadder#1", "pos": { "x": 45.0, "y": 7.5 - }, - "id": "GUIhalfadder", - "name": "GUIhalfadder#1" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIhalfadder#1", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "Z" }, - "path": [] + "name": "unnamedWire#7" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" + "compName": "GUIhalfadder#1", + "pinName": "_Z" }, "pin2": { - "compName": "GUIhalfadder#0", + "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" + "pinName": "B" }, "pin2": { "compName": "GUIhalfadder#0", - "pinName": "B" - } - }, - { - "pin1": { - "compName": "GUIhalfadder#0", - "pinName": "Y" + "pinName": "A" }, - "pin2": { - "compName": "GUIhalfadder#1", - "pinName": "B" - } + "name": "unnamedWire#1" }, { "pin1": { - "compName": "GUIhalfadder#0", - "pinName": "_Z" + "compName": "_submodelinterface", + "pinName": "A" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUIhalfadder#1", + "pinName": "A" }, + "name": "unnamedWire#0", "path": [] }, { @@ -135,54 +146,52 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "Y" }, + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "GUIhalfadder#1", + "compName": "GUIhalfadder#0", "pinName": "_Z" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, - "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#4", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUIhalfadder#0", "pinName": "Y" }, "pin2": { + "compName": "GUIhalfadder#1", + "pinName": "B" + }, + "name": "unnamedWire#3" + }, + { + "pin1": { "compName": "_submodelinterface", - "pinName": "Z" - } + "pinName": "C" + }, + "pin2": { + "compName": "GUIhalfadder#0", + "pinName": "B" + }, + "name": "unnamedWire#2" } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIfulladder", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 761d6ce1..8ca9ccd8 100644 --- a/net.mograsim.logic.model.editor/components/GUIhalfadder.json +++ b/net.mograsim.logic.model.editor/components/GUIhalfadder.json @@ -40,140 +40,166 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 40.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 10.0, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 65.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 40.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 34.0, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 35.0, + "y": 32.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, + "name": "unnamedWire#8", "path": [ { - "x": 5.0, - "y": 7.5 + "x": 35.0, + "y": 17.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "_Z" }, + "name": "unnamedWire#7", "path": [ { - "x": 5.0, - "y": 20.0 + "x": 80.0, + "y": 25.0 + }, + { + "x": 80.0, + "y": 37.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "GUINandGate#1", + "pinName": "A" }, + "name": "unnamedWire#1", "path": [ { "x": 5.0, - "y": 42.5 + "y": 7.5 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#1", @@ -183,6 +209,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#0", "pinName": "B" }, + "name": "unnamedWire#5", "path": [ { "x": 5.0, @@ -192,84 +219,80 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "_Z" + "compName": "GUINandGate#3", + "pinName": "A" }, + "name": "unnamedWire#10", "path": [ { - "x": 80.0, - "y": 25.0 + "x": 62.5, + "y": 12.5 }, { - "x": 80.0, - "y": 37.5 + "x": 62.5, + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "B" }, + "name": "unnamedWire#4", "path": [ { - "x": 35.0, - "y": 17.5 + "x": 5.0, + "y": 42.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "path": [ - { - "x": 35.0, - "y": 32.5 - } - ] + "name": "unnamedWire#3", + "path": [] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#3", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#12", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#0", "pinName": "A" }, + "name": "unnamedWire#2", "path": [ { - "x": 62.5, - "y": 12.5 - }, - { - "x": 62.5, - "y": 7.5 + "x": 5.0, + "y": 20.0 } ] }, @@ -282,6 +305,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#3", "pinName": "B" }, + "name": "unnamedWire#11", "path": [ { "x": 62.5, @@ -292,26 +316,16 @@ mograsim version: 0.1.3 "y": 17.5 } ] - }, - { - "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" - }, - "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIhalfadder", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 7ce90023..b75d9f1a 100644 --- a/net.mograsim.logic.model.editor/components/GUImux1.json +++ b/net.mograsim.logic.model.editor/components/GUImux1.json @@ -40,92 +40,93 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 35.0, "y": 22.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 10.0, "y": 7.5 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 60.0, "y": 30.0 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, "y": 21.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 35.0, "y": 47.5 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#9" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#3", "pinName": "A" }, - "path": [] + "name": "unnamedWire#8" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "B" }, + "name": "unnamedWire#7", "path": [] }, { @@ -134,97 +135,108 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 5.0, + "y": 52.5 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "A" - } + }, + "name": "unnamedWire#1", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0" + "pinName": "S0" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I0" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "B" }, - "path": [ - { - "x": 5.0, - "y": 52.5 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y" }, - "path": [] + "name": "unnamedWire#10" }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#1", "pinName": "A" - } + }, + "name": "unnamedWire#4" }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#0", "pinName": "B" - } + }, + "name": "unnamedWire#3", + "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" - } + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUImux1", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 21e2f213..b9f66127 100644 --- a/net.mograsim.logic.model.editor/components/GUImux1_4.json +++ b/net.mograsim.logic.model.editor/components/GUImux1_4.json @@ -112,357 +112,377 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUImux1", + "name": "GUImux1#3", "pos": { "x": 30.0, "y": 112.5 - }, - "id": "GUImux1", - "name": "GUImux1#3" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 24.0, "y": 46.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 24.0, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "GUImux1", + "name": "GUImux1#0", "pos": { "x": 30.0, "y": 7.5 - }, - "id": "GUImux1", - "name": "GUImux1#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 24.0, "y": 81.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "GUImux1", + "name": "GUImux1#2", "pos": { "x": 30.0, "y": 77.5 - }, - "id": "GUImux1", - "name": "GUImux1#2" + } }, { + "id": "GUImux1", + "name": "GUImux1#1", "pos": { "x": 30.0, "y": 42.5 - }, - "id": "GUImux1", - "name": "GUImux1#1" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "S0" + "compName": "GUImux1#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "path": [] + "name": "unnamedWire#14" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1_3" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "S0" + "compName": "GUImux1#2", + "pinName": "I1" }, - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 20.0, + "y": 187.5 + }, + { + "x": 20.0, + "y": 102.5 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0_1" + "pinName": "I0_4" }, "pin2": { - "compName": "GUImux1#0", + "compName": "GUImux1#3", "pinName": "I0" }, + "name": "unnamedWire#16", "path": [ { "x": 5.0, - "y": 37.5 + "y": 112.5 }, { "x": 5.0, - "y": 22.5 + "y": 127.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1_1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I1" + "compName": "GUImux1#3", + "pinName": "S0" }, + "name": "unnamedWire#15", "path": [ { - "x": 10.0, - "y": 137.5 - }, - { - "x": 10.0, - "y": 32.5 + "x": 25.0, + "y": 117.5 } ] }, { "pin1": { - "compName": "GUImux1#0", + "compName": "GUImux1#3", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y1" + "pinName": "Y4" }, - "path": [] + "name": "unnamedWire#18" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1_4" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUImux1#3", + "pinName": "I1" }, - "path": [] + "name": "unnamedWire#17", + "path": [ + { + "x": 25.0, + "y": 212.5 + }, + { + "x": 25.0, + "y": 137.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUImux1#1", + "pinName": "Y" }, "pin2": { - "compName": "GUImux1#1", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "Y2" }, - "path": [] + "name": "unnamedWire#9" }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0_2" + "pinName": "I1_2" }, "pin2": { "compName": "GUImux1#1", - "pinName": "I0" + "pinName": "I1" }, + "name": "unnamedWire#8", "path": [ { - "x": 5.0, - "y": 62.5 + "x": 15.0, + "y": 162.5 }, { - "x": 5.0, - "y": 57.5 + "x": 15.0, + "y": 67.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1_2" + "pinName": "I0_2" }, "pin2": { "compName": "GUImux1#1", - "pinName": "I1" + "pinName": "I0" }, + "name": "unnamedWire#7", "path": [ { - "x": 15.0, - "y": 162.5 + "x": 5.0, + "y": 62.5 }, { - "x": 15.0, - "y": 67.5 + "x": 5.0, + "y": 57.5 } ] }, { "pin1": { - "compName": "GUImux1#1", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" - } + "compName": "GUImux1#1", + "pinName": "S0" + }, + "name": "unnamedWire#6", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUImux1#0", + "pinName": "S0" }, + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "S0" }, "pin2": { - "compName": "GUImux1#2", - "pinName": "S0" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I0_3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUImux1#2", - "pinName": "I0" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "path": [ - { - "x": 5.0, - "y": 87.5 - }, - { - "x": 5.0, - "y": 92.5 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1_3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUImux1#2", - "pinName": "I1" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "path": [ - { - "x": 20.0, - "y": 187.5 - }, - { - "x": 20.0, - "y": 102.5 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "GUImux1#2", + "compName": "GUImux1#0", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y3" - } + "pinName": "Y1" + }, + "name": "unnamedWire#4", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1_1" }, "pin2": { - "compName": "GUImux1#3", - "pinName": "S0" + "compName": "GUImux1#0", + "pinName": "I1" }, + "name": "unnamedWire#3", "path": [ { - "x": 25.0, - "y": 117.5 + "x": 10.0, + "y": 137.5 + }, + { + "x": 10.0, + "y": 32.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I0_4" + "pinName": "I0_3" }, "pin2": { - "compName": "GUImux1#3", + "compName": "GUImux1#2", "pinName": "I0" }, + "name": "unnamedWire#12", "path": [ { "x": 5.0, - "y": 112.5 + "y": 87.5 }, { "x": 5.0, - "y": 127.5 + "y": 92.5 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "I1_4" + "pinName": "I0_1" }, "pin2": { - "compName": "GUImux1#3", - "pinName": "I1" + "compName": "GUImux1#0", + "pinName": "I0" }, + "name": "unnamedWire#2", "path": [ { - "x": 25.0, - "y": 212.5 + "x": 5.0, + "y": 37.5 }, { - "x": 25.0, - "y": 137.5 + "x": 5.0, + "y": 22.5 } ] }, { "pin1": { - "compName": "GUImux1#3", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" - } + "compName": "GUImux1#2", + "pinName": "S0" + }, + "name": "unnamedWire#11", + "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUImux1_4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 b3a6300f..1bdc7ccd 100644 --- a/net.mograsim.logic.model.editor/components/GUInand3.json +++ b/net.mograsim.logic.model.editor/components/GUInand3.json @@ -40,52 +40,75 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 35.0, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 10.0, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 62.5, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 31.5, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 } ], "innerWires": [ { "pin1": { + "compName": "GUINandGate#2", + "pinName": "Y" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "A" + "pinName": "Y" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - } + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#6", + "path": [ + { + "x": 60.0, + "y": 62.5 + }, + { + "x": 60.0, + "y": 17.5 + } + ] }, { "pin1": { @@ -95,32 +118,38 @@ mograsim version: 0.1.3 "pin2": { "compName": "GUINandGate#0", "pinName": "B" - } + }, + "name": "unnamedWire#1" }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#0" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#2", "pinName": "A" }, + "name": "unnamedWire#5", "path": [ { - "x": 32.5, - "y": 20.0 + "x": 57.5, + "y": 25.0 + }, + { + "x": 57.5, + "y": 7.5 } ] }, @@ -133,6 +162,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#1", "pinName": "B" }, + "name": "unnamedWire#4", "path": [ { "x": 32.5, @@ -142,63 +172,42 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#1", "pinName": "A" }, + "name": "unnamedWire#3", "path": [ { - "x": 57.5, - "y": 25.0 - }, - { - "x": 57.5, - "y": 7.5 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "C" - }, - "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" - }, - "path": [ - { - "x": 60.0, - "y": 62.5 - }, - { - "x": 60.0, - "y": 17.5 + "x": 32.5, + "y": 20.0 } ] }, { "pin1": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#2", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUInand3", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 7d575c84..0a3b7034 100644 --- a/net.mograsim.logic.model.editor/components/GUInot4.json +++ b/net.mograsim.logic.model.editor/components/GUInot4.json @@ -72,122 +72,131 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 30.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 30.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 30.0, "y": 77.5 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 30.0, "y": 52.5 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 14.0, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 14.0, "y": 86.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 14.0, "y": 61.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y3" }, + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y2" }, + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Y4" }, + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 15.0, + "y": 42.5 + } + ] }, { "pin1": { @@ -196,28 +205,30 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#0", - "pinName": "A" + "pinName": "B" }, + "name": "unnamedWire#8", "path": [ { "x": 15.0, - "y": 7.5 + "y": 17.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#3", "pinName": "A" }, + "name": "unnamedWire#7", "path": [ { "x": 15.0, - "y": 32.5 + "y": 82.5 } ] }, @@ -230,6 +241,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#2", "pinName": "A" }, + "name": "unnamedWire#6", "path": [ { "x": 15.0, @@ -239,35 +251,27 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "path": [ - { - "x": 15.0, - "y": 82.5 - } - ] + "name": "unnamedWire#1", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "path": [ - { - "x": 15.0, - "y": 17.5 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { @@ -276,12 +280,13 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#1", - "pinName": "B" + "pinName": "A" }, + "name": "unnamedWire#5", "path": [ { "x": 15.0, - "y": 42.5 + "y": 32.5 } ] }, @@ -294,6 +299,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#2", "pinName": "B" }, + "name": "unnamedWire#10", "path": [ { "x": 15.0, @@ -303,72 +309,83 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "A" }, + "name": "unnamedWire#4", "path": [ { "x": 15.0, - "y": 92.5 + "y": 7.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "WireCrossPoint#3", + "pinName": "" }, + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y2" + "pinName": "Y1" }, + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "WireCrossPoint#2", + "pinName": "" }, + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUINandGate#3", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 15.0, + "y": 92.5 + } + ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUInot4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 d4bcd579..fca69d6f 100644 --- a/net.mograsim.logic.model.editor/components/GUIor4.json +++ b/net.mograsim.logic.model.editor/components/GUIor4.json @@ -48,265 +48,299 @@ mograsim version: 0.1.3 "innerScale": 0.2, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 20.0, "y": 65.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 20.0, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 20.0, "y": 165.0 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 20.0, "y": 115.0 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, "y": 74.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 14.0, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 14.0, "y": 174.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 14.0, "y": 124.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 104.0, "y": 149.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 104.0, "y": 49.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { "x": 140.0, "y": 90.0 }, - "id": "GUINandGate", - "name": "GUINandGate#8", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { "x": 50.0, "y": 140.0 }, - "id": "GUINandGate", - "name": "GUINandGate#5", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { "x": 50.0, "y": 40.0 }, - "id": "GUINandGate", - "name": "GUINandGate#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { "x": 110.0, "y": 140.0 }, - "id": "GUINandGate", - "name": "GUINandGate#7", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { "x": 110.0, "y": 40.0 }, - "id": "GUINandGate", - "name": "GUINandGate#6", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#14" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#13" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#4", "pinName": "" }, + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#15" }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#6", "pinName": "A" }, + "name": "unnamedWire#18", "path": [ { - "x": 15.0, - "y": 20.0 + "x": 105.0, + "y": 45.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "GUINandGate#5", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUINandGate#6", + "pinName": "B" }, + "name": "unnamedWire#19", "path": [ { - "x": 15.0, - "y": 70.0 + "x": 105.0, + "y": 55.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#7", + "pinName": "B" }, + "name": "unnamedWire#21", "path": [ { - "x": 15.0, - "y": 120.0 + "x": 105.0, + "y": 155.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#7", "pinName": "A" }, + "name": "unnamedWire#20", "path": [ { - "x": 15.0, - "y": 170.0 + "x": 105.0, + "y": 145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#8", "pinName": "B" }, - "path": [ - { - "x": 15.0, - "y": 30.0 - } - ] + "name": "unnamedWire#23" + }, + { + "pin1": { + "compName": "GUINandGate#6", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "A" + }, + "name": "unnamedWire#22" + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y" + }, + "name": "unnamedWire#24" }, { "pin1": { @@ -317,6 +351,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#1", "pinName": "B" }, + "name": "unnamedWire#9", "path": [ { "x": 15.0, @@ -326,17 +361,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "B" }, + "name": "unnamedWire#8", "path": [ { "x": 15.0, - "y": 130.0 + "y": 30.0 } ] }, @@ -347,179 +383,169 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#3", - "pinName": "B" + "pinName": "A" }, + "name": "unnamedWire#7", "path": [ { "x": 15.0, - "y": 180.0 + "y": 170.0 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" - } - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "B" - } - }, - { - "pin1": { "compName": "GUINandGate#2", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#5", "pinName": "A" - } - }, - { - "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" }, - "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" - } + "name": "unnamedWire#6", + "path": [ + { + "x": 15.0, + "y": 120.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#1", "pinName": "" }, + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#0", "pinName": "" }, + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#1", "pinName": "A" }, + "name": "unnamedWire#5", "path": [ { - "x": 105.0, - "y": 45.0 + "x": 15.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#2", "pinName": "B" }, + "name": "unnamedWire#10", "path": [ { - "x": 105.0, - "y": 55.0 + "x": 15.0, + "y": 130.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#0", "pinName": "A" }, + "name": "unnamedWire#4", "path": [ { - "x": 105.0, - "y": 145.0 + "x": 15.0, + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "path": [ - { - "x": 105.0, - "y": 155.0 - } - ] + "name": "unnamedWire#3", + "path": [] }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#0", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#4", "pinName": "A" - } + }, + "name": "unnamedWire#12" }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "B" - } + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y" - } + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 15.0, + "y": 180.0 + } + ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIor4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 86b44135..07a3e1e3 100644 --- a/net.mograsim.logic.model.editor/components/GUIor_4.json +++ b/net.mograsim.logic.model.editor/components/GUIor_4.json @@ -104,336 +104,201 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 15.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 15.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 15.0, "y": 77.5 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 15.0, "y": 52.5 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { "x": 65.0, "y": 77.5 }, - "id": "GUINandGate", - "name": "GUINandGate#11", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#10", "pos": { "x": 65.0, "y": 52.5 }, - "id": "GUINandGate", - "name": "GUINandGate#10", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 6.5, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 6.5, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 6.5, "y": 86.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 6.5, "y": 61.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 6.5, "y": 136.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 6.5, "y": 111.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { "x": 65.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 6.5, "y": 186.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { "x": 65.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 6.5, "y": 161.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { "x": 15.0, "y": 127.5 }, - "id": "GUINandGate", - "name": "GUINandGate#5", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { "x": 15.0, "y": 102.5 }, - "id": "GUINandGate", - "name": "GUINandGate#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { "x": 15.0, "y": 177.5 }, - "id": "GUINandGate", - "name": "GUINandGate#7", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { "x": 15.0, "y": 152.5 }, - "id": "GUINandGate", - "name": "GUINandGate#6", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" - }, - "pin2": { "compName": "WireCrossPoint#3", "pinName": "" }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" - }, - "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" - }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" - }, - "path": [ - { - "x": 7.5, - "y": 7.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" - }, - "path": [ - { - "x": 7.5, - "y": 17.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#3", "pinName": "A" }, + "name": "unnamedWire#14", "path": [ { "x": 7.5, - "y": 32.5 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" - }, - "path": [ - { - "x": 7.5, - "y": 42.5 + "y": 82.5 } ] }, @@ -444,44 +309,42 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#2", - "pinName": "A" + "pinName": "B" }, + "name": "unnamedWire#13", "path": [ { "x": 7.5, - "y": 57.5 + "y": 67.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y4" }, - "path": [ - { - "x": 7.5, - "y": 67.5 - } - ] + "name": "unnamedWire#35", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#4", "pinName": "A" }, + "name": "unnamedWire#16", "path": [ { "x": 7.5, - "y": 82.5 + "y": 107.5 } ] }, @@ -494,6 +357,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#3", "pinName": "B" }, + "name": "unnamedWire#15", "path": [ { "x": 7.5, @@ -503,17 +367,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#5", "pinName": "A" }, + "name": "unnamedWire#18", "path": [ { "x": 7.5, - "y": 107.5 + "y": 132.5 } ] }, @@ -526,6 +391,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#4", "pinName": "B" }, + "name": "unnamedWire#17", "path": [ { "x": 7.5, @@ -540,28 +406,30 @@ mograsim version: 0.1.3 }, "pin2": { "compName": "GUINandGate#5", - "pinName": "A" + "pinName": "B" }, + "name": "unnamedWire#19", "path": [ { "x": 7.5, - "y": 132.5 + "y": 142.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#6", "pinName": "B" }, + "name": "unnamedWire#21", "path": [ { "x": 7.5, - "y": 142.5 + "y": 167.5 } ] }, @@ -574,6 +442,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#6", "pinName": "A" }, + "name": "unnamedWire#20", "path": [ { "x": 7.5, @@ -583,17 +452,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#7", "pinName": "B" }, + "name": "unnamedWire#23", "path": [ { "x": 7.5, - "y": 167.5 + "y": 192.5 } ] }, @@ -606,6 +476,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#7", "pinName": "A" }, + "name": "unnamedWire#22", "path": [ { "x": 7.5, @@ -615,17 +486,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#8", "pinName": "B" }, + "name": "unnamedWire#25", "path": [ { - "x": 7.5, - "y": 192.5 + "x": 45.0, + "y": 112.5 + }, + { + "x": 45.0, + "y": 17.5 } ] }, @@ -638,6 +514,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#8", "pinName": "A" }, + "name": "unnamedWire#24", "path": [ { "x": 40.0, @@ -651,21 +528,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#9", "pinName": "B" }, + "name": "unnamedWire#27", "path": [ { - "x": 45.0, - "y": 112.5 + "x": 50.0, + "y": 137.5 }, { - "x": 45.0, - "y": 17.5 + "x": 50.0, + "y": 42.5 } ] }, @@ -678,6 +556,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#9", "pinName": "A" }, + "name": "unnamedWire#26", "path": [ { "x": 40.0, @@ -691,21 +570,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#6", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#10", "pinName": "B" }, + "name": "unnamedWire#29", "path": [ { - "x": 50.0, - "y": 137.5 + "x": 55.0, + "y": 162.5 }, { - "x": 50.0, - "y": 42.5 + "x": 55.0, + "y": 67.5 } ] }, @@ -718,6 +598,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#10", "pinName": "A" }, + "name": "unnamedWire#28", "path": [ { "x": 40.0, @@ -731,24 +612,86 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#0", "pinName": "B" }, + "name": "unnamedWire#9", "path": [ { - "x": 55.0, - "y": 162.5 - }, + "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": 67.5 + "x": 7.5, + "y": 7.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" + }, + "pin2": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#0", + "path": [] + }, { "pin1": { "compName": "GUINandGate#3", @@ -758,6 +701,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#11", "pinName": "A" }, + "name": "unnamedWire#30", "path": [ { "x": 40.0, @@ -769,6 +713,59 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "B2" + }, + "pin2": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "A" + }, + "name": "unnamedWire#10", + "path": [ + { + "x": 7.5, + "y": 32.5 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y1" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "B1" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [] + }, { "pin1": { "compName": "GUINandGate#7", @@ -778,6 +775,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#11", "pinName": "B" }, + "name": "unnamedWire#31", "path": [ { "x": 60.0, @@ -791,25 +789,32 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "WireCrossPoint#3", + "pinName": "" }, + "name": "unnamedWire#3", "path": [] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUINandGate#2", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#12", + "path": [ + { + "x": 7.5, + "y": 57.5 + } + ] }, { "pin1": { @@ -820,27 +825,59 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "Y3" }, + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "GUINandGate#11", + "compName": "_submodelinterface", + "pinName": "A3" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#2", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#11", + "path": [ + { + "x": 7.5, + "y": 42.5 + } + ] + }, + { + "pin1": { + "compName": "GUINandGate#9", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y4" + "pinName": "Y2" }, + "name": "unnamedWire#33", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIor_4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 3cb8583f..325e2a62 100644 --- a/net.mograsim.logic.model.editor/components/GUIram2.json +++ b/net.mograsim.logic.model.editor/components/GUIram2.json @@ -144,1127 +144,1106 @@ mograsim version: 0.1.3 "innerScale": 0.1, "subComps": [ { + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { "x": 44.0, "y": 649.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { "x": 39.0, "y": 639.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { "x": 129.0, "y": 329.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { "x": 49.0, "y": 659.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#18", "pos": { "x": 119.0, "y": 349.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#17", "pos": { "x": 124.0, "y": 339.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#19", "pos": { "x": 114.0, "y": 359.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 104.0, "y": 164.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 109.0, "y": 154.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 94.0, "y": 184.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 99.0, "y": 174.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 39.0, "y": 649.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 34.0, "y": 549.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 49.0, "y": 809.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 44.0, "y": 749.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { "x": 39.0, "y": 489.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { "x": 34.0, "y": 479.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { "x": 44.0, "y": 499.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 34.0, "y": 629.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { "x": 49.0, "y": 509.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", "params": 1 }, { + "id": "GUIandor414", + "name": "GUIandor414#5", "pos": { "x": 135.0, "y": 735.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#5" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#3", "pos": { "x": 135.0, "y": 435.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#3" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#4", "pos": { "x": 135.0, "y": 585.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#4" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#1", "pos": { "x": 235.0, "y": 635.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#1" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#2", "pos": { "x": 235.0, "y": 785.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#2" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#0", "pos": { "x": 235.0, "y": 485.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#0" + } }, { + "id": "GUIdlatch4", + "name": "GUIdlatch4#1", "pos": { "x": 55.0, "y": 475.0 - }, - "id": "GUIdlatch4", - "name": "GUIdlatch4#1" + } }, { + "id": "GUIdlatch4", + "name": "GUIdlatch4#0", "pos": { "x": 55.0, "y": 325.0 - }, - "id": "GUIdlatch4", - "name": "GUIdlatch4#0" + } }, { + "id": "GUIdlatch4", + "name": "GUIdlatch4#3", "pos": { "x": 55.0, "y": 775.0 - }, - "id": "GUIdlatch4", - "name": "GUIdlatch4#3" + } }, { + "id": "GUIdlatch4", + "name": "GUIdlatch4#2", "pos": { "x": 55.0, "y": 625.0 - }, - "id": "GUIdlatch4", - "name": "GUIdlatch4#2" + } }, { + "id": "GUIand41", + "name": "GUIand41#2", "pos": { "x": 135.0, "y": 325.0 - }, - "id": "GUIand41", - "name": "GUIand41#2" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#30", "pos": { "x": 119.0, "y": 799.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#30", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#31", "pos": { "x": 114.0, "y": 809.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#31", "params": 1 }, { + "id": "GUIand41", + "name": "GUIand41#0", "pos": { "x": 130.0, "y": 150.0 - }, - "id": "GUIand41", - "name": "GUIand41#0" + } }, { + "id": "GUIand41", + "name": "GUIand41#1", "pos": { "x": 235.0, "y": 375.0 - }, - "id": "GUIand41", - "name": "GUIand41#1" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#25", "pos": { "x": 124.0, "y": 639.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#25", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { "x": 129.0, "y": 629.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#24", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#27", "pos": { "x": 114.0, "y": 659.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#27", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#26", "pos": { "x": 119.0, "y": 649.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#26", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#29", "pos": { "x": 124.0, "y": 789.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#29", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#28", "pos": { "x": 129.0, "y": 779.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#28", "params": 1 }, { + "id": "GUIdemux2", + "name": "GUIdemux2#1", "pos": { "x": 55.0, "y": 150.0 - }, - "id": "GUIdemux2", - "name": "GUIdemux2#1" + } }, { + "id": "GUIdemux2", + "name": "GUIdemux2#0", "pos": { "x": 55.0, "y": 45.0 - }, - "id": "GUIdemux2", - "name": "GUIdemux2#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { "x": 124.0, "y": 489.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#21", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { "x": 129.0, "y": 479.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#20", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#23", "pos": { "x": 114.0, "y": 509.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#23", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#22", "pos": { "x": 119.0, "y": 499.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#22", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S0" + "compName": "GUIdlatch4#2", + "pinName": "D3" }, + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S1" + "compName": "GUIdlatch4#2", + "pinName": "D2" }, - "path": [ - { - "x": 10.0, - "y": 150.0 - }, - { - "x": 10.0, - "y": 60.0 - } - ] + "name": "unnamedWire#35", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S0" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "path": [ - { - "x": 5.0, - "y": 250.0 - }, - { - "x": 5.0, - "y": 155.0 - } - ] + "name": "unnamedWire#38", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S1" + "compName": "GUIdlatch4#2", + "pinName": "D4" }, - "path": [ - { - "x": 10.0, - "y": 350.0 - }, - { - "x": 10.0, - "y": 165.0 - } - ] + "name": "unnamedWire#37", + "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y00" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#6", "pinName": "" }, + "name": "unnamedWire#39", "path": [] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y01" + "compName": "GUIandor414#1", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y10" - }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y11" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "A1" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "A2" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "A4" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "WE" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "B" + "compName": "GUIandor414#2", + "pinName": "C2" }, + "name": "unnamedWire#110", "path": [ { - "x": 5.0, - "y": 450.0 + "x": 285.0, + "y": 650.0 }, { - "x": 5.0, - "y": 300.0 + "x": 285.0, + "y": 740.0 }, { - "x": 125.0, - "y": 300.0 + "x": 225.0, + "y": 740.0 }, { - "x": 125.0, - "y": 195.0 + "x": 225.0, + "y": 800.0 } ] }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y1" + "compName": "GUIandor414#1", + "pinName": "Y3" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "C" + "compName": "GUIandor414#2", + "pinName": "C3" }, + "name": "unnamedWire#111", "path": [ { - "x": 185.0, - "y": 155.0 + "x": 280.0, + "y": 660.0 }, { - "x": 185.0, - "y": 250.0 + "x": 280.0, + "y": 735.0 }, { - "x": 30.0, - "y": 250.0 + "x": 220.0, + "y": 735.0 }, { - "x": 30.0, - "y": 370.0 + "x": 220.0, + "y": 810.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#2", "pinName": "Y2" }, "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "C" + "compName": "_submodelinterface", + "pinName": "QA2" }, + "name": "unnamedWire#114", "path": [ { - "x": 180.0, - "y": 165.0 - }, - { - "x": 180.0, - "y": 245.0 - }, - { - "x": 25.0, - "y": 245.0 + "x": 305.0, + "y": 800.0 }, { - "x": 25.0, - "y": 520.0 + "x": 305.0, + "y": 150.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#2", "pinName": "Y3" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "C" + "compName": "_submodelinterface", + "pinName": "QA3" }, + "name": "unnamedWire#115", "path": [ { - "x": 175.0, - "y": 175.0 - }, - { - "x": 175.0, - "y": 240.0 - }, - { - "x": 20.0, - "y": 240.0 + "x": 310.0, + "y": 810.0 }, { - "x": 20.0, - "y": 670.0 + "x": 310.0, + "y": 250.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#1", "pinName": "Y4" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "C" + "compName": "GUIandor414#2", + "pinName": "C4" }, + "name": "unnamedWire#112", "path": [ { - "x": 170.0, - "y": 185.0 + "x": 275.0, + "y": 670.0 }, { - "x": 170.0, - "y": 235.0 + "x": 275.0, + "y": 730.0 }, { - "x": 15.0, - "y": 235.0 + "x": 215.0, + "y": 730.0 }, { - "x": 15.0, + "x": 215.0, "y": 820.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" - }, - "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" - }, - "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "GUIandor414#2", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "D4" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "pinName": "QA1" }, + "name": "unnamedWire#113", "path": [ { - "x": 50.0, - "y": 850.0 + "x": 300.0, + "y": 790.0 + }, + { + "x": 300.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIand41#2", + "pinName": "Y2" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D1" + "compName": "GUIandor414#3", + "pinName": "C2" }, + "name": "unnamedWire#118", "path": [ { - "x": 35.0, - "y": 330.0 + "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": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIand41#2", + "pinName": "Y3" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D2" + "compName": "GUIandor414#3", + "pinName": "C3" }, + "name": "unnamedWire#119", "path": [ { - "x": 40.0, - "y": 340.0 + "x": 180.0, + "y": 350.0 + }, + { + "x": 180.0, + "y": 420.0 + }, + { + "x": 120.0, + "y": 420.0 + }, + { + "x": 120.0, + "y": 460.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D3" + "compName": "GUIdlatch4#3", + "pinName": "D1" }, + "name": "unnamedWire#41", "path": [ { - "x": 45.0, - "y": 350.0 + "x": 35.0, + "y": 780.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "Y4" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D4" + "compName": "_submodelinterface", + "pinName": "QA4" }, + "name": "unnamedWire#116", "path": [ { - "x": 50.0, - "y": 360.0 + "x": 315.0, + "y": 820.0 + }, + { + "x": 315.0, + "y": 350.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D1" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D2" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D3" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D4" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#7", "pinName": "" }, + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIand41#2", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "C1" }, - "path": [] + "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": "WireCrossPoint#10", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIdlatch4#3", + "pinName": "D3" }, - "path": [] + "name": "unnamedWire#43", + "path": [ + { + "x": 45.0, + "y": 800.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIdlatch4#3", + "pinName": "D2" }, - "path": [] + "name": "unnamedWire#42", + "path": [ + { + "x": 40.0, + "y": 790.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q1" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D1" + "compName": "WireCrossPoint#16", + "pinName": "" }, + "name": "unnamedWire#45", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D2" + "compName": "GUIdlatch4#3", + "pinName": "D4" }, + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q3" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D3" + "compName": "WireCrossPoint#18", + "pinName": "" }, + "name": "unnamedWire#47", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q2" }, "pin2": { - "compName": "GUIdlatch4#2", - "pinName": "D4" + "compName": "WireCrossPoint#17", + "pinName": "" }, + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q1" }, "pin2": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#20", "pinName": "" }, + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#19", "pinName": "" }, + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#31", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "A4" }, + "name": "unnamedWire#100", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y3" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D1" + "compName": "GUIandor414#0", + "pinName": "C3" }, + "name": "unnamedWire#103", "path": [ { - "x": 35.0, - "y": 780.0 + "x": 280.0, + "y": 400.0 + }, + { + "x": 280.0, + "y": 435.0 + }, + { + "x": 220.0, + "y": 435.0 + }, + { + "x": 220.0, + "y": 510.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y4" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D2" + "compName": "GUIandor414#0", + "pinName": "C4" }, + "name": "unnamedWire#104", "path": [ { - "x": 40.0, - "y": 790.0 + "x": 275.0, + "y": 410.0 + }, + { + "x": 275.0, + "y": 430.0 + }, + { + "x": 215.0, + "y": 430.0 + }, + { + "x": 215.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y1" }, "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D3" + "compName": "GUIandor414#0", + "pinName": "C1" }, + "name": "unnamedWire#101", "path": [ { - "x": 45.0, - "y": 800.0 + "x": 290.0, + "y": 380.0 + }, + { + "x": 290.0, + "y": 445.0 + }, + { + "x": 230.0, + "y": 445.0 + }, + { + "x": 230.0, + "y": 490.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "pin2": { - "compName": "GUIdlatch4#3", - "pinName": "D4" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q1" + "compName": "GUIand41#1", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "C2" }, - "path": [] + "name": "unnamedWire#102", + "path": [ + { + "x": 285.0, + "y": 390.0 + }, + { + "x": 285.0, + "y": 440.0 + }, + { + "x": 225.0, + "y": 440.0 + }, + { + "x": 225.0, + "y": 500.0 + } + ] }, { "pin1": { - "compName": "GUIdlatch4#0", + "compName": "GUIdlatch4#1", "pinName": "Q2" }, "pin2": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#21", "pinName": "" }, + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q3" + "compName": "GUIandor414#0", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "C3" }, - "path": [] + "name": "unnamedWire#107", + "path": [ + { + "x": 280.0, + "y": 510.0 + }, + { + "x": 280.0, + "y": 585.0 + }, + { + "x": 220.0, + "y": 585.0 + }, + { + "x": 220.0, + "y": 660.0 + } + ] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q4" + "compName": "GUIandor414#0", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "C4" }, - "path": [] + "name": "unnamedWire#108", + "path": [ + { + "x": 275.0, + "y": 520.0 + }, + { + "x": 275.0, + "y": 580.0 + }, + { + "x": 215.0, + "y": 580.0 + }, + { + "x": 215.0, + "y": 670.0 + } + ] }, { "pin1": { "compName": "GUIdlatch4#1", - "pinName": "Q1" + "pinName": "Q4" }, "pin2": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#23", "pinName": "" }, + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q2" + "compName": "GUIandor414#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "C1" }, - "path": [] + "name": "unnamedWire#105", + "path": [ + { + "x": 290.0, + "y": 490.0 + }, + { + "x": 290.0, + "y": 595.0 + }, + { + "x": 230.0, + "y": 595.0 + }, + { + "x": 230.0, + "y": 640.0 + } + ] }, { "pin1": { @@ -1275,29 +1254,37 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#22", "pinName": "" }, + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q4" - }, - "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIdlatch4#2", - "pinName": "Q1" + "compName": "GUIandor414#0", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#1", + "pinName": "C2" }, - "path": [] + "name": "unnamedWire#106", + "path": [ + { + "x": 285.0, + "y": 500.0 + }, + { + "x": 285.0, + "y": 590.0 + }, + { + "x": 225.0, + "y": 590.0 + }, + { + "x": 225.0, + "y": 650.0 + } + ] }, { "pin1": { @@ -1308,17 +1295,19 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#25", "pinName": "" }, + "name": "unnamedWire#54", "path": [] }, { "pin1": { "compName": "GUIdlatch4#2", - "pinName": "Q3" + "pinName": "Q1" }, "pin2": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#24", "pinName": "" }, + "name": "unnamedWire#53", "path": [] }, { @@ -1330,369 +1319,438 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#27", "pinName": "" }, + "name": "unnamedWire#56", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#3", - "pinName": "Q1" + "compName": "GUIandor414#1", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "GUIandor414#2", + "pinName": "C1" }, - "path": [] + "name": "unnamedWire#109", + "path": [ + { + "x": 290.0, + "y": 640.0 + }, + { + "x": 290.0, + "y": 745.0 + }, + { + "x": 230.0, + "y": 745.0 + }, + { + "x": 230.0, + "y": 790.0 + } + ] }, { "pin1": { - "compName": "GUIdlatch4#3", - "pinName": "Q2" + "compName": "GUIdlatch4#2", + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#26", "pinName": "" }, + "name": "unnamedWire#55", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#3", - "pinName": "Q3" + "compName": "GUIand41#0", + "pinName": "Y2" }, "pin2": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "C" }, - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 180.0, + "y": 165.0 + }, + { + "x": 180.0, + "y": 245.0 + }, + { + "x": 25.0, + "y": 245.0 + }, + { + "x": 25.0, + "y": 520.0 + } + ] }, { "pin1": { - "compName": "GUIdlatch4#3", - "pinName": "Q4" + "compName": "GUIand41#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#31", - "pinName": "" + "compName": "GUIdlatch4#0", + "pinName": "C" }, - "path": [] + "name": "unnamedWire#13", + "path": [ + { + "x": 185.0, + "y": 155.0 + }, + { + "x": 185.0, + "y": 250.0 + }, + { + "x": 30.0, + "y": 250.0 + }, + { + "x": 30.0, + "y": 370.0 + } + ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y00" + "compName": "GUIand41#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "B" + "compName": "GUIdlatch4#3", + "pinName": "C" }, + "name": "unnamedWire#16", "path": [ { - "x": 210.0, - "y": 50.0 + "x": 170.0, + "y": 185.0 }, { - "x": 210.0, - "y": 420.0 + "x": 170.0, + "y": 235.0 + }, + { + "x": 15.0, + "y": 235.0 + }, + { + "x": 15.0, + "y": 820.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y01" + "compName": "GUIand41#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "B" + "compName": "GUIdlatch4#2", + "pinName": "C" }, + "name": "unnamedWire#15", "path": [ { - "x": 205.0, - "y": 60.0 + "x": 175.0, + "y": 175.0 }, { - "x": 205.0, - "y": 570.0 + "x": 175.0, + "y": 240.0 + }, + { + "x": 20.0, + "y": 240.0 + }, + { + "x": 20.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y10" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "B" + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D1" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#17", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "D3" }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "name": "unnamedWire#19", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUIdlatch4#0", + "pinName": "D1" + }, + "name": "unnamedWire#21", "path": [ { - "x": 200.0, - "y": 70.0 - }, - { - "x": 200.0, - "y": 720.0 + "x": 35.0, + "y": 330.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y11" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "B" + "compName": "WireCrossPoint#7", + "pinName": "" }, + "name": "unnamedWire#20", "path": [ { - "x": 195.0, - "y": 80.0 - }, - { - "x": 195.0, - "y": 870.0 + "x": 50.0, + "y": 850.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "B" + "compName": "GUIdlatch4#0", + "pinName": "D3" }, + "name": "unnamedWire#23", "path": [ { - "x": 110.0, - "y": 370.0 + "x": 45.0, + "y": 350.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "B" + "compName": "GUIdlatch4#0", + "pinName": "D2" }, + "name": "unnamedWire#22", "path": [ { - "x": 105.0, - "y": 520.0 + "x": 40.0, + "y": 340.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, - "pin2": { - "compName": "GUIandor414#4", - "pinName": "B" + "pin2": { + "compName": "GUIdlatch4#1", + "pinName": "D1" }, - "path": [ - { - "x": 100.0, - "y": 670.0 - } - ] + "name": "unnamedWire#25", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "B" + "compName": "GUIdlatch4#0", + "pinName": "D4" }, + "name": "unnamedWire#24", "path": [ { - "x": 95.0, - "y": 820.0 + "x": 50.0, + "y": 360.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A1" + "compName": "GUIdlatch4#1", + "pinName": "D3" }, - "path": [ - { - "x": 130.0, - "y": 380.0 - } - ] + "name": "unnamedWire#27", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A2" + "compName": "GUIdlatch4#1", + "pinName": "D2" }, - "path": [ - { - "x": 125.0, - "y": 390.0 - } - ] + "name": "unnamedWire#26", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A3" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "path": [ - { - "x": 120.0, - "y": 400.0 - } - ] + "name": "unnamedWire#29", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A4" + "compName": "GUIdlatch4#1", + "pinName": "D4" }, - "path": [ - { - "x": 115.0, - "y": 410.0 - } - ] + "name": "unnamedWire#28", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A1" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "path": [ - { - "x": 130.0, - "y": 530.0 - } - ] + "name": "unnamedWire#30", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A2" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "path": [ - { - "x": 125.0, - "y": 540.0 - } - ] + "name": "unnamedWire#32", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A3" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "path": [ - { - "x": 120.0, - "y": 550.0 - } - ] + "name": "unnamedWire#31", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A4" + "compName": "GUIdlatch4#2", + "pinName": "D1" }, - "path": [ - { - "x": 115.0, - "y": 560.0 - } - ] + "name": "unnamedWire#34", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A1" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "path": [ - { - "x": 130.0, - "y": 680.0 - } - ] + "name": "unnamedWire#33", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#26", "pinName": "" }, "pin2": { "compName": "GUIandor414#1", - "pinName": "A2" + "pinName": "A3" }, + "name": "unnamedWire#79", "path": [ { - "x": 125.0, - "y": 690.0 + "x": 120.0, + "y": 700.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A3" + "compName": "GUIandor414#2", + "pinName": "A1" }, + "name": "unnamedWire#81", "path": [ { - "x": 120.0, - "y": 700.0 + "x": 130.0, + "y": 830.0 } ] }, @@ -1705,6 +1763,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#1", "pinName": "A4" }, + "name": "unnamedWire#80", "path": [ { "x": 115.0, @@ -1714,17 +1773,18 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { "compName": "GUIandor414#2", - "pinName": "A1" + "pinName": "A3" }, + "name": "unnamedWire#83", "path": [ { - "x": 130.0, - "y": 830.0 + "x": 120.0, + "y": 850.0 } ] }, @@ -1737,6 +1797,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#2", "pinName": "A2" }, + "name": "unnamedWire#82", "path": [ { "x": 125.0, @@ -1746,19 +1807,15 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A3" + "compName": "GUIand41#2", + "pinName": "A1" }, - "path": [ - { - "x": 120.0, - "y": 850.0 - } - ] + "name": "unnamedWire#85", + "path": [] }, { "pin1": { @@ -1769,6 +1826,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#2", "pinName": "A4" }, + "name": "unnamedWire#84", "path": [ { "x": 115.0, @@ -1778,13 +1836,14 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { "compName": "GUIand41#2", - "pinName": "A1" + "pinName": "A3" }, + "name": "unnamedWire#87", "path": [] }, { @@ -1796,17 +1855,19 @@ mograsim version: 0.1.3 "compName": "GUIand41#2", "pinName": "A2" }, + "name": "unnamedWire#86", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A3" + "compName": "GUIandor414#3", + "pinName": "A1" }, + "name": "unnamedWire#89", "path": [] }, { @@ -1818,50 +1879,136 @@ mograsim version: 0.1.3 "compName": "GUIand41#2", "pinName": "A4" }, + "name": "unnamedWire#88", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIand41#0", + "pinName": "A2" + }, + "name": "unnamedWire#9", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#0", "pinName": "A1" }, + "name": "unnamedWire#8", + "path": [] + }, + { + "pin1": { + "compName": "GUIdemux2#1", + "pinName": "Y11" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "GUIdemux2#1", + "pinName": "Y10" + }, + "pin2": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#21", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "A2" + }, + "name": "unnamedWire#90", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#23", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "A4" + }, + "name": "unnamedWire#92", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#22", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "A3" + }, + "name": "unnamedWire#91", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A2" + "compName": "GUIdemux2#0", + "pinName": "S1" }, - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 10.0, + "y": 150.0 + }, + { + "x": 10.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A3" + "compName": "GUIandor414#4", + "pinName": "A2" }, + "name": "unnamedWire#94", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A4" + "compName": "GUIdemux2#0", + "pinName": "S0" }, + "name": "unnamedWire#0", "path": [] }, { @@ -1873,17 +2020,19 @@ mograsim version: 0.1.3 "compName": "GUIandor414#4", "pinName": "A1" }, + "name": "unnamedWire#93", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#27", "pinName": "" }, "pin2": { "compName": "GUIandor414#4", - "pinName": "A2" + "pinName": "A4" }, + "name": "unnamedWire#96", "path": [] }, { @@ -1895,28 +2044,31 @@ mograsim version: 0.1.3 "compName": "GUIandor414#4", "pinName": "A3" }, + "name": "unnamedWire#95", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIdemux2#1", + "pinName": "Y01" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A4" + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A1" + "compName": "GUIand41#0", + "pinName": "A3" }, + "name": "unnamedWire#10", "path": [] }, { @@ -1928,527 +2080,487 @@ mograsim version: 0.1.3 "compName": "GUIandor414#5", "pinName": "A2" }, + "name": "unnamedWire#98", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "GUIdemux2#1", + "pinName": "Y00" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A3" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { "compName": "GUIandor414#5", - "pinName": "A4" + "pinName": "A1" }, + "name": "unnamedWire#97", "path": [] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C1" + "compName": "GUIdemux2#1", + "pinName": "S1" }, + "name": "unnamedWire#3", "path": [ { - "x": 290.0, - "y": 380.0 - }, - { - "x": 290.0, - "y": 445.0 - }, - { - "x": 230.0, - "y": 445.0 + "x": 10.0, + "y": 350.0 }, { - "x": 230.0, - "y": 490.0 + "x": 10.0, + "y": 165.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "WE" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C2" + "compName": "GUIand41#0", + "pinName": "B" }, + "name": "unnamedWire#12", "path": [ { - "x": 285.0, - "y": 390.0 + "x": 5.0, + "y": 450.0 }, { - "x": 285.0, - "y": 440.0 + "x": 5.0, + "y": 300.0 }, { - "x": 225.0, - "y": 440.0 + "x": 125.0, + "y": 300.0 }, { - "x": 225.0, - "y": 500.0 + "x": 125.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "B0" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C3" + "compName": "GUIdemux2#1", + "pinName": "S0" }, + "name": "unnamedWire#2", "path": [ { - "x": 280.0, - "y": 400.0 - }, - { - "x": 280.0, - "y": 435.0 - }, - { - "x": 220.0, - "y": 435.0 + "x": 5.0, + "y": 250.0 }, { - "x": 220.0, - "y": 510.0 + "x": 5.0, + "y": 155.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y4" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C4" + "compName": "GUIand41#0", + "pinName": "A4" }, - "path": [ - { - "x": 275.0, - "y": 410.0 - }, - { - "x": 275.0, - "y": 430.0 - }, - { - "x": 215.0, - "y": 430.0 - }, - { - "x": 215.0, - "y": 520.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y1" + "compName": "WireCrossPoint#30", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C1" + "compName": "GUIandor414#5", + "pinName": "A3" }, - "path": [ - { - "x": 290.0, - "y": 490.0 - }, - { - "x": 290.0, - "y": 595.0 - }, - { - "x": 230.0, - "y": 595.0 - }, - { - "x": 230.0, - "y": 640.0 - } - ] + "name": "unnamedWire#99", + "path": [] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y2" + "compName": "GUIdlatch4#3", + "pinName": "Q2" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C2" + "compName": "WireCrossPoint#29", + "pinName": "" }, - "path": [ - { - "x": 285.0, - "y": 500.0 - }, - { - "x": 285.0, - "y": 590.0 - }, - { - "x": 225.0, - "y": 590.0 - }, - { - "x": 225.0, - "y": 650.0 - } - ] + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y3" + "compName": "GUIdlatch4#3", + "pinName": "Q1" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C3" + "compName": "WireCrossPoint#28", + "pinName": "" }, + "name": "unnamedWire#57", + "path": [] + }, + { + "pin1": { + "compName": "GUIdlatch4#3", + "pinName": "Q3" + }, + "pin2": { + "compName": "WireCrossPoint#30", + "pinName": "" + }, + "name": "unnamedWire#59", + "path": [] + }, + { + "pin1": { + "compName": "GUIandor414#5", + "pinName": "Y4" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QB4" + }, + "name": "unnamedWire#132", "path": [ { - "x": 280.0, - "y": 510.0 + "x": 175.0, + "y": 770.0 }, { - "x": 280.0, - "y": 585.0 + "x": 175.0, + "y": 895.0 }, { - "x": 220.0, - "y": 585.0 + "x": 340.0, + "y": 895.0 }, { - "x": 220.0, - "y": 660.0 + "x": 340.0, + "y": 750.0 } ] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y4" + "compName": "GUIandor414#5", + "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C4" + "compName": "_submodelinterface", + "pinName": "QB2" }, + "name": "unnamedWire#130", "path": [ { - "x": 275.0, - "y": 520.0 + "x": 185.0, + "y": 750.0 }, { - "x": 275.0, - "y": 580.0 + "x": 185.0, + "y": 885.0 }, { - "x": 215.0, - "y": 580.0 + "x": 330.0, + "y": 885.0 }, { - "x": 215.0, - "y": 670.0 + "x": 330.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y1" + "compName": "GUIandor414#5", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C1" + "compName": "_submodelinterface", + "pinName": "QB3" }, + "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": "GUIandor414#1", - "pinName": "Y2" + "compName": "GUIdemux2#0", + "pinName": "Y00" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C2" + "compName": "GUIand41#1", + "pinName": "B" }, + "name": "unnamedWire#61", "path": [ { - "x": 285.0, - "y": 650.0 - }, - { - "x": 285.0, - "y": 740.0 - }, - { - "x": 225.0, - "y": 740.0 + "x": 210.0, + "y": 50.0 }, { - "x": 225.0, - "y": 800.0 + "x": 210.0, + "y": 420.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y3" + "compName": "GUIdlatch4#3", + "pinName": "Q4" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C3" + "compName": "WireCrossPoint#31", + "pinName": "" + }, + "name": "unnamedWire#60", + "path": [] + }, + { + "pin1": { + "compName": "GUIdemux2#0", + "pinName": "Y10" + }, + "pin2": { + "compName": "GUIandor414#1", + "pinName": "B" }, + "name": "unnamedWire#63", "path": [ { - "x": 280.0, - "y": 660.0 - }, - { - "x": 280.0, - "y": 735.0 - }, - { - "x": 220.0, - "y": 735.0 + "x": 200.0, + "y": 70.0 }, { - "x": 220.0, - "y": 810.0 + "x": 200.0, + "y": 720.0 } ] }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y4" + "compName": "GUIdemux2#0", + "pinName": "Y01" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "C4" + "compName": "GUIandor414#0", + "pinName": "B" }, + "name": "unnamedWire#62", "path": [ { - "x": 275.0, - "y": 670.0 - }, - { - "x": 275.0, - "y": 730.0 - }, - { - "x": 215.0, - "y": 730.0 + "x": 205.0, + "y": 60.0 }, { - "x": 215.0, - "y": 820.0 + "x": 205.0, + "y": 570.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA1" + "compName": "GUIand41#2", + "pinName": "B" }, + "name": "unnamedWire#65", "path": [ { - "x": 300.0, - "y": 790.0 - }, - { - "x": 300.0, - "y": 50.0 + "x": 110.0, + "y": 370.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y2" + "compName": "GUIdemux2#0", + "pinName": "Y11" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA2" + "compName": "GUIandor414#2", + "pinName": "B" }, + "name": "unnamedWire#64", "path": [ { - "x": 305.0, - "y": 800.0 + "x": 195.0, + "y": 80.0 }, { - "x": 305.0, - "y": 150.0 + "x": 195.0, + "y": 870.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y3" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA3" + "compName": "GUIandor414#4", + "pinName": "B" }, + "name": "unnamedWire#67", "path": [ { - "x": 310.0, - "y": 810.0 - }, - { - "x": 310.0, - "y": 250.0 + "x": 100.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y4" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA4" + "compName": "GUIandor414#3", + "pinName": "B" }, + "name": "unnamedWire#66", "path": [ { - "x": 315.0, - "y": 820.0 - }, - { - "x": 315.0, - "y": 350.0 + "x": 105.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y1" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C1" + "compName": "GUIand41#1", + "pinName": "A1" }, + "name": "unnamedWire#69", "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 + "y": 380.0 } ] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y2" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { + "compName": "GUIandor414#5", + "pinName": "B" + }, + "name": "unnamedWire#68", + "path": [ + { + "x": 95.0, + "y": 820.0 + } + ] + }, + { + "pin1": { "compName": "GUIandor414#3", - "pinName": "C2" + "pinName": "Y1" + }, + "pin2": { + "compName": "GUIandor414#4", + "pinName": "C1" }, + "name": "unnamedWire#121", "path": [ { - "x": 185.0, - "y": 340.0 + "x": 190.0, + "y": 440.0 }, { - "x": 185.0, - "y": 425.0 + "x": 190.0, + "y": 580.0 }, { - "x": 125.0, - "y": 425.0 + "x": 130.0, + "y": 580.0 }, { - "x": 125.0, - "y": 450.0 + "x": 130.0, + "y": 590.0 } ] }, { "pin1": { - "compName": "GUIand41#2", - "pinName": "Y3" + "compName": "GUIandor414#3", + "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C3" + "compName": "GUIandor414#4", + "pinName": "C2" }, + "name": "unnamedWire#122", "path": [ { - "x": 180.0, - "y": 350.0 + "x": 185.0, + "y": 450.0 }, { - "x": 180.0, - "y": 420.0 + "x": 185.0, + "y": 575.0 }, { - "x": 120.0, - "y": 420.0 + "x": 125.0, + "y": 575.0 }, { - "x": 120.0, - "y": 460.0 + "x": 125.0, + "y": 600.0 } ] }, @@ -2461,6 +2573,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#3", "pinName": "C4" }, + "name": "unnamedWire#120", "path": [ { "x": 175.0, @@ -2482,57 +2595,76 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#4", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#4", + "compName": "GUIandor414#5", "pinName": "C1" }, + "name": "unnamedWire#125", "path": [ { "x": 190.0, - "y": 440.0 + "y": 590.0 }, { "x": 190.0, - "y": 580.0 + "y": 730.0 }, { "x": 130.0, - "y": 580.0 + "y": 730.0 }, { "x": 130.0, - "y": 590.0 + "y": 740.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#4", "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#4", + "compName": "GUIandor414#5", "pinName": "C2" }, + "name": "unnamedWire#126", "path": [ { "x": 185.0, - "y": 450.0 + "y": 600.0 }, { "x": 185.0, - "y": 575.0 + "y": 725.0 }, { "x": 125.0, - "y": 575.0 + "y": 725.0 }, { "x": 125.0, - "y": 600.0 + "y": 750.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#17", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#1", + "pinName": "A2" + }, + "name": "unnamedWire#70", + "path": [ + { + "x": 125.0, + "y": 390.0 } ] }, @@ -2545,6 +2677,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#4", "pinName": "C3" }, + "name": "unnamedWire#123", "path": [ { "x": 180.0, @@ -2573,6 +2706,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#4", "pinName": "C4" }, + "name": "unnamedWire#124", "path": [ { "x": 175.0, @@ -2594,57 +2728,81 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y1" + "compName": "WireCrossPoint#19", + "pinName": "" }, "pin2": { + "compName": "GUIand41#1", + "pinName": "A4" + }, + "name": "unnamedWire#72", + "path": [ + { + "x": 115.0, + "y": 410.0 + } + ] + }, + { + "pin1": { "compName": "GUIandor414#5", - "pinName": "C1" + "pinName": "Y1" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QB1" }, + "name": "unnamedWire#129", "path": [ { "x": 190.0, - "y": 590.0 + "y": 740.0 }, { "x": 190.0, - "y": 730.0 + "y": 880.0 }, { - "x": 130.0, - "y": 730.0 + "x": 325.0, + "y": 880.0 }, { - "x": 130.0, - "y": 740.0 + "x": 325.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y2" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C2" + "compName": "GUIand41#1", + "pinName": "A3" }, + "name": "unnamedWire#71", "path": [ { - "x": 185.0, - "y": 600.0 - }, - { - "x": 185.0, - "y": 725.0 - }, - { - "x": 125.0, - "y": 725.0 - }, + "x": 120.0, + "y": 400.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#21", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#0", + "pinName": "A2" + }, + "name": "unnamedWire#74", + "path": [ { "x": 125.0, - "y": 750.0 + "y": 540.0 } ] }, @@ -2657,6 +2815,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#5", "pinName": "C3" }, + "name": "unnamedWire#127", "path": [ { "x": 180.0, @@ -2676,6 +2835,23 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#20", + "pinName": "" + }, + "pin2": { + "compName": "GUIandor414#0", + "pinName": "A1" + }, + "name": "unnamedWire#73", + "path": [ + { + "x": 130.0, + "y": 530.0 + } + ] + }, { "pin1": { "compName": "GUIandor414#4", @@ -2685,6 +2861,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#5", "pinName": "C4" }, + "name": "unnamedWire#128", "path": [ { "x": 175.0, @@ -2706,124 +2883,129 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y1" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB1" + "compName": "GUIandor414#0", + "pinName": "A4" }, + "name": "unnamedWire#76", "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 + "x": 115.0, + "y": 560.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y2" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB2" + "compName": "GUIandor414#0", + "pinName": "A3" }, + "name": "unnamedWire#75", "path": [ { - "x": 185.0, - "y": 750.0 - }, - { - "x": 185.0, - "y": 885.0 - }, - { - "x": 330.0, - "y": 885.0 - }, - { - "x": 330.0, + "x": 120.0, "y": 550.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y3" + "compName": "WireCrossPoint#25", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB3" + "compName": "GUIandor414#1", + "pinName": "A2" }, + "name": "unnamedWire#78", "path": [ { - "x": 180.0, - "y": 760.0 - }, - { - "x": 180.0, - "y": 890.0 - }, - { - "x": 335.0, - "y": 890.0 - }, - { - "x": 335.0, - "y": 650.0 + "x": 125.0, + "y": 690.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y4" + "compName": "WireCrossPoint#24", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QB4" + "compName": "GUIandor414#1", + "pinName": "A1" }, + "name": "unnamedWire#77", "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 + "x": 130.0, + "y": 680.0 } ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIram2", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": { + "c00": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#0" + } + }, + "c11": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#3" + } + }, + "c10": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#2" + } + }, + "c01": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdlatch4#1" + } + } + }, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "c00.q", + "c01.q", + "c10.q", + "c11.q" + ], + "vectorPartLengthes": [ + 4, + 4, + 4, + 4 + ] + } + } + } } } \ 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 99f606dd..d2774ae9 100644 --- a/net.mograsim.logic.model.editor/components/GUIram4.json +++ b/net.mograsim.logic.model.editor/components/GUIram4.json @@ -176,1870 +176,2260 @@ mograsim version: 0.1.3 "innerScale": 0.1, "subComps": [ { + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { "x": 69.0, "y": 854.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { "x": 64.0, "y": 844.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { "x": 39.0, "y": 484.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { "x": 74.0, "y": 864.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#18", "pos": { "x": 49.0, "y": 504.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#17", "pos": { "x": 44.0, "y": 494.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#19", "pos": { "x": 54.0, "y": 514.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", "params": 1 }, { + "id": "GUIand41", + "name": "GUIand41#2", "pos": { "x": 155.0, "y": 325.0 - }, - "id": "GUIand41", - "name": "GUIand41#2" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 224.0, "y": 164.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 229.0, "y": 154.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 214.0, "y": 184.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 219.0, "y": 174.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 64.0, "y": 544.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 59.0, "y": 534.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 74.0, "y": 564.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 69.0, "y": 554.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { "x": 64.0, "y": 694.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { "x": 59.0, "y": 684.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { "x": 69.0, "y": 704.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", "params": 1 }, { + "id": "GUIand41", + "name": "GUIand41#0", "pos": { "x": 235.0, "y": 150.0 - }, - "id": "GUIand41", - "name": "GUIand41#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 59.0, "y": 834.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", "params": 1 }, { + "id": "GUIand41", + "name": "GUIand41#1", "pos": { "x": 250.0, "y": 375.0 - }, - "id": "GUIand41", - "name": "GUIand41#1" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { "x": 74.0, "y": 714.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", "params": 1 }, { + "id": "GUIandor414", + "name": "GUIandor414#5", "pos": { "x": 155.0, "y": 735.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#5" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#25", "pos": { "x": 44.0, "y": 349.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#25", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { "x": 39.0, "y": 334.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#24", "params": 1 }, { + "id": "GUIandor414", + "name": "GUIandor414#3", "pos": { "x": 155.0, "y": 435.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#3" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#27", "pos": { "x": 54.0, "y": 749.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#27", "params": 1 }, { + "id": "GUIandor414", + "name": "GUIandor414#4", "pos": { "x": 155.0, "y": 585.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#4" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#26", "pos": { "x": 49.0, "y": 649.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#26", "params": 1 }, { + "id": "GUIram2", + "name": "GUIram2#3", "pos": { "x": 80.0, "y": 780.0 - }, - "id": "GUIram2", - "name": "GUIram2#3" + } }, { + "id": "GUIram2", + "name": "GUIram2#2", "pos": { "x": 80.0, "y": 630.0 - }, - "id": "GUIram2", - "name": "GUIram2#2" + } }, { + "id": "GUIdemux2", + "name": "GUIdemux2#1", "pos": { "x": 55.0, "y": 150.0 - }, - "id": "GUIdemux2", - "name": "GUIdemux2#1" + } }, { + "id": "GUIram2", + "name": "GUIram2#1", "pos": { "x": 80.0, "y": 480.0 - }, - "id": "GUIram2", - "name": "GUIram2#1" + } }, { + "id": "GUIram2", + "name": "GUIram2#0", "pos": { "x": 80.0, "y": 330.0 - }, - "id": "GUIram2", - "name": "GUIram2#0" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#1", "pos": { "x": 250.0, "y": 635.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#1" + } }, { + "id": "GUIdemux2", + "name": "GUIdemux2#0", "pos": { "x": 55.0, "y": 45.0 - }, - "id": "GUIdemux2", - "name": "GUIdemux2#0" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#2", "pos": { "x": 250.0, "y": 785.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#2" + } }, { + "id": "GUIandor414", + "name": "GUIandor414#0", "pos": { "x": 250.0, "y": 485.0 - }, - "id": "GUIandor414", - "name": "GUIandor414#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { "x": 44.0, "y": 644.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#21", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { "x": 39.0, "y": 634.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#20", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#23", "pos": { "x": 54.0, "y": 664.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#23", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#22", "pos": { "x": 49.0, "y": 654.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#22", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S0" + "compName": "GUIram2#2", + "pinName": "B1" }, + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#0", - "pinName": "S1" + "compName": "GUIram2#2", + "pinName": "B0" }, - "path": [ - { - "x": 10.0, - "y": 150.0 - }, - { - "x": 10.0, - "y": 60.0 - } - ] + "name": "unnamedWire#35", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B0" + "compName": "WireCrossPoint#21", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S0" + "compName": "GUIram2#3", + "pinName": "A1" }, + "name": "unnamedWire#38", "path": [ { - "x": 5.0, - "y": 450.0 - }, - { - "x": 5.0, - "y": 155.0 + "x": 45.0, + "y": 795.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "GUIdemux2#1", - "pinName": "S1" + "compName": "GUIram2#3", + "pinName": "A0" }, + "name": "unnamedWire#37", "path": [ { - "x": 10.0, - "y": 550.0 - }, - { - "x": 10.0, - "y": 165.0 + "x": 40.0, + "y": 785.0 } ] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y00" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIram2#3", + "pinName": "B0" }, - "path": [] + "name": "unnamedWire#39", + "path": [ + { + "x": 50.0, + "y": 805.0 + } + ] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y01" + "compName": "GUIram2#3", + "pinName": "QA2" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "A2" }, - "path": [] + "name": "unnamedWire#110", + "path": [ + { + "x": 140.0, + "y": 795.0 + }, + { + "x": 140.0, + "y": 790.0 + } + ] }, { "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y10" + "compName": "GUIram2#3", + "pinName": "QA3" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIdemux2#1", - "pinName": "Y11" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "A1" + "compName": "GUIandor414#5", + "pinName": "A3" }, - "path": [] + "name": "unnamedWire#111", + "path": [ + { + "x": 140.0, + "y": 805.0 + }, + { + "x": 140.0, + "y": 800.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y2" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A2" + "compName": "GUIandor414#0", + "pinName": "C2" }, - "path": [] + "name": "unnamedWire#114", + "path": [ + { + "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#2", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "Y3" }, "pin2": { - "compName": "GUIand41#0", - "pinName": "A3" + "compName": "GUIandor414#0", + "pinName": "C3" }, - "path": [] + "name": "unnamedWire#115", + "path": [ + { + "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": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIram2#3", + "pinName": "QA4" }, "pin2": { - "compName": "GUIand41#0", + "compName": "GUIandor414#5", "pinName": "A4" }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "WE" - }, - "pin2": { - "compName": "GUIand41#0", - "pinName": "B" - }, + "name": "unnamedWire#112", "path": [ { - "x": 15.0, - "y": 850.0 + "x": 140.0, + "y": 815.0 }, { - "x": 15.0, - "y": 195.0 + "x": 140.0, + "y": 810.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIand41#1", "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "WE" + "compName": "GUIandor414#0", + "pinName": "C1" }, + "name": "unnamedWire#113", "path": [ { - "x": 290.0, - "y": 155.0 + "x": 305.0, + "y": 380.0 }, { - "x": 290.0, - "y": 230.0 + "x": 305.0, + "y": 445.0 }, { - "x": 35.0, - "y": 230.0 + "x": 245.0, + "y": 445.0 }, { - "x": 35.0, - "y": 375.0 + "x": 245.0, + "y": 490.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#0", "pinName": "Y2" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "WE" + "compName": "GUIandor414#1", + "pinName": "C2" }, + "name": "unnamedWire#118", "path": [ { - "x": 285.0, - "y": 165.0 + "x": 300.0, + "y": 500.0 }, { - "x": 285.0, - "y": 225.0 + "x": 300.0, + "y": 590.0 }, { - "x": 30.0, - "y": 225.0 + "x": 240.0, + "y": 590.0 }, { - "x": 30.0, - "y": 525.0 + "x": 240.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIand41#0", + "compName": "GUIandor414#0", "pinName": "Y3" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "WE" + "compName": "GUIandor414#1", + "pinName": "C3" }, + "name": "unnamedWire#119", "path": [ { - "x": 280.0, - "y": 175.0 + "x": 295.0, + "y": 510.0 }, { - "x": 280.0, - "y": 220.0 + "x": 295.0, + "y": 585.0 }, { - "x": 25.0, - "y": 220.0 + "x": 235.0, + "y": 585.0 }, { - "x": 25.0, - "y": 675.0 + "x": 235.0, + "y": 660.0 } ] }, { "pin1": { - "compName": "GUIand41#0", - "pinName": "Y4" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { "compName": "GUIram2#3", - "pinName": "WE" + "pinName": "B1" }, + "name": "unnamedWire#41", "path": [ { - "x": 275.0, - "y": 185.0 + "x": 55.0, + "y": 815.0 + } + ] + }, + { + "pin1": { + "compName": "GUIand41#1", + "pinName": "Y4" + }, + "pin2": { + "compName": "GUIandor414#0", + "pinName": "C4" + }, + "name": "unnamedWire#116", + "path": [ + { + "x": 290.0, + "y": 410.0 }, { - "x": 275.0, - "y": 215.0 + "x": 290.0, + "y": 430.0 }, { - "x": 20.0, - "y": 215.0 + "x": 230.0, + "y": 430.0 }, { - "x": 20.0, - "y": 825.0 + "x": 230.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#23", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#27", "pinName": "" }, + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "A0" + "compName": "GUIandor414#1", + "pinName": "C1" }, - "path": [] + "name": "unnamedWire#117", + "path": [ + { + "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#17", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { "compName": "WireCrossPoint#25", "pinName": "" }, + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" - }, + "compName": "_submodelinterface", + "pinName": "A2" + }, "pin2": { - "compName": "GUIram2#0", - "pinName": "A1" + "compName": "WireCrossPoint#24", + "pinName": "" }, + "name": "unnamedWire#42", "path": [ { - "x": 45.0, - "y": 345.0 + "x": 40.0, + "y": 250.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { "compName": "GUIram2#0", - "pinName": "B0" + "pinName": "D1" }, + "name": "unnamedWire#45", "path": [ { - "x": 50.0, - "y": 355.0 + "x": 60.0, + "y": 385.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "_submodelinterface", + "pinName": "B3" + }, + "pin2": { + "compName": "WireCrossPoint#27", + "pinName": "" + }, + "name": "unnamedWire#44", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { "compName": "GUIram2#0", - "pinName": "B1" + "pinName": "D3" }, + "name": "unnamedWire#47", "path": [ { - "x": 55.0, - "y": 365.0 + "x": 70.0, + "y": 405.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#16", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "A0" + "compName": "GUIram2#0", + "pinName": "D2" }, - "path": [] + "name": "unnamedWire#46", + "path": [ + { + "x": 65.0, + "y": 395.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { "compName": "GUIram2#1", - "pinName": "A1" + "pinName": "D1" }, + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "B0" + "compName": "GUIram2#0", + "pinName": "D4" }, - "path": [] + "name": "unnamedWire#48", + "path": [ + { + "x": 75.0, + "y": 415.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "QA4" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "B1" + "compName": "GUIand41#2", + "pinName": "A4" }, - "path": [] + "name": "unnamedWire#100", + "path": [ + { + "x": 140.0, + "y": 365.0 + }, + { + "x": 140.0, + "y": 360.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIram2#1", + "pinName": "QA3" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "A3" }, - "path": [] + "name": "unnamedWire#103", + "path": [ + { + "x": 140.0, + "y": 505.0 + }, + { + "x": 140.0, + "y": 500.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIram2#1", + "pinName": "QA4" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "A4" }, - "path": [] + "name": "unnamedWire#104", + "path": [ + { + "x": 140.0, + "y": 515.0 + }, + { + "x": 140.0, + "y": 510.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIram2#1", + "pinName": "QA1" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "A1" }, - "path": [] + "name": "unnamedWire#101", + "path": [ + { + "x": 140.0, + "y": 485.0 + }, + { + "x": 140.0, + "y": 480.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUIram2#1", + "pinName": "QA2" }, "pin2": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUIandor414#3", + "pinName": "A2" }, - "path": [] + "name": "unnamedWire#102", + "path": [ + { + "x": 140.0, + "y": 495.0 + }, + { + "x": 140.0, + "y": 490.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIram2#1", + "pinName": "D2" }, + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUIram2#2", + "pinName": "QA3" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUIandor414#4", + "pinName": "A3" }, - "path": [] + "name": "unnamedWire#107", + "path": [ + { + "x": 140.0, + "y": 655.0 + }, + { + "x": 140.0, + "y": 650.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUIram2#2", + "pinName": "QA4" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "A0" + "compName": "GUIandor414#4", + "pinName": "A4" }, - "path": [] + "name": "unnamedWire#108", + "path": [ + { + "x": 140.0, + "y": 665.0 + }, + { + "x": 140.0, + "y": 660.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "A1" + "compName": "GUIram2#1", + "pinName": "D4" }, + "name": "unnamedWire#52", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIram2#2", + "pinName": "QA1" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "B0" + "compName": "GUIandor414#4", + "pinName": "A1" }, - "path": [] + "name": "unnamedWire#105", + "path": [ + { + "x": 140.0, + "y": 635.0 + }, + { + "x": 140.0, + "y": 630.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#23", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "B1" + "compName": "GUIram2#1", + "pinName": "D3" }, + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUIram2#2", + "pinName": "QA2" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "A0" + "compName": "GUIandor414#4", + "pinName": "A2" }, + "name": "unnamedWire#106", "path": [ { - "x": 40.0, - "y": 785.0 + "x": 140.0, + "y": 645.0 + }, + { + "x": 140.0, + "y": 640.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#21", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#54", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "name": "unnamedWire#53", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#56", + "path": [] + }, + { + "pin1": { "compName": "GUIram2#3", + "pinName": "QA1" + }, + "pin2": { + "compName": "GUIandor414#5", "pinName": "A1" }, + "name": "unnamedWire#109", "path": [ { - "x": 45.0, - "y": 795.0 + "x": 140.0, + "y": 785.0 + }, + { + "x": 140.0, + "y": 780.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "B0" + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#55", + "path": [] + }, + { + "pin1": { + "compName": "GUIand41#0", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUIram2#1", + "pinName": "WE" }, + "name": "unnamedWire#14", "path": [ { - "x": 50.0, - "y": 805.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#23", - "pinName": "" + "compName": "GUIand41#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "WE" }, - "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#27", - "pinName": "" + "compName": "GUIand41#0", + "pinName": "Y4" }, "pin2": { "compName": "GUIram2#3", - "pinName": "B1" + "pinName": "WE" }, + "name": "unnamedWire#16", "path": [ { - "x": 55.0, - "y": 815.0 + "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": "_submodelinterface", - "pinName": "A2" + "compName": "GUIand41#0", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIram2#2", + "pinName": "WE" }, + "name": "unnamedWire#15", "path": [ { - "x": 40.0, - "y": 250.0 + "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": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#24", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#25", + "compName": "GUIram2#0", + "pinName": "A0" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#16", "pinName": "" }, + "pin2": { + "compName": "WireCrossPoint#24", + "pinName": "" + }, + "name": "unnamedWire#17", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#25", "pinName": "" }, + "name": "unnamedWire#19", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { "compName": "GUIram2#0", - "pinName": "D1" + "pinName": "B0" }, + "name": "unnamedWire#21", "path": [ { - "x": 60.0, - "y": 385.0 + "x": 50.0, + "y": 355.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#25", "pinName": "" }, "pin2": { "compName": "GUIram2#0", - "pinName": "D2" + "pinName": "A1" }, + "name": "unnamedWire#20", "path": [ { - "x": 65.0, - "y": 395.0 + "x": 45.0, + "y": 345.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIram2#0", - "pinName": "D3" + "compName": "GUIram2#1", + "pinName": "A0" }, - "path": [ - { - "x": 70.0, - "y": 405.0 - } - ] + "name": "unnamedWire#23", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { "compName": "GUIram2#0", - "pinName": "D4" + "pinName": "B1" }, + "name": "unnamedWire#22", "path": [ { - "x": 75.0, - "y": 415.0 + "x": 55.0, + "y": 365.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { "compName": "GUIram2#1", - "pinName": "D1" + "pinName": "B0" }, + "name": "unnamedWire#25", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { "compName": "GUIram2#1", - "pinName": "D2" + "pinName": "A1" }, + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "GUIram2#1", - "pinName": "D3" + "compName": "WireCrossPoint#20", + "pinName": "" }, + "name": "unnamedWire#27", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { "compName": "GUIram2#1", - "pinName": "D4" + "pinName": "B1" }, + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#18", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#26", "pinName": "" }, + "name": "unnamedWire#29", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#21", "pinName": "" }, + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#26", "pinName": "" }, + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#23", "pinName": "" }, + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#26", "pinName": "" }, "pin2": { - "compName": "GUIram2#2", - "pinName": "D1" + "compName": "WireCrossPoint#22", + "pinName": "" }, + "name": "unnamedWire#31", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#21", "pinName": "" }, "pin2": { "compName": "GUIram2#2", - "pinName": "D2" + "pinName": "A1" }, + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { "compName": "GUIram2#2", - "pinName": "D3" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "GUIram2#2", - "pinName": "D4" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "pinName": "A0" }, + "name": "unnamedWire#33", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D1" + "compName": "GUIandor414#1", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#79", + "path": [ + { + "x": 220.0, + "y": 720.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "QB1" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D2" + "compName": "GUIand41#1", + "pinName": "A1" }, - "path": [] + "name": "unnamedWire#81", + "path": [ + { + "x": 140.0, + "y": 375.0 + }, + { + "x": 140.0, + "y": 380.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D3" + "compName": "GUIandor414#2", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#80", + "path": [ + { + "x": 215.0, + "y": 870.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIram2#0", + "pinName": "QB3" }, "pin2": { - "compName": "GUIram2#3", - "pinName": "D4" + "compName": "GUIand41#1", + "pinName": "A3" }, - "path": [] + "name": "unnamedWire#83", + "path": [ + { + "x": 140.0, + "y": 395.0 + }, + { + "x": 140.0, + "y": 400.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "GUIram2#0", + "pinName": "QB2" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "A2" }, + "name": "unnamedWire#82", "path": [ { - "x": 60.0, - "y": 950.0 + "x": 140.0, + "y": 385.0 + }, + { + "x": 140.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "GUIram2#1", + "pinName": "QB1" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "A1" }, + "name": "unnamedWire#85", "path": [ { - "x": 65.0, - "y": 1050.0 + "x": 140.0, + "y": 525.0 + }, + { + "x": 140.0, + "y": 530.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "GUIram2#0", + "pinName": "QB4" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIand41#1", + "pinName": "A4" }, + "name": "unnamedWire#84", "path": [ { - "x": 70.0, - "y": 1150.0 + "x": 140.0, + "y": 405.0 + }, + { + "x": 140.0, + "y": 410.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "GUIram2#1", + "pinName": "QB3" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIandor414#0", + "pinName": "A3" }, + "name": "unnamedWire#87", "path": [ { - "x": 75.0, - "y": 1250.0 + "x": 140.0, + "y": 545.0 + }, + { + "x": 140.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y00" + "compName": "GUIram2#1", + "pinName": "QB2" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A2" }, + "name": "unnamedWire#86", "path": [ { - "x": 135.0, - "y": 50.0 + "x": 140.0, + "y": 535.0 }, { - "x": 135.0, - "y": 370.0 + "x": 140.0, + "y": 540.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y01" + "compName": "GUIram2#2", + "pinName": "QB1" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "B" + "compName": "GUIandor414#1", + "pinName": "A1" }, + "name": "unnamedWire#89", "path": [ { - "x": 130.0, - "y": 60.0 + "x": 140.0, + "y": 675.0 }, { - "x": 130.0, - "y": 520.0 + "x": 140.0, + "y": 680.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y10" + "compName": "GUIram2#1", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "B" + "compName": "GUIandor414#0", + "pinName": "A4" }, + "name": "unnamedWire#88", "path": [ { - "x": 125.0, - "y": 70.0 + "x": 140.0, + "y": 555.0 }, { - "x": 125.0, - "y": 670.0 + "x": 140.0, + "y": 560.0 } ] }, { "pin1": { - "compName": "GUIdemux2#0", - "pinName": "Y11" + "compName": "GUIandor414#4", + "pinName": "Y4" }, "pin2": { "compName": "GUIandor414#5", - "pinName": "B" + "pinName": "C4" }, + "name": "unnamedWire#140", "path": [ { - "x": 120.0, - "y": 80.0 + "x": 195.0, + "y": 620.0 }, { - "x": 120.0, - "y": 820.0 + "x": 195.0, + "y": 715.0 + }, + { + "x": 135.0, + "y": 715.0 + }, + { + "x": 135.0, + "y": 770.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "B" + "compName": "GUIand41#0", + "pinName": "A2" }, - "path": [ - { - "x": 230.0, - "y": 420.0 - } - ] + "name": "unnamedWire#9", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "QA3" }, + "name": "unnamedWire#143", "path": [ { - "x": 225.0, - "y": 570.0 + "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#2", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "B" + "compName": "GUIand41#0", + "pinName": "A1" }, - "path": [ - { - "x": 220.0, - "y": 720.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIandor414#5", + "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "QA4" }, + "name": "unnamedWire#144", "path": [ { - "x": 215.0, - "y": 870.0 + "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": "GUIram2#0", - "pinName": "QB1" + "compName": "GUIdemux2#1", + "pinName": "Y11" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A1" + "compName": "WireCrossPoint#3", + "pinName": "" }, + "name": "unnamedWire#7", + "path": [] + }, + { + "pin1": { + "compName": "GUIandor414#5", + "pinName": "Y1" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QA1" + }, + "name": "unnamedWire#141", "path": [ { - "x": 140.0, - "y": 375.0 + "x": 210.0, + "y": 740.0 }, { - "x": 140.0, - "y": 380.0 + "x": 210.0, + "y": 880.0 + }, + { + "x": 310.0, + "y": 880.0 + }, + { + "x": 310.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB2" + "compName": "GUIdemux2#1", + "pinName": "Y10" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A2" + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#6", + "path": [] + }, + { + "pin1": { + "compName": "GUIandor414#5", + "pinName": "Y2" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QA2" }, + "name": "unnamedWire#142", "path": [ { - "x": 140.0, - "y": 385.0 + "x": 205.0, + "y": 750.0 }, { - "x": 140.0, - "y": 390.0 + "x": 205.0, + "y": 885.0 + }, + { + "x": 315.0, + "y": 885.0 + }, + { + "x": 315.0, + "y": 150.0 } ] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QB3" + "compName": "GUIram2#2", + "pinName": "QB2" }, "pin2": { - "compName": "GUIand41#1", - "pinName": "A3" + "compName": "GUIandor414#1", + "pinName": "A2" }, + "name": "unnamedWire#90", "path": [ { "x": 140.0, - "y": 395.0 + "y": 685.0 }, { "x": 140.0, - "y": 400.0 + "y": 690.0 } ] }, { "pin1": { - "compName": "GUIram2#0", + "compName": "GUIram2#2", "pinName": "QB4" }, "pin2": { - "compName": "GUIand41#1", + "compName": "GUIandor414#1", "pinName": "A4" }, + "name": "unnamedWire#92", "path": [ { "x": 140.0, - "y": 405.0 + "y": 705.0 }, { "x": 140.0, - "y": 410.0 + "y": 710.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB1" + "compName": "GUIram2#2", + "pinName": "QB3" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A1" + "compName": "GUIandor414#1", + "pinName": "A3" }, + "name": "unnamedWire#91", "path": [ { "x": 140.0, - "y": 525.0 + "y": 695.0 }, { "x": 140.0, - "y": 530.0 + "y": 700.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB2" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A2" + "compName": "GUIdemux2#0", + "pinName": "S1" }, + "name": "unnamedWire#1", "path": [ { - "x": 140.0, - "y": 535.0 + "x": 10.0, + "y": 150.0 }, { - "x": 140.0, - "y": 540.0 + "x": 10.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB3" + "compName": "GUIram2#3", + "pinName": "QB2" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A3" + "compName": "GUIandor414#2", + "pinName": "A2" }, + "name": "unnamedWire#94", "path": [ { "x": 140.0, - "y": 545.0 + "y": 835.0 }, { "x": 140.0, - "y": 550.0 + "y": 840.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QB4" + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "A4" + "compName": "GUIdemux2#0", + "pinName": "S0" }, - "path": [ - { - "x": 140.0, - "y": 555.0 - }, - { - "x": 140.0, - "y": 560.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "GUIram2#2", + "compName": "GUIram2#3", "pinName": "QB1" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#2", "pinName": "A1" }, + "name": "unnamedWire#93", "path": [ { "x": 140.0, - "y": 675.0 + "y": 825.0 }, { "x": 140.0, - "y": 680.0 + "y": 830.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB2" + "compName": "GUIram2#3", + "pinName": "QB4" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A2" + "compName": "GUIandor414#2", + "pinName": "A4" }, + "name": "unnamedWire#96", "path": [ { "x": 140.0, - "y": 685.0 + "y": 855.0 }, { "x": 140.0, - "y": 690.0 + "y": 860.0 } ] }, { "pin1": { - "compName": "GUIram2#2", + "compName": "GUIram2#3", "pinName": "QB3" }, "pin2": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#2", "pinName": "A3" }, + "name": "unnamedWire#95", "path": [ { "x": 140.0, - "y": 695.0 + "y": 845.0 }, { "x": 140.0, - "y": 700.0 + "y": 850.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QB4" + "compName": "GUIdemux2#1", + "pinName": "Y01" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "A4" - }, - "path": [ - { - "x": 140.0, - "y": 705.0 - }, - { - "x": 140.0, - "y": 710.0 - } - ] + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#5", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A1" + "compName": "GUIand41#0", + "pinName": "A3" }, - "path": [ - { - "x": 140.0, - "y": 825.0 - }, - { - "x": 140.0, - "y": 830.0 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB2" + "compName": "GUIram2#0", + "pinName": "QA2" }, "pin2": { - "compName": "GUIandor414#2", + "compName": "GUIand41#2", "pinName": "A2" }, + "name": "unnamedWire#98", "path": [ { "x": 140.0, - "y": 835.0 + "y": 345.0 }, { "x": 140.0, - "y": 840.0 + "y": 340.0 } ] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB3" + "compName": "GUIdemux2#1", + "pinName": "Y00" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A3" + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "GUIram2#0", + "pinName": "QA1" + }, + "pin2": { + "compName": "GUIand41#2", + "pinName": "A1" }, + "name": "unnamedWire#97", "path": [ { "x": 140.0, - "y": 845.0 + "y": 335.0 }, { "x": 140.0, - "y": 850.0 + "y": 330.0 } ] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QB4" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIandor414#2", - "pinName": "A4" + "compName": "GUIdemux2#1", + "pinName": "S1" }, + "name": "unnamedWire#3", "path": [ { - "x": 140.0, - "y": 855.0 + "x": 10.0, + "y": 550.0 }, { - "x": 140.0, - "y": 860.0 + "x": 10.0, + "y": 165.0 } ] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA1" + "compName": "_submodelinterface", + "pinName": "WE" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A1" + "compName": "GUIand41#0", + "pinName": "B" }, + "name": "unnamedWire#12", "path": [ { - "x": 140.0, - "y": 335.0 + "x": 15.0, + "y": 850.0 }, { - "x": 140.0, - "y": 330.0 + "x": 15.0, + "y": 195.0 } ] }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA2" + "compName": "_submodelinterface", + "pinName": "B0" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A2" + "compName": "GUIdemux2#1", + "pinName": "S0" }, + "name": "unnamedWire#2", "path": [ { - "x": 140.0, - "y": 345.0 + "x": 5.0, + "y": 450.0 }, { - "x": 140.0, - "y": 340.0 + "x": 5.0, + "y": 155.0 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#0", + "pinName": "A4" + }, + "name": "unnamedWire#11", + "path": [] + }, { "pin1": { "compName": "GUIram2#0", @@ -2049,6 +2439,7 @@ mograsim version: 0.1.3 "compName": "GUIand41#2", "pinName": "A3" }, + "name": "unnamedWire#99", "path": [ { "x": 140.0, @@ -2062,488 +2453,455 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIram2#0", - "pinName": "QA4" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "GUIand41#2", - "pinName": "A4" + "compName": "GUIram2#2", + "pinName": "D2" }, - "path": [ - { - "x": 140.0, - "y": 365.0 - }, - { - "x": 140.0, - "y": 360.0 - } - ] + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA1" + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUIram2#2", + "pinName": "D1" + }, + "name": "unnamedWire#57", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUIram2#2", + "pinName": "D3" + }, + "name": "unnamedWire#59", + "path": [] + }, + { + "pin1": { + "compName": "GUIand41#2", + "pinName": "Y4" }, "pin2": { "compName": "GUIandor414#3", - "pinName": "A1" + "pinName": "C4" }, + "name": "unnamedWire#132", "path": [ { - "x": 140.0, - "y": 485.0 + "x": 195.0, + "y": 360.0 }, { - "x": 140.0, - "y": 480.0 + "x": 195.0, + "y": 415.0 + }, + { + "x": 135.0, + "y": 415.0 + }, + { + "x": 135.0, + "y": 470.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA2" + "compName": "GUIandor414#3", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "A2" + "compName": "GUIandor414#4", + "pinName": "C1" }, + "name": "unnamedWire#133", "path": [ { - "x": 140.0, - "y": 495.0 + "x": 210.0, + "y": 440.0 }, { - "x": 140.0, - "y": 490.0 + "x": 210.0, + "y": 580.0 + }, + { + "x": 150.0, + "y": 580.0 + }, + { + "x": 150.0, + "y": 590.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA3" + "compName": "GUIand41#2", + "pinName": "Y2" }, "pin2": { "compName": "GUIandor414#3", - "pinName": "A3" + "pinName": "C2" }, + "name": "unnamedWire#130", "path": [ { - "x": 140.0, - "y": 505.0 + "x": 205.0, + "y": 340.0 }, { - "x": 140.0, - "y": 500.0 + "x": 205.0, + "y": 425.0 + }, + { + "x": 145.0, + "y": 425.0 + }, + { + "x": 145.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "GUIram2#1", - "pinName": "QA4" + "compName": "GUIand41#2", + "pinName": "Y3" }, "pin2": { "compName": "GUIandor414#3", - "pinName": "A4" + "pinName": "C3" }, + "name": "unnamedWire#131", "path": [ + { + "x": 200.0, + "y": 350.0 + }, + { + "x": 200.0, + "y": 420.0 + }, { "x": 140.0, - "y": 515.0 + "y": 420.0 }, { "x": 140.0, - "y": 510.0 + "y": 460.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA1" + "compName": "GUIandor414#3", + "pinName": "Y4" }, "pin2": { "compName": "GUIandor414#4", - "pinName": "A1" + "pinName": "C4" }, + "name": "unnamedWire#136", "path": [ { - "x": 140.0, - "y": 635.0 + "x": 195.0, + "y": 470.0 }, { - "x": 140.0, - "y": 630.0 + "x": 195.0, + "y": 565.0 + }, + { + "x": 135.0, + "y": 565.0 + }, + { + "x": 135.0, + "y": 620.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA2" + "compName": "GUIandor414#4", + "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "A2" + "compName": "GUIandor414#5", + "pinName": "C1" }, + "name": "unnamedWire#137", "path": [ { - "x": 140.0, - "y": 645.0 + "x": 210.0, + "y": 590.0 }, { - "x": 140.0, - "y": 640.0 + "x": 210.0, + "y": 730.0 + }, + { + "x": 150.0, + "y": 730.0 + }, + { + "x": 150.0, + "y": 740.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA3" + "compName": "GUIandor414#3", + "pinName": "Y2" }, "pin2": { "compName": "GUIandor414#4", - "pinName": "A3" + "pinName": "C2" }, + "name": "unnamedWire#134", "path": [ { - "x": 140.0, - "y": 655.0 + "x": 205.0, + "y": 450.0 }, { - "x": 140.0, - "y": 650.0 + "x": 205.0, + "y": 575.0 + }, + { + "x": 145.0, + "y": 575.0 + }, + { + "x": 145.0, + "y": 600.0 } ] }, { "pin1": { - "compName": "GUIram2#2", - "pinName": "QA4" + "compName": "GUIandor414#3", + "pinName": "Y3" }, "pin2": { "compName": "GUIandor414#4", - "pinName": "A4" + "pinName": "C3" }, + "name": "unnamedWire#135", "path": [ { - "x": 140.0, - "y": 665.0 + "x": 200.0, + "y": 460.0 }, { - "x": 140.0, - "y": 660.0 - } - ] - }, - { - "pin1": { - "compName": "GUIram2#3", - "pinName": "QA1" - }, - "pin2": { - "compName": "GUIandor414#5", - "pinName": "A1" - }, - "path": [ + "x": 200.0, + "y": 570.0 + }, { "x": 140.0, - "y": 785.0 + "y": 570.0 }, { "x": 140.0, - "y": 780.0 + "y": 610.0 } ] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QA2" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A2" + "compName": "WireCrossPoint#12", + "pinName": "" }, - "path": [ - { - "x": 140.0, - "y": 795.0 - }, - { - "x": 140.0, - "y": 790.0 - } - ] + "name": "unnamedWire#61", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QA3" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A3" + "compName": "GUIram2#2", + "pinName": "D4" }, - "path": [ - { - "x": 140.0, - "y": 805.0 - }, - { - "x": 140.0, - "y": 800.0 - } - ] + "name": "unnamedWire#60", + "path": [] }, { "pin1": { - "compName": "GUIram2#3", - "pinName": "QA4" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "A4" + "compName": "WireCrossPoint#14", + "pinName": "" }, - "path": [ - { - "x": 140.0, - "y": 815.0 - }, - { - "x": 140.0, - "y": 810.0 - } - ] + "name": "unnamedWire#63", + "path": [] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y1" + "compName": "GUIandor414#4", + "pinName": "Y2" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C1" + "compName": "GUIandor414#5", + "pinName": "C2" }, + "name": "unnamedWire#138", "path": [ { - "x": 305.0, - "y": 380.0 + "x": 205.0, + "y": 600.0 }, { - "x": 305.0, - "y": 445.0 + "x": 205.0, + "y": 725.0 }, { - "x": 245.0, - "y": 445.0 + "x": 145.0, + "y": 725.0 }, { - "x": 245.0, - "y": 490.0 + "x": 145.0, + "y": 750.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y2" + "compName": "WireCrossPoint#9", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C2" + "compName": "WireCrossPoint#13", + "pinName": "" }, - "path": [ - { - "x": 300.0, - "y": 390.0 - }, - { - "x": 300.0, - "y": 440.0 - }, - { - "x": 240.0, - "y": 440.0 - }, - { - "x": 240.0, - "y": 500.0 - } - ] + "name": "unnamedWire#62", + "path": [] }, { "pin1": { - "compName": "GUIand41#1", + "compName": "GUIandor414#4", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#0", + "compName": "GUIandor414#5", "pinName": "C3" }, + "name": "unnamedWire#139", "path": [ { - "x": 295.0, - "y": 400.0 + "x": 200.0, + "y": 610.0 }, { - "x": 295.0, - "y": 435.0 + "x": 200.0, + "y": 720.0 }, { - "x": 235.0, - "y": 435.0 + "x": 140.0, + "y": 720.0 }, { - "x": 235.0, - "y": 510.0 + "x": 140.0, + "y": 760.0 } ] }, { "pin1": { - "compName": "GUIand41#1", - "pinName": "Y4" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#0", - "pinName": "C4" + "compName": "GUIram2#3", + "pinName": "D1" }, - "path": [ - { - "x": 290.0, - "y": 410.0 - }, - { - "x": 290.0, - "y": 430.0 - }, - { - "x": 230.0, - "y": 430.0 - }, - { - "x": 230.0, - "y": 520.0 - } - ] + "name": "unnamedWire#65", + "path": [] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y1" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C1" + "compName": "WireCrossPoint#15", + "pinName": "" }, - "path": [ - { - "x": 305.0, - "y": 490.0 - }, - { - "x": 305.0, - "y": 595.0 - }, - { - "x": 245.0, - "y": 595.0 - }, - { - "x": 245.0, - "y": 640.0 - } - ] + "name": "unnamedWire#64", + "path": [] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y2" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C2" + "compName": "GUIram2#3", + "pinName": "D3" }, - "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 - } - ] + "name": "unnamedWire#67", + "path": [] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y3" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "GUIandor414#1", - "pinName": "C3" + "compName": "GUIram2#3", + "pinName": "D2" }, - "path": [ - { - "x": 295.0, - "y": 510.0 - }, - { - "x": 295.0, - "y": 585.0 - }, - { - "x": 235.0, - "y": 585.0 - }, - { - "x": 235.0, - "y": 660.0 - } - ] + "name": "unnamedWire#66", + "path": [] }, { "pin1": { - "compName": "GUIandor414#0", - "pinName": "Y4" - }, - "pin2": { - "compName": "GUIandor414#1", - "pinName": "C4" - }, - "path": [ - { - "x": 290.0, - "y": 520.0 - }, - { - "x": 290.0, - "y": 580.0 - }, - { - "x": 230.0, - "y": 580.0 - }, + "compName": "_submodelinterface", + "pinName": "D1" + }, + "pin2": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "name": "unnamedWire#69", + "path": [ { - "x": 230.0, - "y": 670.0 + "x": 60.0, + "y": 950.0 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "GUIram2#3", + "pinName": "D4" + }, + "name": "unnamedWire#68", + "path": [] + }, { "pin1": { "compName": "GUIandor414#1", @@ -2553,6 +2911,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#2", "pinName": "C1" }, + "name": "unnamedWire#121", "path": [ { "x": 305.0, @@ -2581,6 +2940,7 @@ mograsim version: 0.1.3 "compName": "GUIandor414#2", "pinName": "C2" }, + "name": "unnamedWire#122", "path": [ { "x": 300.0, @@ -2602,57 +2962,30 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIandor414#1", - "pinName": "Y3" - }, - "pin2": { - "compName": "GUIandor414#2", - "pinName": "C3" - }, - "path": [ - { - "x": 295.0, - "y": 660.0 - }, - { - "x": 295.0, - "y": 735.0 - }, - { - "x": 235.0, - "y": 735.0 - }, - { - "x": 235.0, - "y": 810.0 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#1", + "compName": "GUIandor414#0", "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#2", + "compName": "GUIandor414#1", "pinName": "C4" }, + "name": "unnamedWire#120", "path": [ { "x": 290.0, - "y": 670.0 + "y": 520.0 }, { "x": 290.0, - "y": 730.0 + "y": 580.0 }, { "x": 230.0, - "y": 730.0 + "y": 580.0 }, { "x": 230.0, - "y": 820.0 + "y": 670.0 } ] }, @@ -2665,6 +2998,7 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "QB1" }, + "name": "unnamedWire#125", "path": [ { "x": 330.0, @@ -2685,6 +3019,7 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "QB2" }, + "name": "unnamedWire#126", "path": [ { "x": 335.0, @@ -2698,500 +3033,471 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y3" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "QB3" - }, - "path": [ - { - "x": 340.0, - "y": 810.0 - }, - { - "x": 340.0, - "y": 650.0 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#2", - "pinName": "Y4" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "QB4" - }, - "path": [ - { - "x": 345.0, - "y": 820.0 - }, - { - "x": 345.0, - "y": 750.0 - } - ] - }, - { - "pin1": { - "compName": "GUIand41#2", - "pinName": "Y1" - }, - "pin2": { - "compName": "GUIandor414#3", - "pinName": "C1" - }, - "path": [ - { - "x": 210.0, - "y": 330.0 - }, - { - "x": 210.0, - "y": 430.0 - }, - { - "x": 150.0, - "y": 430.0 - }, - { - "x": 150.0, - "y": 440.0 - } - ] - }, - { - "pin1": { - "compName": "GUIand41#2", - "pinName": "Y2" + "pinName": "D2" }, "pin2": { - "compName": "GUIandor414#3", - "pinName": "C2" + "compName": "WireCrossPoint#13", + "pinName": "" }, + "name": "unnamedWire#70", "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 + "x": 65.0, + "y": 1050.0 } ] }, { "pin1": { - "compName": "GUIand41#2", + "compName": "GUIandor414#1", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#3", + "compName": "GUIandor414#2", "pinName": "C3" }, + "name": "unnamedWire#123", "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 - } - ] - }, - { - "pin1": { - "compName": "GUIand41#2", - "pinName": "Y4" - }, - "pin2": { - "compName": "GUIandor414#3", - "pinName": "C4" - }, - "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 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y1" - }, - "pin2": { - "compName": "GUIandor414#4", - "pinName": "C1" - }, - "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 - } - ] - }, - { - "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y2" - }, - "pin2": { - "compName": "GUIandor414#4", - "pinName": "C2" - }, - "path": [ - { - "x": 205.0, - "y": 450.0 + "x": 295.0, + "y": 660.0 }, { - "x": 205.0, - "y": 575.0 + "x": 295.0, + "y": 735.0 }, { - "x": 145.0, - "y": 575.0 + "x": 235.0, + "y": 735.0 }, { - "x": 145.0, - "y": 600.0 + "x": 235.0, + "y": 810.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y3" + "compName": "GUIandor414#1", + "pinName": "Y4" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C3" + "compName": "GUIandor414#2", + "pinName": "C4" }, + "name": "unnamedWire#124", "path": [ { - "x": 200.0, - "y": 460.0 + "x": 290.0, + "y": 670.0 }, { - "x": 200.0, - "y": 570.0 + "x": 290.0, + "y": 730.0 }, { - "x": 140.0, - "y": 570.0 + "x": 230.0, + "y": 730.0 }, { - "x": 140.0, - "y": 610.0 + "x": 230.0, + "y": 820.0 } ] }, { "pin1": { - "compName": "GUIandor414#3", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "D4" }, "pin2": { - "compName": "GUIandor414#4", - "pinName": "C4" + "compName": "WireCrossPoint#15", + "pinName": "" }, + "name": "unnamedWire#72", "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": 75.0, + "y": 1250.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", + "compName": "GUIand41#2", "pinName": "Y1" }, "pin2": { - "compName": "GUIandor414#5", + "compName": "GUIandor414#3", "pinName": "C1" }, + "name": "unnamedWire#129", "path": [ { "x": 210.0, - "y": 590.0 + "y": 330.0 }, { "x": 210.0, - "y": 730.0 + "y": 430.0 }, { "x": 150.0, - "y": 730.0 + "y": 430.0 }, { "x": 150.0, - "y": 740.0 + "y": 440.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C2" + "compName": "WireCrossPoint#14", + "pinName": "" }, + "name": "unnamedWire#71", "path": [ { - "x": 205.0, - "y": 600.0 - }, - { - "x": 205.0, - "y": 725.0 - }, + "x": 70.0, + "y": 1150.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdemux2#0", + "pinName": "Y01" + }, + "pin2": { + "compName": "GUIandor414#3", + "pinName": "B" + }, + "name": "unnamedWire#74", + "path": [ { - "x": 145.0, - "y": 725.0 + "x": 130.0, + "y": 60.0 }, { - "x": 145.0, - "y": 750.0 + "x": 130.0, + "y": 520.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", + "compName": "GUIandor414#2", "pinName": "Y3" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C3" + "compName": "_submodelinterface", + "pinName": "QB3" }, + "name": "unnamedWire#127", "path": [ { - "x": 200.0, - "y": 610.0 - }, - { - "x": 200.0, - "y": 720.0 - }, - { - "x": 140.0, - "y": 720.0 + "x": 340.0, + "y": 810.0 }, { - "x": 140.0, - "y": 760.0 + "x": 340.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIandor414#4", - "pinName": "Y4" + "compName": "GUIdemux2#0", + "pinName": "Y00" }, "pin2": { - "compName": "GUIandor414#5", - "pinName": "C4" + "compName": "GUIand41#2", + "pinName": "B" }, + "name": "unnamedWire#73", "path": [ - { - "x": 195.0, - "y": 620.0 - }, - { - "x": 195.0, - "y": 715.0 - }, { "x": 135.0, - "y": 715.0 + "y": 50.0 }, { "x": 135.0, - "y": 770.0 + "y": 370.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y1" + "compName": "GUIandor414#2", + "pinName": "Y4" }, "pin2": { "compName": "_submodelinterface", - "pinName": "QA1" + "pinName": "QB4" }, + "name": "unnamedWire#128", "path": [ { - "x": 210.0, - "y": 740.0 - }, - { - "x": 210.0, - "y": 880.0 - }, - { - "x": 310.0, - "y": 880.0 + "x": 345.0, + "y": 820.0 }, { - "x": 310.0, - "y": 50.0 + "x": 345.0, + "y": 750.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y2" + "compName": "GUIdemux2#0", + "pinName": "Y11" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA2" + "compName": "GUIandor414#5", + "pinName": "B" }, + "name": "unnamedWire#76", "path": [ { - "x": 205.0, - "y": 750.0 - }, - { - "x": 205.0, - "y": 885.0 - }, - { - "x": 315.0, - "y": 885.0 + "x": 120.0, + "y": 80.0 }, { - "x": 315.0, - "y": 150.0 + "x": 120.0, + "y": 820.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y3" + "compName": "GUIdemux2#0", + "pinName": "Y10" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA3" + "compName": "GUIandor414#4", + "pinName": "B" }, + "name": "unnamedWire#75", "path": [ { - "x": 200.0, - "y": 760.0 - }, - { - "x": 200.0, - "y": 890.0 - }, - { - "x": 320.0, - "y": 890.0 + "x": 125.0, + "y": 70.0 }, { - "x": 320.0, - "y": 250.0 + "x": 125.0, + "y": 670.0 } ] }, { "pin1": { - "compName": "GUIandor414#5", - "pinName": "Y4" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QA4" + "compName": "GUIandor414#0", + "pinName": "B" }, + "name": "unnamedWire#78", "path": [ { - "x": 195.0, - "y": 770.0 - }, - { - "x": 195.0, - "y": 895.0 - }, - { - "x": 325.0, - "y": 895.0 - }, + "x": 225.0, + "y": 570.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIand41#1", + "pinName": "B" + }, + "name": "unnamedWire#77", + "path": [ { - "x": 325.0, - "y": 350.0 + "x": 230.0, + "y": 420.0 } ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIram4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": { + "c00": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0" + } + }, + "c11": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3" + } + }, + "c10": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2" + } + }, + "c01": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1" + } + }, + "c1000": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c10" + } + }, + "c1011": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c10" + } + }, + "c1110": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c11" + } + }, + "c1001": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c10" + } + }, + "c1100": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c11" + } + }, + "c1111": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c11" + } + }, + "c0000": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c00" + } + }, + "c0011": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c00" + } + }, + "c0110": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c01" + } + }, + "c0010": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c00" + } + }, + "c1010": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#2", + "prefix": "c10" + } + }, + "c0101": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c01" + } + }, + "c0001": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c00" + } + }, + "c0100": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#0", + "prefix": "c01" + } + }, + "c0111": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#3", + "prefix": "c01" + } + }, + "c1101": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram2#1", + "prefix": "c11" + } + } + }, + "atomicHighLevelStates": { + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "c00.q", + "c01.q", + "c10.q", + "c11.q" + ], + "vectorPartLengthes": [ + 16, + 16, + 16, + 16 + ] + } + } + } } } \ 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 219e1b9d..1693ebfa 100644 --- a/net.mograsim.logic.model.editor/components/GUIsel2_4.json +++ b/net.mograsim.logic.model.editor/components/GUIsel2_4.json @@ -120,673 +120,706 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 20.0, "y": 52.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 20.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 20.0, "y": 152.5 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 20.0, "y": 102.5 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { "x": 65.0, "y": 77.5 }, - "id": "GUINandGate", - "name": "GUINandGate#11", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#10", "pos": { "x": 65.0, "y": 52.5 }, - "id": "GUINandGate", - "name": "GUINandGate#10", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 6.5, "y": 66.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 6.5, "y": 16.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 4.0, "y": 41.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 6.5, "y": 116.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 4.0, "y": 141.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 4.0, "y": 91.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { "x": 65.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#9", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { "x": 65.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#8", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { "x": 20.0, "y": 77.5 }, - "id": "GUINandGate", - "name": "GUINandGate#5", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { "x": 20.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { "x": 20.0, "y": 177.5 }, - "id": "GUINandGate", - "name": "GUINandGate#7", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { "x": 20.0, "y": 127.5 }, - "id": "GUINandGate", - "name": "GUINandGate#6", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "path": [ - { - "x": 15.0, - "y": 62.5 - }, - { - "x": 15.0, - "y": 7.5 - } - ] + "name": "unnamedWire#14" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { "compName": "GUINandGate#1", - "pinName": "A" + "pinName": "B" }, + "name": "unnamedWire#13" + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "name": "unnamedWire#16" + }, + { + "pin1": { + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "B" + }, + "name": "unnamedWire#15", "path": [ { - "x": 17.5, - "y": 87.5 - }, - { - "x": 17.5, - "y": 57.5 + "x": 7.5, + "y": 167.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "name": "unnamedWire#18" + }, + { + "pin1": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#4", + "pinName": "B" + }, + "name": "unnamedWire#17" + }, + { + "pin1": { + "compName": "WireCrossPoint#4", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#5", + "pinName": "B" + }, + "name": "unnamedWire#19" + }, + { + "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#7", + "pinName": "B" }, + "name": "unnamedWire#21", "path": [ { - "x": 17.5, - "y": 112.5 - }, - { - "x": 17.5, - "y": 107.5 + "x": 5.0, + "y": 192.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "GUINandGate#6", + "pinName": "B" + }, + "name": "unnamedWire#20" + }, + { + "pin1": { + "compName": "GUINandGate#4", + "pinName": "Y" }, + "pin2": { + "compName": "GUINandGate#8", + "pinName": "B" + }, + "name": "unnamedWire#23", "path": [ { - "x": 17.5, - "y": 137.5 + "x": 45.0, + "y": 37.5 }, { - "x": 17.5, - "y": 157.5 + "x": 45.0, + "y": 17.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#8", "pinName": "A" }, + "name": "unnamedWire#22", "path": [ { - "x": 10.0, - "y": 162.5 + "x": 42.5, + "y": 12.5 }, { - "x": 10.0, - "y": 32.5 + "x": 42.5, + "y": 7.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "GUINandGate#5", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "A" + "compName": "GUINandGate#9", + "pinName": "B" }, + "name": "unnamedWire#25", "path": [ { - "x": 12.5, - "y": 187.5 + "x": 50.0, + "y": 87.5 }, { - "x": 12.5, - "y": 82.5 + "x": 50.0, + "y": 42.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#9", "pinName": "A" }, + "name": "unnamedWire#24", "path": [ { - "x": 15.0, - "y": 212.5 + "x": 47.5, + "y": 62.5 }, { - "x": 15.0, - "y": 132.5 + "x": 47.5, + "y": 32.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "GUINandGate#10", + "pinName": "B" }, + "name": "unnamedWire#27", "path": [ { - "x": 10.0, - "y": 237.5 + "x": 55.0, + "y": 137.5 }, { - "x": 10.0, - "y": 182.5 + "x": 55.0, + "y": 67.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SA" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - } - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "SB" - }, - "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" - } - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" - } - }, - { - "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" - } - }, - { - "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "A" }, - "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" - } + "name": "unnamedWire#26", + "path": [ + { + "x": 52.5, + "y": 112.5 + }, + { + "x": 52.5, + "y": 57.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#11", "pinName": "B" - } - }, - { - "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" }, - "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" - } + "name": "unnamedWire#29", + "path": [ + { + "x": 60.0, + "y": 187.5 + }, + { + "x": 60.0, + "y": 92.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "GUINandGate#11", + "pinName": "A" }, + "name": "unnamedWire#28", "path": [ { - "x": 7.5, - "y": 167.5 + "x": 57.5, + "y": 162.5 + }, + { + "x": 57.5, + "y": 82.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "SB" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" - } - }, - { - "pin1": { "compName": "WireCrossPoint#3", "pinName": "" }, - "pin2": { - "compName": "GUINandGate#4", - "pinName": "B" - } - }, - { - "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - } + "name": "unnamedWire#9" }, { "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "SA" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" - } - }, - { - "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#0", "pinName": "" }, - "pin2": { - "compName": "GUINandGate#6", - "pinName": "B" - } + "name": "unnamedWire#8" }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B4" }, "pin2": { "compName": "GUINandGate#7", - "pinName": "B" + "pinName": "A" }, + "name": "unnamedWire#7", "path": [ { - "x": 5.0, - "y": 192.5 + "x": 10.0, + "y": 237.5 + }, + { + "x": 10.0, + "y": 182.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#6", "pinName": "A" }, + "name": "unnamedWire#6", "path": [ { - "x": 42.5, - "y": 12.5 + "x": 15.0, + "y": 212.5 }, { - "x": 42.5, - "y": 7.5 + "x": 15.0, + "y": 132.5 } ] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "B" + "compName": "GUINandGate#1", + "pinName": "A" }, + "name": "unnamedWire#1", "path": [ { - "x": 45.0, - "y": 37.5 + "x": 17.5, + "y": 87.5 }, { - "x": 45.0, - "y": 17.5 + "x": 17.5, + "y": 57.5 } ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#0", "pinName": "A" }, + "name": "unnamedWire#0", "path": [ { - "x": 47.5, + "x": 15.0, "y": 62.5 }, { - "x": 47.5, - "y": 32.5 + "x": 15.0, + "y": 7.5 } ] }, { "pin1": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#8", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y1" }, - "path": [ - { - "x": 50.0, - "y": 87.5 - }, - { - "x": 50.0, - "y": 42.5 - } - ] + "name": "unnamedWire#30", + "path": [] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B2" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#5", "pinName": "A" }, + "name": "unnamedWire#5", "path": [ { - "x": 52.5, - "y": 112.5 + "x": 12.5, + "y": 187.5 }, { - "x": 52.5, - "y": 57.5 + "x": 12.5, + "y": 82.5 } ] }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "B" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "path": [ - { - "x": 55.0, - "y": 137.5 - }, - { - "x": 55.0, - "y": 67.5 - } - ] + "name": "unnamedWire#10" }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#10", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#11", + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#32", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "B1" + }, + "pin2": { + "compName": "GUINandGate#4", "pinName": "A" }, + "name": "unnamedWire#4", "path": [ { - "x": 57.5, + "x": 10.0, "y": 162.5 }, { - "x": 57.5, - "y": 82.5 + "x": 10.0, + "y": 32.5 } ] }, { "pin1": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#9", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#11", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "Y2" }, + "name": "unnamedWire#31", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A4" + }, + "pin2": { + "compName": "GUINandGate#3", + "pinName": "A" + }, + "name": "unnamedWire#3", "path": [ { - "x": 60.0, - "y": 187.5 + "x": 17.5, + "y": 137.5 }, { - "x": 60.0, - "y": 92.5 + "x": 17.5, + "y": 157.5 } ] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "path": [] + "name": "unnamedWire#12" }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUINandGate#2", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#2", + "path": [ + { + "x": 17.5, + "y": 112.5 + }, + { + "x": 17.5, + "y": 107.5 + } + ] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUINandGate#0", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#11" }, { "pin1": { @@ -797,16 +830,18 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "Y4" }, + "name": "unnamedWire#33", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIsel2_4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 1cae789a..cb7c3b4c 100644 --- a/net.mograsim.logic.model.editor/components/GUIsel3_4.json +++ b/net.mograsim.logic.model.editor/components/GUIsel3_4.json @@ -160,118 +160,118 @@ mograsim version: 0.1.3 "innerScale": 0.2, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 50.0, "y": 620.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 50.0, "y": 570.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 50.0, "y": 720.0 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 50.0, "y": 670.0 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "GUInot4", + "name": "GUInot4#0", "pos": { "x": 75.0, "y": 250.0 - }, - "id": "GUInot4", - "name": "GUInot4#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 29.0, "y": 634.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 29.0, "y": 584.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 29.0, "y": 684.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { "x": 152.5, "y": 65.0 }, - "id": "GUINandGate", - "name": "GUINandGate#5", "params": 1 }, { + "id": "GUIsel2_4", + "name": "GUIsel2_4#0", "pos": { "x": 35.0, "y": 250.0 - }, - "id": "GUIsel2_4", - "name": "GUIsel2_4#0" + } }, { + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { "x": 152.5, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { "x": 152.5, "y": 165.0 }, - "id": "GUINandGate", - "name": "GUINandGate#7", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { "x": 152.5, "y": 115.0 }, - "id": "GUINandGate", - "name": "GUINandGate#6", "params": 1 } ], @@ -279,505 +279,515 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "SA" + "pinName": "SC" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SA" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#14", "path": [ { - "x": 25.0, - "y": 25.0 - }, - { - "x": 25.0, - "y": 255.0 + "x": 30.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SB" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SB" - }, - "path": [ - { - "x": 20.0, - "y": 75.0 - }, - { - "x": 20.0, - "y": 265.0 - } - ] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A1" + "pinName": "Y4" }, - "path": [ - { - "x": 15.0, - "y": 175.0 - }, - { - "x": 15.0, - "y": 275.0 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUIsel2_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A2" + "compName": "GUInot4#0", + "pinName": "A4" }, - "path": [ - { - "x": 10.0, - "y": 225.0 - }, - { - "x": 10.0, - "y": 285.0 - } - ] + "name": "unnamedWire#13", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A3" + "compName": "_submodelinterface", + "pinName": "Y3" }, - "path": [ - { - "x": 5.0, - "y": 275.0 - }, - { - "x": 5.0, - "y": 295.0 - } - ] + "name": "unnamedWire#35", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A4" + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#16", "path": [ { - "x": 5.0, - "y": 325.0 - }, - { - "x": 5.0, - "y": 305.0 + "x": 30.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B1" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B1" + "compName": "GUINandGate#0", + "pinName": "B" }, - "path": [ - { - "x": 10.0, - "y": 375.0 - }, - { - "x": 10.0, - "y": 315.0 - } - ] + "name": "unnamedWire#15", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B2" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B2" + "compName": "WireCrossPoint#2", + "pinName": "" }, + "name": "unnamedWire#18", "path": [ { - "x": 15.0, - "y": 425.0 - }, - { - "x": 15.0, - "y": 325.0 + "x": 30.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B3" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B3" + "compName": "GUINandGate#1", + "pinName": "B" }, - "path": [ - { - "x": 20.0, - "y": 475.0 - }, - { - "x": 20.0, - "y": 335.0 - } - ] + "name": "unnamedWire#17", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B4" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B4" + "compName": "GUINandGate#2", + "pinName": "B" }, - "path": [ - { - "x": 25.0, - "y": 525.0 - }, - { - "x": 25.0, - "y": 345.0 - } - ] + "name": "unnamedWire#19", + "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "C1" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A1" + "compName": "GUINandGate#0", + "pinName": "A" }, + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y2" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A2" + "compName": "GUINandGate#3", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 30.0, + "y": 735.0 + } + ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "C3" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A3" + "compName": "GUINandGate#2", + "pinName": "A" }, + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "C2" }, "pin2": { - "compName": "GUInot4#0", - "pinName": "A4" + "compName": "GUINandGate#1", + "pinName": "A" }, + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "SC" + "compName": "GUInot4#0", + "pinName": "Y1" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "A" }, + "name": "unnamedWire#25", "path": [ { - "x": 30.0, - "y": 125.0 + "x": 115.0, + "y": 255.0 + }, + { + "x": 115.0, + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C4" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#3", + "pinName": "A" }, + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUInot4#0", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#6", + "pinName": "A" }, + "name": "unnamedWire#27", "path": [ { - "x": 30.0, - "y": 125.0 + "x": 125.0, + "y": 275.0 + }, + { + "x": 125.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUInot4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#5", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#26", + "path": [ + { + "x": 120.0, + "y": 265.0 + }, + { + "x": 120.0, + "y": 70.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, + "name": "unnamedWire#29", "path": [ { - "x": 30.0, - "y": 125.0 + "x": 135.0, + "y": 580.0 + }, + { + "x": 135.0, + "y": 30.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUInot4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "GUINandGate#7", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#28", + "path": [ + { + "x": 130.0, + "y": 285.0 + }, + { + "x": 130.0, + "y": 170.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B4" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "GUIsel2_4#0", + "pinName": "B4" }, + "name": "unnamedWire#9", "path": [ { - "x": 30.0, - "y": 735.0 + "x": 25.0, + "y": 525.0 + }, + { + "x": 25.0, + "y": 345.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C1" + "pinName": "B3" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "B3" }, - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 20.0, + "y": 475.0 + }, + { + "x": 20.0, + "y": 335.0 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C2" + "pinName": "B2" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "B2" }, - "path": [] + "name": "unnamedWire#7", + "path": [ + { + "x": 15.0, + "y": 425.0 + }, + { + "x": 15.0, + "y": 325.0 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C3" + "pinName": "B1" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "B1" }, - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 10.0, + "y": 375.0 + }, + { + "x": 10.0, + "y": 315.0 + } + ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "C4" + "pinName": "SB" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "SB" }, - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 20.0, + "y": 75.0 + }, + { + "x": 20.0, + "y": 265.0 + } + ] }, { "pin1": { - "compName": "GUInot4#0", - "pinName": "Y1" + "compName": "_submodelinterface", + "pinName": "SA" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "SA" }, + "name": "unnamedWire#0", "path": [ { - "x": 115.0, - "y": 255.0 + "x": 25.0, + "y": 25.0 }, { - "x": 115.0, - "y": 20.0 + "x": 25.0, + "y": 255.0 } ] }, { "pin1": { - "compName": "GUInot4#0", - "pinName": "Y2" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { "compName": "GUINandGate#5", - "pinName": "A" + "pinName": "B" }, + "name": "unnamedWire#30", "path": [ { - "x": 120.0, - "y": 265.0 + "x": 140.0, + "y": 630.0 }, { - "x": 120.0, - "y": 70.0 + "x": 140.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "GUInot4#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "A4" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "GUIsel2_4#0", + "pinName": "A4" }, + "name": "unnamedWire#5", "path": [ { - "x": 125.0, - "y": 275.0 + "x": 5.0, + "y": 325.0 }, { - "x": 125.0, - "y": 120.0 + "x": 5.0, + "y": 305.0 } ] }, { "pin1": { - "compName": "GUInot4#0", - "pinName": "Y4" + "compName": "GUIsel2_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "A" + "compName": "GUInot4#0", + "pinName": "A1" }, - "path": [ - { - "x": 130.0, - "y": 285.0 - }, - { - "x": 130.0, - "y": 170.0 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#3", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#7", "pinName": "B" }, + "name": "unnamedWire#32", "path": [ { - "x": 135.0, - "y": 580.0 + "x": 150.0, + "y": 730.0 }, { - "x": 135.0, - "y": 30.0 + "x": 150.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" + "compName": "GUIsel2_4#0", + "pinName": "A3" }, + "name": "unnamedWire#4", "path": [ { - "x": 140.0, - "y": 630.0 + "x": 5.0, + "y": 275.0 }, { - "x": 140.0, - "y": 80.0 + "x": 5.0, + "y": 295.0 } ] }, @@ -790,6 +800,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#6", "pinName": "B" }, + "name": "unnamedWire#31", "path": [ { "x": 145.0, @@ -803,33 +814,35 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "GUIsel2_4#0", + "pinName": "A2" }, + "name": "unnamedWire#3", "path": [ { - "x": 150.0, - "y": 730.0 + "x": 10.0, + "y": 225.0 }, { - "x": 150.0, - "y": 180.0 + "x": 10.0, + "y": 285.0 } ] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "GUIsel2_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUInot4#0", + "pinName": "A3" }, + "name": "unnamedWire#12", "path": [] }, { @@ -841,38 +854,63 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "Y2" }, + "name": "unnamedWire#34", "path": [] }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "GUIsel2_4#0", + "pinName": "A1" + }, + "name": "unnamedWire#2", + "path": [ + { + "x": 15.0, + "y": 175.0 + }, + { + "x": 15.0, + "y": 275.0 + } + ] + }, + { + "pin1": { + "compName": "GUIsel2_4#0", + "pinName": "Y2" + }, + "pin2": { + "compName": "GUInot4#0", + "pinName": "A2" }, + "name": "unnamedWire#11", "path": [] }, { "pin1": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#4", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "Y4" + "pinName": "Y1" }, + "name": "unnamedWire#33", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIsel3_4", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 9e3ec592..a15e5df5 100644 --- a/net.mograsim.logic.model.editor/components/GUIxor.json +++ b/net.mograsim.logic.model.editor/components/GUIxor.json @@ -32,91 +32,97 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 35.0, "y": 2.5 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 7.5, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 62.5, "y": 15.0 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 35.0, "y": 27.5 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, "y": 11.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 29.0, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "A" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#9" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "B" - }, - "pin2": { "compName": "WireCrossPoint#1", "pinName": "" }, - "path": [] + "pin2": { + "compName": "GUINandGate#2", + "pinName": "B" + }, + "name": "unnamedWire#8", + "path": [ + { + "x": 5.0, + "y": 42.5 + } + ] }, { "pin1": { @@ -124,41 +130,57 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#1", "pinName": "A" }, + "name": "unnamedWire#7", "path": [ { "x": 5.0, - "y": 20.0 + "y": 7.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, + "name": "unnamedWire#6", "path": [ { - "x": 5.0, - "y": 30.0 + "x": 30.0, + "y": 32.5 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "B" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#1", + "pinName": "" + }, + "name": "unnamedWire#1", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "A" + }, + "pin2": { + "compName": "WireCrossPoint#0", "pinName": "" - } + }, + "name": "unnamedWire#0", + "path": [] }, { "pin1": { @@ -169,6 +191,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#1", "pinName": "B" }, + "name": "unnamedWire#5", "path": [ { "x": 30.0, @@ -178,35 +201,25 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#3", + "pinName": "B" }, - "path": [ - { - "x": 30.0, - "y": 32.5 - } - ] + "name": "unnamedWire#10" }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "WireCrossPoint#2", + "pinName": "" }, - "path": [ - { - "x": 5.0, - "y": 7.5 - } - ] + "name": "unnamedWire#4" }, { "pin1": { @@ -214,35 +227,33 @@ mograsim version: 0.1.3 "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#0", "pinName": "B" }, + "name": "unnamedWire#3", "path": [ { "x": 5.0, - "y": 42.5 + "y": 30.0 } ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#0", "pinName": "A" - } - }, - { - "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" }, - "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" - } + "name": "unnamedWire#2", + "path": [ + { + "x": 5.0, + "y": 20.0 + } + ] }, { "pin1": { @@ -252,16 +263,18 @@ mograsim version: 0.1.3 "pin2": { "compName": "_submodelinterface", "pinName": "Y" - } + }, + "name": "unnamedWire#11" } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIxor", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 7563d838..503d8546 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901.json @@ -320,1338 +320,1044 @@ mograsim version: 0.1.3 "innerScale": 0.1, "subComps": [ { + "id": "GUIsel3_4", + "name": "GUIsel3_4#0", "pos": { "x": 45.0, "y": 2310.0 - }, - "id": "GUIsel3_4", - "name": "GUIsel3_4#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { "x": 144.0, "y": 2524.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", "params": 1 }, { + "id": "GUIsel3_4", + "name": "GUIsel3_4#1", "pos": { "x": 45.0, "y": 2510.0 - }, - "id": "GUIsel3_4", - "name": "GUIsel3_4#1" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { "x": 139.0, "y": 2514.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { "x": 234.0, "y": 2524.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { "x": 219.0, "y": 2494.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", "params": 1 }, { + "id": "GUIAm2901DestDecode", + "name": "GUIAm2901DestDecode#0", "pos": { "x": 15.0, "y": 45.0 - }, - "id": "GUIAm2901DestDecode", - "name": "GUIAm2901DestDecode#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#18", "pos": { "x": 39.0, "y": 2634.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#17", "pos": { "x": 34.0, "y": 2624.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#19", "pos": { "x": 279.0, "y": 2114.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 154.0, "y": 89.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 154.0, "y": 949.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 154.0, "y": 2319.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 154.0, "y": 2264.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 34.0, "y": 2324.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 39.0, "y": 2314.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 219.0, "y": 2224.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 29.0, "y": 2334.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { "x": 229.0, "y": 2244.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { "x": 224.0, "y": 2234.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { "x": 234.0, "y": 2254.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 134.0, "y": 2504.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { "x": 129.0, "y": 2494.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", "params": 1 }, { + "id": "GUIdlatch4", + "name": "GUIdlatch4#1", "pos": { "x": 160.0, "y": 2275.0 - }, - "id": "GUIdlatch4", - "name": "GUIdlatch4#1" + } }, { + "id": "GUIdlatch4", + "name": "GUIdlatch4#0", "pos": { "x": 160.0, "y": 2220.0 - }, - "id": "GUIdlatch4", - "name": "GUIdlatch4#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#40", "pos": { "x": 314.0, "y": 449.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#40", "params": 1 }, { + "id": "GUIAm2901QReg", + "name": "GUIAm2901QReg#0", "pos": { "x": 90.0, "y": 2490.0 - }, - "id": "GUIAm2901QReg", - "name": "GUIAm2901QReg#0" + } }, { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 320.0, "y": 440.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#36", "pos": { "x": 9.0, "y": 2384.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#36", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 160.0, "y": 75.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#35", "pos": { "x": 24.0, "y": 2414.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#35", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#38", "pos": { "x": 19.0, "y": 2434.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#38", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#37", "pos": { "x": 14.0, "y": 2424.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#37", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#39", "pos": { "x": 24.0, "y": 2444.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#39", "params": 1 }, { + "id": "GUIand", + "name": "GUIand#0", "pos": { "x": 190.0, "y": 65.0 - }, - "id": "GUIand", - "name": "GUIand#0" + } }, { + "id": "GUImux1_4", + "name": "GUImux1_4#0", "pos": { "x": 275.0, "y": 135.0 - }, - "id": "GUImux1_4", - "name": "GUImux1_4#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#30", "pos": { "x": 9.0, "y": 2354.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#30", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#32", "pos": { "x": 19.0, "y": 2374.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#32", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#31", "pos": { "x": 14.0, "y": 2364.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#31", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#34", "pos": { "x": 19.0, "y": 2404.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#34", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#33", "pos": { "x": 14.0, "y": 2394.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#33", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#25", "pos": { "x": 269.0, "y": 2104.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#25", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#24", "pos": { "x": 264.0, "y": 2099.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#24", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#27", "pos": { "x": 259.0, "y": 459.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#27", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#26", "pos": { "x": 254.0, "y": 449.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#26", "params": 1 }, { + "id": "GUIor4", + "name": "GUIor4#0", "pos": { "x": 275.0, "y": 445.0 - }, - "id": "GUIor4", - "name": "GUIor4#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#29", "pos": { "x": 269.0, "y": 479.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#29", "params": 1 }, { + "id": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", + "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", "pos": { "x": 240.0, "y": 2110.0 - }, - "id": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", - "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#28", "pos": { "x": 264.0, "y": 469.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#28", "params": 1 }, { + "id": "GUIram4", + "name": "GUIram4#0", "pos": { "x": 95.0, "y": 2220.0 - }, - "id": "GUIram4", - "name": "GUIram4#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#21", "pos": { "x": 329.0, "y": 949.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#21", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#20", "pos": { "x": 294.0, "y": 2144.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#20", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#23", "pos": { "x": 259.0, "y": 2094.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#23", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#22", "pos": { "x": 254.0, "y": 2089.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#22", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "I8" + "compName": "GUIram4#0", + "pinName": "QA2" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I8" + "compName": "GUIdlatch4#0", + "pinName": "D2" }, + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I7" + "compName": "GUIram4#0", + "pinName": "QA1" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I7" + "compName": "GUIdlatch4#0", + "pinName": "D1" }, - "path": [ - { - "x": 5.0, - "y": 150.0 - }, - { - "x": 5.0, - "y": 60.0 - } - ] + "name": "unnamedWire#35", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I6" + "compName": "GUIram4#0", + "pinName": "QA4" }, "pin2": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "I6" + "compName": "GUIdlatch4#0", + "pinName": "D4" }, - "path": [ - { - "x": 10.0, - "y": 250.0 - }, - { - "x": 10.0, - "y": 70.0 - } - ] + "name": "unnamedWire#38", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I5" + "compName": "GUIram4#0", + "pinName": "QA3" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I5" + "compName": "GUIdlatch4#0", + "pinName": "D3" }, - "path": [ - { - "x": 130.0, - "y": 350.0 - }, - { - "x": 130.0, - "y": 2115.0 - } - ] + "name": "unnamedWire#37", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "GUIram4#0", + "pinName": "QB1" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I4" + "compName": "GUIdlatch4#1", + "pinName": "D1" }, + "name": "unnamedWire#39", "path": [ { - "x": 125.0, - "y": 450.0 + "x": 150.0, + "y": 2265.0 }, { - "x": 125.0, - "y": 2125.0 + "x": 150.0, + "y": 2280.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "WireCrossPoint#26", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I3" + "compName": "GUImux1_4#0", + "pinName": "I1_1" }, + "name": "unnamedWire#110", "path": [ { - "x": 120.0, - "y": 550.0 - }, - { - "x": 120.0, - "y": 2135.0 + "x": 255.0, + "y": 190.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I2" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I2" + "compName": "GUImux1_4#0", + "pinName": "I1_2" }, + "name": "unnamedWire#111", "path": [ { - "x": 115.0, - "y": 650.0 - }, - { - "x": 115.0, - "y": 2145.0 + "x": 260.0, + "y": 200.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I1" + "compName": "WireCrossPoint#30", + "pinName": "" }, + "name": "unnamedWire#114", "path": [ { - "x": 110.0, - "y": 750.0 - }, - { - "x": 110.0, - "y": 2155.0 + "x": 10.0, + "y": 2090.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I0" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "I0" + "compName": "WireCrossPoint#31", + "pinName": "" }, + "name": "unnamedWire#115", "path": [ { - "x": 105.0, - "y": 850.0 - }, - { - "x": 105.0, - "y": 2165.0 + "x": 15.0, + "y": 2095.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#28", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "I1_3" }, - "path": [] + "name": "unnamedWire#112", + "path": [ + { + "x": 265.0, + "y": 210.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#29", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUImux1_4#0", + "pinName": "I1_4" }, + "name": "unnamedWire#113", "path": [ { - "x": 155.0, - "y": 80.0 + "x": 270.0, + "y": 220.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#30", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUIsel3_4#0", + "pinName": "A2" }, + "name": "unnamedWire#118", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#31", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "A3" }, + "name": "unnamedWire#119", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "QB3" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "C" + "compName": "GUIdlatch4#1", + "pinName": "D3" }, - "path": [] + "name": "unnamedWire#41", + "path": [ + { + "x": 140.0, + "y": 2285.0 + }, + { + "x": 140.0, + "y": 2300.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#24", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#32", "pinName": "" }, - "path": [] + "name": "unnamedWire#116", + "path": [ + { + "x": 20.0, + "y": 2100.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "QB2" }, "pin2": { "compName": "GUIdlatch4#1", - "pinName": "C" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901QReg#0", - "pinName": "C" + "pinName": "D2" }, + "name": "unnamedWire#40", "path": [ { - "x": 155.0, - "y": 2485.0 - }, - { - "x": 80.0, - "y": 2485.0 + "x": 145.0, + "y": 2275.0 }, { - "x": 80.0, - "y": 2495.0 + "x": 145.0, + "y": 2290.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "LSH" + "compName": "_submodelinterface", + "pinName": "IRAMn" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "A1" }, + "name": "unnamedWire#117", "path": [ { - "x": 55.0, - "y": 90.0 - }, - { - "x": 55.0, - "y": 125.0 + "x": 5.0, + "y": 2350.0 }, { - "x": 40.0, - "y": 125.0 + "x": 5.0, + "y": 2345.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "NSH" + "compName": "_submodelinterface", + "pinName": "Cn" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Cn" }, + "name": "unnamedWire#43", "path": [ { - "x": 60.0, - "y": 50.0 - }, - { - "x": 60.0, - "y": 120.0 + "x": 100.0, + "y": 1050.0 }, { - "x": 35.0, - "y": 120.0 + "x": 100.0, + "y": 2175.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "RSH" + "compName": "GUIram4#0", + "pinName": "QB4" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "path": [ - { - "x": 65.0, - "y": 60.0 - }, - { - "x": 65.0, - "y": 115.0 - }, - { - "x": 30.0, - "y": 115.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SA" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SB" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SC" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SA" - }, - "path": [ - { - "x": 40.0, - "y": 2515.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SB" - }, - "path": [ - { - "x": 35.0, - "y": 2525.0 - } - ] - }, - { - "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "SC" - }, - "path": [ - { - "x": 30.0, - "y": 2535.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A0" - }, - "pin2": { - "compName": "GUIram4#0", - "pinName": "A0" - }, - "path": [ - { - "x": 80.0, - "y": 1550.0 - }, - { - "x": 80.0, - "y": 2225.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "GUIram4#0", - "pinName": "A1" - }, - "path": [ - { - "x": 75.0, - "y": 1650.0 - }, - { - "x": 75.0, - "y": 2235.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" - }, - "pin2": { - "compName": "GUIram4#0", - "pinName": "A2" - }, - "path": [ - { - "x": 70.0, - "y": 1750.0 - }, - { - "x": 70.0, - "y": 2245.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" - }, - "pin2": { - "compName": "GUIram4#0", - "pinName": "A3" + "compName": "GUIdlatch4#1", + "pinName": "D4" }, + "name": "unnamedWire#42", "path": [ { - "x": 65.0, - "y": 1850.0 + "x": 135.0, + "y": 2295.0 }, { - "x": 65.0, - "y": 2255.0 + "x": 135.0, + "y": 2310.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B0" + "pinName": "D2" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B0" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D2" }, + "name": "unnamedWire#45", "path": [ { - "x": 60.0, - "y": 1950.0 + "x": 175.0, + "y": 1250.0 }, { - "x": 60.0, - "y": 2265.0 + "x": 175.0, + "y": 2195.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B1" + "pinName": "D1" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B1" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D1" }, + "name": "unnamedWire#44", "path": [ { - "x": 55.0, - "y": 2050.0 + "x": 180.0, + "y": 1150.0 }, { - "x": 55.0, - "y": 2275.0 + "x": 180.0, + "y": 2185.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B2" + "pinName": "D4" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B2" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D4" }, + "name": "unnamedWire#47", "path": [ { - "x": 50.0, - "y": 2150.0 + "x": 165.0, + "y": 1450.0 }, { - "x": 50.0, - "y": 2285.0 + "x": 165.0, + "y": 2215.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "D3" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "B3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "D3" }, + "name": "unnamedWire#46", "path": [ { - "x": 45.0, - "y": 2250.0 + "x": 170.0, + "y": 1350.0 }, { - "x": 45.0, - "y": 2295.0 + "x": 170.0, + "y": 2205.0 } ] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA1" - }, - "pin2": { "compName": "GUIdlatch4#0", - "pinName": "D1" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIram4#0", - "pinName": "QA2" + "pinName": "Q2" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D2" + "compName": "WireCrossPoint#8", + "pinName": "" }, + "name": "unnamedWire#49", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QA3" - }, - "pin2": { "compName": "GUIdlatch4#0", - "pinName": "D3" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIram4#0", - "pinName": "QA4" + "pinName": "Q1" }, "pin2": { - "compName": "GUIdlatch4#0", - "pinName": "D4" + "compName": "WireCrossPoint#7", + "pinName": "" }, + "name": "unnamedWire#48", "path": [] }, { "pin1": { - "compName": "GUIram4#0", - "pinName": "QB1" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D1" - }, - "path": [ - { - "x": 150.0, - "y": 2265.0 - }, - { - "x": 150.0, - "y": 2280.0 - } - ] - }, - { - "pin1": { - "compName": "GUIram4#0", - "pinName": "QB2" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D2" - }, - "path": [ - { - "x": 145.0, - "y": 2275.0 - }, - { - "x": 145.0, - "y": 2290.0 - } - ] - }, - { - "pin1": { - "compName": "GUIram4#0", - "pinName": "QB3" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D3" - }, - "path": [ - { - "x": 140.0, - "y": 2285.0 - }, - { - "x": 140.0, - "y": 2300.0 - } - ] - }, - { - "pin1": { - "compName": "GUIram4#0", - "pinName": "QB4" - }, - "pin2": { - "compName": "GUIdlatch4#1", - "pinName": "D4" - }, - "path": [ - { - "x": 135.0, - "y": 2295.0 - }, - { - "x": 135.0, - "y": 2310.0 - } - ] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "Cn" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F3" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Cn" + "compName": "WireCrossPoint#24", + "pinName": "" }, + "name": "unnamedWire#100", "path": [ { - "x": 100.0, - "y": 1050.0 + "x": 290.0, + "y": 2135.0 }, { - "x": 100.0, - "y": 2175.0 + "x": 290.0, + "y": 2100.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "WireCrossPoint#23", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D1" + "compName": "WireCrossPoint#27", + "pinName": "" }, - "path": [ - { - "x": 180.0, - "y": 1150.0 - }, - { - "x": 180.0, - "y": 2185.0 - } - ] + "name": "unnamedWire#103", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "WireCrossPoint#24", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D2" + "compName": "WireCrossPoint#28", + "pinName": "" }, - "path": [ - { - "x": 175.0, - "y": 1250.0 - }, - { - "x": 175.0, - "y": 2195.0 - } - ] + "name": "unnamedWire#104", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "WireCrossPoint#20", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D3" + "compName": "WireCrossPoint#25", + "pinName": "" }, + "name": "unnamedWire#101", "path": [ { - "x": 170.0, - "y": 1350.0 - }, - { - "x": 170.0, - "y": 2205.0 + "x": 295.0, + "y": 2105.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "WireCrossPoint#22", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "D4" - }, - "path": [ - { - "x": 165.0, - "y": 1450.0 - }, - { - "x": 165.0, - "y": 2215.0 - } - ] + "compName": "WireCrossPoint#26", + "pinName": "" + }, + "name": "unnamedWire#102", + "path": [] }, { "pin1": { "compName": "GUIdlatch4#0", - "pinName": "Q1" + "pinName": "Q3" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#9", "pinName": "" }, + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q2" + "compName": "WireCrossPoint#27", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "GUIor4#0", + "pinName": "A2" + }, + "name": "unnamedWire#107", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#28", "pinName": "" }, + "pin2": { + "compName": "GUIor4#0", + "pinName": "A3" + }, + "name": "unnamedWire#108", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#0", - "pinName": "Q3" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", + "compName": "GUImux1_4#0", + "pinName": "I0_1" + }, + "name": "unnamedWire#52", + "path": [ + { + "x": 220.0, + "y": 150.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#25", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#29", "pinName": "" }, + "name": "unnamedWire#105", "path": [] }, { @@ -1663,21 +1369,35 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#10", "pinName": "" }, + "name": "unnamedWire#51", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#26", + "pinName": "" + }, + "pin2": { + "compName": "GUIor4#0", + "pinName": "A1" + }, + "name": "unnamedWire#106", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { "compName": "GUImux1_4#0", - "pinName": "I0_1" + "pinName": "I0_3" }, + "name": "unnamedWire#54", "path": [ { - "x": 220.0, - "y": 150.0 + "x": 230.0, + "y": 170.0 } ] }, @@ -1690,6 +1410,7 @@ mograsim version: 0.1.3 "compName": "GUImux1_4#0", "pinName": "I0_2" }, + "name": "unnamedWire#53", "path": [ { "x": 225.0, @@ -1699,19 +1420,27 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I0_3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A1" }, - "path": [ - { - "x": 230.0, - "y": 170.0 - } - ] + "name": "unnamedWire#56", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#29", + "pinName": "" + }, + "pin2": { + "compName": "GUIor4#0", + "pinName": "A4" + }, + "name": "unnamedWire#109", + "path": [] }, { "pin1": { @@ -1722,6 +1451,7 @@ mograsim version: 0.1.3 "compName": "GUImux1_4#0", "pinName": "I0_4" }, + "name": "unnamedWire#55", "path": [ { "x": 235.0, @@ -1731,373 +1461,404 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A1" + "compName": "GUIdlatch4#0", + "pinName": "C" }, + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A2" + "compName": "WireCrossPoint#2", + "pinName": "" }, + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A3" + "compName": "GUIdlatch4#1", + "pinName": "C" }, + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "A4" + "compName": "WireCrossPoint#3", + "pinName": "" }, + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q1" + "compName": "GUIAm2901DestDecode#0", + "pinName": "LSH" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B1" + "compName": "WireCrossPoint#4", + "pinName": "" }, + "name": "unnamedWire#18", "path": [ { - "x": 200.0, - "y": 2280.0 + "x": 55.0, + "y": 90.0 }, { - "x": 200.0, - "y": 2265.0 + "x": 55.0, + "y": 125.0 + }, + { + "x": 40.0, + "y": 125.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q2" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B2" + "compName": "GUIAm2901QReg#0", + "pinName": "C" }, + "name": "unnamedWire#17", "path": [ { - "x": 205.0, - "y": 2290.0 + "x": 155.0, + "y": 2485.0 }, { - "x": 205.0, - "y": 2275.0 + "x": 80.0, + "y": 2485.0 + }, + { + "x": 80.0, + "y": 2495.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q3" + "compName": "GUIAm2901DestDecode#0", + "pinName": "NSH" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B3" + "compName": "WireCrossPoint#5", + "pinName": "" }, + "name": "unnamedWire#19", "path": [ { - "x": 210.0, - "y": 2300.0 + "x": 60.0, + "y": 50.0 }, { - "x": 210.0, - "y": 2285.0 + "x": 60.0, + "y": 120.0 + }, + { + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "GUIdlatch4#1", - "pinName": "Q4" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "B4" + "compName": "GUIsel3_4#0", + "pinName": "SA" }, - "path": [ - { - "x": 215.0, - "y": 2310.0 - }, - { - "x": 215.0, - "y": 2295.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "GUIAm2901QReg#0", - "pinName": "Q1" + "compName": "GUIAm2901DestDecode#0", + "pinName": "RSH" }, "pin2": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#6", "pinName": "" }, - "path": [] + "name": "unnamedWire#20", + "path": [ + { + "x": 65.0, + "y": 60.0 + }, + { + "x": 65.0, + "y": 115.0 + }, + { + "x": 30.0, + "y": 115.0 + } + ] }, { "pin1": { - "compName": "GUIAm2901QReg#0", - "pinName": "Q2" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "SC" }, + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "GUIAm2901QReg#0", - "pinName": "Q3" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "SB" }, + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "GUIAm2901QReg#0", - "pinName": "Q4" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "SB" }, - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 35.0, + "y": 2525.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "SA" }, - "path": [] + "name": "unnamedWire#24", + "path": [ + { + "x": 40.0, + "y": 2515.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OQn" + "compName": "GUIram4#0", + "pinName": "A0" }, + "name": "unnamedWire#27", "path": [ { - "x": 335.0, - "y": 2495.0 + "x": 80.0, + "y": 1550.0 }, { - "x": 335.0, - "y": 1050.0 + "x": 80.0, + "y": 2225.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "SC" }, - "path": [] + "name": "unnamedWire#26", + "path": [ + { + "x": 30.0, + "y": 2535.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OQn+3" + "compName": "GUIram4#0", + "pinName": "A2" }, + "name": "unnamedWire#29", "path": [ { - "x": 340.0, - "y": 2525.0 + "x": 70.0, + "y": 1750.0 }, { - "x": 340.0, - "y": 1150.0 + "x": 70.0, + "y": 2245.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A1" }, "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "A1" }, + "name": "unnamedWire#28", "path": [ { - "x": 135.0, - "y": 2670.0 - }, - { - "x": 30.0, - "y": 2670.0 - }, - { - "x": 30.0, - "y": 2635.0 + "x": 75.0, + "y": 1650.0 }, { - "x": 35.0, - "y": 2635.0 + "x": 75.0, + "y": 2235.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "A3" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "A3" }, + "name": "unnamedWire#30", "path": [ { - "x": 140.0, - "y": 2675.0 - }, - { - "x": 35.0, - "y": 2675.0 - }, - { - "x": 35.0, - "y": 2640.0 + "x": 65.0, + "y": 1850.0 }, { - "x": 40.0, - "y": 2640.0 + "x": 65.0, + "y": 2255.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#17", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C1" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C2" + "compName": "GUIram4#0", + "pinName": "B1" }, - "path": [] + "name": "unnamedWire#32", + "path": [ + { + "x": 55.0, + "y": 2050.0 + }, + { + "x": 55.0, + "y": 2275.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "B0" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C3" + "compName": "GUIram4#0", + "pinName": "B0" }, + "name": "unnamedWire#31", "path": [ { - "x": 145.0, - "y": 2680.0 - }, - { - "x": 40.0, - "y": 2680.0 + "x": 60.0, + "y": 1950.0 }, { - "x": 40.0, - "y": 2645.0 + "x": 60.0, + "y": 2265.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "IQn+3" + "pinName": "B3" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "C4" + "compName": "GUIram4#0", + "pinName": "B3" }, + "name": "unnamedWire#34", "path": [ { - "x": 5.0, - "y": 2650.0 + "x": 45.0, + "y": 2250.0 }, { - "x": 5.0, - "y": 2655.0 + "x": 45.0, + "y": 2295.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "IQn" + "pinName": "B2" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A1" + "compName": "GUIram4#0", + "pinName": "B2" }, + "name": "unnamedWire#33", "path": [ { - "x": 5.0, - "y": 2550.0 + "x": 50.0, + "y": 2150.0 }, { - "x": 5.0, - "y": 2545.0 + "x": 50.0, + "y": 2285.0 } ] }, @@ -2110,6 +1871,7 @@ mograsim version: 0.1.3 "compName": "GUIsel3_4#1", "pinName": "A2" }, + "name": "unnamedWire#79", "path": [ { "x": 130.0, @@ -2135,20 +1897,104 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "GUImux1_4#0", + "pinName": "Y2" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y2" + }, + "name": "unnamedWire#150", + "path": [] + }, + { + "pin1": { + "compName": "GUImux1_4#0", + "pinName": "Y3" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y3" + }, + "name": "unnamedWire#151", + "path": [ + { + "x": 335.0, + "y": 160.0 + }, + { + "x": 335.0, + "y": 250.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#40", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q1" + "compName": "GUINandGate#1", + "pinName": "A" }, + "name": "unnamedWire#154", "path": [ { - "x": 220.0, - "y": 2305.0 + "x": 315.0, + "y": 445.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#40", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#1", + "pinName": "B" + }, + "name": "unnamedWire#155", + "path": [ + { + "x": 315.0, + "y": 455.0 + } + ] + }, + { + "pin1": { + "compName": "GUImux1_4#0", + "pinName": "Y4" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Y4" + }, + "name": "unnamedWire#152", + "path": [ + { + "x": 325.0, + "y": 170.0 + }, + { + "x": 325.0, + "y": 350.0 } ] }, + { + "pin1": { + "compName": "GUIor4#0", + "pinName": "Y" + }, + "pin2": { + "compName": "WireCrossPoint#40", + "pinName": "" + }, + "name": "unnamedWire#153", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#12", @@ -2158,6 +2004,7 @@ mograsim version: 0.1.3 "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", "pinName": "Q2" }, + "name": "unnamedWire#81", "path": [ { "x": 225.0, @@ -2171,21 +2018,30 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "F\u003d0" + }, + "name": "unnamedWire#156", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Q3" + "pinName": "Q1" }, + "name": "unnamedWire#80", "path": [ { - "x": 230.0, - "y": 2515.0 - }, - { - "x": 230.0, - "y": 2325.0 + "x": 220.0, + "y": 2305.0 } ] }, @@ -2198,6 +2054,7 @@ mograsim version: 0.1.3 "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", "pinName": "Q4" }, + "name": "unnamedWire#83", "path": [ { "x": 235.0, @@ -2207,17 +2064,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "A3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "Q3" }, + "name": "unnamedWire#82", "path": [ { - "x": 35.0, - "y": 2565.0 + "x": 230.0, + "y": 2515.0 + }, + { + "x": 230.0, + "y": 2325.0 } ] }, @@ -2230,6 +2092,7 @@ mograsim version: 0.1.3 "compName": "GUIsel3_4#1", "pinName": "A4" }, + "name": "unnamedWire#85", "path": [ { "x": 40.0, @@ -2239,14 +2102,20 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIsel3_4#1", - "pinName": "Y1" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901QReg#0", - "pinName": "D1" + "compName": "GUIsel3_4#1", + "pinName": "A3" }, - "path": [] + "name": "unnamedWire#84", + "path": [ + { + "x": 35.0, + "y": 2565.0 + } + ] }, { "pin1": { @@ -2257,17 +2126,19 @@ mograsim version: 0.1.3 "compName": "GUIAm2901QReg#0", "pinName": "D2" }, + "name": "unnamedWire#87", "path": [] }, { "pin1": { "compName": "GUIsel3_4#1", - "pinName": "Y3" + "pinName": "Y1" }, "pin2": { "compName": "GUIAm2901QReg#0", - "pinName": "D3" + "pinName": "D1" }, + "name": "unnamedWire#86", "path": [] }, { @@ -2279,560 +2150,646 @@ mograsim version: 0.1.3 "compName": "GUIAm2901QReg#0", "pinName": "D4" }, + "name": "unnamedWire#89", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "Cn+4" + "compName": "GUIsel3_4#1", + "pinName": "Y3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "compName": "GUIAm2901QReg#0", + "pinName": "D3" }, - "path": [ - { - "x": 315.0, - "y": 2155.0 - }, - { - "x": 315.0, - "y": 550.0 - } - ] + "name": "unnamedWire#88", + "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "OVR" + "compName": "GUIsel3_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OVR" + "compName": "GUIram4#0", + "pinName": "D1" }, - "path": [ - { - "x": 320.0, - "y": 2165.0 - }, - { - "x": 320.0, - "y": 650.0 - } - ] + "name": "unnamedWire#140", + "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F1" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#0", "pinName": "" }, + "name": "unnamedWire#9", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F4" + "compName": "GUIsel3_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "D4" }, + "name": "unnamedWire#143", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I0" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "ORAMn" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I0" }, + "name": "unnamedWire#8", "path": [ { - "x": 325.0, - "y": 2115.0 + "x": 105.0, + "y": 850.0 }, { - "x": 325.0, - "y": 850.0 + "x": 105.0, + "y": 2165.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUIAm2901DestDecode#0", + "pinName": "RAMWE" }, "pin2": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIand#0", + "pinName": "A" + }, + "name": "unnamedWire#144", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I1" + }, + "pin2": { + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I1" }, + "name": "unnamedWire#7", "path": [ { - "x": 330.0, - "y": 2145.0 + "x": 110.0, + "y": 750.0 + }, + { + "x": 110.0, + "y": 2155.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "ORAMn+3" + "compName": "GUIram4#0", + "pinName": "D2" }, + "name": "unnamedWire#141", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#21", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I2" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I2" }, + "name": "unnamedWire#6", "path": [ { - "x": 330.0, - "y": 750.0 + "x": 115.0, + "y": 650.0 + }, + { + "x": 115.0, + "y": 2145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#19", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "D3" }, - "path": [ - { - "x": 280.0, - "y": 2090.0 - } - ] + "name": "unnamedWire#142", + "path": [] }, { "pin1": { "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F2" + "pinName": "Cn+4" }, "pin2": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, + "name": "unnamedWire#90", "path": [ { - "x": 285.0, - "y": 2125.0 + "x": 315.0, + "y": 2155.0 }, { - "x": 285.0, - "y": 2095.0 + "x": 315.0, + "y": 550.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", - "pinName": "F3" + "compName": "GUIAm2901DestDecode#0", + "pinName": "QWE" }, "pin2": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIAm2901QReg#0", + "pinName": "WE" }, + "name": "unnamedWire#147", "path": [ { - "x": 290.0, - "y": 2135.0 + "x": 85.0, + "y": 100.0 }, { - "x": 290.0, - "y": 2100.0 + "x": 85.0, + "y": 2505.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#20", - "pinName": "" + "compName": "GUIAm2901DestDecode#0", + "pinName": "YF" }, "pin2": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "S0" }, + "name": "unnamedWire#148", "path": [ { - "x": 295.0, - "y": 2105.0 + "x": 70.0, + "y": 80.0 + }, + { + "x": 70.0, + "y": 140.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#22", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F1" }, "pin2": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#19", "pinName": "" }, + "name": "unnamedWire#92", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUIand#0", + "pinName": "B" + }, + "name": "unnamedWire#145" + }, + { + "pin1": { + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "OVR" }, "pin2": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "OVR" }, - "path": [] + "name": "unnamedWire#91", + "path": [ + { + "x": 320.0, + "y": 2165.0 + }, + { + "x": 320.0, + "y": 650.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#24", - "pinName": "" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "GUIram4#0", + "pinName": "WE" }, - "path": [] + "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 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#25", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I7" }, "pin2": { - "compName": "WireCrossPoint#29", - "pinName": "" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I7" }, - "path": [] + "name": "unnamedWire#1", + "path": [ + { + "x": 5.0, + "y": 150.0 + }, + { + "x": 5.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#26", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A1" + "compName": "_submodelinterface", + "pinName": "ORAMn" }, - "path": [] + "name": "unnamedWire#94", + "path": [ + { + "x": 325.0, + "y": 2115.0 + }, + { + "x": 325.0, + "y": 850.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#27", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I8" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A2" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I8" }, + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F4" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A3" + "compName": "WireCrossPoint#20", + "pinName": "" }, + "name": "unnamedWire#93", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#21", "pinName": "" }, "pin2": { - "compName": "GUIor4#0", - "pinName": "A4" + "compName": "_submodelinterface", + "pinName": "ORAMn+3" }, + "name": "unnamedWire#96", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#26", - "pinName": "" + "compName": "GUImux1_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_1" + "compName": "_submodelinterface", + "pinName": "Y1" }, + "name": "unnamedWire#149", "path": [ { - "x": 255.0, - "y": 190.0 + "x": 335.0, + "y": 140.0 + }, + { + "x": 335.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#27", + "compName": "WireCrossPoint#20", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_2" + "compName": "WireCrossPoint#21", + "pinName": "" }, + "name": "unnamedWire#95", "path": [ { - "x": 260.0, - "y": 200.0 + "x": 330.0, + "y": 2145.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#28", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I3" }, + "name": "unnamedWire#5", "path": [ { - "x": 265.0, - "y": 210.0 + "x": 120.0, + "y": 550.0 + }, + { + "x": 120.0, + "y": 2135.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#29", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "I1_4" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "path": [ - { - "x": 270.0, - "y": 220.0 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#22", + "compName": "WireCrossPoint#19", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#30", + "compName": "WireCrossPoint#22", "pinName": "" }, + "name": "unnamedWire#98", "path": [ { - "x": 10.0, + "x": 280.0, "y": 2090.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#23", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "WireCrossPoint#31", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I4" }, + "name": "unnamedWire#4", "path": [ { - "x": 15.0, - "y": 2095.0 + "x": 125.0, + "y": 450.0 + }, + { + "x": 125.0, + "y": 2125.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#24", + "compName": "WireCrossPoint#21", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "F3" }, + "name": "unnamedWire#97", "path": [ { - "x": 20.0, - "y": 2100.0 + "x": 330.0, + "y": 750.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "IRAMn" + "pinName": "I5" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A1" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "I5" }, + "name": "unnamedWire#3", "path": [ { - "x": 5.0, - "y": 2350.0 + "x": 130.0, + "y": 350.0 }, { - "x": 5.0, - "y": 2345.0 + "x": 130.0, + "y": 2115.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#30", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A2" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#31", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A3" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#32", - "pinName": "" - }, - "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A4" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#31", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#33", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#32", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I6" }, "pin2": { - "compName": "WireCrossPoint#34", - "pinName": "" + "compName": "GUIAm2901DestDecode#0", + "pinName": "I6" }, - "path": [] + "name": "unnamedWire#2", + "path": [ + { + "x": 10.0, + "y": 250.0 + }, + { + "x": 10.0, + "y": 70.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#25", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#35", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "A" }, + "name": "unnamedWire#11", "path": [ { - "x": 25.0, - "y": 2105.0 + "x": 155.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#30", - "pinName": "" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "F2" }, "pin2": { - "compName": "WireCrossPoint#36", + "compName": "WireCrossPoint#23", "pinName": "" }, - "path": [] + "name": "unnamedWire#99", + "path": [ + { + "x": 285.0, + "y": 2125.0 + }, + { + "x": 285.0, + "y": 2095.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#36", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B1" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A3" }, + "name": "unnamedWire#58", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B2" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A2" }, + "name": "unnamedWire#57", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#34", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B3" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "A4" }, + "name": "unnamedWire#59", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#35", + "compName": "WireCrossPoint#37", "pinName": "" }, "pin2": { "compName": "GUIsel3_4#0", - "pinName": "B4" + "pinName": "C1" }, + "name": "unnamedWire#132", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#33", + "compName": "WireCrossPoint#38", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#37", - "pinName": "" + "compName": "GUIsel3_4#0", + "pinName": "C2" }, + "name": "unnamedWire#133", "path": [] }, { @@ -2844,6 +2801,7 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#38", "pinName": "" }, + "name": "unnamedWire#130", "path": [] }, { @@ -2855,29 +2813,42 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#39", "pinName": "" }, + "name": "unnamedWire#131", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#37", + "compName": "WireCrossPoint#36", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C1" + "compName": "GUIsel3_4#1", + "pinName": "B1" }, - "path": [] + "name": "unnamedWire#136", + "path": [ + { + "x": 10.0, + "y": 2585.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#38", + "compName": "WireCrossPoint#37", "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C2" + "compName": "GUIsel3_4#1", + "pinName": "B2" }, - "path": [] + "name": "unnamedWire#137", + "path": [ + { + "x": 15.0, + "y": 2595.0 + } + ] }, { "pin1": { @@ -2888,6 +2859,7 @@ mograsim version: 0.1.3 "compName": "GUIsel3_4#0", "pinName": "C3" }, + "name": "unnamedWire#134", "path": [] }, { @@ -2899,6 +2871,7 @@ mograsim version: 0.1.3 "compName": "GUIsel3_4#0", "pinName": "C4" }, + "name": "unnamedWire#135", "path": [ { "x": 5.0, @@ -2912,33 +2885,64 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#36", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q2" }, "pin2": { - "compName": "GUIsel3_4#1", + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B2" + }, + "name": "unnamedWire#61", + "path": [ + { + "x": 205.0, + "y": 2290.0 + }, + { + "x": 205.0, + "y": 2275.0 + } + ] + }, + { + "pin1": { + "compName": "GUIdlatch4#1", + "pinName": "Q1" + }, + "pin2": { + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", "pinName": "B1" }, + "name": "unnamedWire#60", "path": [ { - "x": 10.0, - "y": 2585.0 + "x": 200.0, + "y": 2280.0 + }, + { + "x": 200.0, + "y": 2265.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#37", - "pinName": "" + "compName": "GUIdlatch4#1", + "pinName": "Q4" }, "pin2": { - "compName": "GUIsel3_4#1", - "pinName": "B2" + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B4" }, + "name": "unnamedWire#63", "path": [ { - "x": 15.0, - "y": 2595.0 + "x": 215.0, + "y": 2310.0 + }, + { + "x": 215.0, + "y": 2295.0 } ] }, @@ -2951,6 +2955,7 @@ mograsim version: 0.1.3 "compName": "GUIsel3_4#1", "pinName": "B3" }, + "name": "unnamedWire#138", "path": [ { "x": 20.0, @@ -2958,6 +2963,27 @@ mograsim version: 0.1.3 } ] }, + { + "pin1": { + "compName": "GUIdlatch4#1", + "pinName": "Q3" + }, + "pin2": { + "compName": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode#0", + "pinName": "B3" + }, + "name": "unnamedWire#62", + "path": [ + { + "x": 210.0, + "y": 2300.0 + }, + { + "x": 210.0, + "y": 2285.0 + } + ] + }, { "pin1": { "compName": "WireCrossPoint#39", @@ -2967,6 +2993,7 @@ mograsim version: 0.1.3 "compName": "GUIsel3_4#1", "pinName": "B4" }, + "name": "unnamedWire#139", "path": [ { "x": 25.0, @@ -2976,270 +3003,419 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y1" + "compName": "GUIAm2901QReg#0", + "pinName": "Q2" + }, + "pin2": { + "compName": "WireCrossPoint#12", + "pinName": "" + }, + "name": "unnamedWire#65", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2901QReg#0", + "pinName": "Q1" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#64", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2901QReg#0", + "pinName": "Q4" + }, + "pin2": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "name": "unnamedWire#67", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2901QReg#0", + "pinName": "Q3" + }, + "pin2": { + "compName": "WireCrossPoint#13", + "pinName": "" + }, + "name": "unnamedWire#66", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "OQn" + }, + "name": "unnamedWire#69", + "path": [ + { + "x": 335.0, + "y": 2495.0 + }, + { + "x": 335.0, + "y": 1050.0 + } + ] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "name": "unnamedWire#68", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#31", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#33", + "pinName": "" + }, + "name": "unnamedWire#121", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#32", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#34", + "pinName": "" + }, + "name": "unnamedWire#122", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#32", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D1" + "compName": "GUIsel3_4#0", + "pinName": "A4" }, + "name": "unnamedWire#120", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y2" + "compName": "WireCrossPoint#36", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D2" + "compName": "GUIsel3_4#0", + "pinName": "B1" }, + "name": "unnamedWire#125", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y3" + "compName": "WireCrossPoint#33", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D3" + "compName": "GUIsel3_4#0", + "pinName": "B2" }, + "name": "unnamedWire#126", "path": [] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y4" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "D4" + "compName": "WireCrossPoint#16", + "pinName": "" }, + "name": "unnamedWire#70", "path": [] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "RAMWE" + "compName": "WireCrossPoint#25", + "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" + "compName": "WireCrossPoint#35", + "pinName": "" }, - "path": [] + "name": "unnamedWire#123", + "path": [ + { + "x": 25.0, + "y": 2105.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" + "compName": "WireCrossPoint#30", + "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "B" - } + "compName": "WireCrossPoint#36", + "pinName": "" + }, + "name": "unnamedWire#124", + "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "GUIram4#0", - "pinName": "WE" + "compName": "WireCrossPoint#17", + "pinName": "" }, + "name": "unnamedWire#72", "path": [ { - "x": 230.0, - "y": 70.0 + "x": 135.0, + "y": 2670.0 }, { - "x": 230.0, - "y": 105.0 + "x": 30.0, + "y": 2670.0 }, { - "x": 90.0, - "y": 105.0 + "x": 30.0, + "y": 2635.0 }, { - "x": 90.0, - "y": 2305.0 + "x": 35.0, + "y": 2635.0 } ] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "QWE" + "compName": "WireCrossPoint#33", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901QReg#0", - "pinName": "WE" + "compName": "WireCrossPoint#37", + "pinName": "" }, - "path": [ - { - "x": 85.0, - "y": 100.0 - }, - { - "x": 85.0, - "y": 2505.0 - } - ] + "name": "unnamedWire#129", + "path": [] }, { "pin1": { - "compName": "GUIAm2901DestDecode#0", - "pinName": "YF" + "compName": "WireCrossPoint#16", + "pinName": "" }, "pin2": { - "compName": "GUImux1_4#0", - "pinName": "S0" + "compName": "_submodelinterface", + "pinName": "OQn+3" }, + "name": "unnamedWire#71", "path": [ { - "x": 70.0, - "y": 80.0 + "x": 340.0, + "y": 2525.0 }, { - "x": 70.0, - "y": 140.0 + "x": 340.0, + "y": 1150.0 } ] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y1" + "compName": "WireCrossPoint#17", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y1" + "compName": "GUIsel3_4#1", + "pinName": "C1" }, - "path": [ - { - "x": 335.0, - "y": 140.0 - }, - { - "x": 335.0, - "y": 50.0 - } - ] + "name": "unnamedWire#74", + "path": [] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y2" + "compName": "WireCrossPoint#34", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y2" + "compName": "GUIsel3_4#0", + "pinName": "B3" }, + "name": "unnamedWire#127", "path": [] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y3" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y3" + "compName": "WireCrossPoint#18", + "pinName": "" }, + "name": "unnamedWire#73", "path": [ { - "x": 335.0, - "y": 160.0 + "x": 140.0, + "y": 2675.0 }, { - "x": 335.0, - "y": 250.0 + "x": 35.0, + "y": 2675.0 + }, + { + "x": 35.0, + "y": 2640.0 + }, + { + "x": 40.0, + "y": 2640.0 } ] }, { "pin1": { - "compName": "GUImux1_4#0", - "pinName": "Y4" + "compName": "WireCrossPoint#35", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Y4" + "compName": "GUIsel3_4#0", + "pinName": "B4" + }, + "name": "unnamedWire#128", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#14", + "pinName": "" + }, + "pin2": { + "compName": "GUIsel3_4#1", + "pinName": "C3" }, + "name": "unnamedWire#76", "path": [ { - "x": 325.0, - "y": 170.0 + "x": 145.0, + "y": 2680.0 }, { - "x": 325.0, - "y": 350.0 + "x": 40.0, + "y": 2680.0 + }, + { + "x": 40.0, + "y": 2645.0 } ] }, { "pin1": { - "compName": "GUIor4#0", - "pinName": "Y" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#40", - "pinName": "" + "compName": "GUIsel3_4#1", + "pinName": "C2" }, + "name": "unnamedWire#75", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#40", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IQn" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUIsel3_4#1", + "pinName": "A1" }, + "name": "unnamedWire#78", "path": [ { - "x": 315.0, - "y": 445.0 + "x": 5.0, + "y": 2550.0 + }, + { + "x": 5.0, + "y": 2545.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#40", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "IQn+3" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUIsel3_4#1", + "pinName": "C4" }, + "name": "unnamedWire#77", "path": [ { - "x": 315.0, - "y": 455.0 + "x": 5.0, + "y": 2650.0 + }, + { + "x": 5.0, + "y": 2655.0 } ] - }, - { - "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "F\u003d0" - }, - "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": { + "qreg": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIAm2901QReg#0" + } + }, + "regs": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler", + "params": { + "delegateTarget": "GUIram4#0" + } + } + }, + "atomicHighLevelStates": {} } } \ 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 a24476b3..a575c5ce 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUFuncDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUFuncDecode.json @@ -80,602 +80,635 @@ mograsim version: 0.1.3 "innerScale": 0.25, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 15.0, "y": 50.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "GUInand3", + "name": "GUInand3#0", "pos": { "x": 55.0, "y": 10.0 - }, - "id": "GUInand3", - "name": "GUInand3#0" + } }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 15.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 55.0, "y": 70.0 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 55.0, "y": 45.0 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "GUIand", + "name": "GUIand#0", "pos": { "x": 100.0, "y": 135.0 - }, - "id": "GUIand", - "name": "GUIand#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 9.0, "y": 59.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 4.0, "y": 44.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 9.0, "y": 64.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 9.0, "y": 54.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 49.0, "y": 99.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 9.0, "y": 84.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { "x": 39.0, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { "x": 49.0, "y": 74.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { "x": 39.0, "y": 34.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { "x": 100.0, "y": 50.0 }, - "id": "GUINandGate", - "name": "GUINandGate#4", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "I5" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "B" }, + "name": "unnamedWire#14", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "WireCrossPoint#6", + "pinName": "" }, - "path": [ - { - "x": 5.0, - "y": 15.0 - } - ] + "name": "unnamedWire#13", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I3" }, "pin2": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#7", "pinName": "" }, - "path": [] + "name": "unnamedWire#16", + "path": [ + { + "x": 50.0, + "y": 100.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "SN" }, - "path": [] + "name": "unnamedWire#15", + "path": [ + { + "x": 10.0, + "y": 105.0 + }, + { + "x": 135.0, + "y": 105.0 + }, + { + "x": 135.0, + "y": 100.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, + "name": "unnamedWire#18", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "RN" }, + "name": "unnamedWire#17", "path": [ { - "x": 45.0, - "y": 45.0 - }, - { - "x": 45.0, - "y": 50.0 + "x": 50.0, + "y": 220.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "FN" + "compName": "GUInand3#0", + "pinName": "B" }, + "name": "unnamedWire#19", "path": [ { - "x": 5.0, - "y": 180.0 + "x": 50.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#9", "pinName": "" }, + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "GUINandGate#3", + "pinName": "A" + }, + "name": "unnamedWire#20", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#9", "pinName": "" }, + "pin2": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "name": "unnamedWire#23", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "CinE" }, + "name": "unnamedWire#22", "path": [ { - "x": 10.0, - "y": 40.0 + "x": 40.0, + "y": 5.0 }, { - "x": 45.0, - "y": 40.0 + "x": 115.0, + "y": 5.0 }, { - "x": 45.0, - "y": 15.0 + "x": 115.0, + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "GUIand#0", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#25", + "path": [ + { + "x": 40.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#10", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "C" }, + "name": "unnamedWire#24", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUInand3#0", + "pinName": "Y" }, "pin2": { + "compName": "GUINandGate#4", + "pinName": "A" + }, + "name": "unnamedWire#27" + }, + { + "pin1": { "compName": "GUINandGate#1", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#2", "pinName": "B" }, + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIand#0", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#29" }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#4", "pinName": "B" }, - "path": [] + "name": "unnamedWire#28" }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SN" + "compName": "GUInand3#0", + "pinName": "A" }, + "name": "unnamedWire#9", "path": [ { "x": 10.0, - "y": 105.0 + "y": 40.0 }, { - "x": 135.0, - "y": 105.0 + "x": 45.0, + "y": 40.0 }, { - "x": 135.0, - "y": 100.0 + "x": 45.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#4", "pinName": "" }, - "path": [ - { - "x": 50.0, - "y": 100.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RN" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "path": [ - { - "x": 50.0, - "y": 220.0 - } - ] + "name": "unnamedWire#7", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "FN" }, - "path": [] + "name": "unnamedWire#6", + "path": [ + { + "x": 5.0, + "y": 180.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "B" + "compName": "GUINandGate#0", + "pinName": "A" }, + "name": "unnamedWire#1", "path": [ { - "x": 50.0, - "y": 25.0 + "x": 5.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I5" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#4", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "L" }, + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "CinE" + "compName": "GUINandGate#2", + "pinName": "A" }, + "name": "unnamedWire#5", "path": [ { - "x": 40.0, - "y": 5.0 - }, - { - "x": 115.0, - "y": 5.0 + "x": 45.0, + "y": 45.0 }, { - "x": 115.0, - "y": 20.0 + "x": 45.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, + "name": "unnamedWire#10", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUInand3#0", - "pinName": "C" + "compName": "WireCrossPoint#2", + "pinName": "" }, + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { "compName": "GUIand#0", - "pinName": "B" - }, - "path": [ - { - "x": 40.0, - "y": 150.0 - } - ] - }, - { - "pin1": { - "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "SBE" }, + "name": "unnamedWire#31", "path": [] }, { "pin1": { - "compName": "GUInand3#0", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" - } + "compName": "GUINandGate#0", + "pinName": "B" + }, + "name": "unnamedWire#3", + "path": [] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#1", "pinName": "B" - } - }, - { - "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" }, - "pin2": { - "compName": "GUIand#0", - "pinName": "A" - } + "name": "unnamedWire#12", + "path": [] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "L" + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SBE" + "compName": "WireCrossPoint#5", + "pinName": "" }, + "name": "unnamedWire#11", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUFuncDecode", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 62d78f1e..c6f61c4f 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclDecode.json @@ -152,1165 +152,1030 @@ mograsim version: 0.1.3 "innerScale": 0.25, "subComps": [ { + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { "x": 34.0, "y": 354.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { "x": 34.0, "y": 254.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#16", "pos": { "x": 36.5, "y": 264.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#16", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { "x": 36.5, "y": 164.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#18", "pos": { "x": 84.0, "y": 374.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#18", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#17", "pos": { "x": 36.5, "y": 364.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#17", "params": 1 }, { + "id": "GUIAm2901ALUFuncDecode", + "name": "GUIAm2901ALUFuncDecode#0", "pos": { "x": 20.0, "y": 2.5 - }, - "id": "GUIAm2901ALUFuncDecode", - "name": "GUIAm2901ALUFuncDecode#0" + } }, { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#0", "pos": { "x": 45.0, "y": 80.0 - }, - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#19", "pos": { "x": 84.0, "y": 384.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#19", "params": 1 }, { + "id": "GUIxor", + "name": "GUIxor#0", "pos": { "x": 95.0, "y": 400.0 - }, - "id": "GUIxor", - "name": "GUIxor#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 24.0, "y": 194.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 24.0, "y": 94.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 26.5, "y": 104.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 24.0, "y": 294.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 26.5, "y": 304.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 26.5, "y": 204.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#1", "pos": { "x": 45.0, "y": 180.0 - }, - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#1" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 29.0, "y": 224.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#2", "pos": { "x": 45.0, "y": 280.0 - }, - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#2" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 29.0, "y": 124.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "GUIAm2901ALUOneBit", + "name": "GUIAm2901ALUOneBit#3", "pos": { "x": 45.0, "y": 380.0 - }, - "id": "GUIAm2901ALUOneBit", - "name": "GUIAm2901ALUOneBit#3" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { "x": 31.5, "y": 144.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { "x": 29.0, "y": 324.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { "x": 31.5, "y": 244.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 34.0, "y": 154.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { "x": 31.5, "y": 344.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "I5" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I5" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "FN" }, - "path": [ - { - "x": 5.0, - "y": 20.0 - }, - { - "x": 5.0, - "y": 7.5 - } - ] + "name": "unnamedWire#36", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "WireCrossPoint#13", + "pinName": "" }, "pin2": { + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "FN" + }, + "name": "unnamedWire#35", + "path": [] + }, + { + "pin1": { "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I4" + "pinName": "L" }, + "pin2": { + "compName": "WireCrossPoint#15", + "pinName": "" + }, + "name": "unnamedWire#38", "path": [ { - "x": 10.0, - "y": 60.0 + "x": 67.5, + "y": 17.5 }, { - "x": 10.0, - "y": 17.5 + "x": 67.5, + "y": 75.0 + }, + { + "x": 37.5, + "y": 75.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "WireCrossPoint#14", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "I3" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "FN" }, + "name": "unnamedWire#37", "path": [ { - "x": 15.0, - "y": 100.0 - }, - { - "x": 15.0, - "y": 27.5 + "x": 35.0, + "y": 455.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "SBE" + "compName": "WireCrossPoint#15", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#16", "pinName": "" }, - "path": [ - { - "x": 62.5, - "y": 37.5 - }, - { - "x": 62.5, - "y": 70.0 - }, - { - "x": 25.0, - "y": 70.0 - } - ] + "name": "unnamedWire#39", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "L" }, + "name": "unnamedWire#41", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#17", "pinName": "" }, + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "CoutE" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "L" }, + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#16", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#1", - "pinName": "CoutE" + "pinName": "L" }, + "name": "unnamedWire#42", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "R1" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "CoutE" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "R" }, - "path": [] + "name": "unnamedWire#45", + "path": [ + { + "x": 10.0, + "y": 180.0 + }, + { + "x": 10.0, + "y": 115.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#17", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "CoutE" + "pinName": "L" }, + "name": "unnamedWire#44", "path": [ { - "x": 25.0, - "y": 395.0 + "x": 37.5, + "y": 465.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "CinE" + "compName": "_submodelinterface", + "pinName": "R3" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "R" }, + "name": "unnamedWire#47", "path": [ { - "x": 70.0, - "y": 7.5 - }, - { - "x": 70.0, - "y": 77.5 + "x": 10.0, + "y": 260.0 }, { - "x": 27.5, - "y": 77.5 + "x": 10.0, + "y": 315.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "CinE" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "R2" }, "pin2": { "compName": "GUIAm2901ALUOneBit#1", - "pinName": "CinE" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "CinE" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "CinE" + "pinName": "R" }, + "name": "unnamedWire#46", "path": [ { - "x": 27.5, - "y": 405.0 + "x": 10.0, + "y": 220.0 + }, + { + "x": 10.0, + "y": 215.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "RN" + "compName": "_submodelinterface", + "pinName": "S1" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "S" }, + "name": "unnamedWire#49", "path": [ { - "x": 57.5, - "y": 57.5 - }, - { - "x": 57.5, - "y": 65.0 + "x": 15.0, + "y": 340.0 }, { - "x": 30.0, - "y": 65.0 + "x": 15.0, + "y": 135.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "R4" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "R" }, - "path": [] + "name": "unnamedWire#48", + "path": [ + { + "x": 20.0, + "y": 300.0 + }, + { + "x": 20.0, + "y": 415.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "CoutE" }, - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 25.0, + "y": 395.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "RN" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "CoutE" }, + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#1", - "pinName": "RN" + "pinName": "CoutE" }, + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "RN" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "CoutE" }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "RN" + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I4" }, + "name": "unnamedWire#1", "path": [ { - "x": 30.0, - "y": 425.0 + "x": 10.0, + "y": 60.0 + }, + { + "x": 10.0, + "y": 17.5 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "SN" + "compName": "_submodelinterface", + "pinName": "S2" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "S" }, + "name": "unnamedWire#50", "path": [ { - "x": 65.0, - "y": 27.5 - }, - { - "x": 65.0, - "y": 72.5 + "x": 5.0, + "y": 380.0 }, { - "x": 32.5, - "y": 72.5 + "x": 5.0, + "y": 235.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#11", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "SN" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "SN" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I5" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "SN" + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I5" }, - "path": [] + "name": "unnamedWire#0", + "path": [ + { + "x": 5.0, + "y": 20.0 + }, + { + "x": 5.0, + "y": 7.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "S4" }, "pin2": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "SN" + "pinName": "S" }, + "name": "unnamedWire#52", "path": [ { - "x": 32.5, - "y": 445.0 + "x": 10.0, + "y": 460.0 + }, + { + "x": 10.0, + "y": 435.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "FN" + "compName": "_submodelinterface", + "pinName": "S3" }, "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "S" }, + "name": "unnamedWire#51", "path": [ { - "x": 60.0, - "y": 47.5 - }, - { - "x": 60.0, - "y": 67.5 + "x": 10.0, + "y": 420.0 }, { - "x": 35.0, - "y": 67.5 + "x": 10.0, + "y": 335.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "FN" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#2", "pinName": "" }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "FN" - }, + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "CinE" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "FN" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#3", "pinName": "" }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "FN" - }, + "name": "unnamedWire#10", "path": [ { - "x": 35.0, - "y": 455.0 + "x": 70.0, + "y": 7.5 + }, + { + "x": 70.0, + "y": 77.5 + }, + { + "x": 27.5, + "y": 77.5 } ] }, { "pin1": { - "compName": "GUIAm2901ALUFuncDecode#0", - "pinName": "L" + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "Cout" }, "pin2": { - "compName": "WireCrossPoint#15", - "pinName": "" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "Cin" }, + "name": "unnamedWire#54", "path": [ { - "x": 67.5, - "y": 17.5 + "x": 85.0, + "y": 85.0 }, { - "x": 67.5, - "y": 75.0 + "x": 85.0, + "y": 175.0 }, { - "x": 37.5, - "y": 75.0 + "x": 40.0, + "y": 175.0 + }, + { + "x": 40.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#16", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" - }, - "pin2": { - "compName": "WireCrossPoint#17", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#15", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "L" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#16", - "pinName": "" - }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "L" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "L" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#17", + "compName": "WireCrossPoint#1", "pinName": "" }, - "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "L" - }, - "path": [ - { - "x": 37.5, - "y": 465.0 - } - ] + "name": "unnamedWire#4", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "R1" + "pinName": "Cn" }, "pin2": { "compName": "GUIAm2901ALUOneBit#0", - "pinName": "R" + "pinName": "Cin" }, + "name": "unnamedWire#53", "path": [ { - "x": 10.0, - "y": 180.0 + "x": 5.0, + "y": 140.0 }, { - "x": 10.0, - "y": 115.0 + "x": 5.0, + "y": 85.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R2" + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "SBE" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "R" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#3", "path": [ { - "x": 10.0, - "y": 220.0 + "x": 62.5, + "y": 37.5 }, { - "x": 10.0, - "y": 215.0 + "x": 62.5, + "y": 70.0 + }, + { + "x": 25.0, + "y": 70.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R3" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "R" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "path": [ - { - "x": 10.0, - "y": 260.0 - }, - { - "x": 10.0, - "y": 315.0 - } - ] + "name": "unnamedWire#12", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R4" + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "Cout" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "R" + "compName": "WireCrossPoint#18", + "pinName": "" }, + "name": "unnamedWire#56", "path": [ { - "x": 20.0, - "y": 300.0 - }, - { - "x": 20.0, - "y": 415.0 + "x": 85.0, + "y": 285.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "S1" + "pinName": "I3" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "S" + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "I3" }, + "name": "unnamedWire#2", "path": [ { "x": 15.0, - "y": 340.0 + "y": 100.0 }, { "x": 15.0, - "y": 135.0 + "y": 27.5 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S2" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "S" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "path": [ - { - "x": 5.0, - "y": 380.0 - }, - { - "x": 5.0, - "y": 235.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S3" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "Cout" }, "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "S" + "pinName": "Cin" }, + "name": "unnamedWire#55", "path": [ { - "x": 10.0, - "y": 420.0 + "x": 85.0, + "y": 185.0 }, { - "x": 10.0, - "y": 335.0 + "x": 85.0, + "y": 275.0 + }, + { + "x": 40.0, + "y": 275.0 + }, + { + "x": 40.0, + "y": 285.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S4" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "CinE" + }, + "name": "unnamedWire#14", + "path": [] + }, + { + "pin1": { "compName": "GUIAm2901ALUOneBit#3", - "pinName": "S" + "pinName": "Cout" }, - "path": [ - { - "x": 10.0, - "y": 460.0 - }, - { - "x": 10.0, - "y": 435.0 - } - ] + "pin2": { + "compName": "WireCrossPoint#19", + "pinName": "" + }, + "name": "unnamedWire#58", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Cn" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { "compName": "GUIAm2901ALUOneBit#0", - "pinName": "Cin" + "pinName": "CinE" }, - "path": [ - { - "x": 5.0, - "y": 140.0 - }, - { - "x": 5.0, - "y": 85.0 - } - ] + "name": "unnamedWire#13", + "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#0", - "pinName": "Cout" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#1", + "compName": "GUIAm2901ALUOneBit#3", "pinName": "Cin" }, + "name": "unnamedWire#57", "path": [ - { - "x": 85.0, - "y": 85.0 - }, - { - "x": 85.0, - "y": 175.0 - }, { "x": 40.0, - "y": 175.0 + "y": 375.0 }, { "x": 40.0, - "y": 185.0 + "y": 385.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#1", - "pinName": "Cout" + "compName": "WireCrossPoint#5", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "Cin" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "CinE" }, + "name": "unnamedWire#16", "path": [ { - "x": 85.0, - "y": 185.0 - }, - { - "x": 85.0, - "y": 275.0 - }, - { - "x": 40.0, - "y": 275.0 - }, - { - "x": 40.0, - "y": 285.0 + "x": 27.5, + "y": 405.0 } ] }, { "pin1": { + "compName": "WireCrossPoint#5", + "pinName": "" + }, + "pin2": { "compName": "GUIAm2901ALUOneBit#2", - "pinName": "Cout" + "pinName": "CinE" + }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "F" }, "pin2": { - "compName": "WireCrossPoint#18", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "F1" }, + "name": "unnamedWire#59", "path": [ { - "x": 85.0, - "y": 285.0 + "x": 90.0, + "y": 95.0 + }, + { + "x": 90.0, + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "Cin" + "compName": "WireCrossPoint#7", + "pinName": "" + }, + "name": "unnamedWire#18", + "path": [] + }, + { + "pin1": { + "compName": "GUIAm2901ALUFuncDecode#0", + "pinName": "RN" + }, + "pin2": { + "compName": "WireCrossPoint#6", + "pinName": "" }, + "name": "unnamedWire#17", "path": [ { - "x": 40.0, - "y": 375.0 + "x": 57.5, + "y": 57.5 + }, + { + "x": 57.5, + "y": 65.0 }, { - "x": 40.0, - "y": 385.0 + "x": 30.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#3", - "pinName": "Cout" + "compName": "WireCrossPoint#7", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#8", "pinName": "" }, + "name": "unnamedWire#19", "path": [] }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#0", + "compName": "GUIAm2901ALUOneBit#2", "pinName": "F" }, "pin2": { "compName": "_submodelinterface", - "pinName": "F1" + "pinName": "F3" }, + "name": "unnamedWire#61", "path": [ { - "x": 90.0, - "y": 95.0 + "x": 100.0, + "y": 295.0 }, { - "x": 90.0, - "y": 20.0 + "x": 100.0, + "y": 100.0 } ] }, @@ -1323,6 +1188,7 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "F2" }, + "name": "unnamedWire#60", "path": [ { "x": 95.0, @@ -1336,21 +1202,22 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIAm2901ALUOneBit#2", - "pinName": "F" + "compName": "WireCrossPoint#18", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F3" + "compName": "GUIxor#0", + "pinName": "A" }, + "name": "unnamedWire#63", "path": [ { - "x": 100.0, - "y": 295.0 + "x": 90.0, + "y": 375.0 }, { - "x": 100.0, - "y": 100.0 + "x": 90.0, + "y": 405.0 } ] }, @@ -1363,6 +1230,7 @@ mograsim version: 0.1.3 "compName": "_submodelinterface", "pinName": "F4" }, + "name": "unnamedWire#62", "path": [ { "x": 105.0, @@ -1376,24 +1244,49 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#18", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUIxor#0", - "pinName": "A" + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "RN" + }, + "name": "unnamedWire#21", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#19", + "pinName": "" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "Cn+4" }, + "name": "unnamedWire#65", "path": [ { - "x": 90.0, - "y": 375.0 + "x": 130.0, + "y": 385.0 }, { - "x": 90.0, - "y": 405.0 + "x": 130.0, + "y": 180.0 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#6", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#0", + "pinName": "RN" + }, + "name": "unnamedWire#20", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#19", @@ -1403,6 +1296,7 @@ mograsim version: 0.1.3 "compName": "GUIxor#0", "pinName": "B" }, + "name": "unnamedWire#64", "path": [ { "x": 85.0, @@ -1412,24 +1306,33 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#19", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "compName": "GUIAm2901ALUOneBit#3", + "pinName": "RN" }, + "name": "unnamedWire#23", "path": [ { - "x": 130.0, - "y": 385.0 - }, - { - "x": 130.0, - "y": 180.0 + "x": 30.0, + "y": 425.0 } ] }, + { + "pin1": { + "compName": "WireCrossPoint#8", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "RN" + }, + "name": "unnamedWire#22", + "path": [] + }, { "pin1": { "compName": "GUIxor#0", @@ -1438,16 +1341,181 @@ mograsim version: 0.1.3 "pin2": { "compName": "_submodelinterface", "pinName": "OVR" - } + }, + "name": "unnamedWire#66" + }, + { + "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", + "pinName": "" + }, + "pin2": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "name": "unnamedWire#26", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#2", + "pinName": "SN" + }, + "name": "unnamedWire#29", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUIAm2901ALUOneBit#1", + "pinName": "SN" + }, + "name": "unnamedWire#28", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#11", + "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": "" + }, + "name": "unnamedWire#31", + "path": [ + { + "x": 60.0, + "y": 47.5 + }, + { + "x": 60.0, + "y": 67.5 + }, + { + "x": 35.0, + "y": 67.5 + } + ] + }, + { + "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": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUInclDecode", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 75c63dd1..12e28505 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json @@ -240,1074 +240,1125 @@ mograsim version: 0.1.3 "innerScale": 0.25, "subComps": [ { + "id": "GUIsel3_4", + "name": "GUIsel3_4#0", "pos": { "x": 45.0, "y": 575.0 - }, - "id": "GUIsel3_4", - "name": "GUIsel3_4#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 14.0, "y": 499.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 9.0, "y": 459.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "GUIAm2901ALUInclDecode", + "name": "GUIAm2901ALUInclDecode#0", "pos": { "x": 60.0, "y": 15.0 - }, - "id": "GUIAm2901ALUInclDecode", - "name": "GUIAm2901ALUInclDecode#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 24.0, "y": 579.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 19.0, "y": 539.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "GUIsel2_4", + "name": "GUIsel2_4#0", "pos": { "x": 45.0, "y": 365.0 - }, - "id": "GUIsel2_4", - "name": "GUIsel2_4#0" + } }, { + "id": "GUIAm2901SourceDecode", + "name": "GUIAm2901SourceDecode#0", "pos": { "x": 15.0, "y": 165.0 - }, - "id": "GUIAm2901SourceDecode", - "name": "GUIAm2901SourceDecode#0" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "I5" + "compName": "GUIsel2_4#0", + "pinName": "Y1" }, "pin2": { "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I5" + "pinName": "R1" }, - "path": [] + "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 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I4" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "RD" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I4" + "compName": "GUIsel2_4#0", + "pinName": "SA" }, + "name": "unnamedWire#35", "path": [ { - "x": 5.0, - "y": 60.0 + "x": 55.0, + "y": 210.0 }, { - "x": 5.0, - "y": 30.0 + "x": 55.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 220.0 + }, + { + "x": 25.0, + "y": 370.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I3" + "compName": "GUIsel2_4#0", + "pinName": "Y3" }, "pin2": { "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "I3" + "pinName": "R3" }, + "name": "unnamedWire#38", "path": [ { - "x": 15.0, - "y": 100.0 + "x": 87.5, + "y": 390.0 }, { - "x": 15.0, - "y": 40.0 + "x": 87.5, + "y": 157.5 + }, + { + "x": 25.0, + "y": 157.5 + }, + { + "x": 25.0, + "y": 80.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I2" + "compName": "GUIsel2_4#0", + "pinName": "Y2" }, "pin2": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "I2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R2" }, + "name": "unnamedWire#37", "path": [ { - "x": 5.0, - "y": 140.0 + "x": 85.0, + "y": 380.0 }, { - "x": 5.0, - "y": 170.0 + "x": 85.0, + "y": 160.0 + }, + { + "x": 22.5, + "y": 160.0 + }, + { + "x": 22.5, + "y": 70.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" - }, - "pin2": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "I1" - }, - "path": [] - }, - { - "pin1": { - "compName": "_submodelinterface", - "pinName": "I0" + "compName": "GUIsel2_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "I0" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "R4" }, + "name": "unnamedWire#39", "path": [ { - "x": 5.0, - "y": 220.0 + "x": 90.0, + "y": 400.0 }, { - "x": 5.0, - "y": 190.0 + "x": 90.0, + "y": 155.0 + }, + { + "x": 27.5, + "y": 155.0 + }, + { + "x": 27.5, + "y": 90.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "Cn" + "compName": "GUIsel3_4#0", + "pinName": "Y2" }, "pin2": { "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "Cn" + "pinName": "S2" }, + "name": "unnamedWire#41", "path": [ { - "x": 10.0, - "y": 260.0 + "x": 95.0, + "y": 590.0 }, { - "x": 10.0, - "y": 50.0 + "x": 95.0, + "y": 150.0 + }, + { + "x": 32.5, + "y": 150.0 + }, + { + "x": 32.5, + "y": 110.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "GUIsel3_4#0", + "pinName": "Y1" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A1" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S1" }, + "name": "unnamedWire#40", "path": [ { - "x": 15.0, - "y": 300.0 + "x": 92.5, + "y": 580.0 }, { - "x": 15.0, - "y": 390.0 + "x": 92.5, + "y": 152.5 + }, + { + "x": 30.0, + "y": 152.5 + }, + { + "x": 30.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D2" + "compName": "GUIsel3_4#0", + "pinName": "Y4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S4" }, + "name": "unnamedWire#43", "path": [ { - "x": 10.0, - "y": 340.0 + "x": 100.0, + "y": 610.0 }, { - "x": 10.0, - "y": 400.0 + "x": 100.0, + "y": 145.0 + }, + { + "x": 37.5, + "y": 145.0 + }, + { + "x": 37.5, + "y": 130.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "GUIsel3_4#0", + "pinName": "Y3" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "S3" }, + "name": "unnamedWire#42", "path": [ { - "x": 5.0, - "y": 380.0 + "x": 97.5, + "y": 600.0 }, { - "x": 5.0, - "y": 410.0 + "x": 97.5, + "y": 147.5 + }, + { + "x": 35.0, + "y": 147.5 + }, + { + "x": 35.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D4" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F2" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "A4" - }, - "path": [] - }, - { - "pin1": { "compName": "_submodelinterface", - "pinName": "A1" - }, - "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "pinName": "F2" }, - "path": [] + "name": "unnamedWire#45", + "path": [ + { + "x": 135.0, + "y": 30.0 + }, + { + "x": 135.0, + "y": 60.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F1" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "F1" }, + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F4" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "F4" }, - "path": [] + "name": "unnamedWire#47", + "path": [ + { + "x": 125.0, + "y": 50.0 + }, + { + "x": 125.0, + "y": 140.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "A4" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "F3" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "F3" }, - "path": [] + "name": "unnamedWire#46", + "path": [ + { + "x": 130.0, + "y": 40.0 + }, + { + "x": 130.0, + "y": 100.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "OVR" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B1" + "compName": "_submodelinterface", + "pinName": "OVR" }, + "name": "unnamedWire#49", "path": [ { - "x": 10.0, - "y": 430.0 + "x": 115.0, + "y": 70.0 + }, + { + "x": 115.0, + "y": 220.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "Cn+4" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "B2" + "compName": "_submodelinterface", + "pinName": "Cn+4" }, + "name": "unnamedWire#48", "path": [ { - "x": 15.0, - "y": 440.0 + "x": 120.0, + "y": 60.0 + }, + { + "x": 120.0, + "y": 180.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D3" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "B3" + "pinName": "A3" }, + "name": "unnamedWire#9", "path": [ { - "x": 20.0, - "y": 450.0 + "x": 5.0, + "y": 380.0 + }, + { + "x": 5.0, + "y": 410.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D2" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "B4" + "pinName": "A2" }, + "name": "unnamedWire#8", "path": [ { - "x": 25.0, - "y": 460.0 + "x": 10.0, + "y": 340.0 + }, + { + "x": 10.0, + "y": 400.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { - "compName": "GUIsel3_4#0", + "compName": "GUIsel2_4#0", "pinName": "A1" }, + "name": "unnamedWire#7", "path": [ { - "x": 10.0, - "y": 610.0 + "x": 15.0, + "y": 300.0 + }, + { + "x": 15.0, + "y": 390.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cn" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A2" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "Cn" }, + "name": "unnamedWire#6", "path": [ { - "x": 15.0, - "y": 620.0 + "x": 10.0, + "y": 260.0 + }, + { + "x": 10.0, + "y": 50.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A3" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "I4" }, + "name": "unnamedWire#1", "path": [ { - "x": 20.0, - "y": 630.0 + "x": 5.0, + "y": 60.0 + }, + { + "x": 5.0, + "y": 30.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I5" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "A4" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "I5" }, - "path": [ - { - "x": 25.0, - "y": 640.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B1" + "pinName": "I0" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B1" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "I0" }, + "name": "unnamedWire#5", "path": [ { "x": 5.0, - "y": 620.0 + "y": 220.0 }, { "x": 5.0, - "y": 650.0 + "y": 190.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B2" + "pinName": "D4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B2" + "compName": "GUIsel2_4#0", + "pinName": "A4" }, + "name": "unnamedWire#10", "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B3" + "pinName": "I1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B3" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "I1" + }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "I2" + }, + "pin2": { + "compName": "GUIAm2901SourceDecode#0", + "pinName": "I2" }, + "name": "unnamedWire#3", "path": [ { "x": 5.0, - "y": 700.0 + "y": 140.0 }, { "x": 5.0, - "y": 670.0 + "y": 170.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "B4" + "pinName": "A2" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "B4" + "compName": "WireCrossPoint#1", + "pinName": "" }, - "path": [ - { - "x": 10.0, - "y": 740.0 - }, - { - "x": 10.0, - "y": 680.0 - } - ] + "name": "unnamedWire#12", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Q1" + "pinName": "I3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C1" + "compName": "GUIAm2901ALUInclDecode#0", + "pinName": "I3" }, + "name": "unnamedWire#2", "path": [ { "x": 15.0, - "y": 780.0 + "y": 100.0 }, { "x": 15.0, - "y": 690.0 + "y": 40.0 } ] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Q2" + "pinName": "A1" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C2" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "path": [ - { - "x": 20.0, - "y": 820.0 - }, - { - "x": 20.0, - "y": 700.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Q3" + "pinName": "A4" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C3" + "compName": "WireCrossPoint#3", + "pinName": "" }, - "path": [ - { - "x": 25.0, - "y": 860.0 - }, - { - "x": 25.0, - "y": 710.0 - } - ] + "name": "unnamedWire#14", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "Q4" + "pinName": "A3" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "C4" + "compName": "WireCrossPoint#2", + "pinName": "" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#1", + "pinName": "" }, + "pin2": { + "compName": "GUIsel2_4#0", + "pinName": "B2" + }, + "name": "unnamedWire#16", "path": [ { - "x": 30.0, - "y": 900.0 - }, - { - "x": 30.0, - "y": 720.0 + "x": 15.0, + "y": 440.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SQ" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SC" + "compName": "GUIsel2_4#0", + "pinName": "B1" }, + "name": "unnamedWire#15", "path": [ { - "x": 75.0, - "y": 170.0 - }, - { - "x": 75.0, - "y": 240.0 - }, - { - "x": 30.0, - "y": 240.0 - }, - { - "x": 30.0, - "y": 600.0 + "x": 10.0, + "y": 430.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "RA" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { "compName": "GUIsel2_4#0", - "pinName": "SB" + "pinName": "B4" }, + "name": "unnamedWire#18", "path": [ { - "x": 70.0, - "y": 180.0 - }, - { - "x": 70.0, - "y": 235.0 - }, - { - "x": 20.0, - "y": 235.0 - }, - { - "x": 20.0, - "y": 380.0 + "x": 25.0, + "y": 460.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SB" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUIsel3_4#0", - "pinName": "SB" + "compName": "GUIsel2_4#0", + "pinName": "B3" }, + "name": "unnamedWire#17", "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 + "x": 20.0, + "y": 450.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "SA" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { "compName": "GUIsel3_4#0", - "pinName": "SA" + "pinName": "A1" }, + "name": "unnamedWire#19", "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 + "x": 10.0, + "y": 610.0 } ] }, { "pin1": { - "compName": "GUIAm2901SourceDecode#0", - "pinName": "RD" + "compName": "WireCrossPoint#2", + "pinName": "" }, "pin2": { - "compName": "GUIsel2_4#0", - "pinName": "SA" + "compName": "GUIsel3_4#0", + "pinName": "A3" }, + "name": "unnamedWire#21", "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 + "x": 20.0, + "y": 630.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y1" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R1" + "compName": "GUIsel3_4#0", + "pinName": "A2" }, + "name": "unnamedWire#20", "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 + "x": 15.0, + "y": 620.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "B1" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R2" + "compName": "GUIsel3_4#0", + "pinName": "B1" }, + "name": "unnamedWire#23", "path": [ { - "x": 85.0, - "y": 380.0 - }, - { - "x": 85.0, - "y": 160.0 - }, - { - "x": 22.5, - "y": 160.0 + "x": 5.0, + "y": 620.0 }, { - "x": 22.5, - "y": 70.0 + "x": 5.0, + "y": 650.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y3" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R3" + "compName": "GUIsel3_4#0", + "pinName": "A4" }, + "name": "unnamedWire#22", "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 + "y": 640.0 } ] }, { "pin1": { - "compName": "GUIsel2_4#0", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "B3" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "R4" + "compName": "GUIsel3_4#0", + "pinName": "B3" }, + "name": "unnamedWire#25", "path": [ { - "x": 90.0, - "y": 400.0 - }, - { - "x": 90.0, - "y": 155.0 - }, - { - "x": 27.5, - "y": 155.0 + "x": 5.0, + "y": 700.0 }, { - "x": 27.5, - "y": 90.0 + "x": 5.0, + "y": 670.0 } ] }, { "pin1": { + "compName": "_submodelinterface", + "pinName": "B2" + }, + "pin2": { "compName": "GUIsel3_4#0", - "pinName": "Y1" + "pinName": "B2" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "Q1" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S1" + "compName": "GUIsel3_4#0", + "pinName": "C1" }, + "name": "unnamedWire#27", "path": [ { - "x": 92.5, - "y": 580.0 - }, - { - "x": 92.5, - "y": 152.5 - }, - { - "x": 30.0, - "y": 152.5 + "x": 15.0, + "y": 780.0 }, { - "x": 30.0, - "y": 100.0 + "x": 15.0, + "y": 690.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y2" + "compName": "_submodelinterface", + "pinName": "B4" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S2" + "compName": "GUIsel3_4#0", + "pinName": "B4" }, + "name": "unnamedWire#26", "path": [ { - "x": 95.0, - "y": 590.0 - }, - { - "x": 95.0, - "y": 150.0 - }, - { - "x": 32.5, - "y": 150.0 + "x": 10.0, + "y": 740.0 }, { - "x": 32.5, - "y": 110.0 + "x": 10.0, + "y": 680.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y3" + "compName": "_submodelinterface", + "pinName": "Q3" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S3" + "compName": "GUIsel3_4#0", + "pinName": "C3" }, + "name": "unnamedWire#29", "path": [ { - "x": 97.5, - "y": 600.0 - }, - { - "x": 97.5, - "y": 147.5 - }, - { - "x": 35.0, - "y": 147.5 + "x": 25.0, + "y": 860.0 }, { - "x": 35.0, - "y": 120.0 + "x": 25.0, + "y": 710.0 } ] }, { "pin1": { - "compName": "GUIsel3_4#0", - "pinName": "Y4" + "compName": "_submodelinterface", + "pinName": "Q2" }, "pin2": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "S4" + "compName": "GUIsel3_4#0", + "pinName": "C2" }, + "name": "unnamedWire#28", "path": [ { - "x": 100.0, - "y": 610.0 - }, - { - "x": 100.0, - "y": 145.0 - }, - { - "x": 37.5, - "y": 145.0 + "x": 20.0, + "y": 820.0 }, { - "x": 37.5, - "y": 130.0 + "x": 20.0, + "y": 700.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F1" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "F1" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F2" + "pinName": "Q4" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F2" + "compName": "GUIsel3_4#0", + "pinName": "C4" }, + "name": "unnamedWire#30", "path": [ { - "x": 135.0, - "y": 30.0 + "x": 30.0, + "y": 900.0 }, { - "x": 135.0, - "y": 60.0 + "x": 30.0, + "y": 720.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F3" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "RA" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F3" + "compName": "GUIsel2_4#0", + "pinName": "SB" }, + "name": "unnamedWire#32", "path": [ { - "x": 130.0, - "y": 40.0 + "x": 70.0, + "y": 180.0 }, { - "x": 130.0, - "y": 100.0 + "x": 70.0, + "y": 235.0 + }, + { + "x": 20.0, + "y": 235.0 + }, + { + "x": 20.0, + "y": 380.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "F4" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "SQ" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "F4" + "compName": "GUIsel3_4#0", + "pinName": "SC" }, + "name": "unnamedWire#31", "path": [ { - "x": 125.0, - "y": 50.0 + "x": 75.0, + "y": 170.0 }, { - "x": 125.0, - "y": 140.0 + "x": 75.0, + "y": 240.0 + }, + { + "x": 30.0, + "y": 240.0 + }, + { + "x": 30.0, + "y": 600.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "Cn+4" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "SA" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Cn+4" + "compName": "GUIsel3_4#0", + "pinName": "SA" }, + "name": "unnamedWire#34", "path": [ { - "x": 120.0, - "y": 60.0 + "x": 60.0, + "y": 200.0 }, { - "x": 120.0, - "y": 180.0 + "x": 60.0, + "y": 225.0 + }, + { + "x": 40.0, + "y": 225.0 + }, + { + "x": 40.0, + "y": 580.0 } ] }, { "pin1": { - "compName": "GUIAm2901ALUInclDecode#0", - "pinName": "OVR" + "compName": "GUIAm2901SourceDecode#0", + "pinName": "SB" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "OVR" + "compName": "GUIsel3_4#0", + "pinName": "SB" }, + "name": "unnamedWire#33", "path": [ { - "x": 115.0, - "y": 70.0 + "x": 65.0, + "y": 190.0 }, { - "x": 115.0, - "y": 220.0 + "x": 65.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 230.0 + }, + { + "x": 35.0, + "y": 590.0 } ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 b6b05e1d..5abfdb5b 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUOneBit.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901ALUOneBit.json @@ -96,188 +96,242 @@ mograsim version: 0.1.3 "innerScale": 0.2, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 60.0, "y": 55.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 54.0, "y": 69.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 49.0, "y": 59.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "GUImux1", + "name": "GUImux1#0", "pos": { "x": 90.0, "y": 70.0 - }, - "id": "GUImux1", - "name": "GUImux1#0" + } }, { + "id": "GUIand", + "name": "GUIand#0", "pos": { "x": 10.0, "y": 20.0 - }, - "id": "GUIand", - "name": "GUIand#0" + } }, { + "id": "GUIxor", + "name": "GUIxor#1", "pos": { "x": 10.0, "y": 290.0 - }, - "id": "GUIxor", - "name": "GUIxor#1" + } }, { + "id": "GUIxor", + "name": "GUIxor#2", "pos": { "x": 135.0, "y": 70.0 - }, - "id": "GUIxor", - "name": "GUIxor#2" + } }, { + "id": "GUIfulladder", + "name": "GUIfulladder#0", "pos": { "x": 60.0, "y": 20.0 - }, - "id": "GUIfulladder", - "name": "GUIfulladder#0" + } }, { + "id": "GUIxor", + "name": "GUIxor#0", "pos": { "x": 10.0, "y": 190.0 - }, - "id": "GUIxor", - "name": "GUIxor#0" + } }, { + "id": "GUIand", + "name": "GUIand#1", "pos": { "x": 135.0, "y": 20.0 - }, - "id": "GUIand", - "name": "GUIand#1" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "Cin" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" + "compName": "GUIfulladder#0", + "pinName": "C" }, - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 55.0, + "y": 45.0 + } + ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "CoutE" + "compName": "GUIxor#1", + "pinName": "Y" }, "pin2": { - "compName": "GUIand#1", - "pinName": "A" + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#13", "path": [ { - "x": 5.0, - "y": 75.0 + "x": 55.0, + "y": 295.0 + } + ] + }, + { + "pin1": { + "compName": "GUIfulladder#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUImux1#0", + "pinName": "I0" + }, + "name": "unnamedWire#16", + "path": [ + { + "x": 100.0, + "y": 25.0 }, { - "x": 5.0, - "y": 10.0 + "x": 100.0, + "y": 65.0 }, { - "x": 130.0, - "y": 10.0 + "x": 85.0, + "y": 65.0 }, { - "x": 130.0, - "y": 25.0 + "x": 85.0, + "y": 85.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "CinE" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIand#0", + "compName": "GUINandGate#0", "pinName": "B" }, + "name": "unnamedWire#15", + "path": [] + }, + { + "pin1": { + "compName": "GUINandGate#0", + "pinName": "Y" + }, + "pin2": { + "compName": "GUImux1#0", + "pinName": "I1" + }, + "name": "unnamedWire#18", "path": [ { - "x": 7.5, - "y": 125.0 + "x": 82.5, + "y": 65.0 }, { - "x": 7.5, - "y": 35.0 + "x": 82.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "R" + "compName": "GUIfulladder#0", + "pinName": "Z" }, "pin2": { - "compName": "GUIxor#0", - "pinName": "A" - } + "compName": "GUIand#1", + "pinName": "B" + }, + "name": "unnamedWire#17", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "RN" + "compName": "GUImux1#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIxor#0", - "pinName": "B" - } + "compName": "GUIxor#2", + "pinName": "A" + }, + "name": "unnamedWire#19", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "S" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "GUIxor#1", + "compName": "GUIfulladder#0", "pinName": "A" - } + }, + "name": "unnamedWire#9", + "path": [] }, { "pin1": { "compName": "_submodelinterface", - "pinName": "SN" + "pinName": "L" }, "pin2": { - "compName": "GUIxor#1", - "pinName": "B" - } + "compName": "GUImux1#0", + "pinName": "S0" + }, + "name": "unnamedWire#8", + "path": [ + { + "x": 87.5, + "y": 425.0 + }, + { + "x": 87.5, + "y": 75.0 + } + ] }, { "pin1": { @@ -288,6 +342,7 @@ mograsim version: 0.1.3 "compName": "GUIxor#2", "pinName": "B" }, + "name": "unnamedWire#7", "path": [ { "x": 130.0, @@ -302,34 +357,66 @@ mograsim version: 0.1.3 { "pin1": { "compName": "_submodelinterface", - "pinName": "L" + "pinName": "SN" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "S0" + "compName": "GUIxor#1", + "pinName": "B" }, + "name": "unnamedWire#6" + }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "CoutE" + }, + "pin2": { + "compName": "GUIand#1", + "pinName": "A" + }, + "name": "unnamedWire#1", "path": [ { - "x": 87.5, - "y": 425.0 + "x": 5.0, + "y": 75.0 }, { - "x": 87.5, - "y": 75.0 + "x": 5.0, + "y": 10.0 + }, + { + "x": 130.0, + "y": 10.0 + }, + { + "x": 130.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "Cin" }, "pin2": { - "compName": "GUIfulladder#0", + "compName": "GUIand#0", "pinName": "A" }, + "name": "unnamedWire#0", "path": [] }, + { + "pin1": { + "compName": "_submodelinterface", + "pinName": "S" + }, + "pin2": { + "compName": "GUIxor#1", + "pinName": "A" + }, + "name": "unnamedWire#5" + }, { "pin1": { "compName": "GUIxor#0", @@ -339,6 +426,7 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#0", "pinName": "" }, + "name": "unnamedWire#10", "path": [ { "x": 50.0, @@ -348,174 +436,109 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUIxor#2", + "pinName": "Y" }, "pin2": { - "compName": "GUIfulladder#0", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "F" }, - "path": [ - { - "x": 50.0, - "y": 35.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "RN" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUIxor#0", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#4" }, { "pin1": { - "compName": "GUIxor#1", + "compName": "GUIand#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Cout" }, - "path": [ - { - "x": 55.0, - "y": 295.0 - } - ] + "name": "unnamedWire#20", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "R" }, "pin2": { - "compName": "GUIfulladder#0", - "pinName": "C" + "compName": "GUIxor#0", + "pinName": "A" }, - "path": [ - { - "x": 55.0, - "y": 45.0 - } - ] + "name": "unnamedWire#3" }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { "compName": "GUINandGate#0", - "pinName": "B" + "pinName": "A" }, + "name": "unnamedWire#12", "path": [] }, { "pin1": { - "compName": "GUIfulladder#0", - "pinName": "Y" + "compName": "_submodelinterface", + "pinName": "CinE" }, "pin2": { - "compName": "GUImux1#0", - "pinName": "I0" + "compName": "GUIand#0", + "pinName": "B" }, + "name": "unnamedWire#2", "path": [ { - "x": 100.0, - "y": 25.0 - }, - { - "x": 100.0, - "y": 65.0 - }, - { - "x": 85.0, - "y": 65.0 + "x": 7.5, + "y": 125.0 }, { - "x": 85.0, - "y": 85.0 + "x": 7.5, + "y": 35.0 } ] }, { "pin1": { - "compName": "GUIfulladder#0", - "pinName": "Z" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIand#1", + "compName": "GUIfulladder#0", "pinName": "B" }, - "path": [] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "GUImux1#0", - "pinName": "I1" - }, + "name": "unnamedWire#11", "path": [ { - "x": 82.5, - "y": 65.0 - }, - { - "x": 82.5, - "y": 95.0 + "x": 50.0, + "y": 35.0 } ] - }, - { - "pin1": { - "compName": "GUImux1#0", - "pinName": "Y" - }, - "pin2": { - "compName": "GUIxor#2", - "pinName": "A" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIand#1", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Cout" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIxor#2", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "F" - }, - "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901ALUOneBit", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ 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 d80d0806..150c0992 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901DestDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901DestDecode.json @@ -80,593 +80,652 @@ mograsim version: 0.1.3 "innerScale": 0.25, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 15.0, "y": 50.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { "x": 74.0, "y": 159.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 15.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { "x": 74.0, "y": 104.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 15.0, "y": 150.0 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 15.0, "y": 90.0 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { "x": 109.0, "y": 214.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 4.0, "y": 14.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 9.0, "y": 59.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 4.0, "y": 24.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 9.0, "y": 104.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 9.0, "y": 64.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 39.0, "y": 59.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 4.0, "y": 154.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { "x": 44.0, "y": 54.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { "x": 44.0, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { "x": 39.0, "y": 134.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 74.0, "y": 99.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { "x": 74.0, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#12", "pos": { "x": 115.0, "y": 210.0 }, - "id": "GUINandGate", - "name": "GUINandGate#12", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { "x": 110.0, "y": 105.0 }, - "id": "GUINandGate", - "name": "GUINandGate#11", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#10", "pos": { "x": 80.0, "y": 145.0 }, - "id": "GUINandGate", - "name": "GUINandGate#10", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { "x": 80.0, "y": 90.0 }, - "id": "GUINandGate", - "name": "GUINandGate#9", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { "x": 80.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#8", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { "x": 50.0, "y": 50.0 }, - "id": "GUINandGate", - "name": "GUINandGate#5", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { "x": 50.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { "x": 50.0, "y": 130.0 }, - "id": "GUINandGate", - "name": "GUINandGate#7", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { "x": 50.0, "y": 90.0 }, - "id": "GUINandGate", - "name": "GUINandGate#6", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "I8" + "compName": "WireCrossPoint#6", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#14", + "path": [ + { + "x": 5.0, + "y": 165.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#7", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "LSH" }, - "path": [] + "name": "unnamedWire#36", + "path": [ + { + "x": 125.0, + "y": 140.0 + }, + { + "x": 125.0, + "y": 180.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#3", + "pinName": "A" }, + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "A" + "compName": "GUINandGate#9", + "pinName": "B" }, + "name": "unnamedWire#35", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "WireCrossPoint#7", + "pinName": "" }, + "name": "unnamedWire#16", "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I7" + "compName": "GUINandGate#3", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#14", "pinName": "" }, + "name": "unnamedWire#38", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#4", "pinName": "A" }, + "name": "unnamedWire#15", "path": [ { - "x": 10.0, - "y": 55.0 + "x": 5.0, + "y": 5.0 + }, + { + "x": 40.0, + "y": 5.0 + }, + { + "x": 40.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#4", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#37", + "path": [ + { + "x": 75.0, + "y": 150.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#5", "pinName": "B" }, - "path": [] + "name": "unnamedWire#18", + "path": [ + { + "x": 40.0, + "y": 65.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#17", + "path": [ + { + "x": 40.0, + "y": 25.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#10", "pinName": "B" }, + "name": "unnamedWire#39", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "path": [ - { - "x": 5.0, - "y": 95.0 - } - ] + "name": "unnamedWire#19", + "path": [] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I6" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "A" }, + "name": "unnamedWire#41" + }, + { + "pin1": { + "compName": "GUINandGate#8", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "RSH" + }, + "name": "unnamedWire#40", "path": [ { - "x": 5.0, - "y": 100.0 + "x": 130.0, + "y": 20.0 + }, + { + "x": 130.0, + "y": 60.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "WireCrossPoint#9", + "pinName": "" }, + "name": "unnamedWire#21", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#15", + "pinName": "" }, + "name": "unnamedWire#43", "path": [ { - "x": 5.0, - "y": 165.0 + "x": 110.0, + "y": 155.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#8", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "NSH" }, + "name": "unnamedWire#20", "path": [ { - "x": 5.0, + "x": 45.0, "y": 5.0 }, { - "x": 40.0, + "x": 135.0, "y": 5.0 }, { - "x": 40.0, - "y": 15.0 + "x": 135.0, + "y": 20.0 } ] }, { "pin1": { - "compName": "GUINandGate#1", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#11", "pinName": "B" }, + "name": "unnamedWire#42", "path": [ { - "x": 40.0, - "y": 25.0 + "x": 75.0, + "y": 170.0 + }, + { + "x": 105.0, + "y": 170.0 + }, + { + "x": 105.0, + "y": 120.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", - "pinName": "B" + "compName": "GUINandGate#6", + "pinName": "A" }, + "name": "unnamedWire#23", "path": [ { - "x": 40.0, - "y": 65.0 + "x": 45.0, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#8", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "NSH" + "compName": "GUINandGate#12", + "pinName": "B" }, + "name": "unnamedWire#45", "path": [ { - "x": 45.0, - "y": 5.0 - }, - { - "x": 135.0, - "y": 5.0 - }, - { - "x": 135.0, - "y": 20.0 + "x": 110.0, + "y": 225.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#5", + "pinName": "A" }, + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#12", "pinName": "A" }, + "name": "unnamedWire#44", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#2", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "A" + "compName": "WireCrossPoint#10", + "pinName": "" }, + "name": "unnamedWire#25", "path": [ { - "x": 45.0, - "y": 95.0 + "x": 40.0, + "y": 100.0 } ] }, + { + "pin1": { + "compName": "GUINandGate#12", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "QWE" + }, + "name": "unnamedWire#47", + "path": [] + }, { "pin1": { "compName": "WireCrossPoint#5", @@ -676,6 +735,7 @@ mograsim version: 0.1.3 "compName": "GUINandGate#6", "pinName": "B" }, + "name": "unnamedWire#24", "path": [ { "x": 10.0, @@ -693,17 +753,29 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUINandGate#2", + "compName": "GUINandGate#11", "pinName": "Y" }, "pin2": { + "compName": "_submodelinterface", + "pinName": "YF" + }, + "name": "unnamedWire#46" + }, + { + "pin1": { "compName": "WireCrossPoint#10", "pinName": "" }, + "pin2": { + "compName": "GUINandGate#7", + "pinName": "B" + }, + "name": "unnamedWire#27", "path": [ { "x": 40.0, - "y": 100.0 + "y": 145.0 } ] }, @@ -716,21 +788,23 @@ mograsim version: 0.1.3 "compName": "GUINandGate#7", "pinName": "A" }, + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", - "pinName": "B" + "compName": "GUINandGate#8", + "pinName": "A" }, + "name": "unnamedWire#29", "path": [ { - "x": 40.0, - "y": 145.0 + "x": 75.0, + "y": 15.0 } ] }, @@ -743,293 +817,268 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#11", "pinName": "" }, + "name": "unnamedWire#28", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "A" + "compName": "WireCrossPoint#5", + "pinName": "" }, - "path": [ - { - "x": 75.0, - "y": 15.0 - } - ] + "name": "unnamedWire#9", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#1", "pinName": "B" }, - "path": [ - { - "x": 75.0, - "y": 25.0 - } - ] - }, - { - "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "RAMWE" - }, - "path": [ - { - "x": 125.0, - "y": 60.0 - }, - { - "x": 125.0, - "y": 100.0 - } - ] + "name": "unnamedWire#8", + "path": [] }, { "pin1": { - "compName": "GUINandGate#6", - "pinName": "Y" + "compName": "WireCrossPoint#3", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#4", "pinName": "" }, + "name": "unnamedWire#7", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#1", "pinName": "A" }, + "name": "unnamedWire#6", "path": [ { - "x": 75.0, - "y": 95.0 + "x": 10.0, + "y": 55.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#1", "pinName": "" }, + "name": "unnamedWire#1", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I8" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#0", "path": [] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "WireCrossPoint#11", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "LSH" + "compName": "GUINandGate#8", + "pinName": "B" }, + "name": "unnamedWire#30", "path": [ { - "x": 125.0, - "y": 140.0 - }, - { - "x": 125.0, - "y": 180.0 + "x": 75.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "_submodelinterface", + "pinName": "I7" + }, + "pin2": { + "compName": "WireCrossPoint#3", + "pinName": "" + }, + "name": "unnamedWire#5", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "A" + "compName": "GUINandGate#2", + "pinName": "B" }, - "path": [ - { - "x": 75.0, - "y": 150.0 - } - ] + "name": "unnamedWire#10", + "path": [] }, { "pin1": { - "compName": "GUINandGate#3", + "compName": "GUINandGate#6", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#12", "pinName": "" }, + "name": "unnamedWire#32", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#0", "pinName": "B" }, + "name": "unnamedWire#4", "path": [] }, { "pin1": { - "compName": "GUINandGate#8", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { "compName": "_submodelinterface", - "pinName": "RSH" + "pinName": "RAMWE" }, + "name": "unnamedWire#31", "path": [ { - "x": 130.0, - "y": 20.0 + "x": 125.0, + "y": 60.0 }, { - "x": 130.0, - "y": 60.0 + "x": 125.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "GUINandGate#9", - "pinName": "Y" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#0", "pinName": "A" - } + }, + "name": "unnamedWire#3", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I6" }, "pin2": { - "compName": "GUINandGate#11", - "pinName": "B" + "compName": "WireCrossPoint#6", + "pinName": "" }, + "name": "unnamedWire#12", "path": [ { - "x": 75.0, - "y": 170.0 - }, - { - "x": 105.0, - "y": 170.0 - }, - { - "x": 105.0, - "y": 120.0 + "x": 5.0, + "y": 100.0 } ] }, { "pin1": { - "compName": "GUINandGate#10", - "pinName": "Y" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#13", "pinName": "" }, - "path": [ - { - "x": 110.0, - "y": 155.0 - } - ] + "name": "unnamedWire#34", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "A" + "compName": "WireCrossPoint#2", + "pinName": "" }, + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "B" + "compName": "GUINandGate#2", + "pinName": "A" }, + "name": "unnamedWire#11", "path": [ { - "x": 110.0, - "y": 225.0 + "x": 5.0, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#11", - "pinName": "Y" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "YF" - } - }, - { - "pin1": { - "compName": "GUINandGate#12", - "pinName": "Y" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "QWE" + "compName": "GUINandGate#9", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#33", + "path": [ + { + "x": 75.0, + "y": 95.0 + } + ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901DestDecode", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901QReg.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901QReg.json index 6af804d7..0f8ba036 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901QReg.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901QReg.json @@ -88,141 +88,178 @@ mograsim version: 0.1.3 "innerScale": 0.4, "subComps": [ { + "id": "GUIdff", + "name": "GUIdff#1", "pos": { "x": 50.0, "y": 32.5 - }, - "id": "GUIdff", - "name": "GUIdff#1" + } }, { + "id": "GUIdff", + "name": "GUIdff#0", "pos": { "x": 50.0, "y": 7.5 - }, - "id": "GUIdff", - "name": "GUIdff#0" + } }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 41.5, "y": 36.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 41.5, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 41.5, "y": 61.5 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "GUIand", + "name": "GUIand#0", "pos": { "x": 5.0, "y": 15.0 - }, - "id": "GUIand", - "name": "GUIand#0" + } }, { + "id": "GUIdff", + "name": "GUIdff#3", "pos": { "x": 50.0, "y": 82.5 - }, - "id": "GUIdff", - "name": "GUIdff#3" + } }, { + "id": "GUIdff", + "name": "GUIdff#2", "pos": { "x": 50.0, "y": 57.5 - }, - "id": "GUIdff", - "name": "GUIdff#2" + } } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "C" + "compName": "GUIdff#1", + "pinName": "Q" }, "pin2": { - "compName": "GUIand#0", - "pinName": "A" - } + "compName": "_submodelinterface", + "pinName": "Q2" + }, + "name": "unnamedWire#14", + "path": [] }, { "pin1": { + "compName": "GUIdff#0", + "pinName": "Q" + }, + "pin2": { "compName": "_submodelinterface", - "pinName": "WE" + "pinName": "Q1" + }, + "name": "unnamedWire#13", + "path": [] + }, + { + "pin1": { + "compName": "GUIdff#3", + "pinName": "Q" }, "pin2": { - "compName": "GUIand#0", - "pinName": "B" - } + "compName": "_submodelinterface", + "pinName": "Q4" + }, + "name": "unnamedWire#16", + "path": [] }, { "pin1": { - "compName": "GUIand#0", - "pinName": "Y" + "compName": "GUIdff#2", + "pinName": "Q" }, "pin2": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "Q3" }, + "name": "unnamedWire#15", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "D1" }, "pin2": { "compName": "GUIdff#0", - "pinName": "C" + "pinName": "D" }, + "name": "unnamedWire#9", "path": [ { - "x": 42.5, - "y": 12.5 + "x": 17.5, + "y": 62.5 + }, + { + "x": 17.5, + "y": 42.5 + }, + { + "x": 45.0, + "y": 42.5 + }, + { + "x": 45.0, + "y": 22.5 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUIdff#3", + "pinName": "C" }, - "path": [] + "name": "unnamedWire#8", + "path": [ + { + "x": 42.5, + "y": 87.5 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUIdff#1", + "compName": "GUIdff#2", "pinName": "C" }, + "name": "unnamedWire#7", "path": [] }, { @@ -234,62 +271,42 @@ mograsim version: 0.1.3 "compName": "WireCrossPoint#2", "pinName": "" }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "WE" }, "pin2": { - "compName": "GUIdff#2", - "pinName": "C" + "compName": "GUIand#0", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#1" }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "C" }, "pin2": { - "compName": "GUIdff#3", - "pinName": "C" + "compName": "GUIand#0", + "pinName": "A" }, - "path": [ - { - "x": 42.5, - "y": 87.5 - } - ] + "name": "unnamedWire#0" }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D1" + "compName": "WireCrossPoint#1", + "pinName": "" }, "pin2": { - "compName": "GUIdff#0", - "pinName": "D" + "compName": "GUIdff#1", + "pinName": "C" }, - "path": [ - { - "x": 17.5, - "y": 62.5 - }, - { - "x": 17.5, - "y": 42.5 - }, - { - "x": 45.0, - "y": 42.5 - }, - { - "x": 45.0, - "y": 22.5 - } - ] + "name": "unnamedWire#5", + "path": [] }, { "pin1": { @@ -300,6 +317,7 @@ mograsim version: 0.1.3 "compName": "GUIdff#1", "pinName": "D" }, + "name": "unnamedWire#10", "path": [ { "x": 22.5, @@ -313,21 +331,30 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "D3" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "GUIdff#2", - "pinName": "D" + "compName": "WireCrossPoint#1", + "pinName": "" }, + "name": "unnamedWire#4", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#0", + "pinName": "" + }, + "pin2": { + "compName": "GUIdff#0", + "pinName": "C" + }, + "name": "unnamedWire#3", "path": [ { - "x": 27.5, - "y": 112.5 - }, - { - "x": 27.5, - "y": 72.5 + "x": 42.5, + "y": 12.5 } ] }, @@ -340,6 +367,7 @@ mograsim version: 0.1.3 "compName": "GUIdff#3", "pinName": "D" }, + "name": "unnamedWire#12", "path": [ { "x": 32.5, @@ -353,56 +381,97 @@ mograsim version: 0.1.3 }, { "pin1": { - "compName": "GUIdff#0", - "pinName": "Q" - }, - "pin2": { - "compName": "_submodelinterface", - "pinName": "Q1" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIdff#1", - "pinName": "Q" + "compName": "GUIand#0", + "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q2" + "compName": "WireCrossPoint#0", + "pinName": "" }, + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "GUIdff#2", - "pinName": "Q" - }, - "pin2": { "compName": "_submodelinterface", - "pinName": "Q3" - }, - "path": [] - }, - { - "pin1": { - "compName": "GUIdff#3", - "pinName": "Q" + "pinName": "D3" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "Q4" + "compName": "GUIdff#2", + "pinName": "D" }, - "path": [] + "name": "unnamedWire#11", + "path": [ + { + "x": 27.5, + "y": 112.5 + }, + { + "x": 27.5, + "y": 72.5 + } + ] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "GUIAm2901QReg", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer", + "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler", + "highLevelStateHandlerParams": { + "subcomponentHighLevelStates": {}, + "atomicHighLevelStates": { + "q1": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#0", + "subStateID": "q" + } + }, + "q2": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#1", + "subStateID": "q" + } + }, + "q": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler", + "params": { + "vectorPartTargets": [ + "q1", + "q2", + "q3", + "q4" + ], + "vectorPartLengthes": [ + 1, + 1, + 1, + 1 + ] + } + }, + "q3": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#2", + "subStateID": "q" + } + }, + "q4": { + "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", + "params": { + "delegateTarget": "GUIdff#3", + "subStateID": "q" + } + } + } } } \ No newline at end of file diff --git a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json index e36193d9..8c086bfe 100644 --- a/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json +++ b/net.mograsim.logic.model.editor/components/am2901/GUIAm2901SourceDecode.json @@ -72,1005 +72,1057 @@ mograsim version: 0.1.3 "innerScale": 0.25, "subComps": [ { + "id": "GUINandGate", + "name": "GUINandGate#1", "pos": { "x": 10.0, "y": 50.0 }, - "id": "GUINandGate", - "name": "GUINandGate#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#14", "pos": { "x": 94.0, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#14", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#0", "pos": { "x": 10.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#13", "pos": { "x": 64.0, "y": 139.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#13", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#3", "pos": { "x": 40.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#3", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#2", "pos": { "x": 10.0, "y": 90.0 }, - "id": "GUINandGate", - "name": "GUINandGate#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#15", "pos": { "x": 94.0, "y": 179.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#15", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#1", "pos": { "x": 6.5, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#1", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#0", "pos": { "x": 4.0, "y": 19.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#0", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#3", "pos": { "x": 6.5, "y": 59.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#3", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#2", "pos": { "x": 4.0, "y": 144.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#2", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#5", "pos": { "x": 6.5, "y": 104.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#5", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#4", "pos": { "x": 6.5, "y": 99.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#4", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#7", "pos": { "x": 34.0, "y": 59.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#7", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#6", "pos": { "x": 31.5, "y": 54.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#6", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#9", "pos": { "x": 34.0, "y": 134.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#9", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#8", "pos": { "x": 34.0, "y": 64.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#8", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#10", "pos": { "x": 36.5, "y": 99.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#10", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#12", "pos": { "x": 64.0, "y": 99.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#12", "params": 1 }, { + "id": "WireCrossPoint", + "name": "WireCrossPoint#11", "pos": { "x": 64.0, "y": 59.0 }, - "id": "WireCrossPoint", - "name": "WireCrossPoint#11", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#12", "pos": { "x": 70.0, "y": 170.0 }, - "id": "GUINandGate", - "name": "GUINandGate#12", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#11", "pos": { "x": 70.0, "y": 130.0 }, - "id": "GUINandGate", - "name": "GUINandGate#11", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#14", "pos": { "x": 100.0, "y": 170.0 }, - "id": "GUINandGate", - "name": "GUINandGate#14", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#13", "pos": { "x": 100.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#13", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#10", "pos": { "x": 70.0, "y": 90.0 }, - "id": "GUINandGate", - "name": "GUINandGate#10", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#9", "pos": { "x": 70.0, "y": 50.0 }, - "id": "GUINandGate", - "name": "GUINandGate#9", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#8", "pos": { "x": 70.0, "y": 10.0 }, - "id": "GUINandGate", - "name": "GUINandGate#8", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#5", "pos": { "x": 40.0, "y": 90.0 }, - "id": "GUINandGate", - "name": "GUINandGate#5", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#4", "pos": { "x": 40.0, "y": 50.0 }, - "id": "GUINandGate", - "name": "GUINandGate#4", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#7", "pos": { "x": 40.0, "y": 170.0 }, - "id": "GUINandGate", - "name": "GUINandGate#7", "params": 1 }, { + "id": "GUINandGate", + "name": "GUINandGate#6", "pos": { "x": 40.0, "y": 130.0 }, - "id": "GUINandGate", - "name": "GUINandGate#6", "params": 1 } ], "innerWires": [ { "pin1": { - "compName": "_submodelinterface", - "pinName": "I2" + "compName": "GUINandGate#6", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#13", "pinName": "" }, + "name": "unnamedWire#36", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#12", "pinName": "" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "A" + "compName": "GUINandGate#10", + "pinName": "B" }, + "name": "unnamedWire#35", "path": [ { - "x": 5.0, - "y": 5.0 - }, - { - "x": 35.0, - "y": 5.0 - }, - { - "x": 35.0, - "y": 15.0 + "x": 65.0, + "y": 105.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#1", - "pinName": "" + "compName": "GUINandGate#11", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#38", + "path": [ + { + "x": 65.0, + "y": 145.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "WireCrossPoint#13", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", + "compName": "GUINandGate#11", "pinName": "A" }, + "name": "unnamedWire#37", "path": [ { - "x": 7.5, - "y": 15.0 + "x": 65.0, + "y": 135.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#1", + "compName": "GUINandGate#7", + "pinName": "Y" + }, + "pin2": { + "compName": "GUINandGate#12", + "pinName": "A" + }, + "name": "unnamedWire#39" + }, + { + "pin1": { + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#0", - "pinName": "B" + "compName": "GUINandGate#13", + "pinName": "A" }, + "name": "unnamedWire#41", "path": [ { - "x": 7.5, - "y": 25.0 + "x": 95.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#0", - "pinName": "" + "compName": "GUINandGate#8", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#14", "pinName": "" }, + "name": "unnamedWire#40", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", - "pinName": "" + "compName": "GUINandGate#9", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#6", - "pinName": "B" + "compName": "_submodelinterface", + "pinName": "RA" }, + "name": "unnamedWire#43", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#2", + "compName": "WireCrossPoint#14", "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#13", "pinName": "B" }, + "name": "unnamedWire#42", "path": [ { - "x": 5.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 195.0 - }, - { - "x": 65.0, - "y": 185.0 + "x": 95.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I1" + "compName": "GUINandGate#11", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "SA" }, + "name": "unnamedWire#45", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", - "pinName": "" + "compName": "GUINandGate#10", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "A" + "compName": "_submodelinterface", + "pinName": "SB" }, - "path": [ - { - "x": 7.5, - "y": 55.0 - } - ] + "name": "unnamedWire#44", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#3", + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUINandGate#1", - "pinName": "B" + "compName": "GUINandGate#14", + "pinName": "A" }, + "name": "unnamedWire#47", "path": [ { - "x": 7.5, - "y": 65.0 + "x": 95.0, + "y": 175.0 } ] }, { "pin1": { - "compName": "_submodelinterface", - "pinName": "I0" + "compName": "GUINandGate#12", + "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#15", "pinName": "" }, + "name": "unnamedWire#46", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "GUINandGate#13", + "pinName": "Y" + }, + "pin2": { + "compName": "_submodelinterface", + "pinName": "SQ" + }, + "name": "unnamedWire#49", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#15", "pinName": "" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "A" + "compName": "GUINandGate#14", + "pinName": "B" }, + "name": "unnamedWire#48", "path": [ { - "x": 7.5, - "y": 95.0 + "x": 95.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#4", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "GUINandGate#1", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#9", + "path": [ + { + "x": 7.5, + "y": 55.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#5", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I1" }, "pin2": { - "compName": "GUINandGate#2", - "pinName": "B" + "compName": "WireCrossPoint#3", + "pinName": "" }, + "name": "unnamedWire#8", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#5", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#12", "pinName": "B" }, + "name": "unnamedWire#7", "path": [ { - "x": 7.5, - "y": 112.5 + "x": 5.0, + "y": 195.0 }, { - "x": 32.5, - "y": 112.5 + "x": 65.0, + "y": 195.0 }, { - "x": 32.5, - "y": 105.0 - } - ] - }, - { - "pin1": { - "compName": "GUINandGate#0", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#6", - "pinName": "" - }, - "path": [ - { - "x": 32.5, - "y": 20.0 + "x": 65.0, + "y": 185.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#2", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", - "pinName": "A" + "compName": "GUINandGate#6", + "pinName": "B" }, + "name": "unnamedWire#6", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#6", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "GUINandGate#5", + "compName": "GUINandGate#3", "pinName": "A" }, + "name": "unnamedWire#1", "path": [ { - "x": 32.5, - "y": 95.0 + "x": 5.0, + "y": 5.0 + }, + { + "x": 35.0, + "y": 5.0 + }, + { + "x": 35.0, + "y": 15.0 } ] }, { "pin1": { - "compName": "GUINandGate#1", + "compName": "GUINandGate#14", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "RD" }, + "name": "unnamedWire#50", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I2" }, "pin2": { - "compName": "GUINandGate#3", - "pinName": "B" + "compName": "WireCrossPoint#0", + "pinName": "" }, - "path": [ - { - "x": 35.0, - "y": 25.0 - } - ] + "name": "unnamedWire#0", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#7", + "compName": "WireCrossPoint#0", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#2", "pinName": "" }, + "name": "unnamedWire#5", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#3", "pinName": "" }, "pin2": { - "compName": "GUINandGate#4", + "compName": "GUINandGate#1", "pinName": "B" }, - "path": [] + "name": "unnamedWire#10", + "path": [ + { + "x": 7.5, + "y": 65.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#8", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#9", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#4", + "path": [ + { + "x": 7.5, + "y": 25.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#1", "pinName": "" }, "pin2": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#0", "pinName": "A" }, - "path": [] + "name": "unnamedWire#3", + "path": [ + { + "x": 7.5, + "y": 15.0 + } + ] }, { "pin1": { - "compName": "WireCrossPoint#9", + "compName": "WireCrossPoint#4", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#2", "pinName": "A" }, + "name": "unnamedWire#12", "path": [ { - "x": 35.0, - "y": 175.0 + "x": 7.5, + "y": 95.0 } ] }, { "pin1": { - "compName": "GUINandGate#2", - "pinName": "Y" + "compName": "WireCrossPoint#0", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#1", "pinName": "" }, + "name": "unnamedWire#2", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", - "pinName": "" + "compName": "_submodelinterface", + "pinName": "I0" }, "pin2": { - "compName": "GUINandGate#8", - "pinName": "B" + "compName": "WireCrossPoint#4", + "pinName": "" }, - "path": [ - { - "x": 37.5, - "y": 35.0 - }, - { - "x": 65.0, - "y": 35.0 - }, - { - "x": 65.0, - "y": 25.0 - } - ] + "name": "unnamedWire#11", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#10", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#7", + "compName": "GUINandGate#2", "pinName": "B" }, - "path": [ - { - "x": 37.5, - "y": 185.0 - } - ] - }, - { - "pin1": { - "compName": "GUINandGate#3", - "pinName": "Y" - }, - "pin2": { - "compName": "GUINandGate#8", - "pinName": "A" - } + "name": "unnamedWire#14", + "path": [] }, { "pin1": { - "compName": "GUINandGate#4", - "pinName": "Y" + "compName": "WireCrossPoint#4", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#5", "pinName": "" }, + "name": "unnamedWire#13", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#11", - "pinName": "" + "compName": "GUINandGate#0", + "pinName": "Y" }, "pin2": { - "compName": "GUINandGate#9", - "pinName": "A" + "compName": "WireCrossPoint#6", + "pinName": "" }, + "name": "unnamedWire#16", "path": [ { - "x": 65.0, - "y": 55.0 + "x": 32.5, + "y": 20.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#11", + "compName": "WireCrossPoint#5", "pinName": "" }, "pin2": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#5", "pinName": "B" }, + "name": "unnamedWire#15", "path": [ { - "x": 65.0, - "y": 65.0 + "x": 7.5, + "y": 112.5 + }, + { + "x": 32.5, + "y": 112.5 + }, + { + "x": 32.5, + "y": 105.0 } ] }, { "pin1": { - "compName": "GUINandGate#5", - "pinName": "Y" - }, - "pin2": { - "compName": "WireCrossPoint#12", - "pinName": "" - }, - "path": [] - }, - { - "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#5", "pinName": "A" }, + "name": "unnamedWire#18", "path": [ { - "x": 65.0, + "x": 32.5, "y": 95.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#12", + "compName": "WireCrossPoint#6", "pinName": "" }, "pin2": { - "compName": "GUINandGate#10", - "pinName": "B" + "compName": "GUINandGate#4", + "pinName": "A" }, - "path": [ - { - "x": 65.0, - "y": 105.0 - } - ] + "name": "unnamedWire#17", + "path": [] }, { "pin1": { - "compName": "GUINandGate#6", + "compName": "GUINandGate#1", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#7", "pinName": "" }, + "name": "unnamedWire#19", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", - "pinName": "A" + "compName": "WireCrossPoint#8", + "pinName": "" }, - "path": [ - { - "x": 65.0, - "y": 135.0 - } - ] + "name": "unnamedWire#21", + "path": [] }, { "pin1": { - "compName": "WireCrossPoint#13", + "compName": "WireCrossPoint#7", "pinName": "" }, "pin2": { - "compName": "GUINandGate#11", + "compName": "GUINandGate#3", "pinName": "B" }, + "name": "unnamedWire#20", "path": [ { - "x": 65.0, - "y": 145.0 + "x": 35.0, + "y": 25.0 } ] }, { "pin1": { - "compName": "GUINandGate#7", - "pinName": "Y" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "GUINandGate#12", - "pinName": "A" - } + "compName": "WireCrossPoint#9", + "pinName": "" + }, + "name": "unnamedWire#23", + "path": [] }, { "pin1": { - "compName": "GUINandGate#8", - "pinName": "Y" + "compName": "WireCrossPoint#8", + "pinName": "" }, "pin2": { - "compName": "WireCrossPoint#14", - "pinName": "" + "compName": "GUINandGate#4", + "pinName": "B" }, + "name": "unnamedWire#22", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUINandGate#13", + "compName": "GUINandGate#7", "pinName": "A" }, + "name": "unnamedWire#25", "path": [ { - "x": 95.0, - "y": 15.0 + "x": 35.0, + "y": 175.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#14", + "compName": "WireCrossPoint#9", "pinName": "" }, "pin2": { - "compName": "GUINandGate#13", + "compName": "GUINandGate#6", + "pinName": "A" + }, + "name": "unnamedWire#24", + "path": [] + }, + { + "pin1": { + "compName": "WireCrossPoint#10", + "pinName": "" + }, + "pin2": { + "compName": "GUINandGate#8", "pinName": "B" }, + "name": "unnamedWire#27", "path": [ { - "x": 95.0, + "x": 37.5, + "y": 35.0 + }, + { + "x": 65.0, + "y": 35.0 + }, + { + "x": 65.0, "y": 25.0 } ] }, { "pin1": { - "compName": "GUINandGate#9", + "compName": "GUINandGate#2", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RA" + "compName": "WireCrossPoint#10", + "pinName": "" }, + "name": "unnamedWire#26", "path": [] }, { "pin1": { - "compName": "GUINandGate#10", + "compName": "GUINandGate#3", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SB" + "compName": "GUINandGate#8", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#29" }, { "pin1": { - "compName": "GUINandGate#11", - "pinName": "Y" + "compName": "WireCrossPoint#10", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SA" + "compName": "GUINandGate#7", + "pinName": "B" }, - "path": [] + "name": "unnamedWire#28", + "path": [ + { + "x": 37.5, + "y": 185.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#12", + "compName": "GUINandGate#4", "pinName": "Y" }, "pin2": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#11", "pinName": "" }, + "name": "unnamedWire#30", "path": [] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#14", - "pinName": "A" + "compName": "GUINandGate#9", + "pinName": "B" }, + "name": "unnamedWire#32", "path": [ { - "x": 95.0, - "y": 175.0 + "x": 65.0, + "y": 65.0 } ] }, { "pin1": { - "compName": "WireCrossPoint#15", + "compName": "WireCrossPoint#11", "pinName": "" }, "pin2": { - "compName": "GUINandGate#14", - "pinName": "B" + "compName": "GUINandGate#9", + "pinName": "A" }, + "name": "unnamedWire#31", "path": [ { - "x": 95.0, - "y": 185.0 + "x": 65.0, + "y": 55.0 } ] }, { "pin1": { - "compName": "GUINandGate#13", - "pinName": "Y" + "compName": "WireCrossPoint#12", + "pinName": "" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "SQ" + "compName": "GUINandGate#10", + "pinName": "A" }, - "path": [] + "name": "unnamedWire#34", + "path": [ + { + "x": 65.0, + "y": 95.0 + } + ] }, { "pin1": { - "compName": "GUINandGate#14", + "compName": "GUINandGate#5", "pinName": "Y" }, "pin2": { - "compName": "_submodelinterface", - "pinName": "RD" + "compName": "WireCrossPoint#12", + "pinName": "" }, + "name": "unnamedWire#33", "path": [] } ] }, - "symbolRendererSnippetID": "SimpleRectangularLikeSymbolRenderer", + "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer", "symbolRendererParams": { "centerText": "Am2901SourceDecode", - "horizontalComponentCenter": 17.5, "centerTextHeight": 5.0, + "horizontalComponentCenter": 17.5, "pinLabelHeight": 3.5, "pinLabelMargin": 0.5 - } + }, + "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer" } \ No newline at end of file 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 96aad40a..3d22b9cf 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 @@ -8,6 +8,7 @@ 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.SubmodelComponentSerializer; public class SaveLoadManager @@ -47,12 +48,14 @@ public class SaveLoadManager { try { - SubmodelComponentSerializer.serialize(editor.toBeEdited, c -> + IdentifierGetter idGetter = new IdentifierGetter(); + idGetter.componentIDs = c -> { if (Editor.identifierPerComponent.containsKey(c)) return Editor.identifierPerComponent.get(c); return "class:" + c.getClass().getCanonicalName(); - }, savePath); + }; + SubmodelComponentSerializer.serialize(editor.toBeEdited, idGetter, savePath); } catch (IOException e) { diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/ComponentHandle.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/ComponentHandle.java index d2bff5fc..c3afb701 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/ComponentHandle.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/ComponentHandle.java @@ -11,6 +11,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.editor.Editor; import net.mograsim.logic.model.editor.Editor.ComponentInfo; import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; public class ComponentHandle extends Handle { @@ -85,7 +86,7 @@ public class ComponentHandle extends Handle public Optional reqCopy(Point refPoint) { return Optional.of(new ComponentInfo(parent.getPosX() - refPoint.x, parent.getPosY() - refPoint.y, Editor.getIdentifier(parent), - parent.getParamsForSerializing())); + parent.getParamsForSerializing(new IdentifierGetter()))); } @Override diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java index 7e231607..7fe6e432 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/handles/HandleManager.java @@ -17,6 +17,7 @@ import net.mograsim.logic.model.editor.Editor; import net.mograsim.logic.model.editor.states.EditorState; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; +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; @@ -86,7 +87,7 @@ public class HandleManager ViewModelModifiable model = editor.getSubmodel(); Map compsByName = model.getComponentsByName(); Set comps = new HashSet<>(compsByName.values()); - GUIComponent interfaceComp = compsByName.get("_submodelinterface"); + GUIComponent interfaceComp = compsByName.get(SubmodelComponent.SUBMODEL_INTERFACE_NAME); comps.remove(interfaceComp); registerInterfaceComponent(interfaceComp); comps.forEach(c -> registerComponent(c)); @@ -342,6 +343,7 @@ public class HandleManager { EditorState entryState = editor.stateManager.getState(); + // TODO: As soon as wires connected to a component being removed also are removed, change priority if (!cornerHandle.click(clicked.x, clicked.y, stateMask, entryState)) if (!click(handlePerPin.values(), clicked, entryState, stateMask)) if (!click(handlePerInterfacePin.values(), clicked, entryState, stateMask)) diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java index 9aa80565..2c82d133 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java @@ -163,7 +163,8 @@ public class LogicUICanvas extends ZoomableCanvas private void addComponentSelectorItems(List componentsByItemIndex, String base, Combo componentSelector, ViewModel model) { - for (GUIComponent c : model.getComponentsByName().values()) + model.getComponentsByName().values().stream().sorted((c1, c2) -> c1.name.compareTo(c2.name)).forEach(c -> + { if (!(c instanceof WireCrossPoint || c instanceof SubmodelInterface)) { String item = base + c.name; @@ -172,6 +173,6 @@ public class LogicUICanvas extends ZoomableCanvas if (c instanceof SubmodelComponent) addComponentSelectorItems(componentsByItemIndex, item + " -> ", componentSelector, ((SubmodelComponent) c).submodel); } + }); } - } \ No newline at end of file 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 55d0d729..d9dbdc4a 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 @@ -10,7 +10,16 @@ public class ViewModelModifiable extends ViewModel public String getDefaultComponentName(GUIComponent component) { Set componentNames = getComponentsByName().keySet(); - String nameBase = component.getClass().getSimpleName() + '#'; + // TODO get the ID of component^^ + // The following does not work because this code is called in the constructor of DeserializedSubmodelComponent at a time where + // idForSerializingOverride is not yet set +// String componentID = null; +// if (component instanceof DeserializedSubmodelComponent) +// componentID = ((DeserializedSubmodelComponent) component).idForSerializingOverride; +// if (componentID == null) +// componentID = component.getClass().getSimpleName(); + String componentID = component.getClass().getSimpleName(); + String nameBase = componentID + '#'; for (int i = 0;; i++) { String nameCandidate = nameBase + i; diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java index 1cf7460f..85b1e5a0 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java @@ -14,6 +14,8 @@ 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.wires.Pin; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.serializing.JSONSerializable; import net.mograsim.logic.model.snippets.HighLevelStateHandler; /** @@ -24,7 +26,7 @@ import net.mograsim.logic.model.snippets.HighLevelStateHandler; * * @author Daniel Kirschten */ -public abstract class GUIComponent +public abstract class GUIComponent implements JSONSerializable { /** * The model this component is a part of. @@ -159,6 +161,11 @@ public abstract class GUIComponent this.highLevelStateHandler = highLevelStateHandler; } + public HighLevelStateHandler getHighLevelStateHandler() + { + return highLevelStateHandler; + } + /** * Gets the current value of the given high-level state.
* See {@link HighLevelStateHandler} for an explanation of high-level state IDs. @@ -287,8 +294,8 @@ public abstract class GUIComponent // serializing - @SuppressWarnings("static-method") // this method is intended to be overridden - public JsonElement getParamsForSerializing() + @Override + public JsonElement getParamsForSerializing(IdentifierGetter idGetter) { return JsonNull.INSTANCE; } 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 b14aaec4..ef7d0101 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.serializing.IdentifierGetter; import net.mograsim.preferences.Preferences; public class SimpleRectangularGUIGate extends GUIComponent @@ -94,7 +95,7 @@ public class SimpleRectangularGUIGate extends GUIComponent * @see GUIComponent#getParamsForSerializing() */ @Override - public JsonElement getParamsForSerializing() + public JsonElement getParamsForSerializing(IdentifierGetter idGetter) { return new JsonPrimitive(logicWidth); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java index 4429b0e3..ec91151d 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java @@ -12,6 +12,7 @@ import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.model.modeladapter.componentadapters.NoLogicAdapter; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.preferences.Preferences; @@ -49,7 +50,7 @@ public class TextComponent extends GUIComponent // serializing @Override - public JsonElement getParamsForSerializing() + public JsonElement getParamsForSerializing(IdentifierGetter idGetter) { return new JsonPrimitive(text); } 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 c04e7ae5..041a41e2 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 @@ -47,7 +47,7 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent SimpleRectangularLikeParams rendererParams = new SimpleRectangularLikeParams(); rendererParams.centerText = label; rendererParams.centerTextHeight = labelFontHeight; - rendererParams.horizontalComponentCenter = getWidth() / 2; + rendererParams.horizontalComponentCenter = width / 2; rendererParams.pinLabelHeight = pinNameFontHeight; rendererParams.pinLabelMargin = pinNameMargin; setSymbolRenderer(new SimpleRectangularLikeSymbolRenderer(this, rendererParams)); 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 4c1fec7a..45c36bfb 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 @@ -295,7 +295,7 @@ public abstract class SubmodelComponent extends GUIComponent * * @author Daniel Kirschten */ - protected Renderer getSymbolRenderer() + public Renderer getSymbolRenderer() { return symbolRenderer; } @@ -316,7 +316,7 @@ public abstract class SubmodelComponent extends GUIComponent * * @author Daniel Kirschten */ - protected Renderer getOutlineRenderer() + public Renderer getOutlineRenderer() { return outlineRenderer; } 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 f7150a2a..49faee9c 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 @@ -10,6 +10,7 @@ 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.serializing.IdentifierGetter; import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.preferences.ColorDefinition; import net.mograsim.preferences.ColorManager; @@ -115,7 +116,7 @@ public class WireCrossPoint extends GUIComponent // serializing @Override - public JsonElement getParamsForSerializing() + public JsonElement getParamsForSerializing(IdentifierGetter idGetter) { return new JsonPrimitive(pin.logicWidth); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java index 8d0016cc..f765afba 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java @@ -81,12 +81,5 @@ public class DeserializedSubmodelComponent extends SubmodelComponent super.removeSubmodelInterface(name); } - // TODO only used in EditorCanvas. Replace with setting maxVisibleRegionFillRatioForAlpha0 / min...1. - @Override - public Renderer getOutlineRenderer() - { - return super.getOutlineRenderer(); - } - // TODO static initializer? } \ No newline at end of file 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 new file mode 100644 index 00000000..f1bb5f0b --- /dev/null +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IdentifierGetter.java @@ -0,0 +1,36 @@ +package net.mograsim.logic.model.serializing; + +import java.util.function.Function; + +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.snippets.HighLevelStateHandler; +import net.mograsim.logic.model.snippets.Renderer; +import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.AtomicHighLevelStateHandler; +import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.SubcomponentHighLevelStateHandler; + +//TODO better name +public class IdentifierGetter +{ + // TODO save IDs for everything than can be deserialized / serialized (=every JSONSerializable?) + public Function componentIDs; + public Function symbolRendererIDs; + public Function outlineRendererIDs; + public Function highLevelStateHandlerIDs; + public Function subcomponentHighLevelStateHandlerIDs; + 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. + */ + 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; + } +} \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectGUIComponentCreator.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectGUIComponentCreator.java index 6513f3dd..f97b9019 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectGUIComponentCreator.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectGUIComponentCreator.java @@ -3,7 +3,6 @@ package net.mograsim.logic.model.serializing; import java.io.IOException; import java.io.InputStream; import java.io.UncheckedIOException; -import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -57,7 +56,7 @@ public class IndirectGUIComponentCreator standardComponentIDs.put(standardComponentID, associatedComponentID); } - public static Collection getStandardComponentIDs() + public static Set getStandardComponentIDs() { return standardComponentIDSetUnmodifiable; } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/JSONSerializable.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/JSONSerializable.java new file mode 100644 index 00000000..f40807dd --- /dev/null +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/JSONSerializable.java @@ -0,0 +1,15 @@ +package net.mograsim.logic.model.serializing; + +import com.google.gson.JsonElement; + +import net.mograsim.logic.model.util.JsonHandler; + +public interface JSONSerializable +{ + public Object getParamsForSerializing(IdentifierGetter idGetter); + + public default JsonElement getParamsForSerializingJSON(IdentifierGetter idGetter) + { + return JsonHandler.toJsonTree(getParamsForSerializing(idGetter)); + } +} \ 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 3701d9c2..077c591a 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 @@ -6,13 +6,11 @@ import java.util.HashMap; import java.util.Map; import java.util.function.Function; -import com.google.gson.Gson; import com.google.gson.JsonElement; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.logic.model.model.components.GUIComponent; -import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; 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; @@ -22,8 +20,9 @@ import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelPara import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerComponentParams; import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams; import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams.InnerPinParams; +import net.mograsim.logic.model.snippets.HighLevelStateHandler; +import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; -import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer.SimpleRectangularLikeParams; import net.mograsim.logic.model.util.JsonHandler; /** @@ -134,20 +133,20 @@ public final class SubmodelComponentSerializer * * @author Daniel Kirschten */ - public static void serialize(SubmodelComponent comp, Function getIdentifier, String targetPath) throws IOException + public static void serialize(SubmodelComponent comp, IdentifierGetter idGetter, String targetPath) throws IOException { - JsonHandler.writeJson(serialize(comp, getIdentifier), targetPath); + JsonHandler.writeJson(serialize(comp, idGetter), targetPath); } /** - * {@link #serialize(SubmodelComponent, Function)} using "class:" concatenated with a component's complete (canonical) - * class name for the ID of a component. + * {@link #serialize(SubmodelComponent, Function)} using a default {@link IdentifierGetter} (see IdentifierGetter's + * {@link IdentifierGetter#IdentifierGetter() default constructor}) * * @author Daniel Kirschten */ public static SubmodelComponentParams serialize(SubmodelComponent comp) { - return serialize(comp, c -> "class:" + c.getClass().getCanonicalName()); + return serialize(comp, new IdentifierGetter()); } // "core" methods @@ -170,12 +169,6 @@ public final class SubmodelComponentSerializer DeserializedSubmodelComponent comp = new DeserializedSubmodelComponent(model, name, idForSerializingOverride, paramsForSerializingOverride); comp.setSubmodelScale(params.submodel.innerScale); - comp.setSymbolRenderer(SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getSnippetSupplier(params.symbolRendererSnippetID) - .create(comp, params.symbolRendererParams)); - comp.setOutlineRenderer(SubmodelComponentSnippetSuppliers.outlineRendererSupplier - .getSnippetSupplier(params.outlineRendererSnippetID).create(comp, params.outlineRendererParams)); - comp.setHighLevelStateHandler(SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier - .getSnippetSupplier(params.highLevelStateHandlerSnippetID).create(comp, params.highLevelStateHandlerParams)); comp.setSize(params.width, params.height); for (InterfacePinParams iPinParams : params.interfacePins) comp.addSubmodelInterface( @@ -197,6 +190,12 @@ public final class SubmodelComponentSerializer new GUIWire(submodelModifiable, innerWire.name, componentsByName.get(innerWire.pin1.compName).getPin(innerWire.pin1.pinName), componentsByName.get(innerWire.pin2.compName).getPin(innerWire.pin2.pinName), innerWire.path); } + comp.setSymbolRenderer(SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getSnippetSupplier(params.symbolRendererSnippetID) + .create(comp, params.symbolRendererParams)); + comp.setOutlineRenderer(SubmodelComponentSnippetSuppliers.outlineRendererSupplier + .getSnippetSupplier(params.outlineRendererSnippetID).create(comp, params.outlineRendererParams)); + comp.setHighLevelStateHandler(SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier + .getSnippetSupplier(params.highLevelStateHandlerSnippetID).create(comp, params.highLevelStateHandlerParams)); return comp; } @@ -209,13 +208,15 @@ public final class SubmodelComponentSerializer * component's {@link DeserializedSubmodelComponent#paramsForSerializingOverride paramsForSerializingOverride} are written.
* If this case doesn't apply (e.g. if the subcomponent is not a SubmodelComponent; or it is a * SubmodelComponent, but hasn't been deserialized; or it has no - * {@link DeserializedSubmodelComponent#idForSerializingOverride idForSerializingOverride} set), the ID returned by - * getIdentifier and the params obtained by {@link GUIComponent#getParamsForSerializing() getParams()} are written. + * {@link DeserializedSubmodelComponent#idForSerializingOverride idForSerializingOverride} set), the ID defined by idGetter + * and the params obtained by {@link GUIComponent#getParamsForSerializing() getParams()} are written.
+ * CodeSnippets are serialized using the ID defined by idGetter and the params obtained by the respective + * getParamsForSerializing methods ({@link Renderer#getParamsForSerializing()}). * * @author Fabian Stemmler * @author Daniel Kirschten */ - public static SubmodelComponentParams serialize(SubmodelComponent comp, Function getIdentifier) + public static SubmodelComponentParams serialize(SubmodelComponent comp, IdentifierGetter idGetter) { SubmodelParameters submodelParams = new SubmodelParameters(); submodelParams.innerScale = comp.getSubmodelScale(); @@ -237,8 +238,8 @@ public final class SubmodelComponentSerializer innerComponentParams.params = innerCompCasted.paramsForSerializingOverride; } else { - innerComponentParams.id = getIdentifier.apply(innerComponent); - innerComponentParams.params = innerComponent.getParamsForSerializing(); + innerComponentParams.id = idGetter.componentIDs.apply(innerComponent); + innerComponentParams.params = innerComponent.getParamsForSerializing(idGetter); } innerComponentParams.name = innerComponent.name; i1++; @@ -285,20 +286,25 @@ public final class SubmodelComponentSerializer } params.interfacePins = iPins; - // TODO This code does not belong here - if (comp instanceof SimpleRectangularSubmodelComponent) + Renderer symbolRenderer = comp.getSymbolRenderer(); + if (symbolRenderer != null) { - SimpleRectangularSubmodelComponent compCasted = (SimpleRectangularSubmodelComponent) comp; + params.symbolRendererSnippetID = idGetter.symbolRendererIDs.apply(symbolRenderer); + params.symbolRendererParams = symbolRenderer.getParamsForSerializingJSON(idGetter); + } - SimpleRectangularLikeParams symbolRendererParams = new SimpleRectangularLikeParams(); - symbolRendererParams.centerText = compCasted.label; - symbolRendererParams.centerTextHeight = SimpleRectangularSubmodelComponent.labelFontHeight; - symbolRendererParams.horizontalComponentCenter = compCasted.getWidth() / 2; - symbolRendererParams.pinLabelHeight = SimpleRectangularSubmodelComponent.pinNameFontHeight; - symbolRendererParams.pinLabelMargin = SimpleRectangularSubmodelComponent.pinNameMargin; + Renderer outlineRenderer = comp.getOutlineRenderer(); + if (outlineRenderer != null) + { + params.outlineRendererSnippetID = idGetter.outlineRendererIDs.apply(outlineRenderer); + params.outlineRendererParams = outlineRenderer.getParamsForSerializingJSON(idGetter); + } - params.symbolRendererSnippetID = "simpleRectangularLike"; - params.symbolRendererParams = new Gson().toJsonTree(symbolRendererParams); + HighLevelStateHandler highLevelStateHandler = comp.getHighLevelStateHandler(); + if (highLevelStateHandler != null) + { + params.highLevelStateHandlerSnippetID = idGetter.highLevelStateHandlerIDs.apply(highLevelStateHandler); + params.highLevelStateHandlerParams = highLevelStateHandler.getParamsForSerializingJSON(idGetter); } return params; 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 86b57656..619254a4 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 @@ -1,11 +1,14 @@ package net.mograsim.logic.model.snippets; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Set; public class CodeSnippetSupplier { private final Map standardSnippetIDClassNames = new HashMap<>(); + private final Set standardSnippetIDSetUnmodifiable = Collections.unmodifiableSet(standardSnippetIDClassNames.keySet()); private final Map> snippetSuppliersForClassNames = new HashMap<>(); private final SnippetDefinintion defaultSnippetSupplier; @@ -19,6 +22,11 @@ public class CodeSnippetSupplier standardSnippetIDClassNames.put(standardSnippetID, associatedSnippetClassName); } + public Set getStandardSnippetIDs() + { + return standardSnippetIDSetUnmodifiable; + } + public void setSnippetSupplier(String id, SnippetDefinintion snippetSupplier) { snippetSuppliersForClassNames.put(id, snippetSupplier); diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/HighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/HighLevelStateHandler.java index 74f01d0f..cbe58eb1 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/HighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/HighLevelStateHandler.java @@ -1,6 +1,7 @@ package net.mograsim.logic.model.snippets; import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.serializing.JSONSerializable; /** * A high level state ID consists of parts separated by dots ('.').
@@ -13,7 +14,7 @@ import net.mograsim.logic.model.model.components.GUIComponent; * * @author Daniel Kirschten */ -public interface HighLevelStateHandler +public interface HighLevelStateHandler extends JSONSerializable { /** * Gets the current value of the given high-level state.
diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/Renderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/Renderer.java index 45a2c5e8..5ed33bdc 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/Renderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/Renderer.java @@ -2,8 +2,9 @@ package net.mograsim.logic.model.snippets; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; +import net.mograsim.logic.model.serializing.JSONSerializable; -public interface Renderer +public interface Renderer extends JSONSerializable { public void render(GeneralGC gc, Rectangle visibleRegion); } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/SnippetDefinintion.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/SnippetDefinintion.java index 77e715cd..c5fecf25 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/SnippetDefinintion.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/SnippetDefinintion.java @@ -13,6 +13,13 @@ public interface SnippetDefinintion public default S create(C context, JsonElement params) { + Class

paramClass = getParamClass(); + if (paramClass.equals(Void.class)) + { + if (params != null) + throw new IllegalArgumentException("Params given where none were expected"); + return create(context, (P) null); + } return create(context, new Gson().fromJson(params, getParamClass())); } diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java index 1ee7b4c3..35dc24a0 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java @@ -1,6 +1,7 @@ package net.mograsim.logic.model.snippets.highlevelstatehandlers; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.snippets.HighLevelStateHandler; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -35,6 +36,12 @@ public class DefaultHighLevelStateHandler implements HighLevelStateHandler throw new IllegalArgumentException("No high level state with ID " + stateID); } + @Override + public Void getParamsForSerializing(IdentifierGetter idGetter) + { + return null; + } + static { SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier.setSnippetSupplier( diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/StandardHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/StandardHighLevelStateHandler.java index 1c3ac62c..9afa7c49 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/StandardHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/StandardHighLevelStateHandler.java @@ -2,10 +2,12 @@ package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.function.BiFunction; import java.util.function.Function; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.snippets.HighLevelStateHandler; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -139,6 +141,33 @@ public class StandardHighLevelStateHandler implements HighLevelStateHandler } } + @Override + public StandardHighLevelStateHandlerParams getParamsForSerializing(IdentifierGetter idGetter) + { + StandardHighLevelStateHandlerParams params = new StandardHighLevelStateHandlerParams(); + params.subcomponentHighLevelStates = new HashMap<>(); + params.atomicHighLevelStates = new HashMap<>(); + for (Entry e : subcomponentHighLevelStateHandlers.entrySet()) + { + String stateID = e.getKey(); + SubcomponentHighLevelStateHandler handler = e.getValue(); + SubcomponentHighLevelStateHandlerParams handlerParams = new SubcomponentHighLevelStateHandlerParams(); + handlerParams.id = idGetter.subcomponentHighLevelStateHandlerIDs.apply(handler); + handlerParams.params = handler.getParamsForSerializingJSON(idGetter); + params.subcomponentHighLevelStates.put(stateID, handlerParams); + } + for (Entry e : atomicHighLevelStateHandlers.entrySet()) + { + String stateID = e.getKey(); + AtomicHighLevelStateHandler handler = e.getValue(); + AtomicHighLevelStateHandlerParams handlerParams = new AtomicHighLevelStateHandlerParams(); + handlerParams.id = idGetter.atomicHighLevelStateHandlerIDs.apply(handler); + handlerParams.params = handler.getParamsForSerializingJSON(idGetter); + params.atomicHighLevelStates.put(stateID, handlerParams); + } + return params; + } + public static class StandardHighLevelStateHandlerParams { public Map subcomponentHighLevelStates; diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/AtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/AtomicHighLevelStateHandler.java index dedc6d58..97ace092 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/AtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/AtomicHighLevelStateHandler.java @@ -1,10 +1,11 @@ package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic; -import com.google.gson.JsonObject; +import com.google.gson.JsonElement; +import net.mograsim.logic.model.serializing.JSONSerializable; import net.mograsim.logic.model.snippets.HighLevelStateHandler; -public interface AtomicHighLevelStateHandler +public interface AtomicHighLevelStateHandler extends JSONSerializable { /** * Gets the current value of the atomic high level state represented by this AtomicHighLevelStateHandler.
@@ -25,6 +26,6 @@ public interface AtomicHighLevelStateHandler public static class AtomicHighLevelStateHandlerParams { public String id; - public JsonObject params; + public JsonElement params; } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java index c4a56b0c..dd7af34e 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java @@ -6,7 +6,10 @@ import java.util.List; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext; +import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers; public class BitVectorSplittingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler { @@ -70,7 +73,7 @@ public class BitVectorSplittingAtomicHighLevelStateHandler implements AtomicHigh if (vectorPart.length() != vectorPartLengthes.get(partIndex)) throw new IllegalArgumentException( "Illegal vector part length: " + vectorPart.length() + "; expected " + vectorPartLengthes.get(partIndex)); - result = result.concat(vectorPart);// TODO is the bit order correct? + result = vectorPart.concat(result); } return result; } @@ -79,18 +82,34 @@ public class BitVectorSplittingAtomicHighLevelStateHandler implements AtomicHigh public void setHighLevelState(Object newState) { BitVector newStateCasted = (BitVector) newState; - for (int partIndex = 0, bitIndex = 0; partIndex < vectorPartTargets.size(); partIndex++) + for (int partIndex = vectorPartTargets.size() - 1, bitIndex = 0; partIndex >= 0; partIndex--) { int vectorPartLength = vectorPartLengthes.get(partIndex); - BitVector vectorPart = newStateCasted.subVector(bitIndex, vectorPartLength);// TODO is the bit order correct? + BitVector vectorPart = newStateCasted.subVector(bitIndex, bitIndex + vectorPartLength); component.setHighLevelState(vectorPartTargets.get(partIndex), vectorPart); bitIndex += vectorPartLength; } } + @Override + public BitVectorSplittingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifierGetter idGetter) + { + BitVectorSplittingAtomicHighLevelStateHandlerParams params = new BitVectorSplittingAtomicHighLevelStateHandlerParams(); + params.vectorPartTargets = new ArrayList<>(vectorPartTargets); + params.vectorPartLengthes = new ArrayList<>(vectorPartLengthes); + return params; + } + public static class BitVectorSplittingAtomicHighLevelStateHandlerParams { public List vectorPartTargets; public List vectorPartLengthes; } + + static + { + StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier + .setSnippetSupplier(BitVectorSplittingAtomicHighLevelStateHandler.class.getCanonicalName(), SnippetDefinintion.create( + BitVectorSplittingAtomicHighLevelStateHandlerParams.class, BitVectorSplittingAtomicHighLevelStateHandler::new)); + } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java index bd211324..de9bc4ad 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/DelegatingAtomicHighLevelStateHandler.java @@ -2,7 +2,10 @@ package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext; +import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers; public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler { @@ -62,9 +65,25 @@ public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelSta delegateTarget.setHighLevelState(subStateID, newState); } + @Override + public DelegatingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifierGetter idGetter) + { + DelegatingAtomicHighLevelStateHandlerParams params = new DelegatingAtomicHighLevelStateHandlerParams(); + params.delegateTarget = delegateTarget.name; + params.subStateID = subStateID; + return params; + } + public static class DelegatingAtomicHighLevelStateHandlerParams { public String delegateTarget; public String subStateID; } + + static + { + StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier.setSnippetSupplier( + DelegatingAtomicHighLevelStateHandler.class.getCanonicalName(), + SnippetDefinintion.create(DelegatingAtomicHighLevelStateHandlerParams.class, DelegatingAtomicHighLevelStateHandler::new)); + } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java index 2a18646b..b8009349 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/WireForcingAtomicHighLevelStateHandler.java @@ -10,7 +10,10 @@ import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext; +import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers; public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler { @@ -75,7 +78,7 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt @Override public Object getHighLevelState() { - BitVector result = BitVector.of(Bit.U, logicWidth); + BitVector result = BitVector.of(Bit.ZERO, logicWidth); for (GUIWire wire : wiresToForceInverted) if (wire.hasLogicModelBinding()) result = result.or(wire.getWireValues()); @@ -103,9 +106,25 @@ public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelSt wire.forceWireValues(vector); } + @Override + public WireForcingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifierGetter idGetter) + { + WireForcingAtomicHighLevelStateHandlerParams params = new WireForcingAtomicHighLevelStateHandlerParams(); + params.wiresToForce = wiresToForce.stream().map(w -> w.name).collect(Collectors.toList()); + params.wiresToForceInverted = wiresToForceInverted.stream().map(w -> w.name).collect(Collectors.toList()); + return params; + } + public static class WireForcingAtomicHighLevelStateHandlerParams { public List wiresToForce; public List wiresToForceInverted; } + + static + { + StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier.setSnippetSupplier( + WireForcingAtomicHighLevelStateHandler.class.getCanonicalName(), + SnippetDefinintion.create(WireForcingAtomicHighLevelStateHandlerParams.class, WireForcingAtomicHighLevelStateHandler::new)); + } } \ No newline at end of file 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 de32e706..d06f1c2a 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 @@ -4,7 +4,7 @@ mograsim version: 0.1.3 "delegating": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler" }, "standardAtomicHandlerSuppliers": { - "delegating": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler" + "delegating": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler", "bitVectorSplitting": "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/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java index bc864d1e..3347377e 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/DelegatingSubcomponentHighLevelStateHandler.java @@ -2,7 +2,10 @@ package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcom import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; +import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext; +import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers; public class DelegatingSubcomponentHighLevelStateHandler implements SubcomponentHighLevelStateHandler { @@ -68,9 +71,25 @@ public class DelegatingSubcomponentHighLevelStateHandler implements Subcomponent return prefix == null ? subStateID : prefix + '.' + subStateID; } + @Override + public DelegatingSubcomponentHighLevelStateHandlerParams getParamsForSerializing(IdentifierGetter idGetter) + { + DelegatingSubcomponentHighLevelStateHandlerParams params = new DelegatingSubcomponentHighLevelStateHandlerParams(); + params.delegateTarget = delegateTarget.name; + params.prefix = prefix; + return params; + } + public static class DelegatingSubcomponentHighLevelStateHandlerParams { public String delegateTarget; public String prefix; } + + static + { + StandardHighLevelStateHandlerSnippetSuppliers.subcomponentHandlerSupplier + .setSnippetSupplier(DelegatingSubcomponentHighLevelStateHandler.class.getCanonicalName(), SnippetDefinintion + .create(DelegatingSubcomponentHighLevelStateHandlerParams.class, DelegatingSubcomponentHighLevelStateHandler::new)); + } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/SubcomponentHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/SubcomponentHighLevelStateHandler.java index 412bd191..4c82bdcf 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/SubcomponentHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/subcomponent/SubcomponentHighLevelStateHandler.java @@ -1,10 +1,11 @@ package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent; -import com.google.gson.JsonObject; +import com.google.gson.JsonElement; +import net.mograsim.logic.model.serializing.JSONSerializable; import net.mograsim.logic.model.snippets.HighLevelStateHandler; -public interface SubcomponentHighLevelStateHandler +public interface SubcomponentHighLevelStateHandler extends JSONSerializable { /** * Gets the current value of the given high level state of the subcomponent represented by this SubcomponentHighLevelStateHandler.
@@ -25,6 +26,6 @@ public interface SubcomponentHighLevelStateHandler public static class SubcomponentHighLevelStateHandlerParams { public String id; - public JsonObject params; + public JsonElement params; } } \ No newline at end of file diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/outlinerenderers/DefaultOutlineRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/outlinerenderers/DefaultOutlineRenderer.java index c7afe7a0..13a8eb4c 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/outlinerenderers/DefaultOutlineRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/outlinerenderers/DefaultOutlineRenderer.java @@ -4,6 +4,7 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -34,6 +35,12 @@ public class DefaultOutlineRenderer implements Renderer gc.drawRectangle(component.getBounds()); } + @Override + public Void getParamsForSerializing(IdentifierGetter idGetter) + { + return null; + } + static { SubmodelComponentSnippetSuppliers.outlineRendererSupplier.setSnippetSupplier(DefaultOutlineRenderer.class.getCanonicalName(), diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java index bf406396..7705203c 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/CenteredTextSymbolRenderer.java @@ -6,6 +6,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -21,12 +22,14 @@ import net.mograsim.preferences.Preferences; public class CenteredTextSymbolRenderer implements Renderer { private final GUIComponent component; - private final CenteredTextParams params; + private final String text; + private final double fontHeight; public CenteredTextSymbolRenderer(SubmodelComponent component, CenteredTextParams params) { this.component = component; - this.params = params; + this.text = params.text; + this.fontHeight = params.fontHeight; } @@ -34,16 +37,25 @@ public class CenteredTextSymbolRenderer implements Renderer public void render(GeneralGC gc, Rectangle visibleRegion) { Font oldFont = gc.getFont(); - gc.setFont(new Font(oldFont.getName(), params.fontHeight, oldFont.getStyle())); + gc.setFont(new Font(oldFont.getName(), fontHeight, oldFont.getStyle())); ColorDefinition fg = Preferences.current().getColorDefinition("net.mograsim.logic.model.color.text"); if (fg != null) gc.setForeground(ColorManager.current().toColor(fg)); - Point idSize = gc.textExtent(params.text); + Point idSize = gc.textExtent(text); Rectangle bounds = component.getBounds(); - gc.drawText(params.text, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true); + gc.drawText(text, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true); gc.setFont(oldFont); } + @Override + public CenteredTextParams getParamsForSerializing(IdentifierGetter idGetter) + { + CenteredTextParams params = new CenteredTextParams(); + params.text = text; + params.fontHeight = fontHeight; + return params; + } + public static class CenteredTextParams { public String text; diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/DefaultSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/DefaultSymbolRenderer.java index c102b59b..d24ff221 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/DefaultSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/DefaultSymbolRenderer.java @@ -5,6 +5,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -39,6 +40,12 @@ public class DefaultSymbolRenderer implements Renderer gc.drawText(id, bounds.x + (bounds.width - idSize.x) / 2, bounds.y + (bounds.height - idSize.y) / 2, true); } + @Override + public Void getParamsForSerializing(IdentifierGetter idGetter) + { + return null; + } + static { SubmodelComponentSnippetSuppliers.symbolRendererSupplier.setSnippetSupplier(DefaultSymbolRenderer.class.getCanonicalName(), diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java index d6386e35..be820a68 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java @@ -11,6 +11,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.model.model.components.GUIComponent; import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.IdentifierGetter; import net.mograsim.logic.model.snippets.Renderer; import net.mograsim.logic.model.snippets.SnippetDefinintion; import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers; @@ -27,12 +28,20 @@ import net.mograsim.preferences.Preferences; public class SimpleRectangularLikeSymbolRenderer implements Renderer { private final GUIComponent component; - private final SimpleRectangularLikeParams params; + private final String centerText; + private final double centerTextHeight; + private final double horizontalComponentCenter; + private final double pinLabelHeight; + private final double pinLabelMargin; public SimpleRectangularLikeSymbolRenderer(SubmodelComponent component, SimpleRectangularLikeParams params) { this.component = component; - this.params = params; + this.centerText = params.centerText; + this.centerTextHeight = params.centerTextHeight; + this.horizontalComponentCenter = params.horizontalComponentCenter; + this.pinLabelHeight = params.pinLabelHeight; + this.pinLabelMargin = params.pinLabelMargin; } @Override @@ -44,13 +53,13 @@ public class SimpleRectangularLikeSymbolRenderer implements Renderer double height = component.getHeight(); Font oldFont = gc.getFont(); - gc.setFont(new Font(oldFont.getName(), params.centerTextHeight, oldFont.getStyle())); - Point textExtent = gc.textExtent(params.centerText); + gc.setFont(new Font(oldFont.getName(), centerTextHeight, oldFont.getStyle())); + Point textExtent = gc.textExtent(centerText); Color textColor = Preferences.current().getColor("net.mograsim.logic.model.color.text"); if (textColor != null) gc.setForeground(textColor); - gc.drawText(params.centerText, posX + (width - textExtent.x) / 2, posY + (height - textExtent.y) / 2, true); - gc.setFont(new Font(oldFont.getName(), params.pinLabelHeight, oldFont.getStyle())); + gc.drawText(centerText, posX + (width - textExtent.x) / 2, posY + (height - textExtent.y) / 2, true); + gc.setFont(new Font(oldFont.getName(), pinLabelHeight, oldFont.getStyle())); for (Entry pinEntry : component.getPins().entrySet()) { String pinName = pinEntry.getKey(); @@ -58,13 +67,24 @@ public class SimpleRectangularLikeSymbolRenderer implements Renderer double pinX = pin.getRelX(); double pinY = posY + pin.getRelY(); textExtent = gc.textExtent(pinName); - gc.drawText(pinName, - posX + pinX + (pinX > params.horizontalComponentCenter ? -textExtent.x - params.pinLabelMargin : params.pinLabelMargin), + gc.drawText(pinName, posX + pinX + (pinX > horizontalComponentCenter ? -textExtent.x - pinLabelMargin : pinLabelMargin), pinY - textExtent.y / 2, true); } gc.setFont(oldFont); } + @Override + public SimpleRectangularLikeParams getParamsForSerializing(IdentifierGetter idGetter) + { + SimpleRectangularLikeParams params = new SimpleRectangularLikeParams(); + params.centerText = centerText; + params.centerTextHeight = centerTextHeight; + params.horizontalComponentCenter = horizontalComponentCenter; + params.pinLabelHeight = pinLabelHeight; + params.pinLabelMargin = pinLabelMargin; + return params; + } + public static class SimpleRectangularLikeParams { public String centerText; diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java index 2ada2e72..8dffc940 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java @@ -10,6 +10,7 @@ import java.util.stream.Collectors; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; public class JsonHandler { @@ -54,4 +55,9 @@ public class JsonHandler { return String.format("mograsim version: %s\n%s", Version.jsonCompVersion.toString(), parser.toJson(o)); } + + public static JsonElement toJsonTree(Object o) + { + return parser.toJsonTree(o); + } } -- 2.17.1