+++ /dev/null
-mograsim version: 0.1.1
-{
- "type": "SimpleRectangularSubmodelComponent",
- "width": 35.0,
- "height": 30.0,
- "interfacePins": [
- {
- "location": {
- "x": 0.0,
- "y": 5.0
- },
- "name": "A",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 0.0,
- "y": 15.0
- },
- "name": "B",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 0.0,
- "y": 25.0
- },
- "name": "C",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 35.0,
- "y": 5.0
- },
- "name": "Y",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 35.0,
- "y": 15.0
- },
- "name": "Z",
- "logicWidth": 1
- }
- ],
- "composition": {
- "innerScale": 0.4,
- "subComps": [
- {
- "pos": {
- "x": 5.0,
- "y": 40.0
- },
- "type": "class:net.mograsim.logic.model.model.components.mi.nandbased.GUIhalfadder",
- "params": {}
- },
- {
- "pos": {
- "x": 45.0,
- "y": 7.5
- },
- "type": "class:net.mograsim.logic.model.model.components.mi.nandbased.GUIhalfadder",
- "params": {}
- },
- {
- "pos": {
- "x": 57.5,
- "y": 40.0
- },
- "type": "class:net.mograsim.logic.model.model.components.GUINandGate",
- "params": {
- "logicWidth": 1
- }
- }
- ],
- "innerWires": [
- {
- "pin1": {
- "compId": 0,
- "pinName": "A"
- },
- "pin2": {
- "compId": 2,
- "pinName": "A"
- },
- "path": []
- },
- {
- "pin1": {
- "compId": 0,
- "pinName": "B"
- },
- "pin2": {
- "compId": 1,
- "pinName": "A"
- }
- },
- {
- "pin1": {
- "compId": 0,
- "pinName": "C"
- },
- "pin2": {
- "compId": 1,
- "pinName": "B"
- }
- },
- {
- "pin1": {
- "compId": 1,
- "pinName": "Y"
- },
- "pin2": {
- "compId": 2,
- "pinName": "B"
- }
- },
- {
- "pin1": {
- "compId": 1,
- "pinName": "_Z"
- },
- "pin2": {
- "compId": 3,
- "pinName": "B"
- },
- "path": []
- },
- {
- "pin1": {
- "compId": 2,
- "pinName": "Y"
- },
- "pin2": {
- "compId": 0,
- "pinName": "Y"
- },
- "path": []
- },
- {
- "pin1": {
- "compId": 2,
- "pinName": "_Z"
- },
- "pin2": {
- "compId": 3,
- "pinName": "A"
- },
- "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": {
- "compId": 3,
- "pinName": "Y"
- },
- "pin2": {
- "compId": 0,
- "pinName": "Z"
- }
- }
- ]
- },
- "specialized": {
- "input_count": 3,
- "label": "GUIfulladder",
- "logic_width": 1,
- "output_count": 2
- }
-}
\ No newline at end of file
+++ /dev/null
-mograsim version: 0.1.1
-{
- "type": "SimpleRectangularSubmodelComponent",
- "width": 35.0,
- "height": 20.0,
- "interfacePins": [
- {
- "location": {
- "x": 0.0,
- "y": 5.0
- },
- "name": "A",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 0.0,
- "y": 15.0
- },
- "name": "B",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 35.0,
- "y": 5.0
- },
- "name": "Y",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 35.0,
- "y": 15.0
- },
- "name": "_Z",
- "logicWidth": 1
- }
- ],
- "composition": {
- "innerScale": 0.4,
- "subComps": [
- {
- "pos": {
- "x": 10.0,
- "y": 15.0
- },
- "type": "class:net.mograsim.logic.model.model.components.GUINandGate",
- "params": {
- "logicWidth": 1
- }
- },
- {
- "pos": {
- "x": 40.0,
- "y": 2.5
- },
- "type": "class:net.mograsim.logic.model.model.components.GUINandGate",
- "params": {
- "logicWidth": 1
- }
- },
- {
- "pos": {
- "x": 40.0,
- "y": 27.5
- },
- "type": "class:net.mograsim.logic.model.model.components.GUINandGate",
- "params": {
- "logicWidth": 1
- }
- },
- {
- "pos": {
- "x": 65.0,
- "y": 2.5
- },
- "type": "class:net.mograsim.logic.model.model.components.GUINandGate",
- "params": {
- "logicWidth": 1
- }
- },
- {
- "pos": {
- "x": 4.0,
- "y": 11.5
- },
- "type": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
- "params": {
- "logicWidth": 1
- }
- },
- {
- "pos": {
- "x": 4.0,
- "y": 36.5
- },
- "type": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
- "params": {
- "logicWidth": 1
- }
- },
- {
- "pos": {
- "x": 34.0,
- "y": 24.0
- },
- "type": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
- "params": {
- "logicWidth": 1
- }
- }
- ],
- "innerWires": [
- {
- "pin1": {
- "compId": 0,
- "pinName": "A"
- },
- "pin2": {
- "compId": 5,
- "pinName": ""
- },
- "path": []
- },
- {
- "pin1": {
- "compId": 5,
- "pinName": ""
- },
- "pin2": {
- "compId": 2,
- "pinName": "A"
- },
- "path": [
- {
- "x": 5.0,
- "y": 7.5
- }
- ]
- },
- {
- "pin1": {
- "compId": 5,
- "pinName": ""
- },
- "pin2": {
- "compId": 1,
- "pinName": "A"
- },
- "path": [
- {
- "x": 5.0,
- "y": 20.0
- }
- ]
- },
- {
- "pin1": {
- "compId": 0,
- "pinName": "B"
- },
- "pin2": {
- "compId": 6,
- "pinName": ""
- },
- "path": []
- },
- {
- "pin1": {
- "compId": 6,
- "pinName": ""
- },
- "pin2": {
- "compId": 3,
- "pinName": "B"
- },
- "path": [
- {
- "x": 5.0,
- "y": 42.5
- }
- ]
- },
- {
- "pin1": {
- "compId": 6,
- "pinName": ""
- },
- "pin2": {
- "compId": 1,
- "pinName": "B"
- },
- "path": [
- {
- "x": 5.0,
- "y": 30.0
- }
- ]
- },
- {
- "pin1": {
- "compId": 1,
- "pinName": "Y"
- },
- "pin2": {
- "compId": 7,
- "pinName": ""
- },
- "path": []
- },
- {
- "pin1": {
- "compId": 7,
- "pinName": ""
- },
- "pin2": {
- "compId": 0,
- "pinName": "_Z"
- },
- "path": [
- {
- "x": 80.0,
- "y": 25.0
- },
- {
- "x": 80.0,
- "y": 37.5
- }
- ]
- },
- {
- "pin1": {
- "compId": 7,
- "pinName": ""
- },
- "pin2": {
- "compId": 2,
- "pinName": "B"
- },
- "path": [
- {
- "x": 35.0,
- "y": 17.5
- }
- ]
- },
- {
- "pin1": {
- "compId": 7,
- "pinName": ""
- },
- "pin2": {
- "compId": 3,
- "pinName": "A"
- },
- "path": [
- {
- "x": 35.0,
- "y": 32.5
- }
- ]
- },
- {
- "pin1": {
- "compId": 2,
- "pinName": "Y"
- },
- "pin2": {
- "compId": 4,
- "pinName": "A"
- },
- "path": [
- {
- "x": 62.5,
- "y": 12.5
- },
- {
- "x": 62.5,
- "y": 7.5
- }
- ]
- },
- {
- "pin1": {
- "compId": 3,
- "pinName": "Y"
- },
- "pin2": {
- "compId": 4,
- "pinName": "B"
- },
- "path": [
- {
- "x": 62.5,
- "y": 37.5
- },
- {
- "x": 62.5,
- "y": 17.5
- }
- ]
- },
- {
- "pin1": {
- "compId": 4,
- "pinName": "Y"
- },
- "pin2": {
- "compId": 0,
- "pinName": "Y"
- },
- "path": []
- }
- ]
- },
- "specialized": {
- "input_count": 2,
- "label": "GUIhalfadder",
- "logic_width": 1,
- "output_count": 2
- }
-}
\ No newline at end of file
+++ /dev/null
-mograsim version: 0.1.1
-{
- "type": "SimpleRectangularSubmodelComponent",
- "width": 35.0,
- "height": 10.0,
- "interfacePins": [
- {
- "location": {
- "x": 0.0,
- "y": 5.0
- },
- "name": "Input pin #0",
- "logicWidth": 1
- }
- ],
- "composition": {
- "innerScale": 0.4,
- "subComps": [
- {
- "pos": {
- "x": 0.0,
- "y": 0.0
- },
- "type": "file:HalfAdder.json",
- "params": {}
- }
- ],
- "innerWires": []
- },
- "specialized": {
- "input_count": 1,
- "label": "Test",
- "logic_width": 1,
- "output_count": 0
- }
-}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "_rsLatch",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.WireForcingAtomicHighLevelStateHandler",
+ "id": "wireForcing",
"params": {
"wiresToForce": [
"q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIand",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIand41",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIandor414",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdemux2",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdff",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUI_rsLatch#1",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "D flip flop\n4 bit",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q1": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#0",
"subStateID": "q"
}
},
"q2": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#1",
"subStateID": "q"
}
},
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"q1",
}
},
"q3": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#2",
"subStateID": "q"
}
},
"q4": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#3",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "D flip flop\n4 bit",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q1": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#0",
"subStateID": "q"
}
},
"q2": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#1",
"subStateID": "q"
}
},
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"q1",
}
},
"q3": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#2",
"subStateID": "q"
}
},
"q4": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#3",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdlatch",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUI_rsLatch#0",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdlatch4",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q1": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#0",
"subStateID": "q"
}
},
"q2": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#1",
"subStateID": "q"
}
},
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"q1",
}
},
"q3": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#2",
"subStateID": "q"
}
},
"q4": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#3",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIfulladder",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIhalfadder",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux1",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux1_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux1_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer",
- "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler"
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "default"
}
\ No newline at end of file
"innerScale": 0.4,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 24.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 19.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux3",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer",
- "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler"
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUInand3",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUInot4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIor4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIor_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIram2",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
"c00": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#0"
}
},
"c11": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#3"
}
},
"c10": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#2"
}
},
"c01": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#1"
}
},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"c11.q",
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIram4",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
"c00": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0"
}
},
"c11": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3"
}
},
"c10": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2"
}
},
"c01": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1"
}
},
"c1000": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c10"
}
},
"c1011": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c10"
}
},
"c1110": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c11"
}
},
"c1001": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c10"
}
},
"c1100": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c11"
}
},
"c1111": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c11"
}
},
"c0000": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c00"
}
},
"c0011": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c00"
}
},
"c0110": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c01"
}
},
"c0010": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c00"
}
},
"c1010": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c10"
}
},
"c0101": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c01"
}
},
"c0001": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c00"
}
},
"c0100": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c01"
}
},
"c0111": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c01"
}
},
"c1101": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c11"
},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"c11.q",
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIsel2_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIsel3_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIxor",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
"qreg": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff4#0"
}
},
"regs": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram4#0"
}
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUFuncDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUInclDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUOneBit",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901DestDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2901SourceDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
"innerScale": 0.2,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#14",
"pos": {
"x": 520.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#13",
"pos": {
"x": 330.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#16",
"pos": {
"x": 255.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#15",
"pos": {
"x": 255.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 180.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 165.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 335.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 295.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 530.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 150.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 215.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer",
+ "id": "GUITriStateBuffer",
"name": "GUITriStateBuffer#0",
"pos": {
"x": 530.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 120.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 215.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 215.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
"x": 195.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#12",
"pos": {
"x": 195.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#11",
"pos": {
"x": 195.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#4",
"pos": {
"x": 25.0,
"params": 2
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#3",
"pos": {
"x": 510.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#2",
"pos": {
"x": 15.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#1",
"pos": {
"x": 25.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#0",
"pos": {
"x": 25.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#10",
"pos": {
"x": 340.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#9",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#8",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#5",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#4",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#7",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#6",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 130.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 190.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#3",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#2",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#9",
"pos": {
"x": 240.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#4",
"pos": {
"x": 395.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#3",
"pos": {
"x": 450.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#2",
"pos": {
"x": 395.0,
"params": 2
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#1",
"pos": {
"x": 555.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#8",
"pos": {
"x": 445.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#7",
"pos": {
"x": 445.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#6",
"pos": {
"x": 285.0,
"params": 3
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#5",
"pos": {
"x": 395.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#0",
"pos": {
"x": 10.0,
"params": 13
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904RegCTInstrDecode",
+ "id": "GUIAm2904RegCTInstrDecode",
"name": "GUIAm2904RegCTInstrDecode#0",
"pos": {
"x": 50.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#10",
"pos": {
"x": 445.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904ShiftInstrDecode",
+ "id": "GUIAm2904ShiftInstrDecode",
"name": "GUIAm2904ShiftInstrDecode#0",
"pos": {
"x": 50.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2904",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
"innerScale": 0.4,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 45.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 85.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#3",
"pos": {
"x": 45.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#2",
"pos": {
"x": 120.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 34.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 29.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#0",
"pos": {
"x": 5.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 79.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 79.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 24.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 19.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 74.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 39.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 24.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 74.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#5",
"pos": {
"x": 80.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
"x": 39.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#4",
"pos": {
"x": 80.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Test\nlogic",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
"innerScale": 0.2,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 10.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIram5_12",
+ "id": "GUIram5_12",
"name": "GUIram5_12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 40.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIdff12",
+ "id": "GUIdff12",
"name": "GUIdff12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIinc12",
+ "id": "GUIinc12",
"name": "GUIinc12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#3",
"pos": {
"x": 265.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 294.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 324.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 189.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 4.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer",
+ "id": "GUITriStateBuffer",
"name": "GUITriStateBuffer#0",
"pos": {
"x": 180.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUInor12",
+ "id": "GUInor12",
"name": "GUInor12#0",
"pos": {
"x": 190.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#0",
"pos": {
"x": 160.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910InstrPLA",
+ "id": "GUIAm2910InstrPLA",
"name": "GUIAm2910InstrPLA#0",
"pos": {
"x": 80.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910SP",
+ "id": "GUIAm2910SP",
"name": "GUIAm2910SP#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#1",
"pos": {
"x": 260.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#2",
"pos": {
"x": 345.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12",
+ "id": "GUIsel4_12",
"name": "GUIsel4_12#0",
"pos": {
"x": 150.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910RegCntr",
+ "id": "GUIAm2910RegCntr",
"name": "GUIAm2910RegCntr#0",
"pos": {
"x": 160.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2910",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
"innerScale": 0.2,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 10.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIram5_12",
+ "id": "GUIram5_12",
"name": "GUIram5_12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 40.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIdff12",
+ "id": "GUIdff12",
"name": "GUIdff12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIinc12",
+ "id": "GUIinc12",
"name": "GUIinc12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#3",
"pos": {
"x": 265.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 294.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 324.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 189.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 4.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12",
+ "id": "GUIsel4_12",
"name": "GUIsel4_12#0",
"pos": {
"x": 150.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUInor12",
+ "id": "GUInor12",
"name": "GUInor12#0",
"pos": {
"x": 190.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#0",
"pos": {
"x": 160.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910InstrPLA",
+ "id": "GUIAm2910InstrPLA",
"name": "GUIAm2910InstrPLA#0",
"pos": {
"x": 80.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910SP",
+ "id": "GUIAm2910SP",
"name": "GUIAm2910SP#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#1",
"pos": {
"x": 260.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#2",
"pos": {
"x": 345.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910RegCntr",
+ "id": "GUIAm2910RegCntr",
"name": "GUIAm2910RegCntr#0",
"pos": {
"x": 160.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2910",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "_rsLatch",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.WireForcingAtomicHighLevelStateHandler",
+ "id": "wireForcing",
"params": {
"wiresToForce": [
"q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIand",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIand41",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIandor414",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdemux2",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdff",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUI_rsLatch#1",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "D flip flop\n4 bit",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q1": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#0",
"subStateID": "q"
}
},
"q2": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#1",
"subStateID": "q"
}
},
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"q1",
}
},
"q3": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#2",
"subStateID": "q"
}
},
"q4": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#3",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "D flip flop\n4 bit",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q1": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#0",
"subStateID": "q"
}
},
"q2": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#1",
"subStateID": "q"
}
},
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"q1",
}
},
"q3": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#2",
"subStateID": "q"
}
},
"q4": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff#3",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdlatch",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUI_rsLatch#0",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIdlatch4",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
"q1": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#0",
"subStateID": "q"
}
},
"q2": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#1",
"subStateID": "q"
}
},
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"q1",
}
},
"q3": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#2",
"subStateID": "q"
}
},
"q4": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch#3",
"subStateID": "q"
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIfulladder",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIhalfadder",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux1",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux1_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux1_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer",
- "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler"
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "default"
}
\ No newline at end of file
"innerScale": 0.4,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 24.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 19.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUImux3",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer",
- "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler"
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUInand3",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUInot4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIor4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIor_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIram2",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
"c00": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#0"
}
},
"c11": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#3"
}
},
"c10": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#2"
}
},
"c01": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdlatch4#1"
}
},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"c11.q",
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIram4",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
"c00": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0"
}
},
"c11": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3"
}
},
"c10": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2"
}
},
"c01": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1"
}
},
"c1000": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c10"
}
},
"c1011": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c10"
}
},
"c1110": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c11"
}
},
"c1001": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c10"
}
},
"c1100": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c11"
}
},
"c1111": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c11"
}
},
"c0000": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c00"
}
},
"c0011": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c00"
}
},
"c0110": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c01"
}
},
"c0010": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c00"
}
},
"c1010": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#2",
"prefix": "c10"
}
},
"c0101": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c01"
}
},
"c0001": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c00"
}
},
"c0100": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#0",
"prefix": "c01"
}
},
"c0111": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#3",
"prefix": "c01"
}
},
"c1101": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram2#1",
"prefix": "c11"
},
"atomicHighLevelStates": {
"q": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
"c11.q",
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIsel2_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIsel3_4",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIxor",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
"qreg": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIdff4#0"
}
},
"regs": {
- "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.DelegatingSubcomponentHighLevelStateHandler",
+ "id": "delegating",
"params": {
"delegateTarget": "GUIram4#0"
}
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUFuncDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUInclDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901ALUOneBit",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "GUIAm2901DestDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2901SourceDecode",
"centerTextHeight": 5.0,
"pinLabelHeight": 3.5,
"pinLabelMargin": 0.5
},
- "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer"
+ "outlineRendererSnippetID": "default"
}
\ No newline at end of file
mograsim version: 0.1.3
{
"width": 120.0,
- "height": 94.0,
+ "height": 139.0,
"interfacePins": [
{
"location": {
},
{
"location": {
- "x": -24.6,
- "y": 24.400000000000002
+ "x": 120.0,
+ "y": 108.0
},
"name": "C0",
"logicWidth": 1
},
{
"location": {
- "x": -14.600000000000001,
- "y": 14.4
+ "x": 0.0,
+ "y": 110.0
},
"name": "Cx",
"logicWidth": 1
"innerScale": 0.2,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#14",
"pos": {
"x": 520.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#13",
"pos": {
"x": 330.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#16",
"pos": {
"x": 255.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#15",
"pos": {
"x": 255.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#17",
+ "pos": {
+ "x": 360.0,
+ "y": 495.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 180.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 165.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 335.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 295.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 530.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 150.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 215.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer",
+ "id": "GUITriStateBuffer",
"name": "GUITriStateBuffer#0",
"pos": {
"x": 530.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 120.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 215.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 215.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
"x": 195.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#12",
"pos": {
"x": 195.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#11",
"pos": {
"x": 195.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
+ "name": "GUIMerger#4",
+ "pos": {
+ "x": 25.0,
+ "y": 355.0
+ },
+ "params": 2
+ },
+ {
+ "id": "GUIMerger",
"name": "GUIMerger#3",
"pos": {
"x": 510.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#2",
"pos": {
"x": 15.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#1",
"pos": {
"x": 25.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIMerger",
+ "id": "GUIMerger",
"name": "GUIMerger#0",
"pos": {
"x": 25.0,
"y": 295.0
}
},
+ {
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#14",
+ "pos": {
+ "x": 415.0,
+ "y": 465.0
+ }
+ },
+ {
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#13",
+ "pos": {
+ "x": 365.0,
+ "y": 485.0
+ }
+ },
+ {
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#12",
+ "pos": {
+ "x": 315.0,
+ "y": 505.0
+ }
+ },
+ {
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#11",
+ "pos": {
+ "x": 265.0,
+ "y": 515.0
+ }
+ },
{
"id": "GUIxor",
"name": "DeserializedSubmodelComponent#10",
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#10",
"pos": {
"x": 340.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#9",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#8",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#5",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#4",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#7",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#6",
"pos": {
"x": 205.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 130.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 190.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#3",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#2",
"pos": {
"x": 225.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
+ "name": "GUISplitter#9",
+ "pos": {
+ "x": 240.0,
+ "y": 475.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUISplitter",
"name": "GUISplitter#4",
"pos": {
"x": 395.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#3",
"pos": {
"x": 450.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#2",
"pos": {
"x": 395.0,
"params": 2
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#1",
"pos": {
"x": 555.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#8",
"pos": {
"x": 445.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#7",
"pos": {
"x": 445.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#6",
"pos": {
"x": 285.0,
"params": 3
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#5",
"pos": {
"x": 395.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#0",
"pos": {
"x": 10.0,
"params": 13
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904RegCTInstrDecode",
+ "id": "GUIAm2904RegCTInstrDecode",
"name": "GUIAm2904RegCTInstrDecode#0",
"pos": {
"x": 50.0,
- "y": 230.0
+ "y": 240.0
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2904.GUIAm2904ShiftInstrDecode",
+ "id": "GUISplitter",
+ "name": "GUISplitter#10",
+ "pos": {
+ "x": 445.0,
+ "y": 410.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUIAm2904ShiftInstrDecode",
"name": "GUIAm2904ShiftInstrDecode#0",
"pos": {
"x": 50.0,
},
"pin2": {
"compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "I"
+ "pinName": "I5-0"
},
"name": "unnamedWire#15",
"path": []
"name": "unnamedWire#79",
"path": []
},
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "S0"
+ },
+ "name": "unnamedWire#150",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#12",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#151",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "I0"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "name": "unnamedWire#154",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "S0"
+ },
+ "pin2": {
+ "compName": "GUISplitter#9",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#155",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "I0"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Cx"
+ },
+ "name": "unnamedWire#152",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#153",
+ "path": []
+ },
{
"pin1": {
"compName": "GUINandGate#10",
"name": "unnamedWire#81",
"path": []
},
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "C0"
+ },
+ "name": "unnamedWire#156",
+ "path": []
+ },
{
"pin1": {
"compName": "WireCrossPoint#13",
"name": "unnamedWire#88",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUIMerger#4",
+ "pinName": "I1"
+ },
+ "pin2": {
+ "compName": "GUISplitter#0",
+ "pinName": "O12"
+ },
+ "name": "unnamedWire#140",
+ "path": []
+ },
{
"pin1": {
"compName": "GUIMerger#0",
"name": "unnamedWire#9",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUISplitter#8",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#143",
+ "path": []
+ },
{
"pin1": {
"compName": "GUISplitter#0",
"name": "unnamedWire#8",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUISplitter#10",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#144",
+ "path": []
+ },
{
"pin1": {
"compName": "GUIMerger#0",
"name": "unnamedWire#7",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUIMerger#4",
+ "pinName": "O"
+ },
+ "pin2": {
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "I12-11"
+ },
+ "name": "unnamedWire#141",
+ "path": []
+ },
{
"pin1": {
"compName": "GUISplitter#0",
"name": "unnamedWire#6",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "C0_MUX"
+ },
+ "pin2": {
+ "compName": "GUISplitter#9",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#142",
+ "path": []
+ },
{
"pin1": {
"compName": "GUIMerger#3",
"name": "unnamedWire#90",
"path": []
},
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#12",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#147",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#12",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "GUISplitter#9",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#148",
+ "path": []
+ },
{
"pin1": {
"compName": "GUIMerger#3",
"name": "unnamedWire#92",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUISplitter#10",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "I0"
+ },
+ "name": "unnamedWire#145",
+ "path": []
+ },
{
"pin1": {
"compName": "DeserializedSubmodelComponent#3",
"name": "unnamedWire#91",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUISplitter#9",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "S0"
+ },
+ "name": "unnamedWire#146",
+ "path": []
+ },
{
"pin1": {
"compName": "GUIAm2904RegCTInstrDecode#0",
"name": "unnamedWire#96",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUISplitter#9",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "name": "unnamedWire#149",
+ "path": []
+ },
{
"pin1": {
"compName": "GUISplitter#2",
"name": "unnamedWire#62",
"path": []
},
+ {
+ "pin1": {
+ "compName": "GUISplitter#0",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "GUIMerger#4",
+ "pinName": "I0"
+ },
+ "name": "unnamedWire#139",
+ "path": []
+ },
{
"pin1": {
"compName": "WireCrossPoint#12",
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2904",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
"innerScale": 0.4,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 45.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 85.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#3",
"pos": {
"x": 45.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#2",
"pos": {
"x": 120.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 34.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 29.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
+ "id": "GUISplitter",
"name": "GUISplitter#0",
"pos": {
"x": 5.0,
"params": 4
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 79.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 79.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 24.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 19.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 74.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 39.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 24.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 74.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#5",
"pos": {
"x": 80.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
"x": 39.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#4",
"pos": {
"x": 80.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Test\nlogic",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
"innerScale": 0.2,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 10.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIram5_12",
+ "id": "GUIram5_12",
"name": "GUIram5_12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 40.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIdff12",
+ "id": "GUIdff12",
"name": "GUIdff12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIinc12",
+ "id": "GUIinc12",
"name": "GUIinc12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#3",
"pos": {
"x": 265.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 294.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 324.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 189.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 4.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUITriStateBuffer",
+ "id": "GUITriStateBuffer",
"name": "GUITriStateBuffer#0",
"pos": {
"x": 180.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUInor12",
+ "id": "GUInor12",
"name": "GUInor12#0",
"pos": {
"x": 190.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#0",
"pos": {
"x": 160.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910InstrPLA",
+ "id": "GUIAm2910InstrPLA",
"name": "GUIAm2910InstrPLA#0",
"pos": {
"x": 80.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910SP",
+ "id": "GUIAm2910SP",
"name": "GUIAm2910SP#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#1",
"pos": {
"x": 260.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#2",
"pos": {
"x": 345.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12",
+ "id": "GUIsel4_12",
"name": "GUIsel4_12#0",
"pos": {
"x": 150.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910RegCntr",
+ "id": "GUIAm2910RegCntr",
"name": "GUIAm2910RegCntr#0",
"pos": {
"x": 160.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2910",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
"innerScale": 0.2,
"subComps": [
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#1",
"pos": {
"x": 10.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIram5_12",
+ "id": "GUIram5_12",
"name": "GUIram5_12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUINandGate",
+ "id": "GUINandGate",
"name": "GUINandGate#0",
"pos": {
"x": 40.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIdff12",
+ "id": "GUIdff12",
"name": "GUIdff12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIinc12",
+ "id": "GUIinc12",
"name": "GUIinc12#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#3",
"pos": {
"x": 265.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
"x": 294.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
"x": 324.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
"x": 189.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
"x": 4.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 179.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
+ "id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
"x": 299.0,
"params": 1
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12",
+ "id": "GUIsel4_12",
"name": "GUIsel4_12#0",
"pos": {
"x": 150.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.GUInor12",
+ "id": "GUInor12",
"name": "GUInor12#0",
"pos": {
"x": 190.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#0",
"pos": {
"x": 160.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910InstrPLA",
+ "id": "GUIAm2910InstrPLA",
"name": "GUIAm2910InstrPLA#0",
"pos": {
"x": 80.0,
}
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910SP",
+ "id": "GUIAm2910SP",
"name": "GUIAm2910SP#0",
"pos": {
"x": 305.0,
}
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#1",
"pos": {
"x": 260.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.model.components.atomic.GUIBitDisplay",
+ "id": "GUIBitDisplay",
"name": "GUIBitDisplay#2",
"pos": {
"x": 345.0,
"params": 12
},
{
- "id": "class:net.mograsim.logic.model.am2900.components.am2910.GUIAm2910RegCntr",
+ "id": "GUIAm2910RegCntr",
"name": "GUIAm2910RegCntr#0",
"pos": {
"x": 160.0,
}
]
},
- "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"centerText": "Am2910",
"centerTextHeight": 5.0,
"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",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
package net.mograsim.logic.model.editor;
import java.io.IOException;
+import java.util.Map;
+import java.util.Map.Entry;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.FileDialog;
import net.mograsim.logic.model.model.ViewModelModifiable;
import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
import net.mograsim.logic.model.serializing.IdentifierGetter;
+import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
+import net.mograsim.logic.model.snippets.SubmodelComponentSnippetSuppliers;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers;
public class SaveLoadManager
{
{
if (Editor.identifierPerComponent.containsKey(c))
return Editor.identifierPerComponent.get(c);
- return "class:" + c.getClass().getCanonicalName();
+ return getStandardID(c, IndirectGUIComponentCreator.getStandardComponentIDs(), true);
};
+ idGetter.symbolRendererIDs = h -> getStandardID(h,
+ SubmodelComponentSnippetSuppliers.symbolRendererSupplier.getStandardSnippetIDs());
+ idGetter.outlineRendererIDs = h -> getStandardID(h,
+ SubmodelComponentSnippetSuppliers.outlineRendererSupplier.getStandardSnippetIDs());
+ idGetter.highLevelStateHandlerIDs = h -> getStandardID(h,
+ SubmodelComponentSnippetSuppliers.highLevelStateHandlerSupplier.getStandardSnippetIDs());
+ idGetter.atomicHighLevelStateHandlerIDs = h -> getStandardID(h,
+ StandardHighLevelStateHandlerSnippetSuppliers.atomicHandlerSupplier.getStandardSnippetIDs());
+ idGetter.subcomponentHighLevelStateHandlerIDs = h -> getStandardID(h,
+ StandardHighLevelStateHandlerSnippetSuppliers.subcomponentHandlerSupplier.getStandardSnippetIDs());
SubmodelComponentSerializer.serialize(editor.toBeEdited, idGetter, savePath);
}
catch (IOException e)
}
}
+ private static String getStandardID(Object o, Map<String, String> standardIDs)
+ {
+ return getStandardID(o, standardIDs, false);
+ }
+
+ private static String getStandardID(Object o, Map<String, String> standardIDs, boolean standardIDsHaveClassConcatenated)
+ {
+ String verboseID = (standardIDsHaveClassConcatenated ? "class:" : "") + o.getClass().getCanonicalName();
+ return standardIDs.entrySet().stream().filter(e -> e.getValue().equals(verboseID)).map(Entry::getKey).findAny()
+ .orElseGet(() -> (standardIDsHaveClassConcatenated ? "" : "class:") + verboseID);
+ }
+
public static void openLoadDialog() throws IOException
{
Shell fdShell = new Shell();
public void refreshAddList()
{
- addList.setItems(IndirectGUIComponentCreator.getStandardComponentIDs().stream().sorted().toArray(String[]::new));
+ addList.setItems(IndirectGUIComponentCreator.getStandardComponentIDs().keySet().stream().sorted().toArray(String[]::new));
addList.select(0);
}
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
public class IndirectGUIComponentCreator
{
private static final Map<String, String> standardComponentIDs = new HashMap<>();
- private static final Set<String> standardComponentIDSetUnmodifiable = Collections.unmodifiableSet(standardComponentIDs.keySet());
+ private static final Map<String, String> standardComponentIDsUnmodifiable = Collections.unmodifiableMap(standardComponentIDs);
private static final Map<String, ComponentSupplier> componentSuppliers = new HashMap<>();
standardComponentIDs.put(standardComponentID, associatedComponentID);
}
- public static Set<String> getStandardComponentIDs()
+ public static Map<String, String> getStandardComponentIDs()
{
- return standardComponentIDSetUnmodifiable;
+ return standardComponentIDsUnmodifiable;
}
public static void setComponentSupplier(String className, ComponentSupplier componentSupplier)
{
if (id != null)
{
- String resolvedID;
- if (id.startsWith("class:") || id.startsWith("file:"))
- resolvedID = id;
- else
- resolvedID = standardComponentIDs.get(id);
+ String resolvedID = resolveID(id);
if (resolvedID != null)
{
if (resolvedID.startsWith("class:"))
throw new RuntimeException("Could not get component supplier for ID " + id);
}
+ public static String resolveID(String id)
+ {
+ if (id.startsWith("class:") || id.startsWith("file:"))
+ return id;
+ return standardComponentIDs.get(id);
+ }
+
private static void tryLoadComponentClass(String componentClassName)
{
CodeSnippetSupplier.tryInvokeStaticInitializer(componentClassName, "Error loading component class %s: %s\n");
"GUIsel1": "file:components/GUIsel1.json",
"GUIsel2_4": "file:components/GUIsel2_4.json",
"GUIsel3_4": "file:components/GUIsel3_4.json",
- "GUIsel4_12": "class:net.mograsim.logic.model.am2900.components.GUImux4_12",
+ "GUIsel4_12": "class:net.mograsim.logic.model.am2900.components.GUIsel4_12",
"GUISplitter": "class:net.mograsim.logic.model.model.components.atomic.GUISplitter",
"GUIxor": "file:components/GUIxor.json",
"WireCrossPoint": "class:net.mograsim.logic.model.model.wires.WireCrossPoint",
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
public class CodeSnippetSupplier<C, S>
{
private final Map<String, String> standardSnippetIDClassNames = new HashMap<>();
- private final Set<String> standardSnippetIDSetUnmodifiable = Collections.unmodifiableSet(standardSnippetIDClassNames.keySet());
+ private final Map<String, String> standardSnippetIDClassNamesUnmodifiable = Collections.unmodifiableMap(standardSnippetIDClassNames);
private final Map<String, SnippetDefinintion<C, ?, S>> snippetSuppliersForClassNames = new HashMap<>();
private final SnippetDefinintion<C, ?, S> defaultSnippetSupplier;
standardSnippetIDClassNames.put(standardSnippetID, associatedSnippetClassName);
}
- public Set<String> getStandardSnippetIDs()
+ public Map<String, String> getStandardSnippetIDs()
{
- return standardSnippetIDSetUnmodifiable;
+ return standardSnippetIDClassNamesUnmodifiable;
}
public void setSnippetSupplier(String id, SnippetDefinintion<C, ?, S> snippetSupplier)
},
"standardAtomicHandlerSuppliers": {
"delegating": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "wireForcing": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.WireForcingAtomicHighLevelStateHandler",
"bitVectorSplitting": "net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler"
}
}
\ No newline at end of file