From 0e490475fa05c2f05ec875165fc6e38e543d6d65 Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Wed, 3 Jul 2019 23:16:05 +0200 Subject: [PATCH] Rebuilt component JSON files --- .../components/GUI_rsLatch.json | 42 +-- .../components/GUIand.json | 35 +- .../components/GUIand41.json | 53 +-- .../components/GUIandor414.json | 33 +- .../components/GUIdemux2.json | 92 ++--- .../components/GUIdff.json | 57 +-- .../components/GUIdlatch.json | 45 +-- .../components/GUIdlatch4.json | 53 +-- .../components/GUIfulladder.json | 31 +- .../components/GUIhalfadder.json | 60 +-- .../components/GUImux1.json | 54 +-- .../components/GUImux1_4.json | 57 +-- .../components/GUInand3.json | 42 +-- .../components/GUInot4.json | 70 +--- .../components/GUIor4.json | 109 ++---- .../components/GUIor_4.json | 146 +++----- .../components/GUIram2.json | 268 +++++--------- .../components/GUIram4.json | 248 ++++--------- .../components/GUIsel2_4.json | 136 ++----- .../components/GUIsel3_4.json | 105 ++---- .../components/GUIxor.json | 59 +-- .../components/am2901/GUIAm2901.json | 344 +++++------------- .../am2901/GUIAm2901ALUFuncDecode.json | 125 ++----- .../am2901/GUIAm2901ALUInclDecode.json | 170 +++------ ...ALUInclSourceDecodeInclFunctionDecode.json | 79 +--- .../components/am2901/GUIAm2901ALUOneBit.json | 64 +--- .../am2901/GUIAm2901DestDecode.json | 197 +++------- .../components/am2901/GUIAm2901QReg.json | 57 +-- .../am2901/GUIAm2901SourceDecode.json | 208 ++++------- .../ui/examples/ComponenetSerializer.java | 65 ++++ 30 files changed, 896 insertions(+), 2208 deletions(-) create mode 100644 net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java diff --git a/net.mograsim.logic.ui.am2900/components/GUI_rsLatch.json b/net.mograsim.logic.ui.am2900/components/GUI_rsLatch.json index 186aac31..4431f34a 100644 --- a/net.mograsim.logic.ui.am2900/components/GUI_rsLatch.json +++ b/net.mograsim.logic.ui.am2900/components/GUI_rsLatch.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUI_rsLatch", "width": 35.0, "height": 20.0, "interfacePins": [ @@ -38,7 +36,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -46,40 +44,32 @@ mograsim version: 0.1.2 "x": 10.0, "y": 7.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 12.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 34.0, "y": 16.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 64.0, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -216,17 +206,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "_S", - "_R" - ], - "label": "_rsLatch", - "logic_width": 1, - "output_count": [ - "Q", - "_Q" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIand.json b/net.mograsim.logic.ui.am2900/components/GUIand.json index 2ea36835..0687592a 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIand.json +++ b/net.mograsim.logic.ui.am2900/components/GUIand.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIand", "width": 35.0, "height": 20.0, "interfacePins": [ @@ -30,7 +28,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -38,30 +36,24 @@ mograsim version: 0.1.2 "x": 20.0, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 44.0, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -139,16 +131,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "A", - "B" - ], - "label": "GUIand", - "logic_width": 1, - "output_count": [ - "Y" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIand41.json b/net.mograsim.logic.ui.am2900/components/GUIand41.json index 7b2757c9..cb1608a5 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIand41.json +++ b/net.mograsim.logic.ui.am2900/components/GUIand41.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIand41", "width": 35.0, "height": 50.0, "interfacePins": [ @@ -78,7 +76,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -86,62 +84,52 @@ mograsim version: 0.1.2 "x": 30.0, "y": 7.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 30.0, "y": 32.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 30.0, "y": 57.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 30.0, "y": 82.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 24.0, "y": 46.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 71.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 96.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -321,22 +309,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "A1", - "A2", - "A3", - "A4", - "B" - ], - "label": "GUIand41", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIandor414.json b/net.mograsim.logic.ui.am2900/components/GUIandor414.json index d581e8f7..d585785b 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIandor414.json +++ b/net.mograsim.logic.ui.am2900/components/GUIandor414.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIandor414", "width": 35.0, "height": 90.0, "interfacePins": [ @@ -110,7 +108,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -118,16 +116,14 @@ mograsim version: 0.1.2 "x": 15.0, "y": 137.5 }, - "name": "GUIand41", - "params": {} + "id": "GUIand41" }, { "pos": { "x": 35.0, "y": 37.5 }, - "name": "GUIor_4", - "params": {} + "id": "GUIor_4" } ], "innerWires": [ @@ -477,26 +473,5 @@ mograsim version: 0.1.2 ] } ] - }, - "specialized": { - "input_count": [ - "C1", - "C2", - "C3", - "C4", - "A1", - "A2", - "A3", - "A4", - "B" - ], - "label": "GUIandor414", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIdemux2.json b/net.mograsim.logic.ui.am2900/components/GUIdemux2.json index d6b01c63..04df7d07 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIdemux2.json +++ b/net.mograsim.logic.ui.am2900/components/GUIdemux2.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIdemux2", "width": 35.0, "height": 40.0, "interfacePins": [ @@ -54,7 +52,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -62,132 +60,108 @@ mograsim version: 0.1.2 "x": 10.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 10.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 2.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 40.0, "y": 27.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 40.0, "y": 52.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 40.0, "y": 77.5 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 6.5, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 16.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 36.5, "y": 61.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 41.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 31.5, "y": 66.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 31.5, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -511,19 +485,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "S0", - "S1" - ], - "label": "GUIdemux2", - "logic_width": 1, - "output_count": [ - "Y00", - "Y01", - "Y10", - "Y11" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIdff.json b/net.mograsim.logic.ui.am2900/components/GUIdff.json index 5c0c80ab..df4e0a1e 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIdff.json +++ b/net.mograsim.logic.ui.am2900/components/GUIdff.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIdff", "width": 35.0, "height": 20.0, "interfacePins": [ @@ -38,7 +36,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.2, "subComps": [ { @@ -46,74 +44,61 @@ mograsim version: 0.1.2 "x": 40.0, "y": 10.0 }, - "name": "GUI_rsLatch", - "params": {} + "id": "GUI_rsLatch" }, { "pos": { "x": 40.0, "y": 40.0 }, - "name": "GUInand3", - "params": {} + "id": "GUInand3" }, { "pos": { "x": 120.0, "y": 60.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 120.0, "y": 30.0 }, - "name": "GUI_rsLatch", - "params": {} + "id": "GUI_rsLatch" }, { "pos": { "x": 9.0, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 19.0, "y": 64.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 99.0, "y": 34.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 99.0, "y": 44.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -323,17 +308,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "C", - "D" - ], - "label": "GUIdff", - "logic_width": 1, - "output_count": [ - "Q", - "_Q" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIdlatch.json b/net.mograsim.logic.ui.am2900/components/GUIdlatch.json index 6811c4d4..84e635f8 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIdlatch.json +++ b/net.mograsim.logic.ui.am2900/components/GUIdlatch.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIdlatch", "width": 35.0, "height": 20.0, "interfacePins": [ @@ -38,7 +36,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -46,48 +44,39 @@ mograsim version: 0.1.2 "x": 10.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 45.0, "y": 7.5 }, - "name": "GUI_rsLatch", - "params": {} + "id": "GUI_rsLatch" }, { "pos": { "x": 4.0, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -232,17 +221,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "D", - "E" - ], - "label": "GUIdlatch", - "logic_width": 1, - "output_count": [ - "Q", - "_Q" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIdlatch4.json b/net.mograsim.logic.ui.am2900/components/GUIdlatch4.json index e6316c36..2458b250 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIdlatch4.json +++ b/net.mograsim.logic.ui.am2900/components/GUIdlatch4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIdlatch4", "width": 35.0, "height": 50.0, "interfacePins": [ @@ -78,7 +76,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -86,62 +84,52 @@ mograsim version: 0.1.2 "x": 30.0, "y": 7.5 }, - "name": "GUIdlatch", - "params": {} + "id": "GUIdlatch" }, { "pos": { "x": 30.0, "y": 32.5 }, - "name": "GUIdlatch", - "params": {} + "id": "GUIdlatch" }, { "pos": { "x": 30.0, "y": 57.5 }, - "name": "GUIdlatch", - "params": {} + "id": "GUIdlatch" }, { "pos": { "x": 30.0, "y": 82.5 }, - "name": "GUIdlatch", - "params": {} + "id": "GUIdlatch" }, { "pos": { "x": 14.0, "y": 46.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 71.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 96.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -321,22 +309,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "D1", - "D2", - "D3", - "D4", - "C" - ], - "label": "GUIdlatch4", - "logic_width": 1, - "output_count": [ - "Q1", - "Q2", - "Q3", - "Q4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIfulladder.json b/net.mograsim.logic.ui.am2900/components/GUIfulladder.json index 259ba270..d7396280 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIfulladder.json +++ b/net.mograsim.logic.ui.am2900/components/GUIfulladder.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIfulladder", "width": 35.0, "height": 30.0, "interfacePins": [ @@ -46,7 +44,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -54,26 +52,22 @@ mograsim version: 0.1.2 "x": 5.0, "y": 40.0 }, - "name": "GUIhalfadder", - "params": {} + "id": "GUIhalfadder" }, { "pos": { "x": 45.0, "y": 7.5 }, - "name": "GUIhalfadder", - "params": {} + "id": "GUIhalfadder" }, { "pos": { "x": 57.5, "y": 40.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 } ], "innerWires": [ @@ -179,18 +173,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "A", - "B", - "C" - ], - "label": "GUIfulladder", - "logic_width": 1, - "output_count": [ - "Y", - "Z" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIhalfadder.json b/net.mograsim.logic.ui.am2900/components/GUIhalfadder.json index 5e1371e1..5cffb3db 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIhalfadder.json +++ b/net.mograsim.logic.ui.am2900/components/GUIhalfadder.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIhalfadder", "width": 35.0, "height": 20.0, "interfacePins": [ @@ -38,7 +36,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -46,70 +44,56 @@ mograsim version: 0.1.2 "x": 10.0, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 4.0, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -314,17 +298,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "A", - "B" - ], - "label": "GUIhalfadder", - "logic_width": 1, - "output_count": [ - "Y", - "_Z" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUImux1.json b/net.mograsim.logic.ui.am2900/components/GUImux1.json index 9f373e2a..c3412266 100644 --- a/net.mograsim.logic.ui.am2900/components/GUImux1.json +++ b/net.mograsim.logic.ui.am2900/components/GUImux1.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUImux1", "width": 35.0, "height": 30.0, "interfacePins": [ @@ -38,7 +36,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -46,60 +44,48 @@ mograsim version: 0.1.2 "x": 10.0, "y": 7.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 35.0, "y": 22.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 35.0, "y": 47.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 60.0, "y": 30.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 4.0, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 21.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -226,17 +212,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "S0", - "I0", - "I1" - ], - "label": "GUImux1", - "logic_width": 1, - "output_count": [ - "Y" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUImux1_4.json b/net.mograsim.logic.ui.am2900/components/GUImux1_4.json index 7d326ba7..35f9c2f9 100644 --- a/net.mograsim.logic.ui.am2900/components/GUImux1_4.json +++ b/net.mograsim.logic.ui.am2900/components/GUImux1_4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUImux1_4", "width": 35.0, "height": 90.0, "interfacePins": [ @@ -110,7 +108,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -118,62 +116,52 @@ mograsim version: 0.1.2 "x": 30.0, "y": 7.5 }, - "name": "GUImux1", - "params": {} + "id": "GUImux1" }, { "pos": { "x": 30.0, "y": 42.5 }, - "name": "GUImux1", - "params": {} + "id": "GUImux1" }, { "pos": { "x": 30.0, "y": 77.5 }, - "name": "GUImux1", - "params": {} + "id": "GUImux1" }, { "pos": { "x": 30.0, "y": 112.5 }, - "name": "GUImux1", - "params": {} + "id": "GUImux1" }, { "pos": { "x": 24.0, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 46.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 81.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -461,26 +449,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "S0", - "I0_1", - "I0_2", - "I0_3", - "I0_4", - "I1_1", - "I1_2", - "I1_3", - "I1_4" - ], - "label": "GUImux1_4", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUInand3.json b/net.mograsim.logic.ui.am2900/components/GUInand3.json index fe953c30..7177e919 100644 --- a/net.mograsim.logic.ui.am2900/components/GUInand3.json +++ b/net.mograsim.logic.ui.am2900/components/GUInand3.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUInand3", "width": 35.0, "height": 30.0, "interfacePins": [ @@ -38,7 +36,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -46,40 +44,32 @@ mograsim version: 0.1.2 "x": 10.0, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 35.0, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 62.5, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 31.5, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -198,17 +188,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "A", - "B", - "C" - ], - "label": "GUInand3", - "logic_width": 1, - "output_count": [ - "Y" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUInot4.json b/net.mograsim.logic.ui.am2900/components/GUInot4.json index 71e414e7..5df0c822 100644 --- a/net.mograsim.logic.ui.am2900/components/GUInot4.json +++ b/net.mograsim.logic.ui.am2900/components/GUInot4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUInot4", "width": 35.0, "height": 40.0, "interfacePins": [ @@ -70,7 +68,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -78,80 +76,64 @@ mograsim version: 0.1.2 "x": 30.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 30.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 30.0, "y": 52.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 30.0, "y": 77.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 14.0, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 61.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 86.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -372,21 +354,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "A1", - "A2", - "A3", - "A4" - ], - "label": "GUInot4", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIor4.json b/net.mograsim.logic.ui.am2900/components/GUIor4.json index 53da78d0..9eb72165 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIor4.json +++ b/net.mograsim.logic.ui.am2900/components/GUIor4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIor4", "width": 35.0, "height": 40.0, "interfacePins": [ @@ -46,7 +44,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.2, "subComps": [ { @@ -54,150 +52,120 @@ mograsim version: 0.1.2 "x": 20.0, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 65.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 115.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 165.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 40.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 140.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 110.0, "y": 40.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 110.0, "y": 140.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 140.0, "y": 90.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 14.0, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 74.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 124.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 174.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 104.0, "y": 49.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 104.0, "y": 149.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -530,18 +498,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "A1", - "A2", - "A3", - "A4" - ], - "label": "GUIor4", - "logic_width": 1, - "output_count": [ - "Y" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIor_4.json b/net.mograsim.logic.ui.am2900/components/GUIor_4.json index 729cd821..06aa13f7 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIor_4.json +++ b/net.mograsim.logic.ui.am2900/components/GUIor_4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIor_4", "width": 35.0, "height": 80.0, "interfacePins": [ @@ -102,7 +100,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -110,200 +108,160 @@ mograsim version: 0.1.2 "x": 15.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 52.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 77.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 102.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 127.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 152.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 177.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 52.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 77.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 6.5, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 61.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 86.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 111.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 136.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 161.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 186.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -856,25 +814,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "A1", - "A2", - "A3", - "A4", - "B1", - "B2", - "B3", - "B4" - ], - "label": "GUIor_4", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIram2.json b/net.mograsim.logic.ui.am2900/components/GUIram2.json index df20ab50..c1d00ea9 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIram2.json +++ b/net.mograsim.logic.ui.am2900/components/GUIram2.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIram2", "width": 35.0, "height": 90.0, "interfacePins": [ @@ -142,7 +140,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.1, "subComps": [ { @@ -150,440 +148,361 @@ mograsim version: 0.1.2 "x": 55.0, "y": 45.0 }, - "name": "GUIdemux2", - "params": {} + "id": "GUIdemux2" }, { "pos": { "x": 55.0, "y": 150.0 }, - "name": "GUIdemux2", - "params": {} + "id": "GUIdemux2" }, { "pos": { "x": 130.0, "y": 150.0 }, - "name": "GUIand41", - "params": {} + "id": "GUIand41" }, { "pos": { "x": 55.0, "y": 325.0 }, - "name": "GUIdlatch4", - "params": {} + "id": "GUIdlatch4" }, { "pos": { "x": 55.0, "y": 475.0 }, - "name": "GUIdlatch4", - "params": {} + "id": "GUIdlatch4" }, { "pos": { "x": 55.0, "y": 625.0 }, - "name": "GUIdlatch4", - "params": {} + "id": "GUIdlatch4" }, { "pos": { "x": 55.0, "y": 775.0 }, - "name": "GUIdlatch4", - "params": {} + "id": "GUIdlatch4" }, { "pos": { "x": 235.0, "y": 375.0 }, - "name": "GUIand41", - "params": {} + "id": "GUIand41" }, { "pos": { "x": 235.0, "y": 485.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 235.0, "y": 635.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 235.0, "y": 785.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 135.0, "y": 325.0 }, - "name": "GUIand41", - "params": {} + "id": "GUIand41" }, { "pos": { "x": 135.0, "y": 435.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 135.0, "y": 585.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 135.0, "y": 735.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 109.0, "y": 154.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 104.0, "y": 164.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 99.0, "y": 174.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 94.0, "y": 184.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 549.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 649.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 749.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 809.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 479.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 489.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 499.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 509.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 629.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 639.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 649.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 659.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 129.0, "y": 329.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 124.0, "y": 339.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 119.0, "y": 349.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 114.0, "y": 359.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 129.0, "y": 479.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 124.0, "y": 489.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 119.0, "y": 499.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 114.0, "y": 509.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 129.0, "y": 629.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 124.0, "y": 639.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 119.0, "y": 649.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 114.0, "y": 659.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 129.0, "y": 779.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 124.0, "y": 789.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 119.0, "y": 799.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 114.0, "y": 809.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -2851,30 +2770,5 @@ mograsim version: 0.1.2 ] } ] - }, - "specialized": { - "input_count": [ - "A0", - "A1", - "B0", - "B1", - "WE", - "D1", - "D2", - "D3", - "D4" - ], - "label": "GUIram2", - "logic_width": 1, - "output_count": [ - "QA1", - "QA2", - "QA3", - "QA4", - "QB1", - "QB2", - "QB3", - "QB4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIram4.json b/net.mograsim.logic.ui.am2900/components/GUIram4.json index 605b061e..87c28929 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIram4.json +++ b/net.mograsim.logic.ui.am2900/components/GUIram4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIram4", "width": 35.0, "height": 130.0, "interfacePins": [ @@ -174,7 +172,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.1, "subComps": [ { @@ -182,400 +180,329 @@ mograsim version: 0.1.2 "x": 55.0, "y": 45.0 }, - "name": "GUIdemux2", - "params": {} + "id": "GUIdemux2" }, { "pos": { "x": 55.0, "y": 150.0 }, - "name": "GUIdemux2", - "params": {} + "id": "GUIdemux2" }, { "pos": { "x": 235.0, "y": 150.0 }, - "name": "GUIand41", - "params": {} + "id": "GUIand41" }, { "pos": { "x": 80.0, "y": 330.0 }, - "name": "GUIram2", - "params": {} + "id": "GUIram2" }, { "pos": { "x": 80.0, "y": 480.0 }, - "name": "GUIram2", - "params": {} + "id": "GUIram2" }, { "pos": { "x": 80.0, "y": 630.0 }, - "name": "GUIram2", - "params": {} + "id": "GUIram2" }, { "pos": { "x": 80.0, "y": 780.0 }, - "name": "GUIram2", - "params": {} + "id": "GUIram2" }, { "pos": { "x": 250.0, "y": 375.0 }, - "name": "GUIand41", - "params": {} + "id": "GUIand41" }, { "pos": { "x": 250.0, "y": 485.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 250.0, "y": 635.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 250.0, "y": 785.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 155.0, "y": 325.0 }, - "name": "GUIand41", - "params": {} + "id": "GUIand41" }, { "pos": { "x": 155.0, "y": 435.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 155.0, "y": 585.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 155.0, "y": 735.0 }, - "name": "GUIandor414", - "params": {} + "id": "GUIandor414" }, { "pos": { "x": 229.0, "y": 154.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 224.0, "y": 164.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 219.0, "y": 174.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 214.0, "y": 184.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 59.0, "y": 534.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 64.0, "y": 544.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 69.0, "y": 554.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 74.0, "y": 564.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 59.0, "y": 684.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 64.0, "y": 694.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 69.0, "y": 704.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 74.0, "y": 714.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 59.0, "y": 834.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 64.0, "y": 844.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 69.0, "y": 854.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 74.0, "y": 864.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 484.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 494.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 504.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 54.0, "y": 514.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 634.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 644.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 654.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 54.0, "y": 664.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 334.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 349.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 649.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 54.0, "y": 749.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -3215,34 +3142,5 @@ mograsim version: 0.1.2 ] } ] - }, - "specialized": { - "input_count": [ - "A0", - "A1", - "A2", - "A3", - "B0", - "B1", - "B2", - "B3", - "WE", - "D1", - "D2", - "D3", - "D4" - ], - "label": "GUIram4", - "logic_width": 1, - "output_count": [ - "QA1", - "QA2", - "QA3", - "QA4", - "QB1", - "QB2", - "QB3", - "QB4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIsel2_4.json b/net.mograsim.logic.ui.am2900/components/GUIsel2_4.json index c98c1dc3..b3845c41 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIsel2_4.json +++ b/net.mograsim.logic.ui.am2900/components/GUIsel2_4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIsel2_4", "width": 35.0, "height": 100.0, "interfacePins": [ @@ -118,7 +116,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -126,180 +124,144 @@ mograsim version: 0.1.2 "x": 20.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 52.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 102.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 152.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 77.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 127.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 20.0, "y": 177.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 52.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 65.0, "y": 77.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 6.5, "y": 16.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 66.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 116.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 41.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 91.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 141.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -820,27 +782,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "SA", - "SB", - "A1", - "A2", - "A3", - "A4", - "B1", - "B2", - "B3", - "B4" - ], - "label": "GUIsel2_4", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIsel3_4.json b/net.mograsim.logic.ui.am2900/components/GUIsel3_4.json index b1f46478..fdcbfafa 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIsel3_4.json +++ b/net.mograsim.logic.ui.am2900/components/GUIsel3_4.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIsel3_4", "width": 35.0, "height": 150.0, "interfacePins": [ @@ -158,7 +156,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.2, "subComps": [ { @@ -166,126 +164,102 @@ mograsim version: 0.1.2 "x": 35.0, "y": 250.0 }, - "name": "GUIsel2_4", - "params": {} + "id": "GUIsel2_4" }, { "pos": { "x": 75.0, "y": 250.0 }, - "name": "GUInot4", - "params": {} + "id": "GUInot4" }, { "pos": { "x": 50.0, "y": 570.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 620.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 670.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 720.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 152.5, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 152.5, "y": 65.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 152.5, "y": 115.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 152.5, "y": 165.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 29.0, "y": 584.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 29.0, "y": 634.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 29.0, "y": 684.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -879,32 +853,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "SA", - "SB", - "SC", - "A1", - "A2", - "A3", - "A4", - "B1", - "B2", - "B3", - "B4", - "C1", - "C2", - "C3", - "C4" - ], - "label": "GUIsel3_4", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/GUIxor.json b/net.mograsim.logic.ui.am2900/components/GUIxor.json index f32f1a11..6b74a5c6 100644 --- a/net.mograsim.logic.ui.am2900/components/GUIxor.json +++ b/net.mograsim.logic.ui.am2900/components/GUIxor.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIxor", "width": 35.0, "height": 20.0, "interfacePins": [ @@ -30,7 +28,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -38,70 +36,56 @@ mograsim version: 0.1.2 "x": 7.5, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 35.0, "y": 2.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 35.0, "y": 27.5 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 62.5, "y": 15.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 4.0, "y": 11.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 29.0, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -264,16 +248,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "A", - "B" - ], - "label": "GUIxor", - "logic_width": 1, - "output_count": [ - "Y" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901.json index e93eea3a..d773d7bd 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901", "width": 35.0, "height": 270.0, "interfacePins": [ @@ -318,7 +316,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.1, "subComps": [ { @@ -326,518 +324,421 @@ mograsim version: 0.1.2 "x": 15.0, "y": 45.0 }, - "name": "GUIAm2901DestDecode", - "params": {} + "id": "GUIAm2901DestDecode" }, { "pos": { "x": 275.0, "y": 135.0 }, - "name": "GUImux1_4", - "params": {} + "id": "GUImux1_4" }, { "pos": { "x": 190.0, "y": 65.0 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 160.0, "y": 75.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 240.0, "y": 2110.0 }, - "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", - "params": {} + "id": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode" }, { "pos": { "x": 275.0, "y": 445.0 }, - "name": "GUIor4", - "params": {} + "id": "GUIor4" }, { "pos": { "x": 320.0, "y": 440.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 95.0, "y": 2220.0 }, - "name": "GUIram4", - "params": {} + "id": "GUIram4" }, { "pos": { "x": 160.0, "y": 2220.0 }, - "name": "GUIdlatch4", - "params": {} + "id": "GUIdlatch4" }, { "pos": { "x": 160.0, "y": 2275.0 }, - "name": "GUIdlatch4", - "params": {} + "id": "GUIdlatch4" }, { "pos": { "x": 45.0, "y": 2310.0 }, - "name": "GUIsel3_4", - "params": {} + "id": "GUIsel3_4" }, { "pos": { "x": 45.0, "y": 2510.0 }, - "name": "GUIsel3_4", - "params": {} + "id": "GUIsel3_4" }, { "pos": { "x": 90.0, "y": 2490.0 }, - "name": "GUIAm2901QReg", - "params": {} + "id": "GUIAm2901QReg" }, { "pos": { "x": 154.0, "y": 949.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 154.0, "y": 89.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 154.0, "y": 2264.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 154.0, "y": 2319.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 2314.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 2324.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 29.0, "y": 2334.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 219.0, "y": 2224.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 224.0, "y": 2234.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 229.0, "y": 2244.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 234.0, "y": 2254.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 129.0, "y": 2494.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 134.0, "y": 2504.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 139.0, "y": 2514.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 144.0, "y": 2524.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 219.0, "y": 2494.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 234.0, "y": 2524.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 2624.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 2634.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 279.0, "y": 2114.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 294.0, "y": 2144.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 329.0, "y": 949.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 254.0, "y": 2089.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 259.0, "y": 2094.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 264.0, "y": 2099.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 269.0, "y": 2104.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 254.0, "y": 449.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 259.0, "y": 459.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 264.0, "y": 469.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 269.0, "y": 479.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 2354.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 2364.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 19.0, "y": 2374.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 2394.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 19.0, "y": 2404.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 2414.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 2384.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 2424.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 19.0, "y": 2434.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 2444.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 314.0, "y": 449.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -3278,52 +3179,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "I8", - "I7", - "I6", - "I5", - "I4", - "I3", - "I2", - "I1", - "I0", - "C", - "Cn", - "D1", - "D2", - "D3", - "D4", - "A0", - "A1", - "A2", - "A3", - "B0", - "B1", - "B2", - "B3", - "IRAMn", - "IRAMn+3", - "IQn", - "IQn+3" - ], - "label": "GUIAm2901", - "logic_width": 1, - "output_count": [ - "Y1", - "Y2", - "Y3", - "Y4", - "F\u003d0", - "Cn+4", - "OVR", - "F3", - "ORAMn", - "ORAMn+3", - "OQn", - "OQn+3" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUFuncDecode.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUFuncDecode.json index 1a838efc..cf9f5a6e 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUFuncDecode.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUFuncDecode.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901ALUFuncDecode", "width": 35.0, "height": 60.0, "interfacePins": [ @@ -78,7 +76,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.25, "subComps": [ { @@ -86,176 +84,142 @@ mograsim version: 0.1.2 "x": 15.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 50.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 55.0, "y": 10.0 }, - "name": "GUInand3", - "params": {} + "id": "GUInand3" }, { "pos": { "x": 55.0, "y": 45.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 55.0, "y": 70.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 100.0, "y": 50.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 100.0, "y": 135.0 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 4.0, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 44.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 59.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 54.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 64.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 84.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 99.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 49.0, "y": 74.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 34.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -687,22 +651,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "I5", - "I4", - "I3" - ], - "label": "GUIAm2901ALUFuncDecode", - "logic_width": 1, - "output_count": [ - "CinE", - "L", - "SN", - "SBE", - "FN", - "RN" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclDecode.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclDecode.json index 9c3181cd..1984f630 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclDecode.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclDecode.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901ALUInclDecode", "width": 35.0, "height": 120.0, "interfacePins": [ @@ -150,7 +148,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.25, "subComps": [ { @@ -158,248 +156,202 @@ mograsim version: 0.1.2 "x": 20.0, "y": 2.5 }, - "name": "GUIAm2901ALUFuncDecode", - "params": {} + "id": "GUIAm2901ALUFuncDecode" }, { "pos": { "x": 45.0, "y": 80.0 }, - "name": "GUIAm2901ALUOneBit", - "params": {} + "id": "GUIAm2901ALUOneBit" }, { "pos": { "x": 45.0, "y": 180.0 }, - "name": "GUIAm2901ALUOneBit", - "params": {} + "id": "GUIAm2901ALUOneBit" }, { "pos": { "x": 45.0, "y": 280.0 }, - "name": "GUIAm2901ALUOneBit", - "params": {} + "id": "GUIAm2901ALUOneBit" }, { "pos": { "x": 45.0, "y": 380.0 }, - "name": "GUIAm2901ALUOneBit", - "params": {} + "id": "GUIAm2901ALUOneBit" }, { "pos": { "x": 95.0, "y": 400.0 }, - "name": "GUIxor", - "params": {} + "id": "GUIxor" }, { "pos": { "x": 24.0, "y": 94.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 194.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 294.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 26.5, "y": 104.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 26.5, "y": 204.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 26.5, "y": 304.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 29.0, "y": 124.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 29.0, "y": 224.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 29.0, "y": 324.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 31.5, "y": 144.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 31.5, "y": 244.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 31.5, "y": 344.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 154.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 254.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 354.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 36.5, "y": 164.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 36.5, "y": 264.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 36.5, "y": 364.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 84.0, "y": 374.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 84.0, "y": 384.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -1463,31 +1415,5 @@ mograsim version: 0.1.2 } } ] - }, - "specialized": { - "input_count": [ - "I5", - "I4", - "I3", - "Cn", - "R1", - "R2", - "R3", - "R4", - "S1", - "S2", - "S3", - "S4" - ], - "label": "GUIAm2901ALUInclDecode", - "logic_width": 1, - "output_count": [ - "F1", - "F2", - "F3", - "F4", - "Cn+4", - "OVR" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json index 71a63aa7..3481904b 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", "width": 35.0, "height": 230.0, "interfacePins": [ @@ -238,7 +236,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.25, "subComps": [ { @@ -246,72 +244,60 @@ mograsim version: 0.1.2 "x": 15.0, "y": 165.0 }, - "name": "GUIAm2901SourceDecode", - "params": {} + "id": "GUIAm2901SourceDecode" }, { "pos": { "x": 45.0, "y": 365.0 }, - "name": "GUIsel2_4", - "params": {} + "id": "GUIsel2_4" }, { "pos": { "x": 45.0, "y": 575.0 }, - "name": "GUIsel3_4", - "params": {} + "id": "GUIsel3_4" }, { "pos": { "x": 60.0, "y": 15.0 }, - "name": "GUIAm2901ALUInclDecode", - "params": {} + "id": "GUIAm2901ALUInclDecode" }, { "pos": { "x": 9.0, "y": 459.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 14.0, "y": 499.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 19.0, "y": 539.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 24.0, "y": 579.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -1307,42 +1293,5 @@ mograsim version: 0.1.2 ] } ] - }, - "specialized": { - "input_count": [ - "I5", - "I4", - "I3", - "I2", - "I1", - "I0", - "Cn", - "D1", - "D2", - "D3", - "D4", - "A1", - "A2", - "A3", - "A4", - "B1", - "B2", - "B3", - "B4", - "Q1", - "Q2", - "Q3", - "Q4" - ], - "label": "GUIAm2901ALUInclSourceDecodeInclFunctionDecode", - "logic_width": 1, - "output_count": [ - "F1", - "F2", - "F3", - "F4", - "Cn+4", - "OVR" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUOneBit.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUOneBit.json index 5466a04e..84f1a124 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUOneBit.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUOneBit.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901ALUOneBit", "width": 35.0, "height": 90.0, "interfacePins": [ @@ -94,7 +92,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.2, "subComps": [ { @@ -102,86 +100,73 @@ mograsim version: 0.1.2 "x": 10.0, "y": 20.0 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 10.0, "y": 190.0 }, - "name": "GUIxor", - "params": {} + "id": "GUIxor" }, { "pos": { "x": 10.0, "y": 290.0 }, - "name": "GUIxor", - "params": {} + "id": "GUIxor" }, { "pos": { "x": 60.0, "y": 20.0 }, - "name": "GUIfulladder", - "params": {} + "id": "GUIfulladder" }, { "pos": { "x": 60.0, "y": 55.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 135.0, "y": 20.0 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 90.0, "y": 70.0 }, - "name": "GUImux1", - "params": {} + "id": "GUImux1" }, { "pos": { "x": 135.0, "y": 70.0 }, - "name": "GUIxor", - "params": {} + "id": "GUIxor" }, { "pos": { "x": 49.0, "y": 59.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 54.0, "y": 69.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -514,24 +499,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "Cin", - "CoutE", - "CinE", - "R", - "RN", - "S", - "SN", - "FN", - "L" - ], - "label": "GUIAm2901ALUOneBit", - "logic_width": 1, - "output_count": [ - "Cout", - "F" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901DestDecode.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901DestDecode.json index 3faa02d4..20dbfb08 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901DestDecode.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901DestDecode.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901DestDecode", "width": 35.0, "height": 60.0, "interfacePins": [ @@ -78,7 +76,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.25, "subComps": [ { @@ -86,290 +84,232 @@ mograsim version: 0.1.2 "x": 15.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 50.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 90.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 15.0, "y": 150.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 50.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 90.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 50.0, "y": 130.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 80.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 80.0, "y": 90.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 80.0, "y": 145.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 110.0, "y": 105.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 115.0, "y": 210.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 4.0, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 14.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 24.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 59.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 64.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 9.0, "y": 104.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 154.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 59.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 44.0, "y": 54.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 39.0, "y": 134.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 74.0, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 74.0, "y": 99.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 74.0, "y": 104.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 74.0, "y": 159.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 109.0, "y": 214.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -1054,22 +994,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "I8", - "I7", - "I6" - ], - "label": "GUIAm2901DestDecode", - "logic_width": 1, - "output_count": [ - "NSH", - "RSH", - "RAMWE", - "YF", - "LSH", - "QWE" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901QReg.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901QReg.json index 85f0edf8..b2772259 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901QReg.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901QReg.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901QReg", "width": 35.0, "height": 60.0, "interfacePins": [ @@ -86,7 +84,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.4, "subComps": [ { @@ -94,70 +92,59 @@ mograsim version: 0.1.2 "x": 5.0, "y": 15.0 }, - "name": "GUIand", - "params": {} + "id": "GUIand" }, { "pos": { "x": 50.0, "y": 7.5 }, - "name": "GUIdff", - "params": {} + "id": "GUIdff" }, { "pos": { "x": 50.0, "y": 32.5 }, - "name": "GUIdff", - "params": {} + "id": "GUIdff" }, { "pos": { "x": 50.0, "y": 57.5 }, - "name": "GUIdff", - "params": {} + "id": "GUIdff" }, { "pos": { "x": 50.0, "y": 82.5 }, - "name": "GUIdff", - "params": {} + "id": "GUIdff" }, { "pos": { "x": 41.5, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 41.5, "y": 36.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 41.5, "y": 61.5 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -401,23 +388,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "C", - "WE", - "D1", - "D2", - "D3", - "D4" - ], - "label": "GUIAm2901QReg", - "logic_width": 1, - "output_count": [ - "Q1", - "Q2", - "Q3", - "Q4" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901SourceDecode.json b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901SourceDecode.json index c8823710..e72cc9fb 100644 --- a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901SourceDecode.json +++ b/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901SourceDecode.json @@ -1,7 +1,5 @@ -mograsim version: 0.1.2 +mograsim version: 0.1.3 { - "type": "SimpleRectangularSubmodelComponent", - "name": "GUIAm2901SourceDecode", "width": 35.0, "height": 50.0, "interfacePins": [ @@ -70,7 +68,7 @@ mograsim version: 0.1.2 "logicWidth": 1 } ], - "composition": { + "submodel": { "innerScale": 0.25, "subComps": [ { @@ -78,310 +76,248 @@ mograsim version: 0.1.2 "x": 10.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 10.0, "y": 50.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 10.0, "y": 90.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 50.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 90.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 130.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 40.0, "y": 170.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 70.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 70.0, "y": 50.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 70.0, "y": 90.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 70.0, "y": 130.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 70.0, "y": 170.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 100.0, "y": 10.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 100.0, "y": 170.0 }, - "name": "GUINandGate", - "params": { - "logicWidth": 1 - } + "id": "GUINandGate", + "params": 1 }, { "pos": { "x": 4.0, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 4.0, "y": 144.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 59.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 99.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 6.5, "y": 104.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 31.5, "y": 54.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 59.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 64.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 34.0, "y": 134.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 36.5, "y": 99.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 64.0, "y": 59.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 64.0, "y": 99.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 64.0, "y": 139.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 94.0, "y": 19.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 }, { "pos": { "x": 94.0, "y": 179.0 }, - "name": "WireCrossPoint", - "params": { - "logicWidth": 1 - } + "id": "WireCrossPoint", + "params": 1 } ], "innerWires": [ @@ -1097,21 +1033,5 @@ mograsim version: 0.1.2 "path": [] } ] - }, - "specialized": { - "input_count": [ - "I2", - "I1", - "I0" - ], - "label": "Am2901SourceDecode", - "logic_width": 1, - "output_count": [ - "SQ", - "RA", - "SB", - "SA", - "RD" - ] } } \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java new file mode 100644 index 00000000..4c7b5d9f --- /dev/null +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java @@ -0,0 +1,65 @@ +package net.mograsim.logic.ui.examples; + +import java.io.IOException; +import java.util.function.Function; + +import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUI_rsLatch; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand41; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIandor414; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdemux2; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdff; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdlatch; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdlatch4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIfulladder; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIhalfadder; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUImux1; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUImux1_4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUInand3; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUInot4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIor4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIor_4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIram2; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIram4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIsel2_4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIsel3_4; +import net.mograsim.logic.ui.model.components.mi.nandbased.GUIxor; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUFuncDecode; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUInclDecode; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUInclSourceDecodeInclFunctionDecode; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUOneBit; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901DestDecode; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901QReg; +import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901SourceDecode; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams; +import net.mograsim.logic.ui.util.JsonHandler; + +public class ComponenetSerializer +{ + public static void main(String[] args) throws IOException + { + // we know we only use components where this works + Function getIdentifier = c -> c.getClass().getSimpleName(); + + ViewModelModifiable model = new ViewModelModifiable(); + SubmodelComponent[] components = { new GUIAm2901(model), new GUIAm2901ALUFuncDecode(model), new GUIAm2901ALUInclDecode(model), + new GUIAm2901ALUInclSourceDecodeInclFunctionDecode(model), new GUIAm2901ALUOneBit(model), new GUIAm2901DestDecode(model), + new GUIAm2901QReg(model), new GUIAm2901SourceDecode(model), new GUI_rsLatch(model), new GUIand(model), new GUIand41(model), + new GUIandor414(model), new GUIdemux2(model), new GUIdff(model), new GUIdlatch(model), new GUIdlatch4(model), + new GUIfulladder(model), new GUIhalfadder(model), new GUImux1(model), new GUImux1_4(model), new GUInand3(model), + new GUInot4(model), new GUIor4(model), new GUIor_4(model), new GUIram2(model), new GUIram4(model), new GUIsel2_4(model), + new GUIsel3_4(model), new GUIxor(model) }; + + for (SubmodelComponent comp : components) + { + SubmodelComponentParams params = comp.calculateParams(getIdentifier); + JsonHandler.writeJson(params, "components/" + + comp.getClass().getName().substring("net.mograsim.logic.ui.model.components.mi.nandbased.".length()).replace('.', '/') + + ".json"); + } + } +} \ No newline at end of file -- 2.17.1