--- /dev/null
+mograsim version: 0.1.3
+{
+ "width": 35.0,
+ "height": 60.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 0.0,
+ "y": 55.0
+ },
+ "name": "D4",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 35.0,
+ "y": 5.0
+ },
+ "name": "Q1",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 35.0,
+ "y": 15.0
+ },
+ "name": "Q2",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 35.0,
+ "y": 25.0
+ },
+ "name": "Q3",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 5.0
+ },
+ "name": "C",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 35.0,
+ "y": 35.0
+ },
+ "name": "Q4",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 25.0
+ },
+ "name": "D1",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 15.0
+ },
+ "name": "_WE",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 35.0
+ },
+ "name": "D2",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 45.0
+ },
+ "name": "D3",
+ "logicWidth": 1
+ }
+ ],
+ "submodel": {
+ "innerScale": 0.2,
+ "subComps": [
+ {
+ "id": "GUIdff",
+ "name": "GUIdff#1",
+ "pos": {
+ "x": 115.0,
+ "y": 70.0
+ }
+ },
+ {
+ "id": "GUIdff",
+ "name": "GUIdff#0",
+ "pos": {
+ "x": 115.0,
+ "y": 20.0
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 104.0,
+ "y": 74.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 104.0,
+ "y": 24.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 169.0,
+ "y": 24.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 104.0,
+ "y": 124.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 159.0,
+ "y": 124.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 164.0,
+ "y": 74.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 154.0,
+ "y": 174.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#0",
+ "pos": {
+ "x": 55.0,
+ "y": 70.0
+ }
+ },
+ {
+ "id": "GUIdff",
+ "name": "GUIdff#3",
+ "pos": {
+ "x": 115.0,
+ "y": 170.0
+ }
+ },
+ {
+ "id": "GUIdff",
+ "name": "GUIdff#2",
+ "pos": {
+ "x": 115.0,
+ "y": 120.0
+ }
+ }
+ ],
+ "innerWires": [
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Q1"
+ },
+ "name": "unnamedWire#14",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIdff#0",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#13",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIdff#1",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#16",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "Q2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#15",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIdff#2",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#18",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D4"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_4"
+ },
+ "name": "unnamedWire#17",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 275.0
+ },
+ {
+ "x": 25.0,
+ "y": 115.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Q3"
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIdff#3",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Q4"
+ },
+ "name": "unnamedWire#20",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y4"
+ },
+ "pin2": {
+ "compName": "GUIdff#3",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#23",
+ "path": [
+ {
+ "x": 95.0,
+ "y": 105.0
+ },
+ {
+ "x": 95.0,
+ "y": 185.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y3"
+ },
+ "pin2": {
+ "compName": "GUIdff#2",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#22",
+ "path": [
+ {
+ "x": 100.0,
+ "y": 95.0
+ },
+ {
+ "x": 100.0,
+ "y": 135.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_2"
+ },
+ "name": "unnamedWire#25",
+ "path": [
+ {
+ "x": 165.0,
+ "y": 210.0
+ },
+ {
+ "x": 45.0,
+ "y": 210.0
+ },
+ {
+ "x": 45.0,
+ "y": 135.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_1"
+ },
+ "name": "unnamedWire#24",
+ "path": [
+ {
+ "x": 170.0,
+ "y": 205.0
+ },
+ {
+ "x": 50.0,
+ "y": 205.0
+ },
+ {
+ "x": 50.0,
+ "y": 125.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_3"
+ },
+ "name": "unnamedWire#26",
+ "path": [
+ {
+ "x": 160.0,
+ "y": 215.0
+ },
+ {
+ "x": 40.0,
+ "y": 215.0
+ },
+ {
+ "x": 40.0,
+ "y": 145.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_4"
+ },
+ "name": "unnamedWire#28",
+ "path": [
+ {
+ "x": 155.0,
+ "y": 220.0
+ },
+ {
+ "x": 35.0,
+ "y": 220.0
+ },
+ {
+ "x": 35.0,
+ "y": 155.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_WE"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "S0"
+ },
+ "name": "unnamedWire#9",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIdff#3",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#8",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 175.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIdff#2",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#7",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#6",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y1"
+ },
+ "pin2": {
+ "compName": "GUIdff#0",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#1",
+ "path": [
+ {
+ "x": 100.0,
+ "y": 75.0
+ },
+ {
+ "x": 100.0,
+ "y": 35.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "name": "unnamedWire#0",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIdff#1",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#5",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D1"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_1"
+ },
+ "name": "unnamedWire#10",
+ "path": [
+ {
+ "x": 10.0,
+ "y": 125.0
+ },
+ {
+ "x": 10.0,
+ "y": 85.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#4",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIdff#0",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#3",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D3"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_3"
+ },
+ "name": "unnamedWire#12",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 225.0
+ },
+ {
+ "x": 20.0,
+ "y": 105.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D2"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_2"
+ },
+ "name": "unnamedWire#11",
+ "path": [
+ {
+ "x": 15.0,
+ "y": 175.0
+ },
+ {
+ "x": 15.0,
+ "y": 95.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y2"
+ },
+ "pin2": {
+ "compName": "GUIdff#1",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#2",
+ "path": []
+ }
+ ]
+ },
+ "symbolRendererSnippetID": "class:net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer",
+ "symbolRendererParams": {
+ "centerText": "D flip flop\n4 bit",
+ "centerTextHeight": 5.0,
+ "horizontalComponentCenter": 17.5,
+ "pinLabelHeight": 3.5,
+ "pinLabelMargin": 0.5
+ },
+ "outlineRendererSnippetID": "class:net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer",
+ "highLevelStateHandlerSnippetID": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {},
+ "atomicHighLevelStates": {
+ "q1": {
+ "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "params": {
+ "delegateTarget": "GUIdff#0",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "params": {
+ "delegateTarget": "GUIdff#1",
+ "subStateID": "q"
+ }
+ },
+ "q": {
+ "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler",
+ "params": {
+ "vectorPartTargets": [
+ "q1",
+ "q2",
+ "q3",
+ "q4"
+ ],
+ "vectorPartLengthes": [
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ }
+ },
+ "q3": {
+ "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "params": {
+ "delegateTarget": "GUIdff#2",
+ "subStateID": "q"
+ }
+ },
+ "q4": {
+ "id": "class:net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler",
+ "params": {
+ "delegateTarget": "GUIdff#3",
+ "subStateID": "q"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file