-Subproject commit 675171d7c711e4d699b44c40d2b68d18709b7b90
+Subproject commit 7857458991642e998c691d9b65d5a9bf7f7bbfae
feedSignals(BitVector.of(newValues));
}
+ // TODO what if this is called multiple times at the same simulation time? (happens in component unit tests)
public void feedSignals(BitVector newValues)
{
if (newValues.length() != width)
"params": 1
},
{
- "id": "Merger",
+ "id": "Splitter",
"name": "Merger#0",
"pos": {
"x": 85.0,
"y": 130.0
},
- "params": 13
+ "params": {
+ "logicWidth": 13,
+ "orientation": "LEFT"
+ }
},
{
"id": "TextComponent",
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 185.0,
- "y": 365.0
+ "x": 184.0,
+ "y": 364.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 185.0,
- "y": 310.0
+ "x": 184.0,
+ "y": 309.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
- "x": 370.0,
- "y": 175.0
+ "x": 369.0,
+ "y": 174.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#11",
"pos": {
- "x": 375.0,
- "y": 190.0
+ "x": 374.0,
+ "y": 189.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#12",
"pos": {
- "x": 380.0,
- "y": 200.0
+ "x": 379.0,
+ "y": 199.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 210.0,
- "y": 325.0
+ "x": 209.0,
+ "y": 324.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
- "x": 215.0,
- "y": 340.0
+ "x": 214.0,
+ "y": 339.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
- "x": 355.0,
- "y": 380.0
+ "x": 354.0,
+ "y": 379.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
- "x": 360.0,
- "y": 390.0
+ "x": 359.0,
+ "y": 389.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
- "x": 345.0,
- "y": 85.0
+ "x": 344.0,
+ "y": 84.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
- "x": 360.0,
- "y": 110.0
+ "x": 359.0,
+ "y": 109.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
- "x": 360.0,
- "y": 125.0
+ "x": 359.0,
+ "y": 124.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
- "x": 365.0,
- "y": 160.0
+ "x": 364.0,
+ "y": 159.0
},
"params": 1
}
{
"pin1": {
"compName": "Merger#0",
- "pinName": "O"
+ "pinName": "I"
},
"pin2": {
"compName": "Am2904#0",
},
"pin2": {
"compName": "Merger#0",
- "pinName": "I12"
+ "pinName": "O12"
},
"name": "unnamedWire#42",
"path": []
{
"pin1": {
"compName": "Merger#0",
- "pinName": "I11"
+ "pinName": "O11"
},
"pin2": {
"compName": "ManualSwitch#13",
},
"pin2": {
"compName": "Merger#0",
- "pinName": "I10"
+ "pinName": "O10"
},
"name": "unnamedWire#44",
"path": []
{
"pin1": {
"compName": "Merger#0",
- "pinName": "I9"
+ "pinName": "O9"
},
"pin2": {
"compName": "ManualSwitch#22",
},
"pin2": {
"compName": "Merger#0",
- "pinName": "I8"
+ "pinName": "O8"
},
"name": "unnamedWire#46",
"path": []
{
"pin1": {
"compName": "Merger#0",
- "pinName": "I7"
+ "pinName": "O7"
},
"pin2": {
"compName": "ManualSwitch#23",
},
"pin2": {
"compName": "Merger#0",
- "pinName": "I6"
+ "pinName": "O6"
},
"name": "unnamedWire#48",
"path": []
{
"pin1": {
"compName": "Merger#0",
- "pinName": "I5"
+ "pinName": "O5"
},
"pin2": {
"compName": "ManualSwitch#26",
},
"pin2": {
"compName": "Merger#0",
- "pinName": "I4"
+ "pinName": "O4"
},
"name": "unnamedWire#50",
"path": []
{
"pin1": {
"compName": "Merger#0",
- "pinName": "I3"
+ "pinName": "O3"
},
"pin2": {
"compName": "ManualSwitch#30",
},
"pin2": {
"compName": "Merger#0",
- "pinName": "I2"
+ "pinName": "O2"
},
"name": "unnamedWire#52",
"path": []
{
"pin1": {
"compName": "Merger#0",
- "pinName": "I1"
+ "pinName": "O1"
},
"pin2": {
"compName": "ManualSwitch#27",
},
"pin2": {
"compName": "Merger#0",
- "pinName": "I0"
+ "pinName": "O0"
},
"name": "unnamedWire#54",
"path": []
Bundle-Version: 0.1.0.qualifier
Export-Package: net.mograsim.logic.model.am2900,
net.mograsim.logic.model.am2900.components,
+ net.mograsim.logic.model.am2900.components.am2901,
net.mograsim.logic.model.am2900.components.am2904,
net.mograsim.logic.model.am2900.components.am2910,
net.mograsim.logic.model.am2900.machine,
-source.. = src/
+source.. = src/,\
+ components/
bin.includes = META-INF/,\
.,\
OSGI-INF/,\
{
- "width": 344.0,
- "height": 242.0,
+ "width": 460.0,
+ "height": 330.0,
"interfacePins": [],
"innerScale": 0.4,
"submodel": {
"components": [
- {
- "id": "Clock",
- "name": "Clock#0",
- "pos": {
- "x": 155.0,
- "y": 246.0
- },
- "params": {
- "delta": 1000,
- "orientation": "DOWN"
- }
- },
{
"id": "Am2901",
- "name": "DeserializedSubmodelComponent#0",
+ "name": "Am2901#0",
"pos": {
- "x": 420.0,
- "y": 240.0
+ "x": 615.0,
+ "y": 370.0
}
},
{
"id": "Am2901",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 485.0,
- "y": 240.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#10",
- "pos": {
- "x": 320.0,
- "y": 15.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#11",
- "pos": {
- "x": 320.0,
- "y": 120.0
- }
- },
- {
- "id": "dff12_we",
- "name": "DeserializedSubmodelComponent#12",
- "pos": {
- "x": 290.0,
- "y": 485.0
- }
- },
- {
- "id": "mux1_12",
- "name": "DeserializedSubmodelComponent#13",
+ "name": "Am2901#1",
"pos": {
- "x": 170.0,
- "y": 495.0
+ "x": 740.0,
+ "y": 370.0
}
},
{
"id": "Am2901",
- "name": "DeserializedSubmodelComponent#2",
+ "name": "Am2901#2",
"pos": {
- "x": 550.0,
- "y": 240.0
+ "x": 865.0,
+ "y": 370.0
}
},
{
"id": "Am2901",
- "name": "DeserializedSubmodelComponent#3",
+ "name": "Am2901#3",
"pos": {
- "x": 615.0,
- "y": 240.0
+ "x": 1000.0,
+ "y": 370.0
}
},
{
"id": "Am2904",
- "name": "DeserializedSubmodelComponent#4",
+ "name": "Am2904#0",
"pos": {
- "x": 240.0,
- "y": 241.0
+ "x": 440.0,
+ "y": 375.0
}
},
{
"id": "Am2910",
- "name": "DeserializedSubmodelComponent#5",
+ "name": "Am2910#0",
"pos": {
- "x": 100.0,
- "y": 351.0
+ "x": 295.0,
+ "y": 480.0
}
},
{
- "id": "and",
- "name": "DeserializedSubmodelComponent#6",
+ "id": "BitDisplay",
+ "name": "BitDisplay#0",
"pos": {
- "x": 665.0,
- "y": 501.0
- }
+ "x": 10.0,
+ "y": 165.0
+ },
+ "params": 8
},
{
- "id": "and",
- "name": "DeserializedSubmodelComponent#7",
+ "id": "BitDisplay",
+ "name": "BitDisplay#1",
"pos": {
- "x": 550.0,
- "y": 541.0
- }
+ "x": 10.0,
+ "y": 115.0
+ },
+ "params": 16
},
{
- "id": "and",
- "name": "DeserializedSubmodelComponent#8",
+ "id": "BitDisplay",
+ "name": "BitDisplay#2",
"pos": {
- "x": 730.0,
- "y": 526.0
- }
+ "x": 10.0,
+ "y": 140.0
+ },
+ "params": 16
},
{
- "id": "dff16_invwe",
- "name": "DeserializedSubmodelComponent#9",
+ "id": "BitDisplay",
+ "name": "BitDisplay#3",
+ "pos": {
+ "x": 10.0,
+ "y": 190.0
+ },
+ "params": 12
+ },
+ {
+ "id": "Clock",
+ "name": "Clock#0",
"pos": {
- "x": 135.0,
- "y": 106.0
+ "x": 325.0,
+ "y": 310.0
+ },
+ "params": {
+ "delta": 1000,
+ "orientation": "DOWN"
}
},
{
"id": "FixedOutput",
"name": "FixedOutput#0",
"pos": {
- "x": 205.0,
- "y": 211.0
+ "x": 430.0,
+ "y": 240.0
},
"params": {
"bits": [
"id": "FixedOutput",
"name": "FixedOutput#1",
"pos": {
- "x": 370.0,
- "y": 301.0
+ "x": 525.0,
+ "y": 350.0
},
"params": {
"bits": [
},
{
"id": "FixedOutput",
- "name": "FixedOutput#11",
+ "name": "FixedOutput#2",
"pos": {
- "x": 210.0,
- "y": 281.0
+ "x": 255.0,
+ "y": 475.0
},
"params": {
"bits": [
- "ZERO"
+ "ONE"
]
}
},
"id": "FixedOutput",
"name": "FixedOutput#3",
"pos": {
- "x": 70.0,
- "y": 346.0
+ "x": 345.0,
+ "y": 530.0
},
"params": {
"bits": [
},
{
"id": "FixedOutput",
- "name": "FixedOutput#5",
+ "name": "FixedOutput#4",
"pos": {
- "x": 175.0,
- "y": 396.0
+ "x": 310.0,
+ "y": 540.0
},
"params": {
"bits": [
- "ONE"
+ "ZERO"
]
}
},
{
"id": "FixedOutput",
- "name": "FixedOutput#7",
+ "name": "FixedOutput#5",
"pos": {
- "x": 140.0,
- "y": 431.0
+ "x": 365.0,
+ "y": 475.0
},
"params": {
"bits": [
},
{
"id": "FixedOutput",
- "name": "FixedOutput#9",
+ "name": "FixedOutput#6",
"pos": {
- "x": 210.0,
- "y": 316.0
+ "x": 425.0,
+ "y": 340.0
},
"params": {
"bits": [
}
},
{
- "id": "Merger",
- "name": "Merger#0",
+ "id": "ManualSwitch",
+ "name": "ManualSwitch#0",
"pos": {
- "x": 235.0,
- "y": 56.0
+ "x": 10.0,
+ "y": 315.0
},
- "params": 8
+ "params": 1
},
{
- "id": "Merger",
- "name": "Merger#1",
+ "id": "ManualSwitch",
+ "name": "ManualSwitch#1",
"pos": {
- "x": 235.0,
- "y": 136.0
+ "x": 10.0,
+ "y": 290.0
},
- "params": 4
+ "params": 80
},
{
- "id": "Merger",
- "name": "Merger#2",
+ "id": "ManualSwitch",
+ "name": "ManualSwitch#2",
"pos": {
- "x": 235.0,
- "y": 176.0
+ "x": 10.0,
+ "y": 265.0
},
- "params": 4
+ "params": 12
},
{
- "id": "Merger",
- "name": "Merger#3",
+ "id": "ManualSwitch",
+ "name": "ManualSwitch#3",
"pos": {
- "x": 360.0,
- "y": 20.0
+ "x": 10.0,
+ "y": 340.0
},
- "params": 4
+ "params": 1
},
{
- "id": "Merger",
- "name": "Merger#4",
+ "id": "ManualSwitch",
+ "name": "ManualSwitch#4",
"pos": {
- "x": 360.0,
- "y": 125.0
+ "x": 10.0,
+ "y": 365.0
},
- "params": 4
+ "params": 1
},
{
- "id": "NandGate",
- "name": "NandGate#0",
+ "id": "ManualSwitch",
+ "name": "ManualSwitch#5",
"pos": {
- "x": 255.0,
- "y": 495.0
+ "x": 10.0,
+ "y": 215.0
},
"params": 1
},
+ {
+ "id": "ManualSwitch",
+ "name": "ManualSwitch#6",
+ "pos": {
+ "x": 10.0,
+ "y": 240.0
+ },
+ "params": 16
+ },
{
"id": "NandGate",
"name": "NandGate#1",
"pos": {
- "x": 270.0,
- "y": 550.0
+ "x": 225.0,
+ "y": 135.0
},
"params": 1
},
"id": "Splitter",
"name": "Splitter#0",
"pos": {
- "x": 215.0,
- "y": 56.0
+ "x": 445.0,
+ "y": 85.0
},
- "params": 16
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#1",
"pos": {
- "x": 305.0,
- "y": 30.0
+ "x": 500.0,
+ "y": 130.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#10",
+ "name": "Splitter#11",
"pos": {
- "x": 600.0,
- "y": 395.0
+ "x": 465.0,
+ "y": 85.0
},
- "params": 4
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#2",
+ "name": "Splitter#12",
"pos": {
- "x": 305.0,
- "y": 135.0
+ "x": 465.0,
+ "y": 165.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#3",
+ "name": "Splitter#13",
"pos": {
- "x": 405.0,
- "y": 395.0
+ "x": 465.0,
+ "y": 205.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#4",
+ "name": "Splitter#14",
"pos": {
- "x": 405.0,
- "y": 435.0
+ "x": 555.0,
+ "y": 120.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#5",
+ "name": "Splitter#15",
"pos": {
- "x": 470.0,
- "y": 395.0
+ "x": 555.0,
+ "y": 215.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#6",
+ "name": "Splitter#16",
"pos": {
- "x": 470.0,
- "y": 435.0
+ "x": 235.0,
+ "y": 800.0
},
- "params": 4
+ "params": {
+ "logicWidth": 80,
+ "orientation": "UP_ALT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#7",
+ "name": "Splitter#17",
"pos": {
- "x": 535.0,
- "y": 435.0
+ "x": 295.0,
+ "y": 785.0
},
- "params": 4
+ "params": {
+ "logicWidth": 12,
+ "orientation": "DOWN_ALT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#8",
+ "name": "Splitter#18",
"pos": {
- "x": 535.0,
- "y": 395.0
+ "x": 415.0,
+ "y": 785.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN_ALT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#9",
+ "name": "Splitter#19",
"pos": {
- "x": 600.0,
- "y": 435.0
+ "x": 550.0,
+ "y": 725.0
},
- "params": 4
+ "params": {
+ "logicWidth": 13,
+ "orientation": "DOWN"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#0",
+ "id": "Splitter",
+ "name": "Splitter#2",
"pos": {
- "x": 200.0,
- "y": 236.0
+ "x": 500.0,
+ "y": 225.0
},
- "params": 1
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#1",
+ "id": "Splitter",
+ "name": "Splitter#20",
"pos": {
- "x": 400.0,
- "y": 231.0
+ "x": 465.0,
+ "y": 785.0
},
- "params": 1
+ "params": {
+ "logicWidth": 6,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#10",
+ "id": "Splitter",
+ "name": "Splitter#21",
"pos": {
- "x": 415.0,
- "y": 220.0
+ "x": 585.0,
+ "y": 785.0
},
- "params": 4
+ "params": {
+ "logicWidth": 2,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
+ "id": "Splitter",
+ "name": "Splitter#22",
"pos": {
- "x": 410.0,
- "y": 225.0
+ "x": 545.0,
+ "y": 785.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "id": "Splitter",
+ "name": "Splitter#23",
"pos": {
- "x": 266.0,
- "y": 555.0
+ "x": 620.0,
+ "y": 740.0
},
- "params": 1
+ "params": {
+ "logicWidth": 6,
+ "orientation": "UP"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#13",
+ "id": "Splitter",
+ "name": "Splitter#24",
"pos": {
- "x": 245.0,
- "y": 490.0
+ "x": 580.0,
+ "y": 740.0
},
- "params": 1
+ "params": {
+ "logicWidth": 4,
+ "orientation": "UP"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "id": "Splitter",
+ "name": "Splitter#25",
"pos": {
- "x": 355.0,
- "y": 505.0
+ "x": 550.0,
+ "y": 740.0
},
- "params": 12
+ "params": {
+ "logicWidth": 2,
+ "orientation": "UP"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#2",
+ "id": "Splitter",
+ "name": "Splitter#26",
"pos": {
- "x": 470.0,
- "y": 231.0
+ "x": 815.0,
+ "y": 785.0
},
- "params": 1
+ "params": {
+ "logicWidth": 16,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#3",
+ "id": "Splitter",
+ "name": "Splitter#27",
"pos": {
- "x": 535.0,
- "y": 231.0
+ "x": 785.0,
+ "y": 785.0
},
- "params": 1
+ "params": {
+ "logicWidth": 3,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#4",
+ "id": "Splitter",
+ "name": "Splitter#28",
"pos": {
- "x": 230.0,
- "y": 176.0
+ "x": 755.0,
+ "y": 785.0
},
- "params": 1
+ "params": {
+ "logicWidth": 3,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#5",
+ "id": "Splitter",
+ "name": "Splitter#29",
"pos": {
- "x": 235.0,
- "y": 281.0
+ "x": 725.0,
+ "y": 785.0
},
- "params": 1
+ "params": {
+ "logicWidth": 3,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#6",
+ "id": "Splitter",
+ "name": "Splitter#30",
"pos": {
- "x": 525.0,
- "y": 225.0
+ "x": 685.0,
+ "y": 785.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#7",
+ "id": "Splitter",
+ "name": "Splitter#31",
"pos": {
- "x": 530.0,
- "y": 220.0
+ "x": 635.0,
+ "y": 785.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN_ALT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#8",
+ "id": "Splitter",
+ "name": "Splitter#32",
"pos": {
- "x": 465.0,
- "y": 220.0
+ "x": 785.0,
+ "y": 770.0
},
- "params": 4
+ "params": {
+ "logicWidth": 3,
+ "orientation": "UP"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#9",
+ "id": "Splitter",
+ "name": "Splitter#33",
"pos": {
- "x": 460.0,
- "y": 225.0
+ "x": 725.0,
+ "y": 770.0
},
- "params": 4
+ "params": {
+ "logicWidth": 3,
+ "orientation": "UP"
+ }
},
{
- "id": "inc12",
- "name": "inc12#0",
+ "id": "Splitter",
+ "name": "Splitter#34",
"pos": {
- "x": 245.0,
- "y": 525.0
- }
- }
- ],
- "wires": [
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "CT"
+ "x": 755.0,
+ "y": 770.0
},
- "pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "_CC"
- },
- "name": "unnamedWire#0",
- "path": []
+ "params": {
+ "logicWidth": 3,
+ "orientation": "UP"
+ }
},
{
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "id": "Splitter",
+ "name": "Splitter#35",
+ "pos": {
+ "x": 725.0,
+ "y": 750.0
+ },
+ "params": {
+ "logicWidth": 9,
+ "orientation": "DOWN"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#36",
+ "pos": {
+ "x": 785.0,
+ "y": 300.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "DOWN"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#37",
+ "pos": {
+ "x": 785.0,
+ "y": 550.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#38",
+ "pos": {
+ "x": 785.0,
+ "y": 535.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#39",
+ "pos": {
+ "x": 825.0,
+ "y": 535.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#40",
+ "pos": {
+ "x": 865.0,
+ "y": 535.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#41",
+ "pos": {
+ "x": 905.0,
+ "y": 535.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#42",
+ "pos": {
+ "x": 785.0,
+ "y": 315.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#43",
+ "pos": {
+ "x": 825.0,
+ "y": 315.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#44",
+ "pos": {
+ "x": 865.0,
+ "y": 315.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#45",
+ "pos": {
+ "x": 905.0,
+ "y": 315.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#46",
+ "pos": {
+ "x": 200.0,
+ "y": 200.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#47",
+ "pos": {
+ "x": 500.0,
+ "y": 170.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#48",
+ "pos": {
+ "x": 255.0,
+ "y": 785.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "DOWN_ALT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#49",
+ "pos": {
+ "x": 500.0,
+ "y": 265.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#0",
+ "pos": {
+ "x": 65.0,
+ "y": 10.0
+ },
+ "params": "D bus"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#1",
+ "pos": {
+ "x": 65.0,
+ "y": 25.0
+ },
+ "params": "A bus"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#10",
+ "pos": {
+ "x": -50.0,
+ "y": 115.0
+ },
+ "params": "d"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#11",
+ "pos": {
+ "x": -50.0,
+ "y": 140.0
+ },
+ "params": "a"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#12",
+ "pos": {
+ "x": -50.0,
+ "y": 190.0
+ },
+ "params": "mi addr"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#2",
+ "pos": {
+ "x": -50.0,
+ "y": 165.0
+ },
+ "params": "instr"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#3",
+ "pos": {
+ "x": -50.0,
+ "y": 290.0
+ },
+ "params": "micro instr"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#4",
+ "pos": {
+ "x": -50.0,
+ "y": 315.0
+ },
+ "params": "mireg c"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#5",
+ "pos": {
+ "x": -50.0,
+ "y": 265.0
+ },
+ "params": "mprom y"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#6",
+ "pos": {
+ "x": -50.0,
+ "y": 340.0
+ },
+ "params": "ireg c"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#7",
+ "pos": {
+ "x": -50.0,
+ "y": 365.0
+ },
+ "params": "bz/pc c"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#8",
+ "pos": {
+ "x": -50.0,
+ "y": 215.0
+ },
+ "params": "d in enable"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#9",
+ "pos": {
+ "x": -50.0,
+ "y": 240.0
+ },
+ "params": "d in"
+ },
+ {
+ "id": "TriStateBuffer",
+ "name": "TriStateBuffer#0",
+ "pos": {
+ "x": 880.0,
+ "y": 560.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT_ALT"
+ }
+ },
+ {
+ "id": "TriStateBuffer",
+ "name": "TriStateBuffer#1",
+ "pos": {
+ "x": 880.0,
+ "y": 585.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT_ALT"
+ }
+ },
+ {
+ "id": "TriStateBuffer",
+ "name": "TriStateBuffer#2",
+ "pos": {
+ "x": 315.0,
+ "y": 90.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT_ALT"
+ }
+ },
+ {
+ "id": "TriStateBuffer",
+ "name": "TriStateBuffer#3",
+ "pos": {
+ "x": 315.0,
+ "y": 125.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT_ALT"
+ }
+ },
+ {
+ "id": "TriStateBuffer",
+ "name": "TriStateBuffer#4",
+ "pos": {
+ "x": 45.0,
+ "y": 210.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 494.0,
+ "y": 334.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 604.0,
+ "y": 364.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
+ "pos": {
+ "x": 709.0,
+ "y": 354.0
+ },
+ "params": 4
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
+ "pos": {
+ "x": 714.0,
+ "y": 359.0
+ },
+ "params": 4
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
+ "pos": {
+ "x": 219.0,
+ "y": 149.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#13",
+ "pos": {
+ "x": 364.0,
+ "y": 14.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#14",
+ "pos": {
+ "x": 309.0,
+ "y": 99.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#15",
+ "pos": {
+ "x": 784.0,
+ "y": 14.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#16",
+ "pos": {
+ "x": 734.0,
+ "y": 764.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#17",
+ "pos": {
+ "x": 874.0,
+ "y": 569.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#18",
+ "pos": {
+ "x": 139.0,
+ "y": 14.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#19",
+ "pos": {
+ "x": 94.0,
+ "y": 29.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 729.0,
+ "y": 364.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#20",
+ "pos": {
+ "x": 334.0,
+ "y": 334.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#22",
+ "pos": {
+ "x": 339.0,
+ "y": 14.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#23",
+ "pos": {
+ "x": 344.0,
+ "y": 29.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#26",
+ "pos": {
+ "x": 709.0,
+ "y": 499.0
+ },
+ "params": 9
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#27",
+ "pos": {
+ "x": 834.0,
+ "y": 499.0
+ },
+ "params": 9
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#28",
+ "pos": {
+ "x": 959.0,
+ "y": 499.0
+ },
+ "params": 9
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#29",
+ "pos": {
+ "x": 94.0,
+ "y": 14.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 854.0,
+ "y": 364.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#30",
+ "pos": {
+ "x": 454.0,
+ "y": 369.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#31",
+ "pos": {
+ "x": 459.0,
+ "y": 369.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 459.0,
+ "y": 204.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 449.0,
+ "y": 369.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 964.0,
+ "y": 359.0
+ },
+ "params": 4
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 959.0,
+ "y": 354.0
+ },
+ "params": 4
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#8",
+ "pos": {
+ "x": 834.0,
+ "y": 354.0
+ },
+ "params": 4
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 839.0,
+ "y": 359.0
+ },
+ "params": 4
+ },
+ {
+ "id": "and",
+ "name": "and#0",
+ "pos": {
+ "x": 750.0,
+ "y": 560.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#1",
+ "pos": {
+ "x": 750.0,
+ "y": 580.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#2",
+ "pos": {
+ "x": 795.0,
+ "y": 565.0
+ }
+ },
+ {
+ "id": "dff16",
+ "name": "dff16#0",
+ "pos": {
+ "x": 260.0,
+ "y": 75.0
+ }
+ },
+ {
+ "id": "dff16_invwe",
+ "name": "dff16_invwe#0",
+ "pos": {
+ "x": 380.0,
+ "y": 135.0
+ }
+ },
+ {
+ "id": "dff80",
+ "name": "dff80#0",
+ "pos": {
+ "x": 180.0,
+ "y": 645.0
+ }
+ },
+ {
+ "id": "inc",
+ "name": "inc#0",
+ "pos": {
+ "x": 205.0,
+ "y": 105.0
+ },
+ "params": 16
+ },
+ {
+ "id": "mux1_12",
+ "name": "mux1_12#0",
+ "pos": {
+ "x": 255.0,
+ "y": 390.0
+ }
+ },
+ {
+ "id": "mux1_16",
+ "name": "mux1_16#0",
+ "pos": {
+ "x": 145.0,
+ "y": 80.0
+ }
+ },
+ {
+ "id": "mux1_16",
+ "name": "mux1_16#1",
+ "pos": {
+ "x": 800.0,
+ "y": 185.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#0",
+ "pos": {
+ "x": 515.0,
+ "y": 115.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#1",
+ "pos": {
+ "x": 515.0,
+ "y": 210.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "CT"
+ },
+ "pin2": {
+ "compName": "Am2910#0",
+ "pinName": "_CC"
+ },
+ "name": "unnamedWire#0",
+ "path": [
+ {
+ "x": 565.0,
+ "y": 430.0
+ },
+ {
+ "x": 565.0,
+ "y": 325.0
+ },
+ {
+ "x": 360.0,
+ "y": 325.0
+ },
+ {
+ "x": 360.0,
+ "y": 475.0
+ },
+ {
+ "x": 290.0,
+ "y": 475.0
+ },
+ {
+ "x": 290.0,
+ "y": 490.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#0",
"pinName": "Qn+3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Qn"
+ "compName": "Am2901#1",
+ "pinName": "Qn"
+ },
+ "name": "unnamedWire#1",
+ "path": [
+ {
+ "x": 725.0,
+ "y": 485.0
+ },
+ {
+ "x": 725.0,
+ "y": 390.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "QIOn"
+ },
+ "pin2": {
+ "compName": "Am2901#3",
+ "pinName": "Qn+3"
+ },
+ "name": "unnamedWire#10",
+ "path": [
+ {
+ "x": 430.0,
+ "y": 500.0
+ },
+ {
+ "x": 430.0,
+ "y": 630.0
+ },
+ {
+ "x": 1105.0,
+ "y": 630.0
+ },
+ {
+ "x": 1105.0,
+ "y": 485.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "IN"
+ },
+ "pin2": {
+ "compName": "Am2901#3",
+ "pinName": "F3"
+ },
+ "name": "unnamedWire#11",
+ "path": [
+ {
+ "x": 415.0,
+ "y": 395.0
+ },
+ {
+ "x": 415.0,
+ "y": 615.0
+ },
+ {
+ "x": 995.0,
+ "y": 615.0
+ },
+ {
+ "x": 995.0,
+ "y": 425.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#14",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#113",
+ "path": [
+ {
+ "x": 650.0,
+ "y": 135.0
+ },
+ {
+ "x": 650.0,
+ "y": 355.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#15",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#114",
+ "path": [
+ {
+ "x": 645.0,
+ "y": 360.0
+ },
+ {
+ "x": 645.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "name": "unnamedWire#115",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#116",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#117",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#118",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#0",
+ "pinName": "F\u003d0"
+ },
+ "pin2": {
+ "compName": "and#1",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#12",
+ "path": [
+ {
+ "x": 610.0,
+ "y": 415.0
+ },
+ {
+ "x": 610.0,
+ "y": 505.0
+ },
+ {
+ "x": 730.0,
+ "y": 505.0
+ },
+ {
+ "x": 730.0,
+ "y": 595.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#46",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "mux1_16#0",
+ "pinName": "S"
+ },
+ "name": "unnamedWire#127",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 195.0
+ },
+ {
+ "x": 130.0,
+ "y": 195.0
+ },
+ {
+ "x": 130.0,
+ "y": 85.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "inc#0",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "dff16#0",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#128",
+ "path": [
+ {
+ "x": 225.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "inc#0",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "mux1_16#0",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#129",
+ "path": [
+ {
+ "x": 225.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#1",
+ "pinName": "F\u003d0"
+ },
+ "pin2": {
+ "compName": "and#1",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#13",
+ "path": [
+ {
+ "x": 735.0,
+ "y": 415.0
+ },
+ {
+ "x": 735.0,
+ "y": 585.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "inc#0",
+ "pinName": "CI"
+ },
+ "pin2": {
+ "compName": "NandGate#1",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#130",
+ "path": [
+ {
+ "x": 250.0,
+ "y": 115.0
+ },
+ {
+ "x": 250.0,
+ "y": 145.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#1",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#131",
+ "path": [
+ {
+ "x": 220.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#1",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "name": "unnamedWire#132",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "BitDisplay#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#11",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#133",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 55.0
+ },
+ {
+ "x": 480.0,
+ "y": 55.0
+ },
+ {
+ "x": 480.0,
+ "y": 120.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "TriStateBuffer#3",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#134",
+ "path": [
+ {
+ "x": 310.0,
+ "y": 135.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "ManualSwitch#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "mux1_12#0",
+ "pinName": "I0"
+ },
+ "name": "unnamedWire#135",
+ "path": [
+ {
+ "x": 130.0,
+ "y": 410.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2910#0",
+ "pinName": "_MAP"
+ },
+ "pin2": {
+ "compName": "mux1_12#0",
+ "pinName": "S"
+ },
+ "name": "unnamedWire#136",
+ "path": [
+ {
+ "x": 310.0,
+ "y": 530.0
+ },
+ {
+ "x": 250.0,
+ "y": 530.0
+ },
+ {
+ "x": 250.0,
+ "y": 395.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff16#0",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#137",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff80#0",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#138",
+ "path": [
+ {
+ "x": 225.0,
+ "y": 730.0
+ },
+ {
+ "x": 225.0,
+ "y": 815.0
+ },
+ {
+ "x": 630.0,
+ "y": 815.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O22"
+ },
+ "pin2": {
+ "compName": "Am2910#0",
+ "pinName": "_CCEN"
+ },
+ "name": "unnamedWire#139",
+ "path": [
+ {
+ "x": 455.0,
+ "y": 705.0
+ },
+ {
+ "x": 285.0,
+ "y": 705.0
+ },
+ {
+ "x": 285.0,
+ "y": 495.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#1",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "and#2",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#14",
+ "path": [
+ {
+ "x": 790.0,
+ "y": 585.0
+ },
+ {
+ "x": 790.0,
+ "y": 580.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O21"
+ },
+ "name": "unnamedWire#140",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O20"
+ },
+ "pin2": {
+ "compName": "Splitter#18",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#141",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O19"
+ },
+ "name": "unnamedWire#142",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O18"
+ },
+ "pin2": {
+ "compName": "Splitter#18",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#143",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Am2910#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#144",
+ "path": [
+ {
+ "x": 430.0,
+ "y": 700.0
+ },
+ {
+ "x": 290.0,
+ "y": 700.0
+ },
+ {
+ "x": 290.0,
+ "y": 505.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O17"
+ },
+ "name": "unnamedWire#145",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O16"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#146",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O15"
+ },
+ "name": "unnamedWire#147",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O14"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#148",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O13"
+ },
+ "name": "unnamedWire#149",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "and#2",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "and#0",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#15",
+ "path": [
+ {
+ "x": 790.0,
+ "y": 570.0
+ },
+ {
+ "x": 790.0,
+ "y": 565.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O12"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#150",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O11"
+ },
+ "name": "unnamedWire#151",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O10"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#152",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O9"
+ },
+ "name": "unnamedWire#153",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O8"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#154",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#155",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#156",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "mux1_12#0",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Am2910#0",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#157",
+ "path": [
+ {
+ "x": 325.0,
+ "y": 420.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "mux1_12#0",
+ "pinName": "I1"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#158",
+ "path": [
+ {
+ "x": 240.0,
+ "y": 450.0
+ },
+ {
+ "x": 240.0,
+ "y": 730.0
+ },
+ {
+ "x": 350.0,
+ "y": 730.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "ManualSwitch#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff16_invwe#0",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#159",
+ "path": [
+ {
+ "x": 145.0,
+ "y": 305.0
+ },
+ {
+ "x": 370.0,
+ "y": 305.0
+ },
+ {
+ "x": 370.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#0",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "Am2901#2",
+ "pinName": "F\u003d0"
+ },
+ "name": "unnamedWire#16",
+ "path": [
+ {
+ "x": 740.0,
+ "y": 575.0
+ },
+ {
+ "x": 740.0,
+ "y": 505.0
+ },
+ {
+ "x": 860.0,
+ "y": 505.0
+ },
+ {
+ "x": 860.0,
+ "y": 415.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "name": "unnamedWire#160",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#48",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#161",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#46",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#48",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#162",
+ "path": [
+ {
+ "x": 215.0,
+ "y": 610.0
+ },
+ {
+ "x": 270.0,
+ "y": 610.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#46",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "TriStateBuffer#2",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#163",
+ "path": [
+ {
+ "x": 210.0,
+ "y": 190.0
+ },
+ {
+ "x": 340.0,
+ "y": 190.0
+ },
+ {
+ "x": 340.0,
+ "y": 115.0
+ },
+ {
+ "x": 325.0,
+ "y": 115.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O29"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_CEM"
+ },
+ "name": "unnamedWire#164",
+ "path": [
+ {
+ "x": 525.0,
+ "y": 750.0
+ },
+ {
+ "x": 395.0,
+ "y": 750.0
+ },
+ {
+ "x": 395.0,
+ "y": 370.0
+ },
+ {
+ "x": 445.0,
+ "y": 370.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O30"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_CEmu"
+ },
+ "name": "unnamedWire#165",
+ "path": [
+ {
+ "x": 535.0,
+ "y": 745.0
+ },
+ {
+ "x": 390.0,
+ "y": 745.0
+ },
+ {
+ "x": 390.0,
+ "y": 365.0
+ },
+ {
+ "x": 485.0,
+ "y": 365.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O23"
+ },
+ "name": "unnamedWire#166",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O25"
+ },
+ "name": "unnamedWire#167",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O24"
+ },
+ "name": "unnamedWire#168",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O26"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#169",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#3",
+ "pinName": "F\u003d0"
+ },
+ "pin2": {
+ "compName": "and#0",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#17",
+ "path": [
+ {
+ "x": 985.0,
+ "y": 415.0
+ },
+ {
+ "x": 985.0,
+ "y": 510.0
+ },
+ {
+ "x": 745.0,
+ "y": 510.0
+ },
+ {
+ "x": 745.0,
+ "y": 565.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O27"
+ },
+ "name": "unnamedWire#170",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O28"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#171",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#22",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O31"
+ },
+ "name": "unnamedWire#172",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O32"
+ },
+ "pin2": {
+ "compName": "Splitter#22",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#173",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#22",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O33"
+ },
+ "name": "unnamedWire#174",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O34"
+ },
+ "pin2": {
+ "compName": "Splitter#22",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#175",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O35"
+ },
+ "name": "unnamedWire#176",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O36"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#177",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#23",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#178",
+ "path": [
+ {
+ "x": 645.0,
+ "y": 755.0
+ },
+ {
+ "x": 490.0,
+ "y": 755.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#22",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#24",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#179",
+ "path": [
+ {
+ "x": 560.0,
+ "y": 760.0
+ },
+ {
+ "x": 595.0,
+ "y": 760.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#2",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "IZ"
+ },
+ "name": "unnamedWire#18",
+ "path": [
+ {
+ "x": 835.0,
+ "y": 570.0
+ },
+ {
+ "x": 835.0,
+ "y": 605.0
+ },
+ {
+ "x": 405.0,
+ "y": 605.0
+ },
+ {
+ "x": 405.0,
+ "y": 385.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#25",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#180",
+ "path": [
+ {
+ "x": 555.0,
+ "y": 770.0
+ },
+ {
+ "x": 590.0,
+ "y": 770.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#23",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#181",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#23",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#182",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#23",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#183",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#23",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#184",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#23",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#185",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#23",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#186",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#24",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#187",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "Splitter#24",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#188",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#24",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#189",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#3",
+ "pinName": "OVR"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "IOVR"
+ },
+ "name": "unnamedWire#19",
+ "path": [
+ {
+ "x": 990.0,
+ "y": 420.0
+ },
+ {
+ "x": 990.0,
+ "y": 620.0
+ },
+ {
+ "x": 420.0,
+ "y": 620.0
+ },
+ {
+ "x": 420.0,
+ "y": 400.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "Splitter#24",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#190",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#25",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O11"
+ },
+ "name": "unnamedWire#191",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O12"
+ },
+ "pin2": {
+ "compName": "Splitter#25",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#192",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O73"
+ },
+ "name": "unnamedWire#193",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O72"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#194",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O71"
+ },
+ "name": "unnamedWire#195",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O70"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O12"
+ },
+ "name": "unnamedWire#196",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O69"
+ },
+ "name": "unnamedWire#197",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O68"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#198",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O67"
+ },
+ "name": "unnamedWire#199",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#0",
+ "pinName": "RAMn+3"
+ },
+ "pin2": {
+ "compName": "Am2901#1",
+ "pinName": "RAMn"
+ },
+ "name": "unnamedWire#2",
+ "path": [
+ {
+ "x": 720.0,
+ "y": 480.0
+ },
+ {
+ "x": 720.0,
+ "y": 380.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#3",
+ "pinName": "Cn+4"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "IC"
+ },
+ "name": "unnamedWire#20",
+ "path": [
+ {
+ "x": 1110.0,
+ "y": 490.0
+ },
+ {
+ "x": 1110.0,
+ "y": 610.0
+ },
+ {
+ "x": 410.0,
+ "y": 610.0
+ },
+ {
+ "x": 410.0,
+ "y": 390.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O66"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#200",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O65"
+ },
+ "name": "unnamedWire#201",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O64"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#202",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O63"
+ },
+ "name": "unnamedWire#203",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O62"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#204",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O61"
+ },
+ "name": "unnamedWire#205",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O60"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#206",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O59"
+ },
+ "name": "unnamedWire#207",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O58"
+ },
+ "pin2": {
+ "compName": "Splitter#26",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#208",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#27",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O57"
+ },
+ "name": "unnamedWire#209",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#0",
+ "pinName": "Cn+4"
+ },
+ "pin2": {
+ "compName": "Am2901#1",
+ "pinName": "Cn"
+ },
+ "name": "unnamedWire#21",
+ "path": [
+ {
+ "x": 730.0,
+ "y": 490.0
+ },
+ {
+ "x": 730.0,
+ "y": 475.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O56"
+ },
+ "pin2": {
+ "compName": "Splitter#27",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#210",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#27",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O55"
+ },
+ "name": "unnamedWire#211",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O54"
+ },
+ "pin2": {
+ "compName": "Splitter#28",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#212",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#28",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O53"
+ },
+ "name": "unnamedWire#213",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O52"
+ },
+ "pin2": {
+ "compName": "Splitter#28",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#214",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#29",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O51"
+ },
+ "name": "unnamedWire#215",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O50"
+ },
+ "pin2": {
+ "compName": "Splitter#29",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#216",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#29",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O49"
+ },
+ "name": "unnamedWire#217",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#30",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O48"
+ },
+ "name": "unnamedWire#218",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O47"
+ },
+ "pin2": {
+ "compName": "Splitter#30",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#219",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#1",
+ "pinName": "Cn+4"
+ },
+ "pin2": {
+ "compName": "Am2901#2",
+ "pinName": "Cn"
+ },
+ "name": "unnamedWire#22",
+ "path": [
+ {
+ "x": 855.0,
+ "y": 490.0
+ },
+ {
+ "x": 855.0,
+ "y": 475.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#30",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O46"
+ },
+ "name": "unnamedWire#220",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O45"
+ },
+ "pin2": {
+ "compName": "Splitter#30",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#221",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#31",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O40"
+ },
+ "name": "unnamedWire#222",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O41"
+ },
+ "pin2": {
+ "compName": "Splitter#31",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#223",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#31",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O42"
+ },
+ "name": "unnamedWire#224",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O43"
+ },
+ "pin2": {
+ "compName": "Splitter#31",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#225",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#226",
+ "path": [
+ {
+ "x": 570.0,
+ "y": 765.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#33",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#29",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#227",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#34",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#28",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#228",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#32",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#27",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#229",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#2",
+ "pinName": "Cn+4"
+ },
+ "pin2": {
+ "compName": "Am2901#3",
+ "pinName": "Cn"
+ },
+ "name": "unnamedWire#23",
+ "path": [
+ {
+ "x": 980.0,
+ "y": 490.0
+ },
+ {
+ "x": 980.0,
+ "y": 475.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#35",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#32",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#230",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#32",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#35",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#231",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#35",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#32",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#232",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#34",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#35",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#233",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#35",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#34",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#234",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#35",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#34",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#235",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#35",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#33",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#236",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#33",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "name": "unnamedWire#237",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#35",
+ "pinName": "O8"
+ },
+ "pin2": {
+ "compName": "Splitter#33",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#238",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#35",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#239",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "name": "unnamedWire#24",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#240",
+ "path": [
+ {
+ "x": 610.0,
+ "y": 700.0
+ },
+ {
+ "x": 435.0,
+ "y": 700.0
+ },
+ {
+ "x": 435.0,
+ "y": 420.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "ManualSwitch#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff80#0",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#241",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "ManualSwitch#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff80#0",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#242",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "Splitter#42",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#243",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#42",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#244",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "Splitter#42",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#245",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#42",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "O12"
+ },
+ "name": "unnamedWire#246",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "Splitter#43",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#247",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#43",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#248",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "Splitter#43",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#249",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Clock#0",
+ "pinName": ""
+ },
+ "name": "unnamedWire#25",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#43",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#250",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "Splitter#44",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#251",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#44",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#252",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#44",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#253",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#44",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#254",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#45",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#255",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#45",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#256",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#36",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#45",
+ "pinName": "O1"
},
- "name": "unnamedWire#1",
+ "name": "unnamedWire#257",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "QIOn"
+ "compName": "Splitter#45",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Qn+3"
+ "compName": "Splitter#36",
+ "pinName": "O0"
},
- "name": "unnamedWire#10",
+ "name": "unnamedWire#258",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "B0"
+ "compName": "Splitter#38",
+ "pinName": "O3"
},
"pin2": {
- "compName": "Splitter#7",
- "pinName": "O3"
+ "compName": "Splitter#37",
+ "pinName": "O15"
+ },
+ "name": "unnamedWire#259",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2901#3",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#26",
+ "path": [
+ {
+ "x": 980.0,
+ "y": 365.0
+ },
+ {
+ "x": 980.0,
+ "y": 465.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#37",
+ "pinName": "O14"
+ },
+ "pin2": {
+ "compName": "Splitter#38",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#260",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#38",
+ "pinName": "O1"
},
- "name": "unnamedWire#100",
+ "pin2": {
+ "compName": "Splitter#37",
+ "pinName": "O13"
+ },
+ "name": "unnamedWire#261",
"path": []
},
{
"pin1": {
- "compName": "Splitter#8",
+ "compName": "Splitter#37",
+ "pinName": "O12"
+ },
+ "pin2": {
+ "compName": "Splitter#38",
"pinName": "O0"
},
+ "name": "unnamedWire#262",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#39",
+ "pinName": "O3"
+ },
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "A3"
+ "compName": "Splitter#37",
+ "pinName": "O11"
},
- "name": "unnamedWire#101",
+ "name": "unnamedWire#263",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "A2"
+ "compName": "Splitter#37",
+ "pinName": "O10"
},
"pin2": {
- "compName": "Splitter#8",
+ "compName": "Splitter#39",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#264",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#39",
"pinName": "O1"
},
- "name": "unnamedWire#102",
+ "pin2": {
+ "compName": "Splitter#37",
+ "pinName": "O9"
+ },
+ "name": "unnamedWire#265",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#37",
+ "pinName": "O8"
+ },
+ "pin2": {
+ "compName": "Splitter#39",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#266",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#40",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#37",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#267",
"path": []
},
{
"pin1": {
- "compName": "Splitter#8",
+ "compName": "Splitter#37",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#40",
"pinName": "O2"
},
+ "name": "unnamedWire#268",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#40",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#37",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#269",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2901#2",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#27",
+ "path": [
+ {
+ "x": 855.0,
+ "y": 465.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#37",
+ "pinName": "O4"
+ },
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "A1"
+ "compName": "Splitter#40",
+ "pinName": "O0"
},
- "name": "unnamedWire#103",
+ "name": "unnamedWire#270",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "A0"
+ "compName": "Splitter#41",
+ "pinName": "O3"
},
"pin2": {
- "compName": "Splitter#8",
+ "compName": "Splitter#37",
"pinName": "O3"
},
- "name": "unnamedWire#104",
+ "name": "unnamedWire#271",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#37",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#41",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#272",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#41",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#37",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#273",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#37",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#41",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#274",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "mux1_16#1",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#36",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#275",
+ "path": [
+ {
+ "x": 860.0,
+ "y": 235.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "mux1_16#1",
+ "pinName": "S"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O74"
+ },
+ "name": "unnamedWire#276",
+ "path": [
+ {
+ "x": 795.0,
+ "y": 190.0
+ },
+ {
+ "x": 795.0,
+ "y": 180.0
+ },
+ {
+ "x": 1120.0,
+ "y": 180.0
+ },
+ {
+ "x": 1120.0,
+ "y": 730.0
+ },
+ {
+ "x": 975.0,
+ "y": 730.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#26",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "mux1_16#1",
+ "pinName": "I0"
+ },
+ "name": "unnamedWire#277",
+ "path": [
+ {
+ "x": 890.0,
+ "y": 710.0
+ },
+ {
+ "x": 1125.0,
+ "y": 710.0
+ },
+ {
+ "x": 1125.0,
+ "y": 175.0
+ },
+ {
+ "x": 790.0,
+ "y": 175.0
+ },
+ {
+ "x": 790.0,
+ "y": 210.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#37",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "name": "unnamedWire#278",
+ "path": [
+ {
+ "x": 860.0,
+ "y": 570.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "TriStateBuffer#0",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#279",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "TriStateBuffer#1",
+ "pinName": "IN"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "name": "unnamedWire#280",
+ "path": [
+ {
+ "x": 875.0,
+ "y": 595.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "TriStateBuffer#2",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#281",
"path": []
},
{
"pin1": {
- "compName": "Splitter#10",
- "pinName": "O3"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "mux1_16#0",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#282",
+ "path": [
+ {
+ "x": 310.0,
+ "y": 65.0
+ },
+ {
+ "x": 135.0,
+ "y": 65.0
+ },
+ {
+ "x": 135.0,
+ "y": 170.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A0"
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
},
- "name": "unnamedWire#105",
+ "name": "unnamedWire#283",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A1"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#10",
- "pinName": "O2"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
- "name": "unnamedWire#106",
+ "name": "unnamedWire#285",
"path": []
},
{
"pin1": {
- "compName": "Splitter#10",
- "pinName": "O1"
+ "compName": "TriStateBuffer#2",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A2"
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
},
- "name": "unnamedWire#107",
- "path": []
+ "name": "unnamedWire#287",
+ "path": [
+ {
+ "x": 340.0,
+ "y": 100.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A3"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#10",
- "pinName": "O0"
+ "compName": "TriStateBuffer#3",
+ "pinName": "OUT"
},
- "name": "unnamedWire#108",
- "path": []
+ "name": "unnamedWire#288",
+ "path": [
+ {
+ "x": 345.0,
+ "y": 135.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Splitter#9",
- "pinName": "O3"
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "B0"
+ "compName": "dff16_invwe#0",
+ "pinName": "D"
},
- "name": "unnamedWire#109",
- "path": []
+ "name": "unnamedWire#289",
+ "path": [
+ {
+ "x": 365.0,
+ "y": 170.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "IN"
+ "compName": "Am2901#1",
+ "pinName": "C"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "F3"
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
},
- "name": "unnamedWire#11",
- "path": []
+ "name": "unnamedWire#29",
+ "path": [
+ {
+ "x": 730.0,
+ "y": 465.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "B1"
+ "compName": "Splitter#46",
+ "pinName": "O1"
},
"pin2": {
- "compName": "Splitter#9",
- "pinName": "O2"
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
},
- "name": "unnamedWire#110",
+ "name": "unnamedWire#290",
"path": []
},
{
"pin1": {
- "compName": "Splitter#9",
+ "compName": "Splitter#16",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "B2"
+ "compName": "dff16_invwe#0",
+ "pinName": "_WE"
},
- "name": "unnamedWire#111",
- "path": []
+ "name": "unnamedWire#291",
+ "path": [
+ {
+ "x": 245.0,
+ "y": 255.0
+ },
+ {
+ "x": 375.0,
+ "y": 255.0
+ },
+ {
+ "x": 375.0,
+ "y": 155.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "B3"
+ "compName": "Splitter#46",
+ "pinName": "O0"
},
"pin2": {
- "compName": "Splitter#9",
- "pinName": "O0"
+ "compName": "TriStateBuffer#3",
+ "pinName": "EN"
},
- "name": "unnamedWire#112",
- "path": []
+ "name": "unnamedWire#292",
+ "path": [
+ {
+ "x": 230.0,
+ "y": 195.0
+ },
+ {
+ "x": 325.0,
+ "y": 195.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#3",
- "pinName": "O"
+ "compName": "Splitter#16",
+ "pinName": "O37"
},
"pin2": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "TriStateBuffer#0",
+ "pinName": "EN"
},
- "name": "unnamedWire#113",
- "path": []
+ "name": "unnamedWire#293",
+ "path": [
+ {
+ "x": 605.0,
+ "y": 780.0
+ },
+ {
+ "x": 720.0,
+ "y": 780.0
+ },
+ {
+ "x": 720.0,
+ "y": 685.0
+ },
+ {
+ "x": 905.0,
+ "y": 685.0
+ },
+ {
+ "x": 905.0,
+ "y": 580.0
+ },
+ {
+ "x": 890.0,
+ "y": 580.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "TriStateBuffer#1",
+ "pinName": "EN"
},
"pin2": {
- "compName": "Merger#4",
- "pinName": "O"
+ "compName": "Splitter#16",
+ "pinName": "O38"
},
- "name": "unnamedWire#114",
- "path": []
+ "name": "unnamedWire#294",
+ "path": [
+ {
+ "x": 890.0,
+ "y": 680.0
+ },
+ {
+ "x": 715.0,
+ "y": 680.0
+ },
+ {
+ "x": 715.0,
+ "y": 775.0
+ },
+ {
+ "x": 615.0,
+ "y": 775.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "Splitter#48",
+ "pinName": "O2"
},
"pin2": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "Splitter#16",
+ "pinName": "O4"
},
- "name": "unnamedWire#115",
+ "name": "unnamedWire#296",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "Splitter#16",
+ "pinName": "O3"
},
"pin2": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "Splitter#48",
+ "pinName": "O1"
},
- "name": "unnamedWire#116",
+ "name": "unnamedWire#297",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "Splitter#48",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "Splitter#16",
+ "pinName": "O2"
},
- "name": "unnamedWire#117",
+ "name": "unnamedWire#298",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "Am2901#1",
+ "pinName": "Qn+3"
},
"pin2": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "Am2901#2",
+ "pinName": "Qn"
},
- "name": "unnamedWire#118",
- "path": []
+ "name": "unnamedWire#3",
+ "path": [
+ {
+ "x": 850.0,
+ "y": 485.0
+ },
+ {
+ "x": 850.0,
+ "y": 390.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
- "compName": "Splitter#4",
- "pinName": "I"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
- "name": "unnamedWire#119",
+ "name": "unnamedWire#30",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "F\u003d0"
+ "compName": "Splitter#47",
+ "pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "B"
+ "compName": "mux1_4#0",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#12",
+ "name": "unnamedWire#302",
"path": []
},
{
"pin1": {
- "compName": "Splitter#3",
- "pinName": "I"
+ "compName": "mux1_4#0",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "Splitter#47",
+ "pinName": "O2"
},
- "name": "unnamedWire#120",
+ "name": "unnamedWire#303",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "Splitter#47",
+ "pinName": "O1"
},
"pin2": {
- "compName": "Splitter#6",
- "pinName": "I"
+ "compName": "mux1_4#0",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#121",
+ "name": "unnamedWire#304",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "mux1_4#0",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "Splitter#5",
- "pinName": "I"
+ "compName": "Splitter#47",
+ "pinName": "O0"
},
- "name": "unnamedWire#122",
+ "name": "unnamedWire#305",
"path": []
},
{
"pin1": {
- "compName": "Splitter#7",
- "pinName": "I"
+ "compName": "Splitter#49",
+ "pinName": "O3"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "mux1_4#1",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#123",
+ "name": "unnamedWire#306",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "mux1_4#1",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "Splitter#8",
- "pinName": "I"
+ "compName": "Splitter#49",
+ "pinName": "O2"
},
- "name": "unnamedWire#124",
+ "name": "unnamedWire#307",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "Splitter#49",
+ "pinName": "O1"
},
"pin2": {
- "compName": "Splitter#9",
- "pinName": "I"
+ "compName": "mux1_4#1",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#125",
+ "name": "unnamedWire#308",
"path": []
},
{
"pin1": {
- "compName": "Splitter#10",
- "pinName": "I"
+ "compName": "mux1_4#1",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "Splitter#49",
+ "pinName": "O0"
},
- "name": "unnamedWire#126",
+ "name": "unnamedWire#309",
"path": []
},
{
"pin1": {
- "compName": "NandGate#0",
- "pinName": "Y"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "WE"
+ "compName": "Am2901#0",
+ "pinName": "C"
},
- "name": "unnamedWire#127",
- "path": []
+ "name": "unnamedWire#31",
+ "path": [
+ {
+ "x": 605.0,
+ "y": 465.0
+ }
+ ]
},
{
"pin1": {
- "compName": "inc12#0",
- "pinName": "Y"
+ "compName": "Splitter#47",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "D"
+ "compName": "Splitter#30",
+ "pinName": "I"
},
- "name": "unnamedWire#128",
- "path": []
+ "name": "unnamedWire#310",
+ "path": [
+ {
+ "x": 480.0,
+ "y": 185.0
+ },
+ {
+ "x": 480.0,
+ "y": 305.0
+ },
+ {
+ "x": 580.0,
+ "y": 305.0
+ },
+ {
+ "x": 580.0,
+ "y": 645.0
+ },
+ {
+ "x": 700.0,
+ "y": 645.0
+ }
+ ]
},
{
"pin1": {
- "compName": "inc12#0",
- "pinName": "A"
+ "compName": "Splitter#31",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "Y"
+ "compName": "Splitter#49",
+ "pinName": "I"
},
- "name": "unnamedWire#129",
- "path": []
+ "name": "unnamedWire#311",
+ "path": [
+ {
+ "x": 650.0,
+ "y": 755.0
+ },
+ {
+ "x": 690.0,
+ "y": 755.0
+ },
+ {
+ "x": 690.0,
+ "y": 655.0
+ },
+ {
+ "x": 590.0,
+ "y": 655.0
+ },
+ {
+ "x": 590.0,
+ "y": 315.0
+ },
+ {
+ "x": 490.0,
+ "y": 315.0
+ },
+ {
+ "x": 490.0,
+ "y": 280.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "F\u003d0"
+ "compName": "mux1_4#0",
+ "pinName": "S0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "A"
+ "compName": "Splitter#16",
+ "pinName": "O44"
},
- "name": "unnamedWire#13",
- "path": []
+ "name": "unnamedWire#312",
+ "path": [
+ {
+ "x": 485.0,
+ "y": 120.0
+ },
+ {
+ "x": 485.0,
+ "y": 310.0
+ },
+ {
+ "x": 585.0,
+ "y": 310.0
+ },
+ {
+ "x": 585.0,
+ "y": 650.0
+ },
+ {
+ "x": 695.0,
+ "y": 650.0
+ },
+ {
+ "x": 695.0,
+ "y": 770.0
+ },
+ {
+ "x": 675.0,
+ "y": 770.0
+ }
+ ]
},
{
"pin1": {
- "compName": "inc12#0",
- "pinName": "CI"
+ "compName": "mux1_4#1",
+ "pinName": "S0"
},
"pin2": {
- "compName": "NandGate#1",
- "pinName": "Y"
+ "compName": "Splitter#16",
+ "pinName": "O39"
},
- "name": "unnamedWire#130",
- "path": []
+ "name": "unnamedWire#313",
+ "path": [
+ {
+ "x": 495.0,
+ "y": 215.0
+ },
+ {
+ "x": 495.0,
+ "y": 320.0
+ },
+ {
+ "x": 595.0,
+ "y": 320.0
+ },
+ {
+ "x": 595.0,
+ "y": 660.0
+ },
+ {
+ "x": 685.0,
+ "y": 660.0
+ },
+ {
+ "x": 685.0,
+ "y": 760.0
+ },
+ {
+ "x": 625.0,
+ "y": 760.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#26",
"pinName": ""
},
"pin2": {
- "compName": "NandGate#1",
- "pinName": "A"
- },
- "name": "unnamedWire#131",
- "path": []
- },
- {
- "pin1": {
- "compName": "NandGate#1",
- "pinName": "B"
- },
- "pin2": {
- "compName": "WireCrossPoint#12",
- "pinName": ""
+ "compName": "Splitter#35",
+ "pinName": "I"
},
- "name": "unnamedWire#132",
- "path": []
+ "name": "unnamedWire#314",
+ "path": [
+ {
+ "x": 710.0,
+ "y": 705.0
+ },
+ {
+ "x": 765.0,
+ "y": 705.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#26",
"pinName": ""
},
"pin2": {
- "compName": "NandGate#0",
- "pinName": "B"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
- "name": "unnamedWire#133",
+ "name": "unnamedWire#315",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "I1"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#28",
"pinName": ""
},
- "name": "unnamedWire#134",
+ "name": "unnamedWire#316",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "S"
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "Am2901#0",
+ "pinName": "I"
},
- "name": "unnamedWire#135",
- "path": []
+ "name": "unnamedWire#317",
+ "path": [
+ {
+ "x": 710.0,
+ "y": 450.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#27",
"pinName": ""
},
"pin2": {
- "compName": "NandGate#0",
- "pinName": "A"
+ "compName": "Am2901#1",
+ "pinName": "I"
},
- "name": "unnamedWire#136",
- "path": []
+ "name": "unnamedWire#318",
+ "path": [
+ {
+ "x": 835.0,
+ "y": 450.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#28",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "Am2901#2",
+ "pinName": "I"
},
- "name": "unnamedWire#137",
- "path": []
+ "name": "unnamedWire#319",
+ "path": [
+ {
+ "x": 960.0,
+ "y": 450.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "Q"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
- "name": "unnamedWire#138",
- "path": []
+ "name": "unnamedWire#32",
+ "path": [
+ {
+ "x": 605.0,
+ "y": 335.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "Y"
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "B"
+ "compName": "Am2901#3",
+ "pinName": "I"
},
- "name": "unnamedWire#14",
- "path": []
+ "name": "unnamedWire#320",
+ "path": [
+ {
+ "x": 1095.0,
+ "y": 500.0
+ },
+ {
+ "x": 1095.0,
+ "y": 450.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "A"
+ "compName": "Splitter#38",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2901#3",
"pinName": "Y"
},
- "name": "unnamedWire#15",
- "path": []
+ "name": "unnamedWire#321",
+ "path": [
+ {
+ "x": 800.0,
+ "y": 515.0
+ },
+ {
+ "x": 1075.0,
+ "y": 515.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "B"
+ "compName": "Splitter#39",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "F\u003d0"
+ "compName": "Am2901#2",
+ "pinName": "Y"
},
- "name": "unnamedWire#16",
- "path": []
+ "name": "unnamedWire#322",
+ "path": [
+ {
+ "x": 840.0,
+ "y": 520.0
+ },
+ {
+ "x": 940.0,
+ "y": 520.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "F\u003d0"
+ "compName": "Splitter#40",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "A"
+ "compName": "Am2901#1",
+ "pinName": "Y"
},
- "name": "unnamedWire#17",
- "path": []
+ "name": "unnamedWire#323",
+ "path": [
+ {
+ "x": 880.0,
+ "y": 525.0
+ },
+ {
+ "x": 815.0,
+ "y": 525.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "Am2901#0",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "IZ"
+ "compName": "Splitter#41",
+ "pinName": "I"
},
- "name": "unnamedWire#18",
- "path": []
+ "name": "unnamedWire#324",
+ "path": [
+ {
+ "x": 690.0,
+ "y": 530.0
+ },
+ {
+ "x": 920.0,
+ "y": 530.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "OVR"
+ "compName": "Am2901#0",
+ "pinName": "D"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "IOVR"
+ "compName": "Splitter#45",
+ "pinName": "I"
},
- "name": "unnamedWire#19",
- "path": []
+ "name": "unnamedWire#325",
+ "path": [
+ {
+ "x": 675.0,
+ "y": 345.0
+ },
+ {
+ "x": 920.0,
+ "y": 345.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "RAMn+3"
+ "compName": "Splitter#44",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "RAMn"
+ "compName": "Am2901#1",
+ "pinName": "D"
},
- "name": "unnamedWire#2",
- "path": []
+ "name": "unnamedWire#326",
+ "path": [
+ {
+ "x": 880.0,
+ "y": 340.0
+ },
+ {
+ "x": 800.0,
+ "y": 340.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Cn+4"
+ "compName": "Splitter#43",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "IC"
+ "compName": "Am2901#2",
+ "pinName": "D"
},
- "name": "unnamedWire#20",
- "path": []
+ "name": "unnamedWire#327",
+ "path": [
+ {
+ "x": 840.0,
+ "y": 335.0
+ },
+ {
+ "x": 925.0,
+ "y": 335.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Cn+4"
+ "compName": "Splitter#42",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Cn"
+ "compName": "Am2901#3",
+ "pinName": "D"
},
- "name": "unnamedWire#21",
- "path": []
+ "name": "unnamedWire#328",
+ "path": [
+ {
+ "x": 800.0,
+ "y": 330.0
+ },
+ {
+ "x": 1060.0,
+ "y": 330.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Cn+4"
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Cn"
+ "compName": "WireCrossPoint#29",
+ "pinName": ""
},
- "name": "unnamedWire#22",
+ "name": "unnamedWire#329",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Cn+4"
+ "compName": "Am2901#0",
+ "pinName": "Cn"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Cn"
+ "compName": "Am2904#0",
+ "pinName": "C0"
},
- "name": "unnamedWire#23",
- "path": []
+ "name": "unnamedWire#33",
+ "path": [
+ {
+ "x": 565.0,
+ "y": 475.0
+ },
+ {
+ "x": 565.0,
+ "y": 460.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "C"
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "mux1_16#0",
+ "pinName": "I0"
},
- "name": "unnamedWire#24",
- "path": []
+ "name": "unnamedWire#330",
+ "path": [
+ {
+ "x": 140.0,
+ "y": 105.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "dff16#0",
+ "pinName": "C"
},
"pin2": {
- "compName": "Clock#0",
+ "compName": "ManualSwitch#4",
"pinName": ""
},
- "name": "unnamedWire#25",
- "path": []
+ "name": "unnamedWire#331",
+ "path": [
+ {
+ "x": 255.0,
+ "y": 80.0
+ },
+ {
+ "x": 255.0,
+ "y": 240.0
+ },
+ {
+ "x": 135.0,
+ "y": 240.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#29",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "C"
+ "compName": "BitDisplay#1",
+ "pinName": ""
},
- "name": "unnamedWire#26",
+ "name": "unnamedWire#332",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "C"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "BitDisplay#2",
"pinName": ""
},
- "name": "unnamedWire#27",
+ "name": "unnamedWire#333",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "ManualSwitch#5",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "TriStateBuffer#4",
+ "pinName": "EN"
},
- "name": "unnamedWire#28",
+ "name": "unnamedWire#334",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "C"
+ "compName": "TriStateBuffer#4",
+ "pinName": "IN"
},
"pin2": {
- "compName": "WireCrossPoint#2",
+ "compName": "ManualSwitch#6",
"pinName": ""
},
- "name": "unnamedWire#29",
+ "name": "unnamedWire#335",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Qn+3"
+ "compName": "WireCrossPoint#29",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Qn"
+ "compName": "TriStateBuffer#4",
+ "pinName": "OUT"
},
- "name": "unnamedWire#3",
+ "name": "unnamedWire#336",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "BitDisplay#3",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "Am2910#0",
+ "pinName": "Y"
},
- "name": "unnamedWire#30",
- "path": []
+ "name": "unnamedWire#337",
+ "path": [
+ {
+ "x": 175.0,
+ "y": 535.0
+ },
+ {
+ "x": 330.0,
+ "y": 535.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "C"
+ "compName": "WireCrossPoint#30",
+ "pinName": ""
},
- "name": "unnamedWire#31",
+ "name": "unnamedWire#338",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#0",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
- "name": "unnamedWire#32",
+ "name": "unnamedWire#339",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Cn"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "C0"
- },
- "name": "unnamedWire#33",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "Am2910#0",
"pinName": "C"
},
- "pin2": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
- },
"name": "unnamedWire#34",
"path": []
},
"pinName": "out"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "_OECT"
},
"name": "unnamedWire#35",
- "path": []
+ "path": [
+ {
+ "x": 550.0,
+ "y": 360.0
+ }
+ ]
},
{
"pin1": {
- "compName": "FixedOutput#3",
+ "compName": "FixedOutput#2",
"pinName": "out"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "Am2910#0",
"pinName": "_RLD"
},
"name": "unnamedWire#36",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "Am2910#0",
"pinName": "CI"
},
"pin2": {
- "compName": "FixedOutput#5",
+ "compName": "FixedOutput#3",
"pinName": "out"
},
"name": "unnamedWire#37",
- "path": []
+ "path": [
+ {
+ "x": 370.0,
+ "y": 510.0
+ },
+ {
+ "x": 370.0,
+ "y": 540.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "Am2910#0",
"pinName": "_OE"
},
"pin2": {
- "compName": "FixedOutput#7",
+ "compName": "FixedOutput#4",
"pinName": "out"
},
"name": "unnamedWire#38",
- "path": []
+ "path": [
+ {
+ "x": 335.0,
+ "y": 550.0
+ }
+ ]
},
{
"pin1": {
- "compName": "FixedOutput#9",
+ "compName": "FixedOutput#5",
"pinName": "out"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "_SE"
},
"name": "unnamedWire#39",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "Am2901#2",
"pinName": "RAMn"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2901#1",
"pinName": "RAMn+3"
},
"name": "unnamedWire#4",
- "path": []
+ "path": [
+ {
+ "x": 845.0,
+ "y": 380.0
+ },
+ {
+ "x": 845.0,
+ "y": 480.0
+ }
+ ]
},
{
"pin1": {
- "compName": "FixedOutput#11",
+ "compName": "FixedOutput#6",
"pinName": "out"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#40",
- "path": []
+ "path": [
+ {
+ "x": 450.0,
+ "y": 350.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "_EZ"
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "_EOVR"
},
"name": "unnamedWire#42",
- "path": []
+ "path": [
+ {
+ "x": 465.0,
+ "y": 370.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "_EC"
+ "compName": "WireCrossPoint#30",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "Am2904#0",
+ "pinName": "_EC"
},
"name": "unnamedWire#43",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "_EN"
},
"name": "unnamedWire#44",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "dff16_invwe#0",
"pinName": "Q"
},
"pin2": {
"pinName": "O15"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I7"
+ "compName": "Splitter#11",
+ "pinName": "O7"
},
"name": "unnamedWire#46",
"path": []
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I6"
+ "compName": "Splitter#11",
+ "pinName": "O6"
},
"pin2": {
"compName": "Splitter#0",
"pinName": "O13"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I5"
+ "compName": "Splitter#11",
+ "pinName": "O5"
},
"name": "unnamedWire#48",
"path": []
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I4"
+ "compName": "Splitter#11",
+ "pinName": "O4"
},
"pin2": {
"compName": "Splitter#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "Am2901#3",
"pinName": "RAMn"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "Am2901#2",
"pinName": "RAMn+3"
},
"name": "unnamedWire#5",
- "path": []
+ "path": [
+ {
+ "x": 970.0,
+ "y": 380.0
+ },
+ {
+ "x": 970.0,
+ "y": 480.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O11"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#11",
+ "pinName": "O3"
},
"name": "unnamedWire#50",
"path": []
"pinName": "O10"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#11",
+ "pinName": "O2"
},
"name": "unnamedWire#51",
"path": []
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#11",
+ "pinName": "O1"
},
"pin2": {
"compName": "Splitter#0",
"pinName": "O8"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#11",
+ "pinName": "O0"
},
"name": "unnamedWire#53",
"path": []
"name": "unnamedWire#54",
"path": [
{
- "x": 230.0,
- "y": 221.0
+ "x": 460.0,
+ "y": 250.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "Merger#1",
- "pinName": "I3"
+ "compName": "Splitter#12",
+ "pinName": "O3"
},
"name": "unnamedWire#55",
"path": [
{
- "x": 230.0,
- "y": 136.0
+ "x": 460.0,
+ "y": 165.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "Merger#2",
- "pinName": "I3"
+ "compName": "Splitter#13",
+ "pinName": "O3"
},
"name": "unnamedWire#56",
"path": []
},
{
"pin1": {
- "compName": "Merger#2",
- "pinName": "I2"
+ "compName": "Splitter#13",
+ "pinName": "O2"
},
"pin2": {
"compName": "Splitter#0",
"pinName": "O1"
},
"pin2": {
- "compName": "Merger#2",
- "pinName": "I1"
+ "compName": "Splitter#13",
+ "pinName": "O1"
},
"name": "unnamedWire#58",
"path": []
},
{
"pin1": {
- "compName": "Merger#2",
- "pinName": "I0"
+ "compName": "Splitter#13",
+ "pinName": "O0"
},
"pin2": {
"compName": "Splitter#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "Am2901#2",
"pinName": "Qn+3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "Am2901#3",
"pinName": "Qn"
},
"name": "unnamedWire#6",
- "path": []
+ "path": [
+ {
+ "x": 975.0,
+ "y": 485.0
+ },
+ {
+ "x": 975.0,
+ "y": 390.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#1",
- "pinName": "I0"
+ "compName": "Splitter#12",
+ "pinName": "O0"
},
"pin2": {
"compName": "Splitter#0",
"pinName": "O5"
},
"pin2": {
- "compName": "Merger#1",
- "pinName": "I1"
+ "compName": "Splitter#12",
+ "pinName": "O1"
},
"name": "unnamedWire#61",
"path": []
},
{
"pin1": {
- "compName": "Merger#1",
- "pinName": "I2"
+ "compName": "Splitter#12",
+ "pinName": "O2"
},
"pin2": {
"compName": "Splitter#0",
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "I0_1"
},
"name": "unnamedWire#63",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "I0_2"
},
"pin2": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "I0_3"
},
"name": "unnamedWire#65",
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "I0_4"
},
"name": "unnamedWire#66",
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "I0_1"
},
"name": "unnamedWire#67",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "I0_2"
},
"pin2": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "I0_3"
},
"name": "unnamedWire#69",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2901#0",
"pinName": "Qn"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "QIO0"
},
"name": "unnamedWire#7",
- "path": []
+ "path": [
+ {
+ "x": 575.0,
+ "y": 390.0
+ },
+ {
+ "x": 575.0,
+ "y": 500.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "I0_4"
},
"name": "unnamedWire#70",
},
{
"pin1": {
- "compName": "Merger#2",
- "pinName": "O"
+ "compName": "Splitter#13",
+ "pinName": "I"
},
"pin2": {
"compName": "Splitter#2",
"pinName": "I"
},
"name": "unnamedWire#71",
- "path": []
+ "path": [
+ {
+ "x": 490.0,
+ "y": 220.0
+ },
+ {
+ "x": 490.0,
+ "y": 240.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#1",
- "pinName": "O"
+ "compName": "Splitter#12",
+ "pinName": "I"
},
"pin2": {
"compName": "Splitter#1",
"pinName": "I"
},
"name": "unnamedWire#72",
- "path": []
+ "path": [
+ {
+ "x": 480.0,
+ "y": 180.0
+ },
+ {
+ "x": 480.0,
+ "y": 145.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "Y1"
},
"pin2": {
- "compName": "Merger#3",
- "pinName": "I3"
+ "compName": "Splitter#14",
+ "pinName": "O3"
},
"name": "unnamedWire#73",
"path": []
},
{
"pin1": {
- "compName": "Merger#3",
- "pinName": "I2"
+ "compName": "Splitter#14",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "Y2"
},
"name": "unnamedWire#74",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "Y3"
},
"pin2": {
- "compName": "Merger#3",
- "pinName": "I1"
+ "compName": "Splitter#14",
+ "pinName": "O1"
},
"name": "unnamedWire#75",
"path": []
},
{
"pin1": {
- "compName": "Merger#3",
- "pinName": "I0"
+ "compName": "Splitter#14",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "mux1_4#0",
"pinName": "Y4"
},
"name": "unnamedWire#76",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "Y1"
},
"pin2": {
- "compName": "Merger#4",
- "pinName": "I3"
+ "compName": "Splitter#15",
+ "pinName": "O3"
},
"name": "unnamedWire#77",
"path": []
},
{
"pin1": {
- "compName": "Merger#4",
- "pinName": "I2"
+ "compName": "Splitter#15",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "Y2"
},
"name": "unnamedWire#78",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "Y3"
},
"pin2": {
- "compName": "Merger#4",
- "pinName": "I1"
+ "compName": "Splitter#15",
+ "pinName": "O1"
},
"name": "unnamedWire#79",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "SIO0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2901#0",
"pinName": "RAMn"
},
"name": "unnamedWire#8",
- "path": []
+ "path": [
+ {
+ "x": 570.0,
+ "y": 495.0
+ },
+ {
+ "x": 570.0,
+ "y": 380.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#4",
- "pinName": "I0"
+ "compName": "Splitter#15",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1_4#1",
"pinName": "Y4"
},
"name": "unnamedWire#80",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "B3"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#4",
- "pinName": "O0"
+ "compName": "Am2901#0",
+ "pinName": "A"
},
"name": "unnamedWire#81",
- "path": []
+ "path": [
+ {
+ "x": 710.0,
+ "y": 385.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Splitter#4",
- "pinName": "O1"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "B2"
+ "compName": "Am2901#0",
+ "pinName": "B"
},
"name": "unnamedWire#82",
- "path": []
+ "path": [
+ {
+ "x": 715.0,
+ "y": 405.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "B1"
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#4",
- "pinName": "O2"
+ "compName": "Am2901#1",
+ "pinName": "A"
},
"name": "unnamedWire#83",
- "path": []
+ "path": [
+ {
+ "x": 835.0,
+ "y": 385.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Splitter#4",
- "pinName": "O3"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "B0"
+ "compName": "Am2901#1",
+ "pinName": "B"
},
"name": "unnamedWire#84",
- "path": []
+ "path": [
+ {
+ "x": 840.0,
+ "y": 405.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "A3"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#3",
- "pinName": "O0"
+ "compName": "Am2901#2",
+ "pinName": "A"
},
"name": "unnamedWire#85",
- "path": []
+ "path": [
+ {
+ "x": 960.0,
+ "y": 385.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Splitter#3",
- "pinName": "O1"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "A2"
+ "compName": "Am2901#2",
+ "pinName": "B"
},
"name": "unnamedWire#86",
- "path": []
+ "path": [
+ {
+ "x": 965.0,
+ "y": 405.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "A1"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#3",
- "pinName": "O2"
+ "compName": "Am2901#3",
+ "pinName": "A"
},
"name": "unnamedWire#87",
- "path": []
+ "path": [
+ {
+ "x": 1095.0,
+ "y": 355.0
+ },
+ {
+ "x": 1095.0,
+ "y": 385.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "A0"
+ "compName": "Am2901#3",
+ "pinName": "B"
},
"pin2": {
- "compName": "Splitter#3",
- "pinName": "O3"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
"name": "unnamedWire#88",
- "path": []
+ "path": [
+ {
+ "x": 1100.0,
+ "y": 405.0
+ },
+ {
+ "x": 1100.0,
+ "y": 360.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Splitter#5",
- "pinName": "O3"
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "A0"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"name": "unnamedWire#89",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "Am2904#0",
"pinName": "SIOn"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "Am2901#3",
"pinName": "RAMn+3"
},
"name": "unnamedWire#9",
- "path": []
+ "path": [
+ {
+ "x": 425.0,
+ "y": 495.0
+ },
+ {
+ "x": 425.0,
+ "y": 625.0
+ },
+ {
+ "x": 1100.0,
+ "y": 625.0
+ },
+ {
+ "x": 1100.0,
+ "y": 480.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "A1"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#5",
- "pinName": "O2"
+ "compName": "TriStateBuffer#1",
+ "pinName": "OUT"
},
"name": "unnamedWire#90",
- "path": []
+ "path": [
+ {
+ "x": 1135.0,
+ "y": 30.0
+ },
+ {
+ "x": 1135.0,
+ "y": 595.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Splitter#5",
- "pinName": "O1"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "A2"
+ "compName": "mux1_16#1",
+ "pinName": "I1"
},
"name": "unnamedWire#91",
- "path": []
+ "path": [
+ {
+ "x": 785.0,
+ "y": 275.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "A3"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#5",
- "pinName": "O0"
+ "compName": "TriStateBuffer#0",
+ "pinName": "OUT"
},
"name": "unnamedWire#92",
- "path": []
+ "path": [
+ {
+ "x": 1130.0,
+ "y": 15.0
+ },
+ {
+ "x": 1130.0,
+ "y": 570.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "B0"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "Splitter#6",
- "pinName": "O3"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
"name": "unnamedWire#93",
"path": []
- },
- {
- "pin1": {
- "compName": "Splitter#6",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "B1"
- },
- "name": "unnamedWire#94",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "B2"
- },
- "pin2": {
- "compName": "Splitter#6",
- "pinName": "O1"
- },
- "name": "unnamedWire#95",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#6",
- "pinName": "O0"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "B3"
- },
- "name": "unnamedWire#96",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#7",
- "pinName": "O0"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "B3"
- },
- "name": "unnamedWire#97",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "B2"
- },
- "pin2": {
- "compName": "Splitter#7",
- "pinName": "O1"
- },
- "name": "unnamedWire#98",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#7",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "B1"
- },
- "name": "unnamedWire#99",
- "path": []
}
],
"version": "0.1.1"
},
"symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
- "centerText": "_rsLatch",
+ "centerText": "Am2900",
"centerTextHeight": 5.0,
"horizontalComponentCenter": 17.5,
"pinLabelHeight": 3.5,
{
- "width": 35.0,
- "height": 270.0,
+ "width": 90.0,
+ "height": 125.0,
"interfacePins": [
{
"location": {
- "x": 0.0,
- "y": 155.0
- },
- "name": "A0",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 165.0
- },
- "name": "A1",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 175.0
- },
- "name": "A2",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 185.0
- },
- "name": "A3",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 195.0
- },
- "name": "B0",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 205.0
- },
- "name": "B1",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 215.0
+ "x": 90.0,
+ "y": 15.0
},
- "name": "B2",
- "logicWidth": 1,
+ "name": "A",
+ "logicWidth": 4,
"usage": "INPUT"
},
{
"location": {
- "x": 0.0,
- "y": 225.0
+ "x": 90.0,
+ "y": 35.0
},
- "name": "B3",
- "logicWidth": 1,
+ "name": "B",
+ "logicWidth": 4,
"usage": "INPUT"
},
{
},
{
"location": {
- "x": 35.0,
- "y": 55.0
+ "x": 90.0,
+ "y": 120.0
},
"name": "Cn+4",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 115.0
- },
- "name": "D1",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 125.0
- },
- "name": "D2",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 135.0
+ "x": 60.0,
+ "y": 0.0
},
- "name": "D3",
- "logicWidth": 1,
+ "name": "D",
+ "logicWidth": 4,
"usage": "INPUT"
},
{
"location": {
"x": 0.0,
- "y": 145.0
- },
- "name": "D4",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 75.0
+ "y": 55.0
},
"name": "F3",
"logicWidth": 1,
},
{
"location": {
- "x": 35.0,
+ "x": 0.0,
"y": 45.0
},
"name": "F\u003d0",
},
{
"location": {
- "x": 0.0,
- "y": 85.0
- },
- "name": "I0",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 75.0
- },
- "name": "I1",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 65.0
- },
- "name": "I2",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 55.0
- },
- "name": "I3",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 45.0
- },
- "name": "I4",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 35.0
- },
- "name": "I5",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 25.0
- },
- "name": "I6",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 15.0
+ "x": 90.0,
+ "y": 80.0
},
- "name": "I7",
- "logicWidth": 1,
+ "name": "I",
+ "logicWidth": 9,
"usage": "INPUT"
},
{
"location": {
"x": 0.0,
- "y": 5.0
- },
- "name": "I8",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 65.0
+ "y": 50.0
},
"name": "OVR",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 255.0
+ "y": 20.0
},
"name": "Qn",
"logicWidth": 1,
},
{
"location": {
- "x": 35.0,
+ "x": 90.0,
"y": 115.0
},
"name": "Qn+3",
{
"location": {
"x": 0.0,
- "y": 235.0
+ "y": 10.0
},
"name": "RAMn",
"logicWidth": 1,
},
{
"location": {
- "x": 35.0,
- "y": 95.0
+ "x": 90.0,
+ "y": 110.0
},
"name": "RAMn+3",
"logicWidth": 1,
},
{
"location": {
- "x": 35.0,
- "y": 5.0
- },
- "name": "Y1",
- "logicWidth": 1,
- "usage": "OUTPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 15.0
- },
- "name": "Y2",
- "logicWidth": 1,
- "usage": "OUTPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 25.0
- },
- "name": "Y3",
- "logicWidth": 1,
- "usage": "OUTPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 35.0
+ "x": 75.0,
+ "y": 125.0
},
- "name": "Y4",
- "logicWidth": 1,
- "usage": "OUTPUT"
+ "name": "Y",
+ "logicWidth": 4,
+ "usage": "INPUT"
}
],
"innerScale": 0.1,
"id": "Am2901ALUInclSourceDecodeInclFunctionDecode",
"name": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
"pos": {
- "x": 240.0,
- "y": 2110.0
+ "x": 510.0,
+ "y": 620.0
}
},
{
"id": "Am2901DestDecode",
"name": "Am2901DestDecode#0",
"pos": {
- "x": 15.0,
- "y": 45.0
+ "x": 380.0,
+ "y": 160.0
}
},
{
"id": "NandGate",
"name": "NandGate#0",
"pos": {
- "x": 160.0,
- "y": 75.0
+ "x": 465.0,
+ "y": 190.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#1",
"pos": {
- "x": 320.0,
+ "x": 420.0,
"y": 440.0
},
"params": 1
},
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 855.0,
+ "y": 760.0
+ },
+ "params": {
+ "logicWidth": 9,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 735.0,
+ "y": 1235.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "UP"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": 485.0,
+ "y": 620.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#3",
+ "pos": {
+ "x": 670.0,
+ "y": 135.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#4",
+ "pos": {
+ "x": 670.0,
+ "y": 335.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
+ },
{
"id": "TriStateBuffer",
"name": "TriStateBuffer#0",
"pos": {
- "x": 255.0,
- "y": 2485.0
+ "x": 355.0,
+ "y": 900.0
},
"params": {
"logicWidth": 1,
"id": "TriStateBuffer",
"name": "TriStateBuffer#1",
"pos": {
- "x": 270.0,
- "y": 2435.0
+ "x": 370.0,
+ "y": 850.0
},
"params": {
"logicWidth": 1,
},
{
"id": "TriStateBuffer",
- "name": "TriStateBuffer#3",
+ "name": "TriStateBuffer#2",
"pos": {
- "x": 300.0,
- "y": 2515.0
+ "x": 400.0,
+ "y": 930.0
},
"params": {
"logicWidth": 1,
},
{
"id": "TriStateBuffer",
- "name": "TriStateBuffer#4",
+ "name": "TriStateBuffer#3",
"pos": {
- "x": 300.0,
- "y": 2310.0
+ "x": 400.0,
+ "y": 725.0
},
"params": {
"logicWidth": 1,
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 154.0,
- "y": 949.0
+ "x": 14.0,
+ "y": 714.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 154.0,
- "y": 89.0
+ "x": 459.0,
+ "y": 194.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
- "x": 234.0,
- "y": 2254.0
+ "x": 229.0,
+ "y": 909.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#11",
"pos": {
- "x": 129.0,
- "y": 2494.0
+ "x": 234.0,
+ "y": 919.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#12",
"pos": {
- "x": 134.0,
- "y": 2504.0
+ "x": 239.0,
+ "y": 929.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#13",
"pos": {
- "x": 139.0,
- "y": 2514.0
+ "x": 244.0,
+ "y": 939.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#14",
"pos": {
- "x": 144.0,
- "y": 2524.0
+ "x": 319.0,
+ "y": 909.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#15",
"pos": {
- "x": 219.0,
- "y": 2494.0
+ "x": 334.0,
+ "y": 939.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#16",
"pos": {
- "x": 234.0,
- "y": 2524.0
+ "x": 134.0,
+ "y": 1039.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#17",
"pos": {
- "x": 34.0,
- "y": 2624.0
+ "x": 139.0,
+ "y": 1049.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#18",
"pos": {
- "x": 39.0,
- "y": 2634.0
+ "x": 379.0,
+ "y": 529.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#19",
"pos": {
- "x": 279.0,
- "y": 2114.0
+ "x": 394.0,
+ "y": 544.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 154.0,
- "y": 2264.0
+ "x": 254.0,
+ "y": 749.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#20",
"pos": {
- "x": 294.0,
- "y": 2144.0
+ "x": 434.0,
+ "y": 734.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#21",
"pos": {
- "x": 334.0,
- "y": 2319.0
+ "x": 354.0,
+ "y": 504.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#22",
"pos": {
- "x": 254.0,
- "y": 2089.0
+ "x": 359.0,
+ "y": 509.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#23",
"pos": {
- "x": 259.0,
- "y": 2094.0
+ "x": 364.0,
+ "y": 514.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#24",
"pos": {
- "x": 264.0,
- "y": 2099.0
+ "x": 369.0,
+ "y": 519.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#25",
"pos": {
- "x": 269.0,
- "y": 2104.0
+ "x": 354.0,
+ "y": 449.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#26",
"pos": {
- "x": 254.0,
- "y": 449.0
+ "x": 359.0,
+ "y": 459.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#27",
"pos": {
- "x": 259.0,
- "y": 459.0
+ "x": 364.0,
+ "y": 469.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#28",
"pos": {
- "x": 264.0,
- "y": 469.0
+ "x": 369.0,
+ "y": 479.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#29",
"pos": {
- "x": 269.0,
- "y": 479.0
+ "x": 104.0,
+ "y": 769.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
- "x": 154.0,
- "y": 2319.0
+ "x": 134.0,
+ "y": 729.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#30",
"pos": {
- "x": 9.0,
- "y": 2354.0
+ "x": 109.0,
+ "y": 779.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#31",
"pos": {
- "x": 14.0,
- "y": 2364.0
+ "x": 114.0,
+ "y": 789.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#32",
"pos": {
- "x": 19.0,
- "y": 2374.0
+ "x": 109.0,
+ "y": 809.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#33",
"pos": {
- "x": 14.0,
- "y": 2394.0
+ "x": 114.0,
+ "y": 819.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#34",
"pos": {
- "x": 19.0,
- "y": 2404.0
+ "x": 119.0,
+ "y": 829.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#35",
"pos": {
- "x": 24.0,
- "y": 2414.0
+ "x": 104.0,
+ "y": 799.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#36",
"pos": {
- "x": 9.0,
- "y": 2384.0
+ "x": 109.0,
+ "y": 839.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#37",
"pos": {
- "x": 14.0,
- "y": 2424.0
+ "x": 114.0,
+ "y": 849.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#38",
"pos": {
- "x": 19.0,
- "y": 2434.0
+ "x": 119.0,
+ "y": 859.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#39",
"pos": {
- "x": 24.0,
- "y": 2444.0
+ "x": 414.0,
+ "y": 449.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
- "x": 39.0,
- "y": 2314.0
+ "x": 129.0,
+ "y": 739.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#40",
"pos": {
- "x": 314.0,
- "y": 449.0
+ "x": 99.0,
+ "y": 964.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#41",
"pos": {
- "x": 4.0,
- "y": 2549.0
+ "x": 99.0,
+ "y": 764.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#42",
"pos": {
- "x": 4.0,
- "y": 2349.0
+ "x": 124.0,
+ "y": 889.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#43",
"pos": {
- "x": 339.0,
- "y": 2524.0
+ "x": 364.0,
+ "y": 889.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#44",
"pos": {
- "x": 29.0,
- "y": 2469.0
+ "x": 134.0,
+ "y": 894.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#45",
"pos": {
- "x": 264.0,
- "y": 2469.0
+ "x": 409.0,
+ "y": 894.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#46",
"pos": {
- "x": 39.0,
- "y": 2474.0
- },
- "params": 1
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#47",
- "pos": {
- "x": 309.0,
- "y": 2474.0
+ "x": 424.0,
+ "y": 1079.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
- "x": 34.0,
- "y": 2324.0
+ "x": 124.0,
+ "y": 749.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
- "x": 29.0,
- "y": 2334.0
+ "x": 349.0,
+ "y": 364.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
- "x": 219.0,
- "y": 2224.0
+ "x": 344.0,
+ "y": 374.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
- "x": 224.0,
- "y": 2234.0
+ "x": 339.0,
+ "y": 384.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
- "x": 229.0,
- "y": 2244.0
+ "x": 334.0,
+ "y": 394.0
},
"params": 1
},
"id": "and",
"name": "and#0",
"pos": {
- "x": 190.0,
- "y": 65.0
+ "x": 495.0,
+ "y": 180.0
}
},
{
"id": "dff4",
"name": "dff4#0",
"pos": {
- "x": 90.0,
- "y": 2490.0
+ "x": 190.0,
+ "y": 905.0
}
},
{
"id": "dlatch4",
"name": "dlatch4#0",
"pos": {
- "x": 160.0,
- "y": 2220.0
+ "x": 720.0,
+ "y": 170.0
}
},
{
"id": "dlatch4",
"name": "dlatch4#1",
"pos": {
- "x": 160.0,
- "y": 2275.0
+ "x": 260.0,
+ "y": 690.0
}
},
{
"id": "mux1_4",
"name": "mux1_4#0",
"pos": {
- "x": 275.0,
- "y": 135.0
+ "x": 500.0,
+ "y": 350.0
}
},
{
"id": "or4",
"name": "or4#0",
"pos": {
- "x": 275.0,
+ "x": 375.0,
"y": 445.0
}
},
"id": "ram4",
"name": "ram4#0",
"pos": {
- "x": 95.0,
- "y": 2220.0
+ "x": 655.0,
+ "y": 170.0
}
},
{
"id": "sel3_4",
"name": "sel3_4#0",
"pos": {
- "x": 45.0,
- "y": 2310.0
+ "x": 145.0,
+ "y": 725.0
}
},
{
"id": "sel3_4",
"name": "sel3_4#1",
"pos": {
- "x": 45.0,
- "y": 2510.0
+ "x": 150.0,
+ "y": 925.0
}
}
],
"wires": [
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I8"
+ "compName": "Splitter#0",
+ "pinName": "O6"
},
"pin2": {
"compName": "Am2901DestDecode#0",
- "pinName": "I8"
+ "pinName": "I6"
},
"name": "unnamedWire#0",
- "path": []
+ "path": [
+ {
+ "x": 845.0,
+ "y": 780.0
+ },
+ {
+ "x": 845.0,
+ "y": 305.0
+ },
+ {
+ "x": 375.0,
+ "y": 305.0
+ },
+ {
+ "x": 375.0,
+ "y": 185.0
+ }
+ ]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I7"
+ "compName": "Splitter#0",
+ "pinName": "O5"
},
"pin2": {
- "compName": "Am2901DestDecode#0",
- "pinName": "I7"
+ "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
+ "pinName": "I5"
},
"name": "unnamedWire#1",
"path": [
{
- "x": 5.0,
- "y": 150.0
+ "x": 805.0,
+ "y": 790.0
},
{
- "x": 5.0,
- "y": 60.0
+ "x": 805.0,
+ "y": 615.0
+ },
+ {
+ "x": 585.0,
+ "y": 615.0
}
]
},
"pinName": ""
},
"name": "unnamedWire#10",
- "path": []
+ "path": [
+ {
+ "x": 15.0,
+ "y": 90.0
+ },
+ {
+ "x": 460.0,
+ "y": 90.0
+ }
+ ]
},
{
"pin1": {
"pinName": "F3"
},
"pin2": {
- "compName": "WireCrossPoint#24",
+ "compName": "WireCrossPoint#23",
"pinName": ""
},
"name": "unnamedWire#100",
"path": [
{
- "x": 290.0,
- "y": 2135.0
+ "x": 625.0,
+ "y": 645.0
+ },
+ {
+ "x": 625.0,
+ "y": 540.0
+ },
+ {
+ "x": 390.0,
+ "y": 540.0
},
{
- "x": 290.0,
- "y": 2100.0
+ "x": 390.0,
+ "y": 515.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#19",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#25",
+ "compName": "WireCrossPoint#24",
"pinName": ""
},
"name": "unnamedWire#101",
"path": [
{
- "x": 295.0,
- "y": 2105.0
+ "x": 395.0,
+ "y": 520.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#21",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#25",
"pinName": ""
},
"name": "unnamedWire#102",
},
{
"pin1": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#26",
"pinName": ""
},
"name": "unnamedWire#103",
},
{
"pin1": {
- "compName": "WireCrossPoint#24",
+ "compName": "WireCrossPoint#23",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#28",
+ "compName": "WireCrossPoint#27",
"pinName": ""
},
"name": "unnamedWire#104",
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
+ "compName": "WireCrossPoint#24",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#29",
+ "compName": "WireCrossPoint#28",
"pinName": ""
},
"name": "unnamedWire#105",
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#25",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#26",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#28",
+ "compName": "WireCrossPoint#27",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#29",
+ "compName": "WireCrossPoint#28",
"pinName": ""
},
"pin2": {
"pinName": "A"
},
"name": "unnamedWire#11",
- "path": [
- {
- "x": 155.0,
- "y": 80.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#25",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#110",
"path": [
{
- "x": 255.0,
- "y": 190.0
+ "x": 355.0,
+ "y": 405.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#26",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#111",
"path": [
{
- "x": 260.0,
- "y": 200.0
+ "x": 360.0,
+ "y": 415.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#28",
+ "compName": "WireCrossPoint#27",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#112",
"path": [
{
- "x": 265.0,
- "y": 210.0
+ "x": 365.0,
+ "y": 425.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#29",
+ "compName": "WireCrossPoint#28",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#113",
"path": [
{
- "x": 270.0,
- "y": 220.0
+ "x": 370.0,
+ "y": 435.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#21",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#29",
"pinName": ""
},
"name": "unnamedWire#114",
"path": [
{
- "x": 10.0,
- "y": 2090.0
+ "x": 105.0,
+ "y": 505.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#31",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"name": "unnamedWire#115",
"path": [
{
- "x": 15.0,
- "y": 2095.0
+ "x": 110.0,
+ "y": 510.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#24",
+ "compName": "WireCrossPoint#23",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"name": "unnamedWire#116",
"path": [
{
- "x": 20.0,
- "y": 2100.0
+ "x": 115.0,
+ "y": 515.0
}
]
},
"pinName": "A1"
},
"pin2": {
- "compName": "WireCrossPoint#41",
+ "compName": "WireCrossPoint#40",
"pinName": ""
},
"name": "unnamedWire#117",
"path": [
{
- "x": 5.0,
- "y": 2545.0
+ "x": 100.0,
+ "y": 960.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#29",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#31",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"pin2": {
"pinName": "B"
},
"name": "unnamedWire#12",
- "path": []
+ "path": [
+ {
+ "x": 460.0,
+ "y": 205.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#31",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#33",
+ "compName": "WireCrossPoint#32",
"pinName": ""
},
"name": "unnamedWire#121",
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#34",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"name": "unnamedWire#122",
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
+ "compName": "WireCrossPoint#24",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#35",
+ "compName": "WireCrossPoint#34",
"pinName": ""
},
"name": "unnamedWire#123",
"path": [
{
- "x": 25.0,
- "y": 2105.0
+ "x": 120.0,
+ "y": 520.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#29",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#36",
+ "compName": "WireCrossPoint#35",
"pinName": ""
},
"name": "unnamedWire#124",
},
{
"pin1": {
- "compName": "WireCrossPoint#36",
+ "compName": "WireCrossPoint#35",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#33",
+ "compName": "WireCrossPoint#32",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#34",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#35",
+ "compName": "WireCrossPoint#34",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#33",
+ "compName": "WireCrossPoint#32",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#37",
+ "compName": "WireCrossPoint#36",
"pinName": ""
},
"name": "unnamedWire#129",
"pinName": ""
},
"name": "unnamedWire#13",
- "path": []
+ "path": [
+ {
+ "x": 230.0,
+ "y": 715.0
+ },
+ {
+ "x": 230.0,
+ "y": 750.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#34",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#38",
+ "compName": "WireCrossPoint#37",
"pinName": ""
},
"name": "unnamedWire#130",
},
{
"pin1": {
- "compName": "WireCrossPoint#35",
+ "compName": "WireCrossPoint#34",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#39",
+ "compName": "WireCrossPoint#38",
"pinName": ""
},
"name": "unnamedWire#131",
},
{
"pin1": {
- "compName": "WireCrossPoint#37",
+ "compName": "WireCrossPoint#36",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#38",
+ "compName": "WireCrossPoint#37",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#39",
+ "compName": "WireCrossPoint#38",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "TriStateBuffer#3",
+ "compName": "TriStateBuffer#2",
"pinName": "IN"
},
"name": "unnamedWire#135",
},
{
"pin1": {
- "compName": "WireCrossPoint#36",
+ "compName": "WireCrossPoint#35",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#136",
"path": [
{
- "x": 10.0,
- "y": 2585.0
+ "x": 105.0,
+ "y": 1000.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#37",
+ "compName": "WireCrossPoint#36",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#137",
"path": [
{
- "x": 15.0,
- "y": 2595.0
+ "x": 110.0,
+ "y": 1010.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#38",
+ "compName": "WireCrossPoint#37",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#138",
"path": [
{
- "x": 20.0,
- "y": 2605.0
+ "x": 115.0,
+ "y": 1020.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#39",
+ "compName": "WireCrossPoint#38",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#139",
"path": [
{
- "x": 25.0,
- "y": 2615.0
+ "x": 120.0,
+ "y": 1030.0
}
]
},
"pinName": "C"
},
"name": "unnamedWire#14",
- "path": []
+ "path": [
+ {
+ "x": 715.0,
+ "y": 750.0
+ },
+ {
+ "x": 715.0,
+ "y": 215.0
+ }
+ ]
},
{
"pin1": {
"pinName": "D1"
},
"name": "unnamedWire#140",
- "path": []
+ "path": [
+ {
+ "x": 195.0,
+ "y": 730.0
+ },
+ {
+ "x": 195.0,
+ "y": 265.0
+ }
+ ]
},
{
"pin1": {
"pinName": "D2"
},
"name": "unnamedWire#141",
- "path": []
+ "path": [
+ {
+ "x": 200.0,
+ "y": 740.0
+ },
+ {
+ "x": 200.0,
+ "y": 275.0
+ }
+ ]
},
{
"pin1": {
"pinName": "D3"
},
"name": "unnamedWire#142",
- "path": []
+ "path": [
+ {
+ "x": 205.0,
+ "y": 750.0
+ },
+ {
+ "x": 205.0,
+ "y": 285.0
+ }
+ ]
},
{
"pin1": {
"pinName": "D4"
},
"name": "unnamedWire#143",
- "path": []
+ "path": [
+ {
+ "x": 210.0,
+ "y": 760.0
+ },
+ {
+ "x": 210.0,
+ "y": 295.0
+ }
+ ]
},
{
"pin1": {
"name": "unnamedWire#146",
"path": [
{
- "x": 230.0,
- "y": 70.0
- },
- {
- "x": 230.0,
- "y": 105.0
- },
- {
- "x": 90.0,
- "y": 105.0
+ "x": 630.0,
+ "y": 185.0
},
{
- "x": 90.0,
- "y": 2305.0
+ "x": 630.0,
+ "y": 255.0
}
]
},
"name": "unnamedWire#147",
"path": [
{
- "x": 85.0,
- "y": 100.0
+ "x": 450.0,
+ "y": 215.0
+ },
+ {
+ "x": 450.0,
+ "y": 245.0
+ },
+ {
+ "x": 185.0,
+ "y": 245.0
},
{
- "x": 85.0,
- "y": 2505.0
+ "x": 185.0,
+ "y": 920.0
}
]
},
"name": "unnamedWire#148",
"path": [
{
- "x": 70.0,
- "y": 80.0
+ "x": 435.0,
+ "y": 195.0
},
{
- "x": 70.0,
- "y": 140.0
+ "x": 435.0,
+ "y": 355.0
}
]
},
{
"pin1": {
- "compName": "mux1_4#0",
- "pinName": "Y1"
+ "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
+ "pinName": "D4"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y1"
+ "compName": "Splitter#2",
+ "pinName": "O0"
},
"name": "unnamedWire#149",
"path": [
{
- "x": 335.0,
- "y": 140.0
+ "x": 500.0,
+ "y": 645.0
},
{
- "x": 335.0,
- "y": 50.0
+ "x": 500.0,
+ "y": 650.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "Splitter#0",
+ "pinName": "O8"
},
"pin2": {
- "compName": "WireCrossPoint#3",
- "pinName": ""
+ "compName": "Am2901DestDecode#0",
+ "pinName": "I8"
},
"name": "unnamedWire#15",
- "path": []
+ "path": [
+ {
+ "x": 835.0,
+ "y": 760.0
+ },
+ {
+ "x": 835.0,
+ "y": 315.0
+ },
+ {
+ "x": 365.0,
+ "y": 315.0
+ },
+ {
+ "x": 365.0,
+ "y": 165.0
+ }
+ ]
},
{
"pin1": {
- "compName": "mux1_4#0",
- "pinName": "Y2"
+ "compName": "Splitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y2"
+ "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
+ "pinName": "D3"
},
"name": "unnamedWire#150",
"path": []
},
{
"pin1": {
- "compName": "mux1_4#0",
- "pinName": "Y3"
+ "compName": "_submodelinterface",
+ "pinName": "Y"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y3"
+ "compName": "Splitter#1",
+ "pinName": "I"
},
"name": "unnamedWire#151",
- "path": [
- {
- "x": 335.0,
- "y": 160.0
- },
- {
- "x": 335.0,
- "y": 250.0
- }
- ]
+ "path": []
},
{
"pin1": {
"compName": "mux1_4#0",
- "pinName": "Y4"
+ "pinName": "Y3"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y4"
+ "compName": "Splitter#1",
+ "pinName": "O2"
},
"name": "unnamedWire#152",
"path": [
{
- "x": 325.0,
- "y": 170.0
+ "x": 555.0,
+ "y": 375.0
},
{
- "x": 325.0,
- "y": 350.0
+ "x": 555.0,
+ "y": 520.0
+ },
+ {
+ "x": 740.0,
+ "y": 520.0
+ },
+ {
+ "x": 740.0,
+ "y": 1230.0
+ },
+ {
+ "x": 745.0,
+ "y": 1230.0
}
]
},
"pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#40",
+ "compName": "WireCrossPoint#39",
"pinName": ""
},
"name": "unnamedWire#153",
},
{
"pin1": {
- "compName": "WireCrossPoint#40",
+ "compName": "WireCrossPoint#39",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#154",
"path": [
{
- "x": 315.0,
+ "x": 415.0,
"y": 445.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#40",
+ "compName": "WireCrossPoint#39",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#155",
"path": [
{
- "x": 315.0,
+ "x": 415.0,
"y": 455.0
}
]
"pinName": "F\u003d0"
},
"name": "unnamedWire#156",
- "path": []
+ "path": [
+ {
+ "x": 445.0,
+ "y": 450.0
+ },
+ {
+ "x": 445.0,
+ "y": 490.0
+ },
+ {
+ "x": 310.0,
+ "y": 490.0
+ },
+ {
+ "x": 310.0,
+ "y": 450.0
+ }
+ ]
},
{
"pin1": {
- "compName": "TriStateBuffer#3",
- "pinName": "OUT"
+ "compName": "Splitter#1",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#43",
- "pinName": ""
+ "compName": "mux1_4#0",
+ "pinName": "Y1"
},
"name": "unnamedWire#157",
- "path": []
+ "path": [
+ {
+ "x": 765.0,
+ "y": 1220.0
+ },
+ {
+ "x": 750.0,
+ "y": 1220.0
+ },
+ {
+ "x": 750.0,
+ "y": 510.0
+ },
+ {
+ "x": 565.0,
+ "y": 510.0
+ },
+ {
+ "x": 565.0,
+ "y": 355.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#41",
+ "compName": "WireCrossPoint#40",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#158",
"path": [
{
- "x": 5.0,
- "y": 2690.0
+ "x": 100.0,
+ "y": 1115.0
},
{
- "x": 280.0,
- "y": 2690.0
+ "x": 380.0,
+ "y": 1115.0
},
{
- "x": 280.0,
- "y": 2495.0
+ "x": 380.0,
+ "y": 910.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
"pinName": "C"
},
"name": "unnamedWire#16",
- "path": []
+ "path": [
+ {
+ "x": 255.0,
+ "y": 735.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#42",
+ "compName": "WireCrossPoint#41",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#160",
"path": [
{
- "x": 5.0,
- "y": 2345.0
+ "x": 100.0,
+ "y": 760.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#42",
+ "compName": "WireCrossPoint#41",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#161",
"path": [
{
- "x": 5.0,
- "y": 2465.0
+ "x": 100.0,
+ "y": 885.0
},
{
- "x": 280.0,
- "y": 2465.0
+ "x": 380.0,
+ "y": 885.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#19",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#162",
"path": [
{
- "x": 330.0,
- "y": 2145.0
+ "x": 5.0,
+ "y": 545.0
},
{
- "x": 330.0,
- "y": 750.0
+ "x": 5.0,
+ "y": 550.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "Qn+3"
+ "compName": "mux1_4#0",
+ "pinName": "Y4"
},
"pin2": {
- "compName": "WireCrossPoint#43",
- "pinName": ""
+ "compName": "Splitter#1",
+ "pinName": "O3"
},
"name": "unnamedWire#163",
"path": [
{
- "x": 340.0,
- "y": 1150.0
+ "x": 550.0,
+ "y": 385.0
+ },
+ {
+ "x": 550.0,
+ "y": 525.0
+ },
+ {
+ "x": 735.0,
+ "y": 525.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#44",
+ "compName": "WireCrossPoint#42",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"name": "unnamedWire#164",
},
{
"pin1": {
- "compName": "WireCrossPoint#45",
+ "compName": "WireCrossPoint#43",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#165",
"path": [
{
- "x": 290.0,
- "y": 2470.0
+ "x": 395.0,
+ "y": 890.0
},
{
- "x": 290.0,
- "y": 2445.0
+ "x": 395.0,
+ "y": 860.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#45",
+ "compName": "WireCrossPoint#43",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#45",
+ "compName": "WireCrossPoint#43",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#44",
+ "compName": "WireCrossPoint#42",
"pinName": ""
},
"name": "unnamedWire#167",
},
{
"pin1": {
- "compName": "WireCrossPoint#46",
+ "compName": "WireCrossPoint#44",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#4",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"name": "unnamedWire#168",
},
{
"pin1": {
- "compName": "WireCrossPoint#46",
+ "compName": "WireCrossPoint#44",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#47",
+ "compName": "WireCrossPoint#45",
"pinName": ""
},
"name": "unnamedWire#169",
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#17",
"path": [
{
- "x": 155.0,
- "y": 2485.0
+ "x": 255.0,
+ "y": 900.0
},
{
- "x": 80.0,
- "y": 2485.0
+ "x": 180.0,
+ "y": 900.0
},
{
- "x": 80.0,
- "y": 2495.0
+ "x": 180.0,
+ "y": 910.0
}
]
},
{
"pin1": {
- "compName": "TriStateBuffer#3",
+ "compName": "TriStateBuffer#2",
"pinName": "EN"
},
"pin2": {
- "compName": "WireCrossPoint#47",
+ "compName": "WireCrossPoint#45",
"pinName": ""
},
"name": "unnamedWire#170",
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#19",
"pinName": ""
},
"pin2": {
- "compName": "TriStateBuffer#4",
+ "compName": "TriStateBuffer#3",
"pinName": "IN"
},
"name": "unnamedWire#171",
"path": [
{
- "x": 295.0,
- "y": 2320.0
+ "x": 395.0,
+ "y": 735.0
}
]
},
{
"pin1": {
- "compName": "Am2901DestDecode#0",
- "pinName": "LSH"
+ "compName": "sel3_4#1",
+ "pinName": "C4"
},
"pin2": {
- "compName": "WireCrossPoint#4",
+ "compName": "WireCrossPoint#46",
"pinName": ""
},
- "name": "unnamedWire#18",
+ "name": "unnamedWire#172",
"path": [
{
- "x": 55.0,
- "y": 90.0
- },
- {
- "x": 55.0,
- "y": 125.0
+ "x": 145.0,
+ "y": 1070.0
},
{
- "x": 40.0,
- "y": 125.0
+ "x": 145.0,
+ "y": 1080.0
}
]
},
{
"pin1": {
- "compName": "Am2901DestDecode#0",
- "pinName": "NSH"
+ "compName": "WireCrossPoint#46",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "TriStateBuffer#2",
+ "pinName": "OUT"
},
- "name": "unnamedWire#19",
+ "name": "unnamedWire#173",
"path": [
{
- "x": 60.0,
- "y": 50.0
- },
- {
- "x": 60.0,
- "y": 120.0
- },
- {
- "x": 35.0,
- "y": 120.0
+ "x": 425.0,
+ "y": 940.0
}
]
},
{
"pin1": {
+ "compName": "WireCrossPoint#46",
+ "pinName": ""
+ },
+ "pin2": {
"compName": "_submodelinterface",
- "pinName": "I6"
+ "pinName": "Qn+3"
+ },
+ "name": "unnamedWire#174",
+ "path": [
+ {
+ "x": 425.0,
+ "y": 1150.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
+ "pinName": "D2"
},
"pin2": {
- "compName": "Am2901DestDecode#0",
- "pinName": "I6"
+ "compName": "Splitter#2",
+ "pinName": "O2"
},
- "name": "unnamedWire#2",
+ "name": "unnamedWire#175",
"path": [
{
- "x": 10.0,
- "y": 250.0
+ "x": 500.0,
+ "y": 635.0
},
{
- "x": 10.0,
- "y": 70.0
+ "x": 500.0,
+ "y": 630.0
}
]
},
{
"pin1": {
- "compName": "Am2901DestDecode#0",
- "pinName": "RSH"
+ "compName": "Splitter#2",
+ "pinName": "O3"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
+ "pinName": "D1"
},
- "name": "unnamedWire#20",
+ "name": "unnamedWire#176",
"path": [
{
- "x": 65.0,
- "y": 60.0
+ "x": 505.0,
+ "y": 620.0
},
{
- "x": 65.0,
- "y": 115.0
- },
- {
- "x": 30.0,
- "y": 115.0
+ "x": 505.0,
+ "y": 630.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "D"
},
"pin2": {
- "compName": "sel3_4#0",
- "pinName": "SA"
+ "compName": "Splitter#2",
+ "pinName": "I"
},
- "name": "unnamedWire#21",
- "path": []
+ "name": "unnamedWire#177",
+ "path": [
+ {
+ "x": 600.0,
+ "y": 480.0
+ },
+ {
+ "x": 480.0,
+ "y": 480.0
+ },
+ {
+ "x": 480.0,
+ "y": 635.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "Splitter#4",
+ "pinName": "O0"
},
"pin2": {
- "compName": "sel3_4#0",
- "pinName": "SB"
+ "compName": "ram4#0",
+ "pinName": "B0"
},
- "name": "unnamedWire#22",
- "path": []
+ "name": "unnamedWire#178",
+ "path": [
+ {
+ "x": 635.0,
+ "y": 365.0
+ },
+ {
+ "x": 635.0,
+ "y": 215.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "Splitter#4",
+ "pinName": "I"
},
"pin2": {
- "compName": "sel3_4#0",
- "pinName": "SC"
+ "compName": "_submodelinterface",
+ "pinName": "B"
},
- "name": "unnamedWire#23",
+ "name": "unnamedWire#179",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#46",
- "pinName": ""
+ "compName": "Am2901DestDecode#0",
+ "pinName": "LSH"
},
"pin2": {
- "compName": "sel3_4#1",
- "pinName": "SA"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
- "name": "unnamedWire#24",
+ "name": "unnamedWire#18",
"path": [
{
- "x": 40.0,
- "y": 2515.0
+ "x": 420.0,
+ "y": 205.0
+ },
+ {
+ "x": 420.0,
+ "y": 240.0
+ },
+ {
+ "x": 135.0,
+ "y": 240.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "Am2901DestDecode#0",
+ "pinName": "NSH"
},
"pin2": {
- "compName": "sel3_4#1",
- "pinName": "SB"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
- "name": "unnamedWire#25",
+ "name": "unnamedWire#19",
"path": [
{
- "x": 35.0,
- "y": 2525.0
+ "x": 425.0,
+ "y": 165.0
+ },
+ {
+ "x": 425.0,
+ "y": 235.0
+ },
+ {
+ "x": 130.0,
+ "y": 235.0
}
]
},
{
"pin1": {
- "compName": "sel3_4#1",
- "pinName": "SC"
+ "compName": "Splitter#0",
+ "pinName": "O4"
},
"pin2": {
- "compName": "WireCrossPoint#44",
- "pinName": ""
+ "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
+ "pinName": "I4"
},
- "name": "unnamedWire#26",
+ "name": "unnamedWire#2",
"path": [
{
- "x": 30.0,
- "y": 2535.0
+ "x": 800.0,
+ "y": 800.0
+ },
+ {
+ "x": 800.0,
+ "y": 610.0
+ },
+ {
+ "x": 575.0,
+ "y": 610.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "A0"
+ "compName": "Am2901DestDecode#0",
+ "pinName": "RSH"
},
"pin2": {
- "compName": "ram4#0",
- "pinName": "A0"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#27",
+ "name": "unnamedWire#20",
"path": [
{
- "x": 80.0,
- "y": 1550.0
+ "x": 430.0,
+ "y": 175.0
},
{
- "x": 80.0,
- "y": 2225.0
+ "x": 430.0,
+ "y": 230.0
+ },
+ {
+ "x": 125.0,
+ "y": 230.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "A1"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel3_4#0",
+ "pinName": "SA"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel3_4#0",
+ "pinName": "SB"
+ },
+ "name": "unnamedWire#22",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel3_4#0",
+ "pinName": "SC"
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#44",
+ "pinName": ""
},
"pin2": {
- "compName": "ram4#0",
- "pinName": "A1"
+ "compName": "sel3_4#1",
+ "pinName": "SA"
},
- "name": "unnamedWire#28",
+ "name": "unnamedWire#24",
"path": [
{
- "x": 75.0,
- "y": 1650.0
- },
- {
- "x": 75.0,
- "y": 2235.0
+ "x": 135.0,
+ "y": 930.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "A2"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
- "compName": "ram4#0",
- "pinName": "A2"
+ "compName": "sel3_4#1",
+ "pinName": "SB"
},
- "name": "unnamedWire#29",
+ "name": "unnamedWire#25",
"path": [
{
- "x": 70.0,
- "y": 1750.0
- },
- {
- "x": 70.0,
- "y": 2245.0
+ "x": 130.0,
+ "y": 940.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I5"
+ "compName": "sel3_4#1",
+ "pinName": "SC"
},
"pin2": {
- "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "I5"
+ "compName": "WireCrossPoint#42",
+ "pinName": ""
},
- "name": "unnamedWire#3",
+ "name": "unnamedWire#26",
"path": [
{
- "x": 130.0,
- "y": 350.0
- },
- {
- "x": 130.0,
- "y": 2115.0
+ "x": 125.0,
+ "y": 950.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "A3"
+ "compName": "Splitter#3",
+ "pinName": "I"
},
"pin2": {
- "compName": "ram4#0",
- "pinName": "A3"
+ "compName": "_submodelinterface",
+ "pinName": "A"
},
- "name": "unnamedWire#30",
- "path": [
- {
- "x": 65.0,
- "y": 1850.0
- },
- {
- "x": 65.0,
- "y": 2255.0
- }
- ]
+ "name": "unnamedWire#27",
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "B0"
+ "compName": "ram4#0",
+ "pinName": "B3"
},
"pin2": {
- "compName": "ram4#0",
- "pinName": "B0"
+ "compName": "Splitter#4",
+ "pinName": "O3"
},
- "name": "unnamedWire#31",
+ "name": "unnamedWire#28",
"path": [
{
- "x": 60.0,
- "y": 1950.0
+ "x": 650.0,
+ "y": 245.0
},
{
- "x": 60.0,
- "y": 2265.0
+ "x": 650.0,
+ "y": 335.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "B1"
+ "compName": "ram4#0",
+ "pinName": "B2"
},
"pin2": {
- "compName": "ram4#0",
- "pinName": "B1"
+ "compName": "Splitter#4",
+ "pinName": "O2"
},
- "name": "unnamedWire#32",
+ "name": "unnamedWire#29",
"path": [
{
- "x": 55.0,
- "y": 2050.0
+ "x": 645.0,
+ "y": 235.0
},
{
- "x": 55.0,
- "y": 2275.0
+ "x": 645.0,
+ "y": 345.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "B2"
+ "compName": "Splitter#0",
+ "pinName": "O3"
},
"pin2": {
- "compName": "ram4#0",
- "pinName": "B2"
+ "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
+ "pinName": "I3"
},
- "name": "unnamedWire#33",
+ "name": "unnamedWire#3",
"path": [
{
- "x": 50.0,
- "y": 2150.0
+ "x": 795.0,
+ "y": 810.0
+ },
+ {
+ "x": 795.0,
+ "y": 605.0
},
{
- "x": 50.0,
- "y": 2285.0
+ "x": 565.0,
+ "y": 605.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "B3"
+ "compName": "Splitter#4",
+ "pinName": "O1"
},
"pin2": {
"compName": "ram4#0",
- "pinName": "B3"
+ "pinName": "B1"
},
- "name": "unnamedWire#34",
+ "name": "unnamedWire#30",
"path": [
{
- "x": 45.0,
- "y": 2250.0
+ "x": 640.0,
+ "y": 355.0
},
{
- "x": 45.0,
- "y": 2295.0
+ "x": 640.0,
+ "y": 225.0
}
]
},
"name": "unnamedWire#39",
"path": [
{
- "x": 150.0,
- "y": 2265.0
+ "x": 695.0,
+ "y": 215.0
+ },
+ {
+ "x": 695.0,
+ "y": 575.0
+ },
+ {
+ "x": 250.0,
+ "y": 575.0
},
{
- "x": 150.0,
- "y": 2280.0
+ "x": 250.0,
+ "y": 695.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I4"
+ "compName": "Splitter#0",
+ "pinName": "O2"
},
"pin2": {
"compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "I4"
+ "pinName": "I2"
},
"name": "unnamedWire#4",
"path": [
{
- "x": 125.0,
- "y": 450.0
+ "x": 790.0,
+ "y": 820.0
},
{
- "x": 125.0,
- "y": 2125.0
+ "x": 790.0,
+ "y": 600.0
+ },
+ {
+ "x": 555.0,
+ "y": 600.0
}
]
},
"name": "unnamedWire#40",
"path": [
{
- "x": 145.0,
- "y": 2275.0
+ "x": 700.0,
+ "y": 225.0
},
{
- "x": 145.0,
- "y": 2290.0
+ "x": 700.0,
+ "y": 570.0
+ },
+ {
+ "x": 245.0,
+ "y": 570.0
+ },
+ {
+ "x": 245.0,
+ "y": 705.0
}
]
},
"name": "unnamedWire#41",
"path": [
{
- "x": 140.0,
- "y": 2285.0
+ "x": 705.0,
+ "y": 235.0
},
{
- "x": 140.0,
- "y": 2300.0
+ "x": 705.0,
+ "y": 565.0
+ },
+ {
+ "x": 240.0,
+ "y": 565.0
+ },
+ {
+ "x": 240.0,
+ "y": 715.0
}
]
},
"name": "unnamedWire#42",
"path": [
{
- "x": 135.0,
- "y": 2295.0
+ "x": 710.0,
+ "y": 245.0
},
{
- "x": 135.0,
- "y": 2310.0
+ "x": 710.0,
+ "y": 560.0
+ },
+ {
+ "x": 235.0,
+ "y": 560.0
+ },
+ {
+ "x": 235.0,
+ "y": 725.0
}
]
},
"name": "unnamedWire#43",
"path": [
{
- "x": 100.0,
+ "x": 55.0,
"y": 1050.0
},
{
- "x": 100.0,
- "y": 2175.0
+ "x": 55.0,
+ "y": 600.0
+ },
+ {
+ "x": 520.0,
+ "y": 600.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "D1"
+ "compName": "ram4#0",
+ "pinName": "A0"
},
"pin2": {
- "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "D1"
+ "compName": "Splitter#3",
+ "pinName": "O0"
},
"name": "unnamedWire#44",
"path": [
{
- "x": 180.0,
- "y": 1150.0
+ "x": 650.0,
+ "y": 175.0
},
{
- "x": 180.0,
- "y": 2185.0
+ "x": 650.0,
+ "y": 165.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "D2"
+ "compName": "Splitter#3",
+ "pinName": "O1"
},
"pin2": {
- "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "D2"
+ "compName": "ram4#0",
+ "pinName": "A1"
},
"name": "unnamedWire#45",
"path": [
{
- "x": 175.0,
- "y": 1250.0
+ "x": 645.0,
+ "y": 155.0
},
{
- "x": 175.0,
- "y": 2195.0
+ "x": 645.0,
+ "y": 185.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "D3"
+ "compName": "Splitter#3",
+ "pinName": "O2"
},
"pin2": {
- "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "D3"
+ "compName": "ram4#0",
+ "pinName": "A2"
},
"name": "unnamedWire#46",
"path": [
{
- "x": 170.0,
- "y": 1350.0
+ "x": 640.0,
+ "y": 145.0
},
{
- "x": 170.0,
- "y": 2205.0
+ "x": 640.0,
+ "y": 195.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "D4"
+ "compName": "Splitter#3",
+ "pinName": "O3"
},
"pin2": {
- "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "D4"
+ "compName": "ram4#0",
+ "pinName": "A3"
},
"name": "unnamedWire#47",
"path": [
{
- "x": 165.0,
- "y": 1450.0
+ "x": 635.0,
+ "y": 135.0
},
{
- "x": 165.0,
- "y": 2215.0
+ "x": 635.0,
+ "y": 205.0
}
]
},
"pinName": "Q1"
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"name": "unnamedWire#48",
- "path": []
+ "path": [
+ {
+ "x": 765.0,
+ "y": 175.0
+ },
+ {
+ "x": 765.0,
+ "y": 80.0
+ },
+ {
+ "x": 350.0,
+ "y": 80.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Q2"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"name": "unnamedWire#49",
- "path": []
+ "path": [
+ {
+ "x": 770.0,
+ "y": 185.0
+ },
+ {
+ "x": 770.0,
+ "y": 75.0
+ },
+ {
+ "x": 345.0,
+ "y": 75.0
+ }
+ ]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I3"
+ "compName": "Splitter#0",
+ "pinName": "O1"
},
"pin2": {
"compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "I3"
+ "pinName": "I1"
},
"name": "unnamedWire#5",
"path": [
{
- "x": 120.0,
- "y": 550.0
+ "x": 785.0,
+ "y": 830.0
},
{
- "x": 120.0,
- "y": 2135.0
+ "x": 785.0,
+ "y": 595.0
+ },
+ {
+ "x": 545.0,
+ "y": 595.0
}
]
},
"pinName": "Q3"
},
"pin2": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"name": "unnamedWire#50",
- "path": []
+ "path": [
+ {
+ "x": 775.0,
+ "y": 195.0
+ },
+ {
+ "x": 775.0,
+ "y": 70.0
+ },
+ {
+ "x": 340.0,
+ "y": 70.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Q4"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"name": "unnamedWire#51",
- "path": []
+ "path": [
+ {
+ "x": 780.0,
+ "y": 205.0
+ },
+ {
+ "x": 780.0,
+ "y": 65.0
+ },
+ {
+ "x": 335.0,
+ "y": 65.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
"pinName": "I0_1"
},
"name": "unnamedWire#52",
- "path": [
- {
- "x": 220.0,
- "y": 150.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
"pinName": "I0_2"
},
"name": "unnamedWire#53",
- "path": [
- {
- "x": 225.0,
- "y": 160.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
"pinName": "I0_3"
},
"name": "unnamedWire#54",
- "path": [
- {
- "x": 230.0,
- "y": 170.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
"pinName": "I0_4"
},
"name": "unnamedWire#55",
- "path": [
- {
- "x": 235.0,
- "y": 180.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
"pinName": "A1"
},
"name": "unnamedWire#56",
- "path": []
+ "path": [
+ {
+ "x": 350.0,
+ "y": 655.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
"pinName": "A2"
},
"name": "unnamedWire#57",
- "path": []
+ "path": [
+ {
+ "x": 345.0,
+ "y": 660.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
"pinName": "A3"
},
"name": "unnamedWire#58",
- "path": []
+ "path": [
+ {
+ "x": 340.0,
+ "y": 665.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
"pinName": "A4"
},
"name": "unnamedWire#59",
- "path": []
+ "path": [
+ {
+ "x": 335.0,
+ "y": 670.0
+ }
+ ]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I2"
+ "compName": "Splitter#0",
+ "pinName": "O0"
},
"pin2": {
"compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "I2"
+ "pinName": "I0"
},
"name": "unnamedWire#6",
"path": [
{
- "x": 115.0,
- "y": 650.0
+ "x": 780.0,
+ "y": 840.0
},
{
- "x": 115.0,
- "y": 2145.0
+ "x": 780.0,
+ "y": 590.0
+ },
+ {
+ "x": 535.0,
+ "y": 590.0
}
]
},
"name": "unnamedWire#60",
"path": [
{
- "x": 200.0,
- "y": 2280.0
+ "x": 300.0,
+ "y": 695.0
},
{
- "x": 200.0,
- "y": 2265.0
+ "x": 300.0,
+ "y": 680.0
}
]
},
"name": "unnamedWire#61",
"path": [
{
- "x": 205.0,
- "y": 2290.0
+ "x": 305.0,
+ "y": 705.0
},
{
- "x": 205.0,
- "y": 2275.0
+ "x": 305.0,
+ "y": 685.0
}
]
},
"name": "unnamedWire#62",
"path": [
{
- "x": 210.0,
- "y": 2300.0
+ "x": 310.0,
+ "y": 715.0
},
{
- "x": 210.0,
- "y": 2285.0
+ "x": 310.0,
+ "y": 690.0
}
]
},
"name": "unnamedWire#63",
"path": [
{
- "x": 215.0,
- "y": 2310.0
+ "x": 315.0,
+ "y": 725.0
},
{
- "x": 215.0,
- "y": 2295.0
+ "x": 315.0,
+ "y": 695.0
}
]
},
"pinName": "Q1"
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"name": "unnamedWire#64",
"pinName": "Q2"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"name": "unnamedWire#65",
"pinName": "Q3"
},
"pin2": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"name": "unnamedWire#66",
"pinName": "Q4"
},
"pin2": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"name": "unnamedWire#67",
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"name": "unnamedWire#68",
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"pin2": {
{
"pin1": {
"compName": "_submodelinterface",
- "pinName": "I1"
+ "pinName": "I"
},
"pin2": {
- "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "I1"
+ "compName": "Splitter#0",
+ "pinName": "I"
},
"name": "unnamedWire#7",
- "path": [
- {
- "x": 110.0,
- "y": 750.0
- },
- {
- "x": 110.0,
- "y": 2155.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"name": "unnamedWire#70",
"pinName": "Qn"
},
"pin2": {
- "compName": "WireCrossPoint#41",
+ "compName": "WireCrossPoint#40",
"pinName": ""
},
"name": "unnamedWire#71",
- "path": []
+ "path": [
+ {
+ "x": 80.0,
+ "y": 200.0
+ },
+ {
+ "x": 80.0,
+ "y": 965.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#17",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"name": "unnamedWire#72",
"path": [
{
- "x": 135.0,
- "y": 2670.0
+ "x": 235.0,
+ "y": 1095.0
},
{
- "x": 30.0,
- "y": 2670.0
+ "x": 130.0,
+ "y": 1095.0
},
{
- "x": 30.0,
- "y": 2635.0
+ "x": 130.0,
+ "y": 1050.0
},
{
- "x": 35.0,
- "y": 2635.0
+ "x": 135.0,
+ "y": 1050.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"name": "unnamedWire#73",
"path": [
{
- "x": 140.0,
- "y": 2675.0
+ "x": 240.0,
+ "y": 1100.0
},
{
- "x": 35.0,
- "y": 2675.0
+ "x": 135.0,
+ "y": 1100.0
},
{
- "x": 35.0,
- "y": 2640.0
+ "x": 135.0,
+ "y": 1055.0
},
{
- "x": 40.0,
- "y": 2640.0
+ "x": 140.0,
+ "y": 1055.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#17",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#76",
"path": [
{
- "x": 145.0,
- "y": 2680.0
+ "x": 245.0,
+ "y": 1105.0
},
{
- "x": 40.0,
- "y": 2680.0
+ "x": 140.0,
+ "y": 1105.0
},
{
- "x": 40.0,
- "y": 2645.0
+ "x": 140.0,
+ "y": 1060.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#43",
- "pinName": ""
+ "compName": "Splitter#0",
+ "pinName": "O7"
},
"pin2": {
- "compName": "sel3_4#1",
- "pinName": "C4"
+ "compName": "Am2901DestDecode#0",
+ "pinName": "I7"
},
"name": "unnamedWire#77",
- "path": []
+ "path": [
+ {
+ "x": 840.0,
+ "y": 770.0
+ },
+ {
+ "x": 840.0,
+ "y": 310.0
+ },
+ {
+ "x": 370.0,
+ "y": 310.0
+ },
+ {
+ "x": 370.0,
+ "y": 175.0
+ }
+ ]
},
{
"pin1": {
"pinName": "RAMn"
},
"pin2": {
- "compName": "WireCrossPoint#42",
+ "compName": "WireCrossPoint#41",
"pinName": ""
},
"name": "unnamedWire#78",
- "path": []
+ "path": [
+ {
+ "x": 75.0,
+ "y": 100.0
+ },
+ {
+ "x": 75.0,
+ "y": 765.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#79",
"path": [
{
- "x": 130.0,
- "y": 2665.0
+ "x": 230.0,
+ "y": 1090.0
},
{
- "x": 25.0,
- "y": 2665.0
+ "x": 125.0,
+ "y": 1090.0
},
{
- "x": 25.0,
- "y": 2630.0
+ "x": 125.0,
+ "y": 1045.0
},
{
- "x": 30.0,
- "y": 2630.0
+ "x": 130.0,
+ "y": 1045.0
},
{
- "x": 30.0,
- "y": 2555.0
+ "x": 130.0,
+ "y": 970.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I0"
+ "compName": "Splitter#1",
+ "pinName": "O1"
},
"pin2": {
- "compName": "Am2901ALUInclSourceDecodeInclFunctionDecode#0",
- "pinName": "I0"
+ "compName": "mux1_4#0",
+ "pinName": "Y2"
},
"name": "unnamedWire#8",
"path": [
{
- "x": 105.0,
- "y": 850.0
+ "x": 755.0,
+ "y": 1225.0
},
{
- "x": 105.0,
- "y": 2165.0
+ "x": 745.0,
+ "y": 1225.0
+ },
+ {
+ "x": 745.0,
+ "y": 515.0
+ },
+ {
+ "x": 560.0,
+ "y": 515.0
+ },
+ {
+ "x": 560.0,
+ "y": 365.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#80",
"path": [
{
- "x": 220.0,
- "y": 2305.0
+ "x": 320.0,
+ "y": 705.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#81",
"path": [
{
- "x": 225.0,
- "y": 2505.0
+ "x": 325.0,
+ "y": 920.0
},
{
- "x": 225.0,
- "y": 2315.0
+ "x": 325.0,
+ "y": 710.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#82",
"path": [
{
- "x": 230.0,
- "y": 2515.0
+ "x": 330.0,
+ "y": 930.0
},
{
- "x": 230.0,
- "y": 2325.0
+ "x": 330.0,
+ "y": 715.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#83",
"path": [
{
- "x": 235.0,
- "y": 2335.0
+ "x": 335.0,
+ "y": 720.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#17",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#84",
"path": [
{
- "x": 35.0,
- "y": 2565.0
+ "x": 135.0,
+ "y": 980.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#85",
"path": [
{
- "x": 40.0,
- "y": 2575.0
+ "x": 140.0,
+ "y": 990.0
}
]
},
"pinName": ""
},
"name": "unnamedWire#9",
- "path": []
+ "path": [
+ {
+ "x": 15.0,
+ "y": 950.0
+ }
+ ]
},
{
"pin1": {
"name": "unnamedWire#90",
"path": [
{
- "x": 315.0,
- "y": 2155.0
+ "x": 615.0,
+ "y": 665.0
},
{
- "x": 315.0,
- "y": 550.0
+ "x": 615.0,
+ "y": 1200.0
}
]
},
"name": "unnamedWire#91",
"path": [
{
- "x": 320.0,
- "y": 2165.0
+ "x": 610.0,
+ "y": 675.0
},
{
- "x": 320.0,
- "y": 650.0
+ "x": 610.0,
+ "y": 1125.0
+ },
+ {
+ "x": 95.0,
+ "y": 1125.0
+ },
+ {
+ "x": 95.0,
+ "y": 500.0
}
]
},
"pinName": "F1"
},
"pin2": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
"name": "unnamedWire#92",
- "path": []
+ "path": [
+ {
+ "x": 635.0,
+ "y": 625.0
+ },
+ {
+ "x": 635.0,
+ "y": 530.0
+ }
+ ]
},
{
"pin1": {
"pinName": "F4"
},
"pin2": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#19",
"pinName": ""
},
"name": "unnamedWire#93",
- "path": []
+ "path": [
+ {
+ "x": 620.0,
+ "y": 655.0
+ },
+ {
+ "x": 620.0,
+ "y": 545.0
+ }
+ ]
},
{
"pin1": {
- "compName": "TriStateBuffer#4",
+ "compName": "TriStateBuffer#3",
"pinName": "OUT"
},
"pin2": {
- "compName": "WireCrossPoint#21",
+ "compName": "WireCrossPoint#20",
"pinName": ""
},
"name": "unnamedWire#94",
},
{
"pin1": {
- "compName": "WireCrossPoint#47",
+ "compName": "WireCrossPoint#45",
"pinName": ""
},
"pin2": {
- "compName": "TriStateBuffer#4",
+ "compName": "TriStateBuffer#3",
"pinName": "EN"
},
"name": "unnamedWire#95",
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
+ "compName": "WireCrossPoint#20",
"pinName": ""
},
"pin2": {
"pinName": "C4"
},
"name": "unnamedWire#96",
- "path": []
+ "path": [
+ {
+ "x": 435.0,
+ "y": 795.0
+ },
+ {
+ "x": 195.0,
+ "y": 795.0
+ },
+ {
+ "x": 195.0,
+ "y": 880.0
+ },
+ {
+ "x": 140.0,
+ "y": 880.0
+ },
+ {
+ "x": 140.0,
+ "y": 870.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
+ "compName": "WireCrossPoint#20",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#97",
"path": [
{
- "x": 335.0,
- "y": 950.0
+ "x": 455.0,
+ "y": 735.0
+ },
+ {
+ "x": 455.0,
+ "y": 1100.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#21",
"pinName": ""
},
"name": "unnamedWire#98",
"path": [
{
- "x": 280.0,
- "y": 2090.0
+ "x": 380.0,
+ "y": 505.0
}
]
},
"pinName": "F2"
},
"pin2": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
"name": "unnamedWire#99",
"path": [
{
- "x": 285.0,
- "y": 2125.0
+ "x": 630.0,
+ "y": 635.0
+ },
+ {
+ "x": 630.0,
+ "y": 535.0
+ },
+ {
+ "x": 385.0,
+ "y": 535.0
},
{
- "x": 285.0,
- "y": 2095.0
+ "x": 385.0,
+ "y": 510.0
}
]
}
{
- "width": 35.0,
- "height": 230.0,
+ "width": 95.0,
+ "height": 110.0,
"interfacePins": [
{
"location": {
"x": 0.0,
- "y": 115.0
+ "y": 35.0
},
"name": "A1",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 125.0
+ "y": 40.0
},
"name": "A2",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 135.0
+ "y": 45.0
},
"name": "A3",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 145.0
+ "y": 50.0
},
"name": "A4",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 155.0
+ "y": 60.0
},
"name": "B1",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 165.0
+ "y": 65.0
},
"name": "B2",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 175.0
+ "y": 70.0
},
"name": "B3",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 185.0
+ "y": 75.0
},
"name": "B4",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 65.0
+ "x": 10.0,
+ "y": 0.0
},
"name": "Cn",
"logicWidth": 1,
},
{
"location": {
- "x": 35.0,
+ "x": 95.0,
"y": 45.0
},
"name": "Cn+4",
{
"location": {
"x": 0.0,
- "y": 75.0
+ "y": 10.0
},
"name": "D1",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 85.0
+ "y": 15.0
},
"name": "D2",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 95.0
+ "y": 20.0
},
"name": "D3",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 105.0
+ "y": 25.0
},
"name": "D4",
"logicWidth": 1,
},
{
"location": {
- "x": 35.0,
+ "x": 95.0,
"y": 5.0
},
"name": "F1",
},
{
"location": {
- "x": 35.0,
+ "x": 95.0,
"y": 15.0
},
"name": "F2",
},
{
"location": {
- "x": 35.0,
+ "x": 95.0,
"y": 25.0
},
"name": "F3",
},
{
"location": {
- "x": 35.0,
+ "x": 95.0,
"y": 35.0
},
"name": "F4",
},
{
"location": {
- "x": 0.0,
- "y": 55.0
+ "x": 25.0,
+ "y": 0.0
},
"name": "I0",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 45.0
+ "x": 35.0,
+ "y": 0.0
},
"name": "I1",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 35.0
+ "x": 45.0,
+ "y": 0.0
},
"name": "I2",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 25.0
+ "x": 55.0,
+ "y": 0.0
},
"name": "I3",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 15.0
+ "x": 65.0,
+ "y": 0.0
},
"name": "I4",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 5.0
+ "x": 75.0,
+ "y": 0.0
},
"name": "I5",
"logicWidth": 1,
},
{
"location": {
- "x": 35.0,
+ "x": 95.0,
"y": 55.0
},
"name": "OVR",
{
"location": {
"x": 0.0,
- "y": 195.0
+ "y": 85.0
},
"name": "Q1",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 205.0
+ "y": 90.0
},
"name": "Q2",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 215.0
+ "y": 95.0
},
"name": "Q3",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 225.0
+ "y": 100.0
},
"name": "Q4",
"logicWidth": 1,
"id": "Am2901ALUInclDecode",
"name": "Am2901ALUInclDecode#0",
"pos": {
- "x": 60.0,
+ "x": 315.0,
"y": 15.0
}
},
"id": "Am2901SourceDecode",
"name": "Am2901SourceDecode#0",
"pos": {
- "x": 15.0,
- "y": 165.0
+ "x": 155.0,
+ "y": 160.0
}
},
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 9.0,
- "y": 459.0
+ "x": 209.0,
+ "y": 224.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 14.0,
- "y": 499.0
+ "x": 214.0,
+ "y": 234.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 19.0,
- "y": 539.0
+ "x": 219.0,
+ "y": 244.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
- "x": 24.0,
- "y": 579.0
+ "x": 224.0,
+ "y": 254.0
},
"params": 1
},
"id": "sel2_4",
"name": "sel2_4#0",
"pos": {
- "x": 45.0,
- "y": 365.0
+ "x": 235.0,
+ "y": 85.0
}
},
{
"id": "sel3_4",
"name": "sel3_4#0",
"pos": {
- "x": 45.0,
- "y": 575.0
+ "x": 235.0,
+ "y": 190.0
}
}
],
"pinName": "I5"
},
"name": "unnamedWire#0",
- "path": []
+ "path": [
+ {
+ "x": 300.0,
+ "y": 20.0
+ }
+ ]
},
{
"pin1": {
"compName": "_submodelinterface",
- "pinName": "I4"
+ "pinName": "Cn"
},
"pin2": {
"compName": "Am2901ALUInclDecode#0",
- "pinName": "I4"
+ "pinName": "Cn"
},
"name": "unnamedWire#1",
"path": [
{
- "x": 5.0,
- "y": 60.0
- },
- {
- "x": 5.0,
- "y": 30.0
+ "x": 40.0,
+ "y": 50.0
}
]
},
"pinName": "A4"
},
"name": "unnamedWire#10",
- "path": []
+ "path": [
+ {
+ "x": 10.0,
+ "y": 100.0
+ },
+ {
+ "x": 10.0,
+ "y": 85.0
+ },
+ {
+ "x": 170.0,
+ "y": 85.0
+ },
+ {
+ "x": 170.0,
+ "y": 140.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"name": "unnamedWire#11",
- "path": []
+ "path": [
+ {
+ "x": 55.0,
+ "y": 140.0
+ },
+ {
+ "x": 55.0,
+ "y": 225.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"name": "unnamedWire#12",
- "path": []
+ "path": [
+ {
+ "x": 50.0,
+ "y": 160.0
+ },
+ {
+ "x": 50.0,
+ "y": 235.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"name": "unnamedWire#13",
- "path": []
+ "path": [
+ {
+ "x": 45.0,
+ "y": 180.0
+ },
+ {
+ "x": 45.0,
+ "y": 245.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"name": "unnamedWire#14",
- "path": []
+ "path": [
+ {
+ "x": 40.0,
+ "y": 200.0
+ },
+ {
+ "x": 40.0,
+ "y": 255.0
+ }
+ ]
},
{
"pin1": {
"name": "unnamedWire#15",
"path": [
{
- "x": 10.0,
- "y": 430.0
+ "x": 210.0,
+ "y": 150.0
}
]
},
"name": "unnamedWire#16",
"path": [
{
- "x": 15.0,
- "y": 440.0
+ "x": 215.0,
+ "y": 160.0
}
]
},
"name": "unnamedWire#17",
"path": [
{
- "x": 20.0,
- "y": 450.0
+ "x": 220.0,
+ "y": 170.0
}
]
},
"name": "unnamedWire#18",
"path": [
{
- "x": 25.0,
- "y": 460.0
+ "x": 225.0,
+ "y": 180.0
}
]
},
"pinName": "A1"
},
"name": "unnamedWire#19",
- "path": [
- {
- "x": 10.0,
- "y": 610.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
+ "compName": "Am2901ALUInclDecode#0",
"pinName": "I3"
},
"pin2": {
- "compName": "Am2901ALUInclDecode#0",
+ "compName": "_submodelinterface",
"pinName": "I3"
},
"name": "unnamedWire#2",
"path": [
{
- "x": 15.0,
- "y": 100.0
- },
- {
- "x": 15.0,
+ "x": 220.0,
"y": 40.0
}
]
"pinName": "A2"
},
"name": "unnamedWire#20",
- "path": [
- {
- "x": 15.0,
- "y": 620.0
- }
- ]
+ "path": []
},
{
"pin1": {
"pinName": "A3"
},
"name": "unnamedWire#21",
- "path": [
- {
- "x": 20.0,
- "y": 630.0
- }
- ]
+ "path": []
},
{
"pin1": {
"pinName": "A4"
},
"name": "unnamedWire#22",
- "path": [
- {
- "x": 25.0,
- "y": 640.0
- }
- ]
+ "path": []
},
{
"pin1": {
"name": "unnamedWire#23",
"path": [
{
- "x": 5.0,
- "y": 620.0
+ "x": 25.0,
+ "y": 240.0
},
{
- "x": 5.0,
- "y": 650.0
+ "x": 25.0,
+ "y": 265.0
}
]
},
"pinName": "B2"
},
"name": "unnamedWire#24",
- "path": []
+ "path": [
+ {
+ "x": 20.0,
+ "y": 260.0
+ },
+ {
+ "x": 20.0,
+ "y": 275.0
+ }
+ ]
},
{
"pin1": {
"name": "unnamedWire#25",
"path": [
{
- "x": 5.0,
- "y": 700.0
+ "x": 20.0,
+ "y": 280.0
},
{
- "x": 5.0,
- "y": 670.0
+ "x": 20.0,
+ "y": 285.0
}
]
},
"name": "unnamedWire#26",
"path": [
{
- "x": 10.0,
- "y": 740.0
+ "x": 20.0,
+ "y": 300.0
},
{
- "x": 10.0,
- "y": 680.0
+ "x": 20.0,
+ "y": 295.0
}
]
},
"name": "unnamedWire#27",
"path": [
{
- "x": 15.0,
- "y": 780.0
+ "x": 20.0,
+ "y": 340.0
},
{
- "x": 15.0,
- "y": 690.0
+ "x": 20.0,
+ "y": 305.0
}
]
},
"name": "unnamedWire#28",
"path": [
{
- "x": 20.0,
- "y": 820.0
+ "x": 25.0,
+ "y": 360.0
},
{
- "x": 20.0,
- "y": 700.0
+ "x": 25.0,
+ "y": 315.0
}
]
},
"name": "unnamedWire#29",
"path": [
{
- "x": 25.0,
- "y": 860.0
+ "x": 30.0,
+ "y": 380.0
},
{
- "x": 25.0,
- "y": 710.0
+ "x": 30.0,
+ "y": 325.0
}
]
},
"name": "unnamedWire#3",
"path": [
{
- "x": 5.0,
- "y": 140.0
+ "x": 180.0,
+ "y": 5.0
},
{
- "x": 5.0,
- "y": 170.0
+ "x": 150.0,
+ "y": 5.0
+ },
+ {
+ "x": 150.0,
+ "y": 165.0
}
]
},
"name": "unnamedWire#30",
"path": [
{
- "x": 30.0,
- "y": 900.0
+ "x": 35.0,
+ "y": 400.0
},
{
- "x": 30.0,
- "y": 720.0
+ "x": 35.0,
+ "y": 335.0
}
]
},
{
"pin1": {
- "compName": "Am2901SourceDecode#0",
- "pinName": "SQ"
- },
- "pin2": {
"compName": "sel3_4#0",
"pinName": "SC"
},
+ "pin2": {
+ "compName": "Am2901SourceDecode#0",
+ "pinName": "SQ"
+ },
"name": "unnamedWire#31",
"path": [
{
- "x": 75.0,
- "y": 170.0
- },
- {
- "x": 75.0,
- "y": 240.0
- },
- {
- "x": 30.0,
- "y": 240.0
+ "x": 200.0,
+ "y": 215.0
},
{
- "x": 30.0,
- "y": 600.0
+ "x": 200.0,
+ "y": 165.0
}
]
},
{
"pin1": {
"compName": "Am2901SourceDecode#0",
- "pinName": "RA"
+ "pinName": "RD"
},
"pin2": {
"compName": "sel2_4#0",
- "pinName": "SB"
+ "pinName": "SA"
},
"name": "unnamedWire#32",
"path": [
{
- "x": 70.0,
- "y": 180.0
- },
- {
- "x": 70.0,
- "y": 235.0
- },
- {
- "x": 20.0,
- "y": 235.0
+ "x": 195.0,
+ "y": 205.0
},
{
- "x": 20.0,
- "y": 380.0
+ "x": 195.0,
+ "y": 90.0
}
]
},
"name": "unnamedWire#33",
"path": [
{
- "x": 65.0,
- "y": 190.0
+ "x": 205.0,
+ "y": 185.0
},
{
- "x": 65.0,
- "y": 230.0
- },
- {
- "x": 35.0,
- "y": 230.0
- },
- {
- "x": 35.0,
- "y": 590.0
+ "x": 205.0,
+ "y": 205.0
}
]
},
{
"pin1": {
- "compName": "Am2901SourceDecode#0",
- "pinName": "SA"
- },
- "pin2": {
"compName": "sel3_4#0",
"pinName": "SA"
},
- "name": "unnamedWire#34",
- "path": [
- {
- "x": 60.0,
- "y": 200.0
- },
- {
- "x": 60.0,
- "y": 225.0
- },
- {
- "x": 40.0,
- "y": 225.0
- },
- {
- "x": 40.0,
- "y": 580.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "Am2901SourceDecode#0",
- "pinName": "RD"
- },
"pin2": {
- "compName": "sel2_4#0",
+ "compName": "Am2901SourceDecode#0",
"pinName": "SA"
},
- "name": "unnamedWire#35",
- "path": [
- {
- "x": 55.0,
- "y": 210.0
- },
- {
- "x": 55.0,
- "y": 220.0
- },
- {
- "x": 25.0,
- "y": 220.0
- },
- {
- "x": 25.0,
- "y": 370.0
- }
- ]
+ "name": "unnamedWire#34",
+ "path": []
},
{
"pin1": {
"name": "unnamedWire#36",
"path": [
{
- "x": 82.5,
- "y": 370.0
- },
- {
- "x": 82.5,
- "y": 162.5
- },
- {
- "x": 20.0,
- "y": 162.5
+ "x": 275.0,
+ "y": 90.0
},
{
- "x": 20.0,
+ "x": 275.0,
"y": 60.0
}
]
"name": "unnamedWire#37",
"path": [
{
- "x": 85.0,
- "y": 380.0
- },
- {
- "x": 85.0,
- "y": 160.0
- },
- {
- "x": 22.5,
- "y": 160.0
+ "x": 280.0,
+ "y": 100.0
},
{
- "x": 22.5,
+ "x": 280.0,
"y": 70.0
}
]
"name": "unnamedWire#38",
"path": [
{
- "x": 87.5,
- "y": 390.0
- },
- {
- "x": 87.5,
- "y": 157.5
- },
- {
- "x": 25.0,
- "y": 157.5
+ "x": 285.0,
+ "y": 110.0
},
{
- "x": 25.0,
+ "x": 285.0,
"y": 80.0
}
]
"name": "unnamedWire#39",
"path": [
{
- "x": 90.0,
- "y": 400.0
- },
- {
- "x": 90.0,
- "y": 155.0
- },
- {
- "x": 27.5,
- "y": 155.0
+ "x": 290.0,
+ "y": 120.0
},
{
- "x": 27.5,
+ "x": 290.0,
"y": 90.0
}
]
"pinName": "I1"
},
"name": "unnamedWire#4",
- "path": []
+ "path": [
+ {
+ "x": 140.0,
+ "y": 175.0
+ }
+ ]
},
{
"pin1": {
"name": "unnamedWire#40",
"path": [
{
- "x": 92.5,
- "y": 580.0
- },
- {
- "x": 92.5,
- "y": 152.5
- },
- {
- "x": 30.0,
- "y": 152.5
+ "x": 295.0,
+ "y": 195.0
},
{
- "x": 30.0,
+ "x": 295.0,
"y": 100.0
}
]
"name": "unnamedWire#41",
"path": [
{
- "x": 95.0,
- "y": 590.0
- },
- {
- "x": 95.0,
- "y": 150.0
+ "x": 300.0,
+ "y": 205.0
},
{
- "x": 32.5,
- "y": 150.0
- },
- {
- "x": 32.5,
+ "x": 300.0,
"y": 110.0
}
]
"name": "unnamedWire#42",
"path": [
{
- "x": 97.5,
- "y": 600.0
- },
- {
- "x": 97.5,
- "y": 147.5
- },
- {
- "x": 35.0,
- "y": 147.5
+ "x": 305.0,
+ "y": 215.0
},
{
- "x": 35.0,
+ "x": 305.0,
"y": 120.0
}
]
"name": "unnamedWire#43",
"path": [
{
- "x": 100.0,
- "y": 610.0
- },
- {
- "x": 100.0,
- "y": 145.0
- },
- {
- "x": 37.5,
- "y": 145.0
+ "x": 310.0,
+ "y": 225.0
},
{
- "x": 37.5,
+ "x": 310.0,
"y": 130.0
}
]
"name": "unnamedWire#45",
"path": [
{
- "x": 135.0,
+ "x": 375.0,
"y": 30.0
},
{
- "x": 135.0,
+ "x": 375.0,
"y": 60.0
}
]
"name": "unnamedWire#46",
"path": [
{
- "x": 130.0,
+ "x": 370.0,
"y": 40.0
},
{
- "x": 130.0,
+ "x": 370.0,
"y": 100.0
}
]
"name": "unnamedWire#47",
"path": [
{
- "x": 125.0,
+ "x": 365.0,
"y": 50.0
},
{
- "x": 125.0,
+ "x": 365.0,
"y": 140.0
}
]
"name": "unnamedWire#48",
"path": [
{
- "x": 120.0,
+ "x": 360.0,
"y": 60.0
},
{
- "x": 120.0,
+ "x": 360.0,
"y": 180.0
}
]
"name": "unnamedWire#49",
"path": [
{
- "x": 115.0,
+ "x": 355.0,
"y": 70.0
},
{
- "x": 115.0,
+ "x": 355.0,
"y": 220.0
}
]
"name": "unnamedWire#5",
"path": [
{
- "x": 5.0,
- "y": 220.0
- },
- {
- "x": 5.0,
- "y": 190.0
+ "x": 100.0,
+ "y": 185.0
}
]
},
{
"pin1": {
"compName": "_submodelinterface",
- "pinName": "Cn"
+ "pinName": "I4"
},
"pin2": {
"compName": "Am2901ALUInclDecode#0",
- "pinName": "Cn"
+ "pinName": "I4"
+ },
+ "name": "unnamedWire#50",
+ "path": [
+ {
+ "x": 260.0,
+ "y": 30.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2901SourceDecode#0",
+ "pinName": "RA"
+ },
+ "pin2": {
+ "compName": "sel2_4#0",
+ "pinName": "SB"
},
"name": "unnamedWire#6",
"path": [
{
- "x": 10.0,
- "y": 260.0
+ "x": 205.0,
+ "y": 175.0
},
{
- "x": 10.0,
- "y": 50.0
+ "x": 205.0,
+ "y": 100.0
}
]
},
"name": "unnamedWire#7",
"path": [
{
- "x": 15.0,
- "y": 300.0
+ "x": 10.0,
+ "y": 40.0
},
{
- "x": 15.0,
- "y": 390.0
+ "x": 10.0,
+ "y": 55.0
+ },
+ {
+ "x": 185.0,
+ "y": 55.0
+ },
+ {
+ "x": 185.0,
+ "y": 110.0
}
]
},
"path": [
{
"x": 10.0,
- "y": 340.0
+ "y": 60.0
},
{
"x": 10.0,
- "y": 400.0
+ "y": 65.0
+ },
+ {
+ "x": 180.0,
+ "y": 65.0
+ },
+ {
+ "x": 180.0,
+ "y": 120.0
}
]
},
"name": "unnamedWire#9",
"path": [
{
- "x": 5.0,
- "y": 380.0
+ "x": 10.0,
+ "y": 80.0
},
{
- "x": 5.0,
- "y": 410.0
+ "x": 10.0,
+ "y": 75.0
+ },
+ {
+ "x": 175.0,
+ "y": 75.0
+ },
+ {
+ "x": 175.0,
+ "y": 130.0
}
]
}
{
"width": 120.0,
- "height": 178.0,
+ "height": 155.0,
"interfacePins": [
{
"location": {
- "x": 0.0,
- "y": 5.0
+ "x": 55.0,
+ "y": 0.0
},
"name": "C",
"logicWidth": 1,
{
"location": {
"x": 120.0,
- "y": 108.0
+ "y": 85.0
},
"name": "C0",
"logicWidth": 1,
{
"location": {
"x": 120.0,
- "y": 60.0
+ "y": 55.0
},
"name": "CT",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 110.0
+ "y": 85.0
},
"name": "Cx",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 61.0
+ "y": 45.0
},
"name": "I",
"logicWidth": 13,
{
"location": {
"x": 120.0,
- "y": 128.0
+ "y": 125.0
},
"name": "QIO0",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 128.0
+ "y": 125.0
},
"name": "QIOn",
"logicWidth": 1,
{
"location": {
"x": 120.0,
- "y": 118.0
+ "y": 120.0
},
"name": "SIO0",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 119.0
+ "y": 120.0
},
"name": "SIOn",
"logicWidth": 1,
{
"location": {
"x": 120.0,
- "y": 17.0
+ "y": 10.0
},
"name": "YC",
"logicWidth": 1,
{
"location": {
"x": 120.0,
- "y": 21.0
+ "y": 15.0
},
"name": "YN",
"logicWidth": 1,
{
"location": {
"x": 120.0,
- "y": 25.0
+ "y": 20.0
},
"name": "YOVR",
"logicWidth": 1,
{
"location": {
"x": 120.0,
- "y": 11.0
+ "y": 5.0
},
"name": "YZ",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 30.0
+ "x": 5.0,
+ "y": 0.0
},
"name": "_CEM",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 33.0
+ "x": 45.0,
+ "y": 0.0
},
"name": "_CEmu",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 38.0
+ "x": 15.0,
+ "y": 0.0
},
"name": "_EC",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 40.0
+ "x": 20.0,
+ "y": 0.0
},
"name": "_EN",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 42.0
+ "x": 25.0,
+ "y": 0.0
},
"name": "_EOVR",
"logicWidth": 1,
},
{
"location": {
- "x": 0.0,
- "y": 36.0
+ "x": 10.0,
+ "y": 0.0
},
"name": "_EZ",
"logicWidth": 1,
},
{
"location": {
- "x": 120.0,
- "y": 51.0
+ "x": 110.0,
+ "y": 0.0
},
"name": "_OECT",
"logicWidth": 1,
},
{
"location": {
- "x": 61.0,
+ "x": 90.0,
"y": 0.0
},
"name": "_OEY",
{
"location": {
"x": 0.0,
- "y": 83.0
+ "y": 110.0
},
"name": "_SE",
"logicWidth": 1,
"innerScale": 0.2,
"submodel": {
"components": [
- {
- "id": "Am2904RegCTInstrDecode",
- "name": "Am2904RegCTInstrDecode#0",
- "pos": {
- "x": 50.0,
- "y": 240.0
- }
- },
- {
- "id": "Am2904ShiftInstrDecode",
- "name": "Am2904ShiftInstrDecode#0",
- "pos": {
- "x": 50.0,
- "y": 360.0
- }
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#0",
- "pos": {
- "x": 530.0,
- "y": 70.0
- },
- "params": 4
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#1",
- "pos": {
- "x": 565.0,
- "y": 180.0
- },
- "params": 4
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#2",
- "pos": {
- "x": 530.0,
- "y": 200.0
- },
- "params": 4
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#3",
- "pos": {
- "x": 560.0,
- "y": 150.0
- },
- "params": 1
- },
{
"id": "Am2904MSR",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 225.0,
- "y": 95.0
- }
- },
- {
- "id": "Am2904muSR",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 270.0,
- "y": 250.0
- }
- },
- {
- "id": "xor",
- "name": "DeserializedSubmodelComponent#10",
- "pos": {
- "x": 455.0,
- "y": 355.0
- }
- },
- {
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#11",
- "pos": {
- "x": 265.0,
- "y": 515.0
- }
- },
- {
- "id": "xor",
- "name": "DeserializedSubmodelComponent#12",
- "pos": {
- "x": 315.0,
- "y": 505.0
- }
- },
- {
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#13",
- "pos": {
- "x": 365.0,
- "y": 485.0
- }
- },
- {
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#14",
- "pos": {
- "x": 415.0,
- "y": 465.0
- }
- },
- {
- "id": "mux2",
- "name": "DeserializedSubmodelComponent#15",
- "pos": {
- "x": 435.0,
- "y": 575.0
- }
- },
- {
- "id": "mux2",
- "name": "DeserializedSubmodelComponent#16",
- "pos": {
- "x": 435.0,
- "y": 655.0
- }
- },
- {
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#17",
- "pos": {
- "x": 190.0,
- "y": 460.0
- }
- },
- {
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#18",
- "pos": {
- "x": 135.0,
- "y": 470.0
- }
- },
- {
- "id": "and",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 380.0,
- "y": 125.0
- }
- },
- {
- "id": "xor",
- "name": "DeserializedSubmodelComponent#21",
- "pos": {
- "x": 250.0,
- "y": 820.0
- }
- },
- {
- "id": "mux2",
- "name": "DeserializedSubmodelComponent#22",
+ "name": "Am2904MSR#0",
"pos": {
- "x": 120.0,
- "y": 720.0
- }
- },
- {
- "id": "mux3",
- "name": "DeserializedSubmodelComponent#23",
- "pos": {
- "x": 300.0,
- "y": 715.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#3",
- "pos": {
- "x": 470.0,
- "y": 160.0
+ "x": 205.0,
+ "y": 90.0
}
},
{
- "id": "not4",
- "name": "DeserializedSubmodelComponent#4",
+ "id": "Am2904RegCTInstrDecode",
+ "name": "Am2904RegCTInstrDecode#0",
"pos": {
- "x": 135.0,
- "y": 40.0
+ "x": 180.0,
+ "y": 190.0
}
},
{
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#5",
+ "id": "Am2904ShiftInstrDecode",
+ "name": "Am2904ShiftInstrDecode#0",
"pos": {
- "x": 415.0,
- "y": 210.0
+ "x": 100.0,
+ "y": 495.0
}
},
{
"id": "Am2904TestLogic",
- "name": "DeserializedSubmodelComponent#6",
- "pos": {
- "x": 225.0,
- "y": 340.0
- }
- },
- {
- "id": "mux3",
- "name": "DeserializedSubmodelComponent#7",
- "pos": {
- "x": 300.0,
- "y": 310.0
- }
- },
- {
- "id": "xor",
- "name": "DeserializedSubmodelComponent#8",
+ "name": "Am2904TestLogic#0",
"pos": {
- "x": 495.0,
- "y": 295.0
+ "x": 260.0,
+ "y": 330.0
}
},
{
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#9",
+ "id": "Am2904muSR",
+ "name": "Am2904muSR#0",
"pos": {
- "x": 450.0,
- "y": 310.0
+ "x": 350.0,
+ "y": 95.0
}
},
- {
- "id": "Merger",
- "name": "Merger#0",
- "pos": {
- "x": 25.0,
- "y": 315.0
- },
- "params": 6
- },
- {
- "id": "Merger",
- "name": "Merger#1",
- "pos": {
- "x": 25.0,
- "y": 265.0
- },
- "params": 5
- },
- {
- "id": "Merger",
- "name": "Merger#2",
- "pos": {
- "x": 15.0,
- "y": 65.0
- },
- "params": 4
- },
- {
- "id": "Merger",
- "name": "Merger#3",
- "pos": {
- "x": 510.0,
- "y": 165.0
- },
- "params": 4
- },
- {
- "id": "Merger",
- "name": "Merger#4",
- "pos": {
- "x": 25.0,
- "y": 245.0
- },
- "params": 2
- },
{
"id": "NandGate",
"name": "NandGate#0",
"pos": {
- "x": 190.0,
- "y": 145.0
+ "x": 230.0,
+ "y": 10.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#1",
"pos": {
- "x": 130.0,
+ "x": 140.0,
"y": 5.0
},
"params": 1
"id": "NandGate",
"name": "NandGate#10",
"pos": {
- "x": 340.0,
- "y": 120.0
+ "x": 455.0,
+ "y": 55.0
},
"params": 1
},
{
"id": "NandGate",
- "name": "NandGate#12",
+ "name": "NandGate#11",
"pos": {
- "x": 540.0,
- "y": 265.0
+ "x": 555.0,
+ "y": 235.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#2",
"pos": {
- "x": 225.0,
- "y": 195.0
+ "x": 325.0,
+ "y": 55.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#3",
"pos": {
- "x": 225.0,
- "y": 215.0
+ "x": 325.0,
+ "y": 75.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#4",
"pos": {
- "x": 225.0,
- "y": 155.0
+ "x": 325.0,
+ "y": 15.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#5",
"pos": {
- "x": 225.0,
- "y": 175.0
+ "x": 325.0,
+ "y": 35.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#6",
"pos": {
- "x": 205.0,
+ "x": 185.0,
"y": 70.0
},
"params": 1
"id": "NandGate",
"name": "NandGate#7",
"pos": {
- "x": 205.0,
+ "x": 185.0,
"y": 50.0
},
"params": 1
"id": "NandGate",
"name": "NandGate#8",
"pos": {
- "x": 205.0,
+ "x": 185.0,
"y": 30.0
},
"params": 1
"id": "NandGate",
"name": "NandGate#9",
"pos": {
- "x": 205.0,
+ "x": 185.0,
"y": 10.0
},
"params": 1
"id": "Splitter",
"name": "Splitter#0",
"pos": {
- "x": 10.0,
- "y": 245.0
+ "x": 5.0,
+ "y": 165.0
},
- "params": 13
+ "params": {
+ "logicWidth": 13,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#1",
"pos": {
- "x": 555.0,
- "y": 80.0
+ "x": 575.0,
+ "y": 40.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#10",
"pos": {
- "x": 420.0,
- "y": 410.0
+ "x": 445.0,
+ "y": 300.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#11",
"pos": {
- "x": 405.0,
- "y": 585.0
+ "x": 455.0,
+ "y": 635.0
},
- "params": 3
+ "params": {
+ "logicWidth": 3,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#12",
"pos": {
- "x": 410.0,
- "y": 665.0
+ "x": 455.0,
+ "y": 710.0
},
- "params": 3
+ "params": {
+ "logicWidth": 3,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#13",
"pos": {
- "x": 265.0,
- "y": 725.0
+ "x": 135.0,
+ "y": 645.0
},
- "params": 3
+ "params": {
+ "logicWidth": 3,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#14",
"pos": {
- "x": 90.0,
- "y": 730.0
+ "x": 310.0,
+ "y": 645.0
},
- "params": 3
+ "params": {
+ "logicWidth": 3,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#15",
"pos": {
- "x": 120.0,
- "y": 455.0
+ "x": 430.0,
+ "y": 535.0
},
- "params": 2
+ "params": {
+ "logicWidth": 2,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#2",
+ "name": "Splitter#16",
"pos": {
- "x": 395.0,
- "y": 195.0
+ "x": 20.0,
+ "y": 235.0
},
- "params": 2
+ "params": {
+ "logicWidth": 6,
+ "orientation": "LEFT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#3",
+ "name": "Splitter#17",
"pos": {
- "x": 450.0,
- "y": 175.0
+ "x": 20.0,
+ "y": 185.0
},
- "params": 4
+ "params": {
+ "logicWidth": 5,
+ "orientation": "LEFT"
+ }
},
{
"id": "Splitter",
- "name": "Splitter#4",
+ "name": "Splitter#18",
"pos": {
- "x": 395.0,
- "y": 225.0
+ "x": 15.0,
+ "y": 65.0
},
- "params": 4
- },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#19",
+ "pos": {
+ "x": 520.0,
+ "y": 90.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": 440.0,
+ "y": 90.0
+ },
+ "params": {
+ "logicWidth": 2,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#20",
+ "pos": {
+ "x": 20.0,
+ "y": 165.0
+ },
+ "params": {
+ "logicWidth": 2,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#3",
+ "pos": {
+ "x": 465.0,
+ "y": 100.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#4",
+ "pos": {
+ "x": 425.0,
+ "y": 150.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
{
"id": "Splitter",
"name": "Splitter#5",
"pos": {
- "x": 395.0,
- "y": 265.0
+ "x": 425.0,
+ "y": 190.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#6",
"pos": {
- "x": 285.0,
- "y": 320.0
+ "x": 320.0,
+ "y": 310.0
},
- "params": 3
+ "params": {
+ "logicWidth": 3,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#7",
"pos": {
- "x": 420.0,
- "y": 325.0
+ "x": 445.0,
+ "y": 340.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#8",
"pos": {
- "x": 420.0,
- "y": 365.0
+ "x": 445.0,
+ "y": 380.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#9",
"pos": {
- "x": 240.0,
- "y": 475.0
+ "x": 255.0,
+ "y": 430.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "TriStateBuffer",
"name": "TriStateBuffer#0",
"pos": {
- "x": 535.0,
- "y": 165.0
+ "x": 540.0,
+ "y": 70.0
},
"params": {
"logicWidth": 4,
"id": "TriStateBuffer",
"name": "TriStateBuffer#1",
"pos": {
- "x": 10.0,
- "y": 650.0
+ "x": 400.0,
+ "y": 635.0
},
"params": {
"logicWidth": 1,
"id": "TriStateBuffer",
"name": "TriStateBuffer#2",
"pos": {
- "x": 10.0,
- "y": 605.0
+ "x": 240.0,
+ "y": 635.0
},
"params": {
"logicWidth": 1,
"id": "TriStateBuffer",
"name": "TriStateBuffer#3",
"pos": {
- "x": 560.0,
- "y": 595.0
+ "x": 550.0,
+ "y": 625.0
},
"params": {
"logicWidth": 1,
"id": "TriStateBuffer",
"name": "TriStateBuffer#4",
"pos": {
- "x": 565.0,
- "y": 655.0
+ "x": 550.0,
+ "y": 650.0
},
"params": {
"logicWidth": 1,
"id": "TriStateBuffer",
"name": "TriStateBuffer#5",
"pos": {
- "x": 560.0,
- "y": 290.0
+ "x": 575.0,
+ "y": 265.0
},
"params": {
"logicWidth": 1,
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 165.0,
- "y": 150.0
+ "x": 274.0,
+ "y": 59.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 180.0,
- "y": 135.0
+ "x": 189.0,
+ "y": 139.0
},
"params": 4
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
- "x": 195.0,
- "y": 55.0
+ "x": 179.0,
+ "y": 54.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#11",
"pos": {
- "x": 195.0,
- "y": 15.0
+ "x": 179.0,
+ "y": 14.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#12",
"pos": {
- "x": 195.0,
- "y": 35.0
+ "x": 179.0,
+ "y": 34.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#13",
"pos": {
- "x": 330.0,
- "y": 125.0
+ "x": 449.0,
+ "y": 59.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#14",
"pos": {
- "x": 520.0,
- "y": 190.0
+ "x": 534.0,
+ "y": 104.0
},
"params": 4
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#15",
"pos": {
- "x": 255.0,
- "y": 265.0
+ "x": 334.0,
+ "y": 174.0
},
"params": 4
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#16",
"pos": {
- "x": 255.0,
- "y": 255.0
+ "x": 384.0,
+ "y": 164.0
},
"params": 4
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#17",
"pos": {
- "x": 360.0,
- "y": 495.0
+ "x": 349.0,
+ "y": 439.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#18",
"pos": {
- "x": 35.0,
- "y": 640.0
+ "x": 434.0,
+ "y": 674.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#19",
"pos": {
- "x": 35.0,
- "y": 595.0
+ "x": 264.0,
+ "y": 619.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 295.0,
- "y": 120.0
+ "x": 329.0,
+ "y": 124.0
},
"params": 4
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#20",
"pos": {
- "x": 585.0,
- "y": 590.0
+ "x": 289.0,
+ "y": 609.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#21",
"pos": {
- "x": 585.0,
- "y": 640.0
+ "x": 294.0,
+ "y": 614.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#22",
"pos": {
- "x": 250.0,
- "y": 540.0
+ "x": 359.0,
+ "y": 514.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#23",
"pos": {
- "x": 330.0,
- "y": 640.0
+ "x": 359.0,
+ "y": 594.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#24",
"pos": {
- "x": 285.0,
- "y": 745.0
+ "x": 149.0,
+ "y": 664.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#25",
"pos": {
- "x": 285.0,
- "y": 755.0
+ "x": 149.0,
+ "y": 674.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#26",
"pos": {
- "x": 290.0,
- "y": 805.0
+ "x": 299.0,
+ "y": 584.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#27",
"pos": {
- "x": 440.0,
- "y": 385.0
+ "x": 464.0,
+ "y": 399.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#28",
"pos": {
- "x": 440.0,
- "y": 345.0
+ "x": 459.0,
+ "y": 349.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#29",
+ "pos": {
+ "x": 559.0,
+ "y": 619.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
- "x": 335.0,
- "y": 270.0
+ "x": 404.0,
+ "y": 114.0
},
"params": 4
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#30",
"pos": {
- "x": 550.0,
- "y": 570.0
+ "x": 249.0,
+ "y": 629.0
},
"params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#32",
+ "name": "WireCrossPoint#31",
"pos": {
- "x": 85.0,
- "y": 590.0
+ "x": 549.0,
+ "y": 239.0
},
"params": 1
},
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#32",
+ "pos": {
+ "x": 404.0,
+ "y": 169.0
+ },
+ "params": 4
+ },
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#33",
"pos": {
- "x": 530.0,
- "y": 270.0
+ "x": 389.0,
+ "y": 204.0
+ },
+ "params": 4
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#34",
+ "pos": {
+ "x": 439.0,
+ "y": 684.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#35",
+ "pos": {
+ "x": 429.0,
+ "y": 664.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#36",
+ "pos": {
+ "x": 429.0,
+ "y": 619.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#37",
+ "pos": {
+ "x": 434.0,
+ "y": 644.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#38",
+ "pos": {
+ "x": 579.0,
+ "y": 609.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#39",
+ "pos": {
+ "x": 429.0,
+ "y": 609.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
- "x": 150.0,
- "y": 160.0
+ "x": 224.0,
+ "y": 14.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#40",
+ "pos": {
+ "x": 584.0,
+ "y": 624.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#41",
+ "pos": {
+ "x": 434.0,
+ "y": 614.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
- "x": 530.0,
- "y": 100.0
+ "x": 569.0,
+ "y": 54.0
},
"params": 4
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
- "x": 120.0,
- "y": 15.0
+ "x": 134.0,
+ "y": 19.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
- "x": 215.0,
- "y": 180.0
+ "x": 319.0,
+ "y": 39.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
- "x": 215.0,
- "y": 160.0
+ "x": 319.0,
+ "y": 19.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
- "x": 215.0,
- "y": 200.0
+ "x": 319.0,
+ "y": 59.0
},
"params": 1
+ },
+ {
+ "id": "and",
+ "name": "and#0",
+ "pos": {
+ "x": 495.0,
+ "y": 60.0
+ }
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#0",
+ "pos": {
+ "x": 495.0,
+ "y": 280.0
+ }
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#1",
+ "pos": {
+ "x": 275.0,
+ "y": 475.0
+ }
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#2",
+ "pos": {
+ "x": 355.0,
+ "y": 445.0
+ }
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#3",
+ "pos": {
+ "x": 395.0,
+ "y": 425.0
+ }
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#4",
+ "pos": {
+ "x": 490.0,
+ "y": 530.0
+ }
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#5",
+ "pos": {
+ "x": 445.0,
+ "y": 540.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#0",
+ "pos": {
+ "x": 480.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#1",
+ "pos": {
+ "x": 440.0,
+ "y": 135.0
+ }
+ },
+ {
+ "id": "mux2",
+ "name": "mux2#0",
+ "pos": {
+ "x": 470.0,
+ "y": 625.0
+ }
+ },
+ {
+ "id": "mux2",
+ "name": "mux2#1",
+ "pos": {
+ "x": 470.0,
+ "y": 700.0
+ }
+ },
+ {
+ "id": "mux2",
+ "name": "mux2#2",
+ "pos": {
+ "x": 325.0,
+ "y": 635.0
+ }
+ },
+ {
+ "id": "mux3",
+ "name": "mux3#0",
+ "pos": {
+ "x": 335.0,
+ "y": 300.0
+ }
+ },
+ {
+ "id": "mux3",
+ "name": "mux3#1",
+ "pos": {
+ "x": 155.0,
+ "y": 635.0
+ }
+ },
+ {
+ "id": "not4",
+ "name": "not4#0",
+ "pos": {
+ "x": 130.0,
+ "y": 40.0
+ }
+ },
+ {
+ "id": "xor",
+ "name": "xor#0",
+ "pos": {
+ "x": 535.0,
+ "y": 270.0
+ }
+ },
+ {
+ "id": "xor",
+ "name": "xor#1",
+ "pos": {
+ "x": 475.0,
+ "y": 320.0
+ }
+ },
+ {
+ "id": "xor",
+ "name": "xor#2",
+ "pos": {
+ "x": 315.0,
+ "y": 465.0
+ }
+ },
+ {
+ "id": "xor",
+ "name": "xor#3",
+ "pos": {
+ "x": 115.0,
+ "y": 740.0
+ }
}
],
"wires": [
"pinName": ""
},
"name": "unnamedWire#0",
- "path": [
- {
- "x": 5.0,
- "y": 25.0
- },
- {
- "x": 5.0,
- "y": 10.0
- }
- ]
+ "path": []
},
{
"pin1": {
"pinName": "muSR_MUX"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "MUX"
},
"name": "unnamedWire#1",
- "path": []
+ "path": [
+ {
+ "x": 325.0,
+ "y": 200.0
+ },
+ {
+ "x": 325.0,
+ "y": 115.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O6"
},
"pin2": {
- "compName": "Merger#1",
- "pinName": "I0"
+ "compName": "Splitter#17",
+ "pinName": "O0"
},
"name": "unnamedWire#10",
"path": []
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I0_4"
},
"name": "unnamedWire#100",
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I0_1"
},
"name": "unnamedWire#102",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I0_2"
},
"pin2": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I0_3"
},
"name": "unnamedWire#104",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I0_4"
},
"pin2": {
},
{
"pin1": {
- "compName": "Splitter#4",
- "pinName": "I"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
"compName": "WireCrossPoint#2",
"pinName": ""
},
"name": "unnamedWire#106",
- "path": []
+ "path": [
+ {
+ "x": 330.0,
+ "y": 165.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I1_4"
},
"name": "unnamedWire#107",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I1_3"
},
"pin2": {
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I1_2"
},
"name": "unnamedWire#109",
},
{
"pin1": {
- "compName": "Merger#1",
- "pinName": "I1"
+ "compName": "Splitter#17",
+ "pinName": "O1"
},
"pin2": {
"compName": "Splitter#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "I1_1"
},
"pin2": {
},
{
"pin1": {
- "compName": "Splitter#5",
+ "compName": "Splitter#7",
"pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"name": "unnamedWire#111",
- "path": []
+ "path": [
+ {
+ "x": 435.0,
+ "y": 355.0
+ },
+ {
+ "x": 435.0,
+ "y": 245.0
+ },
+ {
+ "x": 390.0,
+ "y": 245.0
+ }
+ ]
},
{
"pin1": {
"pinName": "IN"
},
"name": "unnamedWire#112",
- "path": []
+ "path": [
+ {
+ "x": 535.0,
+ "y": 80.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "I"
},
"name": "unnamedWire#113",
- "path": []
+ "path": [
+ {
+ "x": 535.0,
+ "y": 260.0
+ },
+ {
+ "x": 385.0,
+ "y": 260.0
+ },
+ {
+ "x": 385.0,
+ "y": 290.0
+ },
+ {
+ "x": 255.0,
+ "y": 290.0
+ },
+ {
+ "x": 255.0,
+ "y": 380.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y111"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I111"
},
"name": "unnamedWire#114",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I110"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y110"
},
"name": "unnamedWire#115",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y101"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I101"
},
"name": "unnamedWire#116",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I100"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y100"
},
"name": "unnamedWire#117",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y011"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I011"
},
"name": "unnamedWire#118",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y010"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I010"
},
"name": "unnamedWire#119",
"pinName": "O8"
},
"pin2": {
- "compName": "Merger#1",
- "pinName": "I2"
+ "compName": "Splitter#17",
+ "pinName": "O2"
},
"name": "unnamedWire#12",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I001"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y001"
},
"name": "unnamedWire#120",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "Am2904TestLogic#0",
"pinName": "Y000"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "I000"
},
"name": "unnamedWire#121",
},
{
"pin1": {
- "compName": "NandGate#12",
+ "compName": "NandGate#11",
"pinName": "Y"
},
"pin2": {
"pinName": "EN"
},
"name": "unnamedWire#122",
- "path": []
+ "path": [
+ {
+ "x": 585.0,
+ "y": 245.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "mux1#0",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "xor#0",
"pinName": "B"
},
"name": "unnamedWire#123",
"pinName": "CT_MUX"
},
"name": "unnamedWire#124",
- "path": []
+ "path": [
+ {
+ "x": 210.0,
+ "y": 320.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "S0"
},
"name": "unnamedWire#125",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "S1"
},
"pin2": {
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "S2"
},
"name": "unnamedWire#127",
"pinName": "CT_EXP"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "mux1#0",
"pinName": "S0"
},
"name": "unnamedWire#128",
- "path": []
+ "path": [
+ {
+ "x": 230.0,
+ "y": 285.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux3#0",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "mux1#0",
"pinName": "I0"
},
"name": "unnamedWire#129",
- "path": []
+ "path": [
+ {
+ "x": 420.0,
+ "y": 310.0
+ },
+ {
+ "x": 420.0,
+ "y": 295.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#1",
- "pinName": "I3"
+ "compName": "Splitter#17",
+ "pinName": "O3"
},
"pin2": {
"compName": "Splitter#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "xor#0",
"pinName": "A"
},
"pin2": {
"pinName": "CT_INV"
},
"name": "unnamedWire#130",
- "path": []
+ "path": [
+ {
+ "x": 415.0,
+ "y": 275.0
+ },
+ {
+ "x": 415.0,
+ "y": 280.0
+ },
+ {
+ "x": 220.0,
+ "y": 280.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "xor#1",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "mux1#0",
"pinName": "I1"
},
"name": "unnamedWire#131",
- "path": []
+ "path": [
+ {
+ "x": 515.0,
+ "y": 325.0
+ },
+ {
+ "x": 515.0,
+ "y": 315.0
+ },
+ {
+ "x": 490.0,
+ "y": 315.0
+ },
+ {
+ "x": 490.0,
+ "y": 305.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "I"
},
"name": "unnamedWire#132",
- "path": []
+ "path": [
+ {
+ "x": 335.0,
+ "y": 135.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"pin2": {
- "compName": "Splitter#7",
- "pinName": "I"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"name": "unnamedWire#133",
- "path": []
+ "path": [
+ {
+ "x": 390.0,
+ "y": 175.0
+ }
+ ]
},
{
"pin1": {
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "M"
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
},
"name": "unnamedWire#136",
"path": []
"pinName": "I"
},
"name": "unnamedWire#137",
- "path": []
+ "path": [
+ {
+ "x": 385.0,
+ "y": 250.0
+ },
+ {
+ "x": 430.0,
+ "y": 250.0
+ },
+ {
+ "x": 430.0,
+ "y": 395.0
+ }
+ ]
},
{
"pin1": {
"pinName": "OEN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "and#0",
"pinName": "B"
},
"name": "unnamedWire#138",
- "path": []
+ "path": [
+ {
+ "x": 240.0,
+ "y": 185.0
+ },
+ {
+ "x": 410.0,
+ "y": 185.0
+ },
+ {
+ "x": 410.0,
+ "y": 80.0
+ },
+ {
+ "x": 485.0,
+ "y": 80.0
+ },
+ {
+ "x": 485.0,
+ "y": 75.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O11"
},
"pin2": {
- "compName": "Merger#4",
- "pinName": "I0"
+ "compName": "Splitter#20",
+ "pinName": "O0"
},
"name": "unnamedWire#139",
"path": []
"pinName": "O10"
},
"pin2": {
- "compName": "Merger#1",
- "pinName": "I4"
+ "compName": "Splitter#17",
+ "pinName": "O4"
},
"name": "unnamedWire#14",
"path": []
},
{
"pin1": {
- "compName": "Merger#4",
- "pinName": "I1"
+ "compName": "Splitter#20",
+ "pinName": "O1"
},
"pin2": {
"compName": "Splitter#0",
},
{
"pin1": {
- "compName": "Merger#4",
- "pinName": "O"
+ "compName": "Splitter#20",
+ "pinName": "I"
},
"pin2": {
"compName": "Am2904RegCTInstrDecode#0",
"pinName": "I12-11"
},
"name": "unnamedWire#141",
- "path": []
+ "path": [
+ {
+ "x": 105.0,
+ "y": 170.0
+ },
+ {
+ "x": 105.0,
+ "y": 220.0
+ }
+ ]
},
{
"pin1": {
"pinName": "I"
},
"name": "unnamedWire#142",
- "path": []
+ "path": [
+ {
+ "x": 250.0,
+ "y": 445.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1#1",
"pinName": "I1"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#143",
- "path": []
+ "path": [
+ {
+ "x": 270.0,
+ "y": 500.0
+ },
+ {
+ "x": 270.0,
+ "y": 515.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Splitter#10",
- "pinName": "I"
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#3",
- "pinName": ""
+ "compName": "Am2904MSR#0",
+ "pinName": "mu"
},
"name": "unnamedWire#144",
- "path": []
+ "path": [
+ {
+ "x": 185.0,
+ "y": 170.0
+ },
+ {
+ "x": 185.0,
+ "y": 100.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1#1",
"pinName": "I0"
},
"pin2": {
"pinName": "O2"
},
"name": "unnamedWire#145",
- "path": []
+ "path": [
+ {
+ "x": 265.0,
+ "y": 490.0
+ },
+ {
+ "x": 265.0,
+ "y": 510.0
+ },
+ {
+ "x": 480.0,
+ "y": 510.0
+ },
+ {
+ "x": 480.0,
+ "y": 350.0
+ },
+ {
+ "x": 470.0,
+ "y": 350.0
+ },
+ {
+ "x": 470.0,
+ "y": 310.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1#1",
"pinName": "S0"
},
"name": "unnamedWire#146",
- "path": []
+ "path": [
+ {
+ "x": 270.0,
+ "y": 450.0
+ },
+ {
+ "x": 270.0,
+ "y": 480.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "mux1#1",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "xor#2",
"pinName": "B"
},
"name": "unnamedWire#147",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "xor#2",
"pinName": "A"
},
"pin2": {
"pinName": "O0"
},
"name": "unnamedWire#148",
- "path": []
+ "path": [
+ {
+ "x": 290.0,
+ "y": 470.0
+ },
+ {
+ "x": 290.0,
+ "y": 460.0
+ }
+ ]
},
{
"pin1": {
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "O"
+ "compName": "Splitter#16",
+ "pinName": "I"
},
"pin2": {
"compName": "Am2904RegCTInstrDecode#0",
"pinName": "I5-0"
},
"name": "unnamedWire#15",
- "path": []
+ "path": [
+ {
+ "x": 105.0,
+ "y": 260.0
+ },
+ {
+ "x": 105.0,
+ "y": 240.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "mux1#2",
"pinName": "S0"
},
"name": "unnamedWire#150",
- "path": []
+ "path": [
+ {
+ "x": 350.0,
+ "y": 450.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "xor#2",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "mux1#2",
"pinName": "I1"
},
"name": "unnamedWire#151",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "mux1#2",
"pinName": "I0"
},
"pin2": {
"pinName": "Cx"
},
"name": "unnamedWire#152",
- "path": []
+ "path": [
+ {
+ "x": 300.0,
+ "y": 460.0
+ },
+ {
+ "x": 300.0,
+ "y": 465.0
+ },
+ {
+ "x": 240.0,
+ "y": 465.0
+ },
+ {
+ "x": 240.0,
+ "y": 425.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "mux1#2",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "mux1#3",
"pinName": "I1"
},
"name": "unnamedWire#153",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "mux1#3",
"pinName": "I0"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "mux1#3",
"pinName": "S0"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "mux1#3",
"pinName": "Y"
},
"pin2": {
"pinName": "C0"
},
"name": "unnamedWire#156",
- "path": []
+ "path": [
+ {
+ "x": 560.0,
+ "y": 430.0
+ },
+ {
+ "x": 560.0,
+ "y": 425.0
+ }
+ ]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "QIOn"
+ "compName": "mux1#4",
+ "pinName": "I1"
},
"pin2": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#36",
"pinName": ""
},
"name": "unnamedWire#157",
- "path": []
+ "path": [
+ {
+ "x": 485.0,
+ "y": 555.0
+ },
+ {
+ "x": 485.0,
+ "y": 620.0
+ }
+ ]
},
{
"pin1": {
"pinName": "SIOn"
},
"name": "unnamedWire#158",
- "path": []
+ "path": [
+ {
+ "x": 55.0,
+ "y": 620.0
+ },
+ {
+ "x": 55.0,
+ "y": 600.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#38",
"pinName": ""
},
"pin2": {
"pinName": "SIO0"
},
"name": "unnamedWire#159",
- "path": []
+ "path": [
+ {
+ "x": 580.0,
+ "y": 600.0
+ }
+ ]
},
{
"pin1": {
"pinName": "I"
},
"pin2": {
- "compName": "Merger#1",
- "pinName": "O"
+ "compName": "Splitter#17",
+ "pinName": "I"
},
"name": "unnamedWire#16",
"path": [
{
- "x": 40.0,
- "y": 385.0
+ "x": 75.0,
+ "y": 520.0
},
{
- "x": 40.0,
- "y": 285.0
+ "x": 75.0,
+ "y": 205.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "QIO0"
+ "compName": "mux1#5",
+ "pinName": "I1"
},
"pin2": {
- "compName": "WireCrossPoint#21",
+ "compName": "WireCrossPoint#41",
"pinName": ""
},
"name": "unnamedWire#160",
- "path": []
+ "path": [
+ {
+ "x": 435.0,
+ "y": 565.0
+ }
+ ]
},
{
"pin1": {
- "compName": "TriStateBuffer#1",
- "pinName": "OUT"
+ "compName": "WireCrossPoint#37",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#18",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "QIOn"
},
"name": "unnamedWire#161",
- "path": []
+ "path": [
+ {
+ "x": 435.0,
+ "y": 625.0
+ }
+ ]
},
{
"pin1": {
- "compName": "TriStateBuffer#2",
+ "compName": "TriStateBuffer#3",
"pinName": "OUT"
},
"pin2": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#38",
"pinName": ""
},
"name": "unnamedWire#162",
- "path": []
+ "path": [
+ {
+ "x": 580.0,
+ "y": 635.0
+ }
+ ]
},
{
"pin1": {
- "compName": "TriStateBuffer#3",
- "pinName": "OUT"
+ "compName": "WireCrossPoint#38",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#39",
"pinName": ""
},
"name": "unnamedWire#163",
},
{
"pin1": {
- "compName": "TriStateBuffer#4",
- "pinName": "OUT"
+ "compName": "WireCrossPoint#41",
+ "pinName": ""
},
"pin2": {
"compName": "WireCrossPoint#21",
"pinName": "IN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "mux2#0",
"pinName": "Y"
},
"name": "unnamedWire#165",
"pinName": "I"
},
"name": "unnamedWire#166",
- "path": []
+ "path": [
+ {
+ "x": 165.0,
+ "y": 500.0
+ },
+ {
+ "x": 165.0,
+ "y": 575.0
+ },
+ {
+ "x": 450.0,
+ "y": 575.0
+ },
+ {
+ "x": 450.0,
+ "y": 645.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "mux2#0",
"pinName": "I00"
},
"name": "unnamedWire#167",
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "mux2#0",
"pinName": "S1"
},
"name": "unnamedWire#168",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "mux2#0",
"pinName": "S0"
},
"pin2": {
"pinName": "IOVR"
},
"pin2": {
- "compName": "Merger#2",
- "pinName": "I0"
+ "compName": "Splitter#18",
+ "pinName": "O0"
},
"name": "unnamedWire#17",
- "path": []
+ "path": [
+ {
+ "x": 10.0,
+ "y": 125.0
+ },
+ {
+ "x": 10.0,
+ "y": 95.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I01"
+ "compName": "WireCrossPoint#36",
+ "pinName": ""
},
"name": "unnamedWire#170",
"path": []
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "mux2#0",
"pinName": "I10"
},
"name": "unnamedWire#171",
"pinName": ""
},
"name": "unnamedWire#172",
- "path": []
+ "path": [
+ {
+ "x": 485.0,
+ "y": 390.0
+ },
+ {
+ "x": 485.0,
+ "y": 515.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux2#1",
"pinName": "S0"
},
"name": "unnamedWire#174",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux2#1",
"pinName": "S1"
},
"pin2": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux2#1",
"pinName": "I00"
},
"name": "unnamedWire#176",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux2#1",
"pinName": "Y"
},
"pin2": {
"pinName": "IN"
},
"name": "unnamedWire#177",
- "path": []
+ "path": [
+ {
+ "x": 545.0,
+ "y": 710.0
+ },
+ {
+ "x": 545.0,
+ "y": 660.0
+ }
+ ]
},
{
"pin1": {
"pinName": "QIO0_MUX"
},
"name": "unnamedWire#178",
- "path": []
+ "path": [
+ {
+ "x": 445.0,
+ "y": 720.0
+ },
+ {
+ "x": 445.0,
+ "y": 580.0
+ },
+ {
+ "x": 175.0,
+ "y": 580.0
+ },
+ {
+ "x": 175.0,
+ "y": 520.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#36",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I01"
+ "compName": "WireCrossPoint#35",
+ "pinName": ""
},
"name": "unnamedWire#179",
"path": []
"pinName": "IN"
},
"pin2": {
- "compName": "Merger#2",
- "pinName": "I1"
+ "compName": "Splitter#18",
+ "pinName": "O1"
},
"name": "unnamedWire#18",
- "path": []
+ "path": [
+ {
+ "x": 5.0,
+ "y": 100.0
+ },
+ {
+ "x": 5.0,
+ "y": 85.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux2#1",
"pinName": "I10"
},
"name": "unnamedWire#180",
- "path": []
+ "path": [
+ {
+ "x": 435.0,
+ "y": 750.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#35",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I11"
+ "compName": "mux2#0",
+ "pinName": "I01"
},
"name": "unnamedWire#181",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I11"
+ "compName": "WireCrossPoint#34",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#23",
- "pinName": ""
+ "compName": "mux2#1",
+ "pinName": "I11"
},
"name": "unnamedWire#182",
- "path": []
+ "path": [
+ {
+ "x": 440.0,
+ "y": 760.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "S0"
},
"name": "unnamedWire#184",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I000"
},
"name": "unnamedWire#186",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I001"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#187",
- "path": []
+ "path": [
+ {
+ "x": 150.0,
+ "y": 685.0
+ }
+ ]
},
{
"pin1": {
"pinName": "SIOn_MUX"
},
"name": "unnamedWire#188",
- "path": []
+ "path": [
+ {
+ "x": 130.0,
+ "y": 655.0
+ },
+ {
+ "x": 130.0,
+ "y": 580.0
+ },
+ {
+ "x": 170.0,
+ "y": 580.0
+ },
+ {
+ "x": 170.0,
+ "y": 510.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "S2"
},
"name": "unnamedWire#189",
},
{
"pin1": {
- "compName": "Merger#2",
- "pinName": "I2"
+ "compName": "Splitter#18",
+ "pinName": "O2"
},
"pin2": {
"compName": "_submodelinterface",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "S1"
},
"name": "unnamedWire#190",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I010"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#191",
- "path": []
+ "path": [
+ {
+ "x": 105.0,
+ "y": 695.0
+ },
+ {
+ "x": 105.0,
+ "y": 610.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I011"
},
"name": "unnamedWire#192",
- "path": []
+ "path": [
+ {
+ "x": 110.0,
+ "y": 615.0
+ },
+ {
+ "x": 110.0,
+ "y": 705.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I100"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#193",
- "path": []
+ "path": [
+ {
+ "x": 115.0,
+ "y": 715.0
+ },
+ {
+ "x": 115.0,
+ "y": 595.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#21",
+ "compName": "xor#3",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I111"
},
"name": "unnamedWire#194",
"pinName": ""
},
"name": "unnamedWire#195",
- "path": []
+ "path": [
+ {
+ "x": 465.0,
+ "y": 495.0
+ },
+ {
+ "x": 345.0,
+ "y": 495.0
+ },
+ {
+ "x": 345.0,
+ "y": 585.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I110"
},
"pin2": {
"pinName": "O1"
},
"name": "unnamedWire#196",
- "path": []
+ "path": [
+ {
+ "x": 125.0,
+ "y": 735.0
+ },
+ {
+ "x": 125.0,
+ "y": 605.0
+ },
+ {
+ "x": 350.0,
+ "y": 605.0
+ },
+ {
+ "x": 350.0,
+ "y": 500.0
+ },
+ {
+ "x": 470.0,
+ "y": 500.0
+ },
+ {
+ "x": 470.0,
+ "y": 360.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#22",
+ "compName": "mux2#2",
"pinName": "I01"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#197",
- "path": []
+ "path": [
+ {
+ "x": 290.0,
+ "y": 675.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#22",
+ "compName": "mux2#2",
"pinName": "I10"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#198",
- "path": []
+ "path": [
+ {
+ "x": 295.0,
+ "y": 685.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "I101"
},
"name": "unnamedWire#199",
- "path": []
+ "path": [
+ {
+ "x": 120.0,
+ "y": 585.0
+ },
+ {
+ "x": 120.0,
+ "y": 725.0
+ }
+ ]
},
{
"pin1": {
"pinName": "muSR_OVRRET"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "OVRRET"
},
"name": "unnamedWire#2",
- "path": []
+ "path": [
+ {
+ "x": 345.0,
+ "y": 210.0
+ },
+ {
+ "x": 345.0,
+ "y": 155.0
+ }
+ ]
},
{
"pin1": {
"pinName": "IZ"
},
"pin2": {
- "compName": "Merger#2",
- "pinName": "I3"
+ "compName": "Splitter#18",
+ "pinName": "O3"
},
"name": "unnamedWire#20",
- "path": []
+ "path": [
+ {
+ "x": 5.0,
+ "y": 50.0
+ },
+ {
+ "x": 5.0,
+ "y": 65.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "xor#1",
"pinName": "B"
},
"name": "unnamedWire#200",
- "path": []
+ "path": [
+ {
+ "x": 465.0,
+ "y": 335.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
+ "compName": "mux2#2",
"pinName": "I11"
},
"name": "unnamedWire#201",
- "path": []
+ "path": [
+ {
+ "x": 300.0,
+ "y": 695.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"pin2": {
"pinName": "OEn"
},
"name": "unnamedWire#202",
- "path": []
+ "path": [
+ {
+ "x": 250.0,
+ "y": 540.0
+ }
+ ]
},
{
"pin1": {
"pinName": "OE0"
},
"pin2": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#29",
"pinName": ""
},
"name": "unnamedWire#203",
- "path": []
+ "path": [
+ {
+ "x": 390.0,
+ "y": 550.0
+ },
+ {
+ "x": 390.0,
+ "y": 585.0
+ },
+ {
+ "x": 560.0,
+ "y": 585.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "xor#1",
"pinName": "A"
},
"name": "unnamedWire#204",
- "path": []
+ "path": [
+ {
+ "x": 460.0,
+ "y": 325.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#21",
+ "compName": "xor#3",
"pinName": "A"
},
"name": "unnamedWire#205",
- "path": []
+ "path": [
+ {
+ "x": 460.0,
+ "y": 490.0
+ },
+ {
+ "x": 340.0,
+ "y": 490.0
+ },
+ {
+ "x": 340.0,
+ "y": 600.0
+ },
+ {
+ "x": 100.0,
+ "y": 600.0
+ },
+ {
+ "x": 100.0,
+ "y": 745.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#21",
+ "compName": "xor#3",
"pinName": "B"
},
"pin2": {
"pinName": "O0"
},
"name": "unnamedWire#206",
- "path": []
+ "path": [
+ {
+ "x": 95.0,
+ "y": 755.0
+ },
+ {
+ "x": 95.0,
+ "y": 590.0
+ },
+ {
+ "x": 355.0,
+ "y": 590.0
+ },
+ {
+ "x": 355.0,
+ "y": 505.0
+ },
+ {
+ "x": 475.0,
+ "y": 505.0
+ },
+ {
+ "x": 475.0,
+ "y": 370.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#22",
+ "compName": "mux2#2",
"pinName": "Y"
},
"pin2": {
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
+ "compName": "mux2#2",
"pinName": "S1"
},
"name": "unnamedWire#208",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
+ "compName": "mux2#2",
"pinName": "S0"
},
"name": "unnamedWire#209",
"pinName": "muSR_CINV"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "CINV"
},
"name": "unnamedWire#21",
- "path": []
+ "path": [
+ {
+ "x": 340.0,
+ "y": 220.0
+ },
+ {
+ "x": 340.0,
+ "y": 145.0
+ }
+ ]
},
{
"pin1": {
"pinName": "QIOn_MUX"
},
"name": "unnamedWire#210",
- "path": []
+ "path": [
+ {
+ "x": 305.0,
+ "y": 655.0
+ },
+ {
+ "x": 305.0,
+ "y": 530.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
+ "compName": "mux2#2",
"pinName": "I00"
},
"name": "unnamedWire#211",
"pinName": "IN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
+ "compName": "mux3#1",
"pinName": "Y"
},
"name": "unnamedWire#212",
"pinName": "EN"
},
"pin2": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#29",
"pinName": ""
},
"name": "unnamedWire#214",
},
{
"pin1": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#29",
"pinName": ""
},
"pin2": {
"pinName": "EN"
},
"name": "unnamedWire#215",
+ "path": [
+ {
+ "x": 575.0,
+ "y": 620.0
+ },
+ {
+ "x": 575.0,
+ "y": 645.0
+ },
+ {
+ "x": 560.0,
+ "y": 645.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904muSR#0",
+ "pinName": "M"
+ },
+ "name": "unnamedWire#216",
"path": []
},
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#10",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#217",
+ "path": [
+ {
+ "x": 405.0,
+ "y": 240.0
+ },
+ {
+ "x": 440.0,
+ "y": 240.0
+ },
+ {
+ "x": 440.0,
+ "y": 315.0
+ }
+ ]
+ },
{
"pin1": {
"compName": "TriStateBuffer#2",
"pinName": "EN"
},
"pin2": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"name": "unnamedWire#218",
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"pin2": {
"pinName": "EN"
},
"name": "unnamedWire#219",
- "path": []
+ "path": [
+ {
+ "x": 410.0,
+ "y": 630.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#2",
- "pinName": "O"
+ "compName": "Splitter#18",
+ "pinName": "I"
},
"pin2": {
"compName": "WireCrossPoint#1",
"pinName": ""
},
"name": "unnamedWire#22",
- "path": []
+ "path": [
+ {
+ "x": 105.0,
+ "y": 80.0
+ },
+ {
+ "x": 105.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#34",
+ "pinName": ""
+ },
+ "name": "unnamedWire#220",
+ "path": [
+ {
+ "x": 440.0,
+ "y": 595.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#18",
+ "compName": "mux1#5",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "mux1#4",
"pinName": "I0"
},
"name": "unnamedWire#221",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "mux1#4",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "COVD_V"
},
"name": "unnamedWire#222",
- "path": []
+ "path": [
+ {
+ "x": 530.0,
+ "y": 535.0
+ },
+ {
+ "x": 530.0,
+ "y": 525.0
+ },
+ {
+ "x": 230.0,
+ "y": 525.0
+ },
+ {
+ "x": 230.0,
+ "y": 310.0
+ },
+ {
+ "x": 295.0,
+ "y": 310.0
+ },
+ {
+ "x": 295.0,
+ "y": 85.0
+ },
+ {
+ "x": 275.0,
+ "y": 85.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
- "pinName": "I1"
- },
- "pin2": {
"compName": "WireCrossPoint#19",
"pinName": ""
},
+ "pin2": {
+ "compName": "TriStateBuffer#2",
+ "pinName": "OUT"
+ },
"name": "unnamedWire#223",
- "path": []
+ "path": [
+ {
+ "x": 265.0,
+ "y": 645.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "I0"
+ "compName": "TriStateBuffer#4",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#40",
"pinName": ""
},
"name": "unnamedWire#224",
- "path": []
- },
- {
- "pin1": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "I1"
- },
- "name": "unnamedWire#225",
- "path": []
+ "path": [
+ {
+ "x": 585.0,
+ "y": 660.0
+ }
+ ]
},
{
"pin1": {
"pinName": "I"
},
"name": "unnamedWire#226",
- "path": []
+ "path": [
+ {
+ "x": 410.0,
+ "y": 560.0
+ },
+ {
+ "x": 410.0,
+ "y": 540.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#18",
+ "compName": "mux1#5",
"pinName": "S0"
},
"name": "unnamedWire#227",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "mux1#4",
"pinName": "S0"
},
"name": "unnamedWire#228",
},
{
"pin1": {
- "compName": "BitDisplay#0",
+ "compName": "WireCrossPoint#34",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "mux2#0",
+ "pinName": "I11"
},
"name": "unnamedWire#229",
"path": []
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "I"
},
"name": "unnamedWire#23",
},
{
"pin1": {
- "compName": "TriStateBuffer#0",
- "pinName": "OUT"
+ "compName": "WireCrossPoint#35",
+ "pinName": ""
},
"pin2": {
- "compName": "BitDisplay#1",
- "pinName": ""
+ "compName": "mux2#1",
+ "pinName": "I01"
},
"name": "unnamedWire#230",
- "path": []
+ "path": [
+ {
+ "x": 430.0,
+ "y": 740.0
+ }
+ ]
},
{
"pin1": {
- "compName": "TriStateBuffer#0",
- "pinName": "IN"
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
"pin2": {
- "compName": "BitDisplay#2",
+ "compName": "WireCrossPoint#37",
"pinName": ""
},
"name": "unnamedWire#231",
},
{
"pin1": {
- "compName": "TriStateBuffer#0",
- "pinName": "EN"
+ "compName": "WireCrossPoint#37",
+ "pinName": ""
},
"pin2": {
- "compName": "BitDisplay#3",
- "pinName": ""
+ "compName": "TriStateBuffer#1",
+ "pinName": "OUT"
},
"name": "unnamedWire#232",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#33",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"pin2": {
- "compName": "NandGate#12",
+ "compName": "NandGate#11",
"pinName": "A"
},
"name": "unnamedWire#233",
},
{
"pin1": {
- "compName": "NandGate#12",
+ "compName": "NandGate#11",
"pinName": "B"
},
"pin2": {
- "compName": "WireCrossPoint#33",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"name": "unnamedWire#234",
- "path": []
+ "path": [
+ {
+ "x": 550.0,
+ "y": 250.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#33",
+ "compName": "WireCrossPoint#31",
"pinName": ""
},
"pin2": {
"pinName": "_OECT"
},
"name": "unnamedWire#235",
- "path": []
+ "path": [
+ {
+ "x": 550.0,
+ "y": 215.0
+ },
+ {
+ "x": 565.0,
+ "y": 215.0
+ },
+ {
+ "x": 565.0,
+ "y": 25.0
+ },
+ {
+ "x": 550.0,
+ "y": 25.0
+ }
+ ]
},
{
"pin1": {
"pinName": "IN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "xor#0",
"pinName": "Y"
},
"name": "unnamedWire#237",
"path": []
},
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#39",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "mux1#5",
+ "pinName": "I0"
+ },
+ "name": "unnamedWire#238",
+ "path": [
+ {
+ "x": 430.0,
+ "y": 555.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#39",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
+ },
+ "name": "unnamedWire#239",
+ "path": []
+ },
{
"pin1": {
"compName": "WireCrossPoint#15",
"pinName": ""
},
"name": "unnamedWire#24",
+ "path": [
+ {
+ "x": 190.0,
+ "y": 175.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#40",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "QIO0"
+ },
+ "name": "unnamedWire#240",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "WireCrossPoint#41",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#40",
+ "pinName": ""
+ },
+ "name": "unnamedWire#242",
+ "path": [
+ {
+ "x": 585.0,
+ "y": 615.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904MSR#0",
"pinName": "Q"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#25",
- "path": []
+ "path": [
+ {
+ "x": 300.0,
+ "y": 110.0
+ },
+ {
+ "x": 300.0,
+ "y": 125.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "Splitter#4",
+ "pinName": "I"
},
"name": "unnamedWire#26",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "Q"
},
"pin2": {
"pinName": ""
},
"name": "unnamedWire#27",
- "path": []
+ "path": [
+ {
+ "x": 405.0,
+ "y": 105.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "mu"
+ "compName": "Splitter#5",
+ "pinName": "I"
},
"name": "unnamedWire#28",
"path": []
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "C"
},
"name": "unnamedWire#29",
- "path": []
+ "path": [
+ {
+ "x": 255.0,
+ "y": 60.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "C"
},
"name": "unnamedWire#30",
- "path": []
+ "path": [
+ {
+ "x": 300.0,
+ "y": 60.0
+ },
+ {
+ "x": 300.0,
+ "y": 105.0
+ }
+ ]
},
{
"pin1": {
"pinName": "MSR_MUX"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "MUX"
},
"name": "unnamedWire#31",
- "path": []
+ "path": [
+ {
+ "x": 200.0,
+ "y": 160.0
+ }
+ ]
},
{
"pin1": {
"pinName": "MC_EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "COVD_EN"
},
"name": "unnamedWire#32",
- "path": []
+ "path": [
+ {
+ "x": 225.0,
+ "y": 570.0
+ },
+ {
+ "x": 225.0,
+ "y": 305.0
+ },
+ {
+ "x": 290.0,
+ "y": 305.0
+ },
+ {
+ "x": 290.0,
+ "y": 80.0
+ },
+ {
+ "x": 265.0,
+ "y": 80.0
+ }
+ ]
},
{
"pin1": {
"pinName": "B"
},
"name": "unnamedWire#34",
- "path": []
+ "path": [
+ {
+ "x": 225.0,
+ "y": 25.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#16",
+ "pinName": "O0"
},
"name": "unnamedWire#4",
"path": []
"pinName": ""
},
"name": "unnamedWire#42",
- "path": []
+ "path": [
+ {
+ "x": 320.0,
+ "y": 80.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "_EOVR"
},
"name": "unnamedWire#43",
- "path": []
+ "path": [
+ {
+ "x": 390.0,
+ "y": 85.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "_EN"
},
"name": "unnamedWire#44",
- "path": []
+ "path": [
+ {
+ "x": 380.0,
+ "y": 65.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "_EC"
},
"pin2": {
"pinName": "Y"
},
"name": "unnamedWire#45",
- "path": []
+ "path": [
+ {
+ "x": 370.0,
+ "y": 45.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "Am2904muSR#0",
"pinName": "_EZ"
},
"name": "unnamedWire#46",
- "path": []
+ "path": [
+ {
+ "x": 360.0,
+ "y": 25.0
+ }
+ ]
},
{
"pin1": {
"pinName": "muSR_WEZ"
},
"name": "unnamedWire#47",
- "path": []
+ "path": [
+ {
+ "x": 305.0,
+ "y": 30.0
+ },
+ {
+ "x": 305.0,
+ "y": 230.0
+ }
+ ]
},
{
"pin1": {
"pinName": "B"
},
"name": "unnamedWire#48",
- "path": []
+ "path": [
+ {
+ "x": 310.0,
+ "y": 240.0
+ },
+ {
+ "x": 310.0,
+ "y": 50.0
+ }
+ ]
},
{
"pin1": {
"pinName": "YZ"
},
"name": "unnamedWire#49",
- "path": []
+ "path": [
+ {
+ "x": 595.0,
+ "y": 40.0
+ },
+ {
+ "x": 595.0,
+ "y": 25.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#16",
+ "pinName": "O1"
},
"pin2": {
"compName": "Splitter#0",
"pinName": "YN"
},
"name": "unnamedWire#51",
- "path": []
+ "path": [
+ {
+ "x": 595.0,
+ "y": 60.0
+ },
+ {
+ "x": 595.0,
+ "y": 75.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"name": "unnamedWire#52",
- "path": []
+ "path": [
+ {
+ "x": 590.0,
+ "y": 100.0
+ },
+ {
+ "x": 590.0,
+ "y": 70.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "Y"
},
"name": "unnamedWire#54",
- "path": []
+ "path": [
+ {
+ "x": 570.0,
+ "y": 50.0
+ },
+ {
+ "x": 415.0,
+ "y": 50.0
+ },
+ {
+ "x": 415.0,
+ "y": 180.0
+ },
+ {
+ "x": 195.0,
+ "y": 180.0
+ },
+ {
+ "x": 195.0,
+ "y": 120.0
+ }
+ ]
},
{
"pin1": {
"pinName": "A"
},
"name": "unnamedWire#55",
- "path": []
+ "path": [
+ {
+ "x": 135.0,
+ "y": 10.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"name": "unnamedWire#57",
- "path": []
+ "path": [
+ {
+ "x": 25.0,
+ "y": 20.0
+ }
+ ]
},
{
"pin1": {
"pinName": "muSR_WEN"
},
"name": "unnamedWire#58",
- "path": []
+ "path": [
+ {
+ "x": 315.0,
+ "y": 70.0
+ },
+ {
+ "x": 315.0,
+ "y": 250.0
+ }
+ ]
},
{
"pin1": {
"pinName": "B"
},
"name": "unnamedWire#59",
- "path": []
+ "path": [
+ {
+ "x": 320.0,
+ "y": 260.0
+ },
+ {
+ "x": 320.0,
+ "y": 90.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O2"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#16",
+ "pinName": "O2"
},
"name": "unnamedWire#6",
"path": []
"pinName": "A"
},
"name": "unnamedWire#60",
- "path": []
+ "path": [
+ {
+ "x": 180.0,
+ "y": 75.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "_EOVR"
},
"name": "unnamedWire#66",
- "path": []
+ "path": [
+ {
+ "x": 245.0,
+ "y": 80.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "_EN"
},
"pin2": {
"pinName": "Y"
},
"name": "unnamedWire#67",
- "path": []
+ "path": [
+ {
+ "x": 235.0,
+ "y": 60.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "_EC"
},
"name": "unnamedWire#68",
- "path": []
+ "path": [
+ {
+ "x": 225.0,
+ "y": 40.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "Am2904MSR#0",
"pinName": "_EZ"
},
"name": "unnamedWire#69",
- "path": []
+ "path": [
+ {
+ "x": 215.0,
+ "y": 20.0
+ }
+ ]
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#16",
+ "pinName": "O3"
},
"pin2": {
"compName": "Splitter#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "Y1"
},
"pin2": {
"pinName": "B"
},
"name": "unnamedWire#71",
- "path": []
+ "path": [
+ {
+ "x": 170.0,
+ "y": 45.0
+ },
+ {
+ "x": 170.0,
+ "y": 25.0
+ }
+ ]
},
{
"pin1": {
"pinName": "B"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "Y2"
},
"name": "unnamedWire#72",
- "path": []
+ "path": [
+ {
+ "x": 175.0,
+ "y": 45.0
+ },
+ {
+ "x": 175.0,
+ "y": 55.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "Y3"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "Y4"
},
"pin2": {
"pinName": "B"
},
"name": "unnamedWire#74",
- "path": []
+ "path": [
+ {
+ "x": 175.0,
+ "y": 75.0
+ },
+ {
+ "x": 175.0,
+ "y": 85.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "A1"
},
"pin2": {
"pinName": "_EZ"
},
"name": "unnamedWire#75",
- "path": []
+ "path": [
+ {
+ "x": 50.0,
+ "y": 45.0
+ }
+ ]
},
{
"pin1": {
"pinName": "_EC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "A2"
},
"name": "unnamedWire#76",
- "path": []
+ "path": [
+ {
+ "x": 75.0,
+ "y": 55.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "A3"
},
"pin2": {
"pinName": "_EN"
},
"name": "unnamedWire#77",
- "path": []
+ "path": [
+ {
+ "x": 100.0,
+ "y": 65.0
+ }
+ ]
},
{
"pin1": {
"pinName": "_EOVR"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "not4#0",
"pinName": "A4"
},
"name": "unnamedWire#78",
- "path": []
+ "path": [
+ {
+ "x": 125.0,
+ "y": 75.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"name": "unnamedWire#79",
- "path": []
+ "path": [
+ {
+ "x": 570.0,
+ "y": 80.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O4"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I4"
+ "compName": "Splitter#16",
+ "pinName": "O4"
},
"name": "unnamedWire#8",
"path": []
"pinName": ""
},
"name": "unnamedWire#81",
- "path": []
+ "path": [
+ {
+ "x": 450.0,
+ "y": 70.0
+ }
+ ]
},
{
"pin1": {
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "and#0",
"pinName": "A"
},
"name": "unnamedWire#83",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "and#0",
"pinName": "Y"
},
"pin2": {
"pinName": "EN"
},
"name": "unnamedWire#84",
- "path": []
+ "path": [
+ {
+ "x": 550.0,
+ "y": 65.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I1_1"
},
"name": "unnamedWire#85",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "Y2"
},
"name": "unnamedWire#86",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I1_3"
},
"name": "unnamedWire#87",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "Y4"
},
"name": "unnamedWire#88",
},
{
"pin1": {
- "compName": "Merger#3",
- "pinName": "I0"
+ "compName": "Splitter#19",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "Y4"
},
"name": "unnamedWire#89",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I5"
+ "compName": "Splitter#16",
+ "pinName": "O5"
},
"pin2": {
"compName": "Splitter#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "Y3"
},
"pin2": {
- "compName": "Merger#3",
- "pinName": "I1"
+ "compName": "Splitter#19",
+ "pinName": "O1"
},
"name": "unnamedWire#90",
"path": []
},
{
"pin1": {
- "compName": "Merger#3",
- "pinName": "I2"
+ "compName": "Splitter#19",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "Y2"
},
"name": "unnamedWire#91",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "Y1"
},
"pin2": {
- "compName": "Merger#3",
- "pinName": "I3"
+ "compName": "Splitter#19",
+ "pinName": "O3"
},
"name": "unnamedWire#92",
"path": []
},
{
"pin1": {
- "compName": "Merger#3",
- "pinName": "O"
- },
- "pin2": {
"compName": "WireCrossPoint#14",
"pinName": ""
},
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "I"
+ },
"name": "unnamedWire#93",
"path": []
},
"pinName": "I"
},
"name": "unnamedWire#94",
- "path": []
+ "path": [
+ {
+ "x": 190.0,
+ "y": 275.0
+ },
+ {
+ "x": 360.0,
+ "y": 275.0
+ },
+ {
+ "x": 360.0,
+ "y": 225.0
+ },
+ {
+ "x": 420.0,
+ "y": 225.0
+ },
+ {
+ "x": 420.0,
+ "y": 95.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#1",
"pinName": "S0"
},
"name": "unnamedWire#95",
- "path": []
+ "path": [
+ {
+ "x": 455.0,
+ "y": 100.0
+ },
+ {
+ "x": 455.0,
+ "y": 130.0
+ },
+ {
+ "x": 435.0,
+ "y": 130.0
+ },
+ {
+ "x": 435.0,
+ "y": 140.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "S0"
},
"name": "unnamedWire#96",
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I0_1"
},
"name": "unnamedWire#97",
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I0_2"
},
"name": "unnamedWire#98",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux1_4#0",
"pinName": "I0_3"
},
"pin2": {
"highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
- "musr": {
+ "msr": {
"id": "delegating",
"params": {
- "delegateTarget": "DeserializedSubmodelComponent#1"
+ "delegateTarget": "Am2904MSR#0"
}
},
- "msr": {
+ "musr": {
"id": "delegating",
"params": {
- "delegateTarget": "DeserializedSubmodelComponent#0"
+ "delegateTarget": "Am2904muSR#0"
}
}
},
{
- "width": 45.0,
- "height": 46.0,
+ "width": 80.0,
+ "height": 75.0,
"interfacePins": [
{
"location": {
- "x": 14.0,
- "y": 46.0
+ "x": 50.0,
+ "y": 0.0
},
"name": "C",
"logicWidth": 1,
},
{
"location": {
- "x": 27.5,
- "y": 46.0
+ "x": 60.0,
+ "y": 0.0
},
"name": "COVD_EN",
"logicWidth": 1,
},
{
"location": {
- "x": 37.5,
- "y": 46.0
+ "x": 70.0,
+ "y": 0.0
},
"name": "COVD_V",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 31.0
+ "y": 50.0
},
"name": "I",
"logicWidth": 4,
},
{
"location": {
- "x": 4.0,
- "y": 46.0
+ "x": 0.0,
+ "y": 70.0
},
"name": "MUX",
"logicWidth": 3,
},
{
"location": {
- "x": 45.0,
- "y": 19.0
+ "x": 80.0,
+ "y": 20.0
},
"name": "Q",
"logicWidth": 4,
{
"location": {
"x": 0.0,
- "y": 18.0
+ "y": 30.0
},
"name": "Y",
"logicWidth": 4,
},
{
"location": {
- "x": 15.5,
+ "x": 20.0,
"y": 0.0
},
"name": "_EC",
},
{
"location": {
- "x": 25.5,
+ "x": 30.0,
"y": 0.0
},
"name": "_EN",
},
{
"location": {
- "x": 35.5,
- "y": 0.2
+ "x": 40.0,
+ "y": 0.0
},
"name": "_EOVR",
"logicWidth": 1,
},
{
"location": {
- "x": 5.5,
+ "x": 10.0,
"y": 0.0
},
"name": "_EZ",
{
"location": {
"x": 0.0,
- "y": 5.0
+ "y": 10.0
},
"name": "mu",
"logicWidth": 4,
"usage": "INPUT"
}
],
- "innerScale": 0.1,
+ "innerScale": 0.2,
"submodel": {
"components": [
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 55.0,
- "y": 110.0
- }
- },
- {
- "id": "xor",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 35.0,
- "y": 250.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 150.0,
- "y": 280.0
- }
- },
- {
- "id": "not4",
- "name": "DeserializedSubmodelComponent#3",
- "pos": {
- "x": 100.0,
- "y": 330.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#4",
- "pos": {
- "x": 110.0,
- "y": 60.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#5",
- "pos": {
- "x": 200.0,
- "y": 230.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#6",
- "pos": {
- "x": 250.0,
- "y": 180.0
- }
- },
- {
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#7",
- "pos": {
- "x": 325.0,
- "y": 290.0
- }
- },
- {
- "id": "and",
- "name": "DeserializedSubmodelComponent#8",
- "pos": {
- "x": 380.0,
- "y": 85.0
- }
- },
- {
- "id": "Merger",
- "name": "Merger#0",
- "pos": {
- "x": 435.0,
- "y": 175.0
- },
- "params": 4
- },
{
"id": "NandGate",
"name": "NandGate#0",
"pos": {
- "x": 325.0,
- "y": 90.0
+ "x": 170.0,
+ "y": 55.0
},
"params": 1
},
"x": 5.0,
"y": 35.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#1",
"pos": {
"x": 5.0,
- "y": 165.0
+ "y": 135.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#2",
"pos": {
"x": 45.0,
- "y": 425.0
+ "y": 340.0
},
- "params": 3
+ "params": {
+ "logicWidth": 3,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#3",
"pos": {
"x": 5.0,
- "y": 295.0
+ "y": 235.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#4",
+ "pos": {
+ "x": 385.0,
+ "y": 85.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
},
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 29.0,
- "y": 284.0
+ "x": 19.0,
+ "y": 224.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 414.0,
- "y": 174.0
+ "x": 364.0,
+ "y": 84.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#10",
"pos": {
- "x": 89.0,
- "y": 84.0
+ "x": 74.0,
+ "y": 54.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#11",
"pos": {
- "x": 89.0,
- "y": 94.0
+ "x": 74.0,
+ "y": 64.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#12",
"pos": {
- "x": 19.0,
- "y": 294.0
+ "x": 34.0,
+ "y": 234.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#13",
"pos": {
- "x": 194.0,
- "y": 234.0
+ "x": 124.0,
+ "y": 174.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#14",
"pos": {
- "x": 89.0,
- "y": 104.0
+ "x": 74.0,
+ "y": 74.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#15",
"pos": {
- "x": 319.0,
- "y": 294.0
+ "x": 164.0,
+ "y": 59.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#16",
"pos": {
- "x": 319.0,
- "y": 104.0
+ "x": 269.0,
+ "y": 39.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 419.0,
- "y": 184.0
+ "x": 369.0,
+ "y": 94.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
- "x": 424.0,
- "y": 194.0
+ "x": 374.0,
+ "y": 104.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
- "x": 429.0,
- "y": 204.0
+ "x": 379.0,
+ "y": 114.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#5",
"pos": {
- "x": 84.0,
- "y": 344.0
+ "x": 29.0,
+ "y": 284.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
- "x": 94.0,
- "y": 364.0
+ "x": 39.0,
+ "y": 304.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
- "x": 29.0,
- "y": 254.0
+ "x": 19.0,
+ "y": 194.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
- "x": 74.0,
- "y": 314.0
+ "x": 79.0,
+ "y": 254.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
- "x": 49.0,
- "y": 114.0
+ "x": 39.0,
+ "y": 84.0
},
"params": 1
},
+ {
+ "id": "and",
+ "name": "and#0",
+ "pos": {
+ "x": 195.0,
+ "y": 50.0
+ }
+ },
{
"id": "dff4_finewe",
"name": "dff4_finewe#0",
"pos": {
- "x": 375.0,
+ "x": 325.0,
+ "y": 80.0
+ }
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#0",
+ "pos": {
+ "x": 280.0,
+ "y": 175.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#0",
+ "pos": {
+ "x": 45.0,
+ "y": 80.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#1",
+ "pos": {
+ "x": 85.0,
+ "y": 220.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#2",
+ "pos": {
+ "x": 90.0,
+ "y": 30.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#3",
+ "pos": {
+ "x": 130.0,
"y": 170.0
}
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#4",
+ "pos": {
+ "x": 175.0,
+ "y": 120.0
+ }
+ },
+ {
+ "id": "not4",
+ "name": "not4#0",
+ "pos": {
+ "x": 45.0,
+ "y": 270.0
+ }
+ },
+ {
+ "id": "xor",
+ "name": "xor#0",
+ "pos": {
+ "x": 40.0,
+ "y": 190.0
+ }
}
],
"wires": [
"name": "unnamedWire#0",
"path": [
{
- "x": 140.0,
- "y": 445.0
- },
- {
- "x": 255.0,
- "y": 445.0
- },
- {
- "x": 255.0,
- "y": 280.0
- },
- {
- "x": 340.0,
- "y": 280.0
- },
- {
- "x": 340.0,
- "y": 175.0
+ "x": 250.0,
+ "y": 85.0
}
]
},
"name": "unnamedWire#1",
"path": [
{
- "x": 355.0,
+ "x": 200.0,
"y": 30.0
},
{
- "x": 355.0,
- "y": 215.0
+ "x": 305.0,
+ "y": 30.0
+ },
+ {
+ "x": 305.0,
+ "y": 125.0
}
]
},
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_1"
},
"pin2": {
"path": [
{
"x": 35.0,
- "y": 125.0
+ "y": 95.0
},
{
"x": 35.0,
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_2"
},
"name": "unnamedWire#13",
},
{
"x": 30.0,
- "y": 135.0
+ "y": 105.0
}
]
},
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_3"
},
"name": "unnamedWire#14",
},
{
"x": 25.0,
- "y": 145.0
+ "y": 115.0
}
]
},
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_4"
},
"name": "unnamedWire#15",
},
{
"x": 20.0,
- "y": 155.0
+ "y": 125.0
}
]
},
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_1"
},
"name": "unnamedWire#16",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_2"
},
"pin2": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_3"
},
"name": "unnamedWire#18",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_4"
},
"pin2": {
"name": "unnamedWire#2",
"path": [
{
- "x": 255.0,
+ "x": 150.0,
"y": 25.0
},
{
- "x": 360.0,
+ "x": 310.0,
"y": 25.0
},
{
- "x": 360.0,
- "y": 205.0
+ "x": 310.0,
+ "y": 115.0
}
]
},
"pinName": "I"
},
"name": "unnamedWire#20",
- "path": [
- {
- "x": 40.0,
- "y": 435.0
- }
- ]
+ "path": []
},
{
"pin1": {
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "xor#0",
"pinName": "B"
},
"name": "unnamedWire#23",
"path": [
{
- "x": 25.0,
- "y": 305.0
+ "x": 30.0,
+ "y": 245.0
},
{
- "x": 25.0,
- "y": 265.0
+ "x": 30.0,
+ "y": 205.0
}
]
},
"path": [
{
"x": 60.0,
- "y": 445.0
+ "y": 360.0
},
{
"x": 60.0,
- "y": 415.0
+ "y": 335.0
},
{
- "x": 30.0,
- "y": 415.0
+ "x": 20.0,
+ "y": 335.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "xor#0",
"pinName": "A"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#4",
+ "pinName": "O2"
},
"name": "unnamedWire#27",
"path": []
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#4",
+ "pinName": "O3"
},
"pin2": {
"compName": "WireCrossPoint#1",
"pinName": "_EC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "and#0",
"pinName": "A"
},
"name": "unnamedWire#3",
"path": [
{
- "x": 155.0,
+ "x": 100.0,
"y": 20.0
},
{
- "x": 365.0,
+ "x": 190.0,
"y": 20.0
},
{
- "x": 365.0,
- "y": 90.0
+ "x": 190.0,
+ "y": 55.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I1_1"
},
"name": "unnamedWire#30",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "Y2"
},
"name": "unnamedWire#31",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I1_3"
},
"name": "unnamedWire#32",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "Y4"
},
"name": "unnamedWire#33",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "A1"
},
"name": "unnamedWire#34",
"path": [
{
- "x": 415.0,
- "y": 380.0
+ "x": 365.0,
+ "y": 315.0
},
{
- "x": 80.0,
- "y": 380.0
+ "x": 25.0,
+ "y": 315.0
},
{
- "x": 80.0,
- "y": 335.0
+ "x": 25.0,
+ "y": 275.0
}
]
},
"name": "unnamedWire#35",
"path": [
{
- "x": 420.0,
- "y": 385.0
+ "x": 370.0,
+ "y": 320.0
},
{
- "x": 85.0,
- "y": 385.0
+ "x": 30.0,
+ "y": 320.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "A3"
},
"name": "unnamedWire#36",
"path": [
{
- "x": 425.0,
- "y": 390.0
+ "x": 375.0,
+ "y": 325.0
},
{
- "x": 90.0,
- "y": 390.0
+ "x": 35.0,
+ "y": 325.0
},
{
- "x": 90.0,
- "y": 355.0
+ "x": 35.0,
+ "y": 295.0
}
]
},
"name": "unnamedWire#37",
"path": [
{
- "x": 430.0,
- "y": 395.0
+ "x": 380.0,
+ "y": 330.0
},
{
- "x": 95.0,
- "y": 395.0
+ "x": 40.0,
+ "y": 330.0
}
]
},
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I0_4"
},
"pin2": {
"name": "unnamedWire#39",
"path": [
{
- "x": 85.0,
- "y": 325.0
+ "x": 30.0,
+ "y": 265.0
}
]
},
"name": "unnamedWire#4",
"path": [
{
- "x": 55.0,
+ "x": 50.0,
"y": 15.0
},
{
- "x": 370.0,
+ "x": 320.0,
"y": 15.0
},
{
- "x": 370.0,
- "y": 185.0
+ "x": 320.0,
+ "y": 95.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I0_2"
},
"name": "unnamedWire#40",
"path": [
{
- "x": 95.0,
- "y": 305.0
+ "x": 40.0,
+ "y": 245.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I0_3"
},
"pin2": {
"name": "unnamedWire#42",
"path": [
{
- "x": 30.0,
- "y": 230.0
+ "x": 20.0,
+ "y": 175.0
},
{
- "x": 50.0,
- "y": 230.0
+ "x": 40.0,
+ "y": 175.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "S0"
},
"name": "unnamedWire#43",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I1_1"
},
"name": "unnamedWire#44",
"name": "unnamedWire#45",
"path": [
{
- "x": 50.0,
- "y": 105.0
+ "x": 40.0,
+ "y": 75.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y2"
},
"name": "unnamedWire#46",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I1_3"
},
"name": "unnamedWire#47",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y4"
},
"name": "unnamedWire#48",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I0_4"
},
"name": "unnamedWire#49",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "O"
+ "compName": "Splitter#4",
+ "pinName": "I"
},
"pin2": {
"compName": "_submodelinterface",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I0_3"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I0_2"
},
"name": "unnamedWire#53",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "I0_1"
},
"pin2": {
"name": "unnamedWire#54",
"path": [
{
- "x": 90.0,
- "y": 75.0
+ "x": 75.0,
+ "y": 45.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "A4"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "not4#0",
"pinName": "A2"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "I0_1"
},
"name": "unnamedWire#57",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I0_1"
},
"name": "unnamedWire#59",
"path": [
{
- "x": 20.0,
- "y": 245.0
+ "x": 35.0,
+ "y": 185.0
}
]
},
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I0_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "xor#0",
"pinName": "Y"
},
"name": "unnamedWire#60",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I0_3"
},
"pin2": {
"name": "unnamedWire#61",
"path": [
{
- "x": 75.0,
- "y": 265.0
+ "x": 80.0,
+ "y": 205.0
}
]
},
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I0_4"
},
"name": "unnamedWire#62",
"path": [
{
- "x": 80.0,
- "y": 325.0
+ "x": 25.0,
+ "y": 265.0
},
{
- "x": 80.0,
- "y": 275.0
+ "x": 25.0,
+ "y": 215.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I1_1"
},
"name": "unnamedWire#63",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "Y2"
},
"name": "unnamedWire#64",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I1_3"
},
"name": "unnamedWire#65",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1_4#1",
"pinName": "Y4"
},
"name": "unnamedWire#66",
"name": "unnamedWire#67",
"path": [
{
- "x": 195.0,
- "y": 435.0
+ "x": 125.0,
+ "y": 350.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "S0"
},
"name": "unnamedWire#68",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "S0"
},
"name": "unnamedWire#69",
"path": [
{
- "x": 105.0,
- "y": 235.0
+ "x": 85.0,
+ "y": 175.0
},
{
- "x": 105.0,
- "y": 65.0
+ "x": 85.0,
+ "y": 35.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#4",
+ "pinName": "O0"
},
"name": "unnamedWire#7",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "Y4"
},
"pin2": {
"name": "unnamedWire#70",
"path": [
{
- "x": 295.0,
- "y": 215.0
+ "x": 235.0,
+ "y": 155.0
},
{
- "x": 295.0,
- "y": 255.0
+ "x": 235.0,
+ "y": 165.0
}
]
},
"pinName": "D3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "Y3"
},
"name": "unnamedWire#71",
"path": [
{
- "x": 300.0,
- "y": 245.0
+ "x": 240.0,
+ "y": 155.0
},
{
- "x": 300.0,
- "y": 205.0
+ "x": 240.0,
+ "y": 145.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "and#0",
"pinName": "Y"
},
"pin2": {
"name": "unnamedWire#72",
"path": [
{
- "x": 420.0,
- "y": 90.0
+ "x": 235.0,
+ "y": 55.0
},
{
- "x": 420.0,
- "y": 110.0
+ "x": 235.0,
+ "y": 20.0
},
{
- "x": 365.0,
- "y": 110.0
+ "x": 315.0,
+ "y": 20.0
},
{
- "x": 365.0,
- "y": 195.0
+ "x": 315.0,
+ "y": 105.0
}
]
},
"pinName": "D1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "Y1"
},
"name": "unnamedWire#73",
"path": [
{
- "x": 310.0,
- "y": 225.0
+ "x": 250.0,
+ "y": 135.0
},
{
- "x": 310.0,
- "y": 185.0
+ "x": 250.0,
+ "y": 125.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "Y4"
},
"name": "unnamedWire#74",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I1_3"
},
"name": "unnamedWire#75",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "Y2"
},
"name": "unnamedWire#76",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "mux1_4#3",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I1_1"
},
"name": "unnamedWire#77",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I0_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "Y4"
},
"name": "unnamedWire#78",
"path": [
{
- "x": 200.0,
- "y": 225.0
+ "x": 140.0,
+ "y": 165.0
},
{
- "x": 200.0,
- "y": 95.0
+ "x": 140.0,
+ "y": 65.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I0_3"
},
"name": "unnamedWire#79",
"path": [
{
- "x": 205.0,
- "y": 85.0
+ "x": 145.0,
+ "y": 55.0
},
{
- "x": 205.0,
- "y": 215.0
+ "x": 145.0,
+ "y": 155.0
}
]
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#4",
+ "pinName": "O1"
},
"pin2": {
"compName": "WireCrossPoint#3",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I0_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "Y2"
},
"name": "unnamedWire#80",
"path": [
{
- "x": 210.0,
- "y": 205.0
+ "x": 150.0,
+ "y": 145.0
},
{
- "x": 210.0,
- "y": 75.0
+ "x": 150.0,
+ "y": 45.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "mux1_4#2",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "I0_1"
},
"name": "unnamedWire#81",
"path": [
{
- "x": 215.0,
- "y": 65.0
+ "x": 155.0,
+ "y": 35.0
},
{
- "x": 215.0,
- "y": 195.0
+ "x": 155.0,
+ "y": 135.0
}
]
},
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "S0"
},
"name": "unnamedWire#82",
"path": [
{
- "x": 245.0,
- "y": 425.0
+ "x": 170.0,
+ "y": 340.0
},
{
- "x": 245.0,
- "y": 185.0
+ "x": 170.0,
+ "y": 125.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "NandGate#0",
+ "pinName": "A"
},
"name": "unnamedWire#83",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
- },
- "pin2": {
"compName": "_submodelinterface",
"pinName": "COVD_EN"
},
+ "pin2": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
"name": "unnamedWire#84",
"path": [
{
- "x": 275.0,
- "y": 295.0
+ "x": 300.0,
+ "y": 10.0
+ },
+ {
+ "x": 270.0,
+ "y": 10.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "S0"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"name": "unnamedWire#85",
- "path": []
+ "path": [
+ {
+ "x": 165.0,
+ "y": 40.0
+ }
+ ]
},
{
"pin1": {
"pinName": "COVD_V"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux1#0",
"pinName": "I1"
},
"name": "unnamedWire#86",
"path": [
{
- "x": 375.0,
- "y": 325.0
+ "x": 350.0,
+ "y": 70.0
},
{
- "x": 320.0,
- "y": 325.0
+ "x": 265.0,
+ "y": 70.0
},
{
- "x": 320.0,
- "y": 315.0
+ "x": 265.0,
+ "y": 200.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "mux1_4#4",
"pinName": "Y2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux1#0",
"pinName": "I0"
},
"name": "unnamedWire#87",
"path": [
{
- "x": 305.0,
- "y": 195.0
+ "x": 245.0,
+ "y": 135.0
},
{
- "x": 305.0,
- "y": 305.0
+ "x": 245.0,
+ "y": 145.0
+ },
+ {
+ "x": 275.0,
+ "y": 145.0
+ },
+ {
+ "x": 275.0,
+ "y": 190.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "mux1#0",
"pinName": "Y"
},
"pin2": {
"name": "unnamedWire#88",
"path": [
{
- "x": 365.0,
- "y": 295.0
+ "x": 320.0,
+ "y": 180.0
},
{
- "x": 365.0,
- "y": 235.0
+ "x": 320.0,
+ "y": 145.0
}
]
},
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "and#0",
"pinName": "B"
},
"name": "unnamedWire#89",
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "NandGate#0",
+ "pinName": "B"
},
"name": "unnamedWire#90",
- "path": []
+ "path": [
+ {
+ "x": 165.0,
+ "y": 70.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "NandGate#0",
- "pinName": "B"
+ "compName": "mux1#0",
+ "pinName": "S0"
},
"name": "unnamedWire#91",
- "path": []
- },
- {
- "pin1": {
- "compName": "NandGate#0",
- "pinName": "A"
- },
- "pin2": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
- },
- "name": "unnamedWire#92",
"path": [
{
- "x": 320.0,
- "y": 95.0
+ "x": 270.0,
+ "y": 180.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "S0"
},
"name": "unnamedWire#93",
"innerScale": 0.4,
"submodel": {
"components": [
- {
- "id": "xor",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 40.0,
- "y": 20.0
- }
- },
{
"id": "NandGate",
"name": "NandGate#0",
"x": 5.0,
"y": 110.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "WireCrossPoint",
"y": 149.0
},
"params": 1
+ },
+ {
+ "id": "xor",
+ "name": "xor#0",
+ "pos": {
+ "x": 40.0,
+ "y": 20.0
+ }
}
],
"wires": [
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "xor#0",
"pinName": "A"
},
"name": "unnamedWire#3",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "xor#0",
"pinName": "B"
},
"name": "unnamedWire#4",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "xor#0",
"pinName": "Y"
},
"pin2": {
"pinLabelMargin": 0.5
},
"outlineRendererSnippetID": "default",
- "highLevelStateHandlerSnippetID": "standard",
- "highLevelStateHandlerParams": {
- "subcomponentHighLevelStates": {},
- "atomicHighLevelStates": {}
- },
+ "highLevelStateHandlerSnippetID": "default",
"version": "0.1.5"
}
\ No newline at end of file
{
- "width": 45.0,
- "height": 46.0,
+ "width": 50.0,
+ "height": 65.0,
"interfacePins": [
{
"location": {
- "x": 14.0,
- "y": 46.0
+ "x": 0.0,
+ "y": 10.0
},
"name": "C",
"logicWidth": 1,
},
{
"location": {
- "x": 27.5,
- "y": 46.0
+ "x": 0.0,
+ "y": 50.0
},
"name": "CINV",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 31.0
+ "y": 40.0
},
"name": "I",
"logicWidth": 4,
{
"location": {
"x": 0.0,
- "y": 13.5
+ "y": 30.0
},
"name": "M",
"logicWidth": 4,
},
{
"location": {
- "x": 4.0,
- "y": 46.0
+ "x": 0.0,
+ "y": 20.0
},
"name": "MUX",
"logicWidth": 2,
},
{
"location": {
- "x": 37.5,
- "y": 46.0
+ "x": 0.0,
+ "y": 60.0
},
"name": "OVRRET",
"logicWidth": 1,
},
{
"location": {
- "x": 45.0,
- "y": 19.0
+ "x": 50.0,
+ "y": 10.0
},
"name": "Q",
"logicWidth": 4,
},
{
"location": {
- "x": 15.5,
+ "x": 20.0,
"y": 0.0
},
"name": "_EC",
},
{
"location": {
- "x": 25.5,
+ "x": 30.0,
"y": 0.0
},
"name": "_EN",
},
{
"location": {
- "x": 35.5,
+ "x": 40.0,
"y": 0.0
},
"name": "_EOVR",
},
{
"location": {
- "x": 5.5,
+ "x": 10.0,
"y": 0.0
},
"name": "_EZ",
"usage": "INPUT"
}
],
- "innerScale": 0.1,
+ "innerScale": 0.2,
"submodel": {
"components": [
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 45.0,
- "y": 240.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 100.0,
- "y": 190.0
- }
- },
- {
- "id": "xor",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 215.0,
- "y": 200.0
- }
- },
- {
- "id": "Merger",
- "name": "Merger#0",
- "pos": {
- "x": 435.0,
- "y": 175.0
- },
- "params": 4
- },
{
"id": "NandGate",
"name": "NandGate#0",
"pos": {
- "x": 245.0,
- "y": 245.0
+ "x": 155.0,
+ "y": 135.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#1",
"pos": {
- "x": 215.0,
- "y": 255.0
+ "x": 125.0,
+ "y": 150.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#2",
"pos": {
- "x": 215.0,
- "y": 235.0
+ "x": 125.0,
+ "y": 130.0
},
"params": 1
},
"name": "Splitter#0",
"pos": {
"x": 5.0,
- "y": 120.0
+ "y": 135.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#1",
"pos": {
"x": 5.0,
- "y": 295.0
+ "y": 185.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"name": "Splitter#2",
"pos": {
- "x": 45.0,
- "y": 430.0
+ "x": 5.0,
+ "y": 95.0
+ },
+ "params": {
+ "logicWidth": 2,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#3",
+ "pos": {
+ "x": 230.0,
+ "y": 30.0
},
- "params": 2
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
},
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 89.0,
- "y": 234.0
+ "x": 19.0,
+ "y": 119.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 89.0,
- "y": 224.0
+ "x": 59.0,
+ "y": 109.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 89.0,
- "y": 214.0
+ "x": 59.0,
+ "y": 99.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
- "x": 429.0,
- "y": 204.0
+ "x": 224.0,
+ "y": 59.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
- "x": 209.0,
- "y": 244.0
+ "x": 114.0,
+ "y": 134.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 59.0,
+ "y": 119.0
},
"params": 1
},
"id": "dff4_finewe",
"name": "dff4_finewe#0",
"pos": {
- "x": 375.0,
- "y": 170.0
+ "x": 185.0,
+ "y": 25.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#0",
+ "pos": {
+ "x": 25.0,
+ "y": 125.0
+ }
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#1",
+ "pos": {
+ "x": 65.0,
+ "y": 75.0
+ }
+ },
+ {
+ "id": "xor",
+ "name": "xor#0",
+ "pos": {
+ "x": 130.0,
+ "y": 105.0
}
}
],
"pinName": "Q1"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#3",
+ "pinName": "O3"
},
"name": "unnamedWire#0",
"path": []
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#3",
+ "pinName": "O2"
},
"pin2": {
"compName": "dff4_finewe#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_4"
},
"pin2": {
"pinName": "O0"
},
"name": "unnamedWire#10",
- "path": []
+ "path": [
+ {
+ "x": 20.0,
+ "y": 210.0
+ },
+ {
+ "x": 20.0,
+ "y": 215.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#3",
+ "pinName": "O0"
},
"name": "unnamedWire#11",
"path": []
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_4"
},
"name": "unnamedWire#12",
"path": [
{
"x": 20.0,
- "y": 150.0
+ "y": 165.0
},
{
"x": 20.0,
- "y": 285.0
+ "y": 170.0
}
]
},
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_3"
},
"name": "unnamedWire#13",
"path": [
{
- "x": 25.0,
- "y": 140.0
+ "x": 20.0,
+ "y": 155.0
},
{
- "x": 25.0,
- "y": 275.0
+ "x": 20.0,
+ "y": 160.0
}
]
},
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_2"
},
"name": "unnamedWire#14",
"path": [
{
- "x": 30.0,
- "y": 130.0
+ "x": 20.0,
+ "y": 145.0
},
{
- "x": 30.0,
- "y": 265.0
+ "x": 20.0,
+ "y": 150.0
}
]
},
"pinName": "I"
},
"name": "unnamedWire#15",
- "path": [
- {
- "x": 40.0,
- "y": 435.0
- }
- ]
+ "path": []
},
{
"pin1": {
"name": "unnamedWire#16",
"path": [
{
- "x": 90.0,
- "y": 440.0
+ "x": 20.0,
+ "y": 105.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I1_4"
},
"name": "unnamedWire#17",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I1_3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y3"
},
"name": "unnamedWire#18",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I1_2"
},
"name": "unnamedWire#19",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#3",
+ "pinName": "O1"
},
"pin2": {
"compName": "dff4_finewe#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I1_1"
},
"name": "unnamedWire#20",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I0_1"
},
"pin2": {
"name": "unnamedWire#21",
"path": [
{
- "x": 90.0,
- "y": 205.0
+ "x": 60.0,
+ "y": 90.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I0_2"
},
"name": "unnamedWire#22",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I0_3"
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#0",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"name": "unnamedWire#25",
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "I0_4"
},
"name": "unnamedWire#26",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "S0"
},
"name": "unnamedWire#27",
"path": [
{
- "x": 40.0,
- "y": 235.0
- },
- {
- "x": 40.0,
- "y": 245.0
+ "x": 20.0,
+ "y": 130.0
}
]
},
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "S0"
},
"name": "unnamedWire#28",
"path": [
{
- "x": 85.0,
- "y": 430.0
+ "x": 20.0,
+ "y": 95.0
},
{
- "x": 85.0,
- "y": 195.0
+ "x": 20.0,
+ "y": 80.0
}
]
},
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
{
"pin1": {
"compName": "dff4_finewe#0",
"pinName": "A"
},
"name": "unnamedWire#30",
- "path": [
- {
- "x": 240.0,
- "y": 245.0
- },
- {
- "x": 240.0,
- "y": 250.0
- }
- ]
+ "path": []
},
{
"pin1": {
"name": "unnamedWire#31",
"path": [
{
- "x": 240.0,
- "y": 260.0
+ "x": 150.0,
+ "y": 150.0
},
{
- "x": 240.0,
- "y": 265.0
+ "x": 150.0,
+ "y": 160.0
}
]
},
"name": "unnamedWire#32",
"path": [
{
- "x": 375.0,
- "y": 360.0
- },
- {
- "x": 205.0,
- "y": 360.0
+ "x": 115.0,
+ "y": 300.0
},
{
- "x": 205.0,
- "y": 260.0
+ "x": 115.0,
+ "y": 155.0
}
]
},
"name": "unnamedWire#34",
"path": [
{
- "x": 430.0,
- "y": 280.0
+ "x": 225.0,
+ "y": 175.0
},
{
- "x": 210.0,
- "y": 280.0
+ "x": 120.0,
+ "y": 175.0
},
{
- "x": 210.0,
- "y": 270.0
+ "x": 120.0,
+ "y": 165.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "Y2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "xor#0",
"pinName": "A"
},
"name": "unnamedWire#35",
- "path": []
+ "path": [
+ {
+ "x": 125.0,
+ "y": 90.0
+ },
+ {
+ "x": 125.0,
+ "y": 110.0
+ }
+ ]
},
{
"pin1": {
"pinName": "CINV"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "xor#0",
"pinName": "B"
},
"name": "unnamedWire#36",
"path": [
{
- "x": 275.0,
- "y": 390.0
- },
- {
- "x": 190.0,
- "y": 390.0
+ "x": 105.0,
+ "y": 250.0
},
{
- "x": 190.0,
- "y": 215.0
+ "x": 105.0,
+ "y": 120.0
}
]
},
"name": "unnamedWire#37",
"path": [
{
- "x": 370.0,
- "y": 185.0
+ "x": 180.0,
+ "y": 40.0
},
{
- "x": 370.0,
+ "x": 180.0,
"y": 5.0
},
{
- "x": 55.0,
+ "x": 50.0,
"y": 5.0
}
]
"name": "unnamedWire#38",
"path": [
{
- "x": 140.0,
- "y": 325.0
- },
- {
- "x": 345.0,
- "y": 325.0
+ "x": 55.0,
+ "y": 50.0
},
{
- "x": 345.0,
- "y": 175.0
+ "x": 55.0,
+ "y": 30.0
}
]
},
"name": "unnamedWire#39",
"path": [
{
- "x": 355.0,
- "y": 215.0
+ "x": 200.0,
+ "y": 20.0
+ },
+ {
+ "x": 165.0,
+ "y": 20.0
+ },
+ {
+ "x": 165.0,
+ "y": 70.0
}
]
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "O"
+ "compName": "Splitter#3",
+ "pinName": "I"
},
"pin2": {
"compName": "_submodelinterface",
"pinName": "Q"
},
"name": "unnamedWire#4",
- "path": []
+ "path": [
+ {
+ "x": 245.0,
+ "y": 45.0
+ },
+ {
+ "x": 245.0,
+ "y": 50.0
+ }
+ ]
},
{
"pin1": {
"name": "unnamedWire#40",
"path": [
{
- "x": 360.0,
- "y": 205.0
+ "x": 170.0,
+ "y": 60.0
},
{
- "x": 360.0,
+ "x": 170.0,
"y": 15.0
},
{
- "x": 255.0,
+ "x": 150.0,
"y": 15.0
}
]
"name": "unnamedWire#41",
"path": [
{
- "x": 155.0,
+ "x": 100.0,
"y": 10.0
},
{
- "x": 365.0,
+ "x": 175.0,
"y": 10.0
},
{
- "x": 365.0,
- "y": 195.0
+ "x": 175.0,
+ "y": 50.0
}
]
},
"pinName": "D1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "Y1"
},
"name": "unnamedWire#42",
- "path": [
- {
- "x": 315.0,
- "y": 225.0
- },
- {
- "x": 315.0,
- "y": 195.0
- }
- ]
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "xor#0",
"pinName": "Y"
},
"pin2": {
"name": "unnamedWire#43",
"path": [
{
- "x": 310.0,
- "y": 205.0
+ "x": 170.0,
+ "y": 110.0
},
{
- "x": 310.0,
- "y": 235.0
+ "x": 170.0,
+ "y": 90.0
}
]
},
"pinName": "D3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "Y3"
},
"name": "unnamedWire#44",
- "path": [
- {
- "x": 305.0,
- "y": 245.0
- },
- {
- "x": 305.0,
- "y": 225.0
- },
- {
- "x": 170.0,
- "y": 225.0
- },
- {
- "x": 170.0,
- "y": 215.0
- }
- ]
+ "path": []
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "mux1_4#1",
"pinName": "Y4"
},
"name": "unnamedWire#45",
"path": [
{
- "x": 160.0,
- "y": 245.0
- },
- {
- "x": 160.0,
- "y": 225.0
+ "x": 115.0,
+ "y": 110.0
}
]
},
"pinName": "D4"
},
"name": "unnamedWire#46",
- "path": []
+ "path": [
+ {
+ "x": 180.0,
+ "y": 145.0
+ },
+ {
+ "x": 180.0,
+ "y": 110.0
+ }
+ ]
},
{
"pin1": {
"pinName": "A"
},
"name": "unnamedWire#47",
- "path": [
- {
- "x": 210.0,
- "y": 240.0
- }
- ]
+ "path": []
},
{
"pin1": {
"name": "unnamedWire#48",
"path": [
{
- "x": 210.0,
- "y": 250.0
+ "x": 115.0,
+ "y": 145.0
}
]
},
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_1"
},
"name": "unnamedWire#49",
"path": [
{
- "x": 35.0,
- "y": 120.0
+ "x": 20.0,
+ "y": 135.0
},
{
- "x": 35.0,
- "y": 255.0
+ "x": 20.0,
+ "y": 140.0
}
]
},
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_1"
},
"name": "unnamedWire#7",
- "path": []
+ "path": [
+ {
+ "x": 20.0,
+ "y": 185.0
+ },
+ {
+ "x": 20.0,
+ "y": 180.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_2"
},
"pin2": {
"pinName": "O2"
},
"name": "unnamedWire#8",
- "path": []
+ "path": [
+ {
+ "x": 20.0,
+ "y": 190.0
+ },
+ {
+ "x": 20.0,
+ "y": 195.0
+ }
+ ]
},
{
"pin1": {
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_3"
},
"name": "unnamedWire#9",
- "path": []
+ "path": [
+ {
+ "x": 20.0,
+ "y": 205.0
+ },
+ {
+ "x": 20.0,
+ "y": 200.0
+ }
+ ]
}
],
"version": "0.1.1"
},
"symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
- "centerText": "muSR",
+ "centerText": "µSR",
"centerTextHeight": 5.0,
"horizontalComponentCenter": 17.5,
"pinLabelHeight": 3.5,
{
- "width": 72.0,
- "height": 67.0,
+ "width": 60.0,
+ "height": 45.0,
"interfacePins": [
{
"location": {
- "x": 60.0,
+ "x": 40.0,
"y": 0.0
},
"name": "C",
},
{
"location": {
- "x": 72.0,
- "y": 40.0
+ "x": 60.0,
+ "y": 30.0
},
"name": "CI",
"logicWidth": 1,
},
{
"location": {
- "x": 36.0,
+ "x": 30.0,
"y": 0.0
},
"name": "D",
{
"location": {
"x": 0.0,
- "y": 50.0
+ "y": 25.0
},
"name": "I",
"logicWidth": 4,
},
{
"location": {
- "x": 38.0,
- "y": 67.0
+ "x": 35.0,
+ "y": 45.0
},
"name": "Y",
"logicWidth": 12,
{
"location": {
"x": 0.0,
- "y": 38.0
+ "y": 10.0
},
"name": "_CC",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 44.0
+ "y": 15.0
},
"name": "_CCEN",
"logicWidth": 1,
},
{
"location": {
- "x": 72.0,
- "y": 14.0
+ "x": 60.0,
+ "y": 5.0
},
"name": "_FULL",
"logicWidth": 1,
},
{
"location": {
- "x": 19.0,
- "y": 67.0
+ "x": 15.0,
+ "y": 45.0
},
"name": "_MAP",
"logicWidth": 1,
},
{
"location": {
- "x": 49.0,
- "y": 67.0
+ "x": 40.0,
+ "y": 45.0
},
"name": "_OE",
"logicWidth": 1,
},
{
"location": {
- "x": 13.0,
- "y": 67.0
+ "x": 10.0,
+ "y": 45.0
},
"name": "_PL",
"logicWidth": 1,
{
"location": {
"x": 0.0,
- "y": 6.0
+ "y": 5.0
},
"name": "_RLD",
"logicWidth": 1,
},
{
"location": {
- "x": 25.0,
- "y": 67.0
+ "x": 20.0,
+ "y": 45.0
},
"name": "_VECT",
"logicWidth": 1,
"id": "Am2910InstrPLA",
"name": "Am2910InstrPLA#0",
"pos": {
- "x": 80.0,
- "y": 155.0
+ "x": 70.0,
+ "y": 90.0
}
},
{
"id": "Am2910RegCntr",
"name": "Am2910RegCntr#0",
"pos": {
- "x": 160.0,
- "y": 25.0
+ "x": 130.0,
+ "y": 15.0
}
},
{
"id": "Am2910SP",
"name": "Am2910SP#0",
"pos": {
- "x": 305.0,
- "y": 55.0
+ "x": 240.0,
+ "y": 10.0
}
},
- {
- "id": "BitDisplay",
- "name": "BitDisplay#0",
- "pos": {
- "x": 160.0,
- "y": 95.0
- },
- "params": 12
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#1",
- "pos": {
- "x": 260.0,
- "y": 115.0
- },
- "params": 12
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#2",
- "pos": {
- "x": 345.0,
- "y": 180.0
- },
- "params": 12
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#3",
- "pos": {
- "x": 265.0,
- "y": 150.0
- },
- "params": 12
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#4",
- "pos": {
- "x": 260.0,
- "y": 85.0
- },
- "params": 3
- },
- {
- "id": "BitDisplay",
- "name": "BitDisplay#5",
- "pos": {
- "x": 260.0,
- "y": 70.0
- },
- "params": 3
- },
{
"id": "NandGate",
"name": "NandGate#0",
"pos": {
"x": 40.0,
- "y": 185.0
+ "y": 45.0
},
"params": 1
},
"name": "NandGate#1",
"pos": {
"x": 10.0,
- "y": 210.0
+ "y": 60.0
},
"params": 1
},
"id": "NandGate",
"name": "NandGate#2",
"pos": {
- "x": 250.0,
- "y": 305.0
+ "x": 205.0,
+ "y": 195.0
},
"params": 1
},
"id": "TriStateBuffer",
"name": "TriStateBuffer#0",
"pos": {
- "x": 180.0,
- "y": 290.0
+ "x": 165.0,
+ "y": 180.0
},
"params": {
"logicWidth": 12,
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 324.0,
- "y": 149.0
+ "x": 259.0,
+ "y": 99.0
},
"params": 12
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 294.0,
- "y": 104.0
- },
- "params": 1
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#10",
- "pos": {
- "x": 244.0,
- "y": 319.0
+ "x": 224.0,
+ "y": 59.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 189.0,
- "y": 274.0
+ "x": 174.0,
+ "y": 174.0
},
"params": 12
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#3",
"pos": {
- "x": 179.0,
- "y": 89.0
+ "x": 164.0,
+ "y": 59.0
},
"params": 12
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
- "x": 179.0,
- "y": 14.0
+ "x": 149.0,
+ "y": 9.0
},
"params": 12
},
"name": "WireCrossPoint#5",
"pos": {
"x": 4.0,
- "y": 219.0
+ "y": 74.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#6",
"pos": {
- "x": 299.0,
- "y": 79.0
+ "x": 234.0,
+ "y": 34.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#7",
"pos": {
- "x": 299.0,
- "y": 44.0
+ "x": 199.0,
+ "y": 34.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
- "x": 299.0,
- "y": 169.0
+ "x": 234.0,
+ "y": 69.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
- "x": 299.0,
- "y": 114.0
+ "x": 199.0,
+ "y": 209.0
},
"params": 1
},
"id": "dff12",
"name": "dff12#0",
"pos": {
- "x": 305.0,
- "y": 160.0
+ "x": 240.0,
+ "y": 105.0
}
},
{
- "id": "inc12",
- "name": "inc12#0",
+ "id": "inc",
+ "name": "inc#0",
"pos": {
- "x": 305.0,
- "y": 190.0
- }
+ "x": 240.0,
+ "y": 140.0
+ },
+ "params": 12
},
{
"id": "nor12",
"name": "nor12#0",
"pos": {
- "x": 190.0,
- "y": 80.0
+ "x": 175.0,
+ "y": 50.0
}
},
{
"id": "ram5_12",
"name": "ram5_12#0",
"pos": {
- "x": 305.0,
- "y": 100.0
+ "x": 240.0,
+ "y": 55.0
}
},
{
"id": "sel4_12",
"name": "sel4_12#0",
"pos": {
- "x": 150.0,
- "y": 175.0
+ "x": 135.0,
+ "y": 110.0
}
}
],
"name": "unnamedWire#10",
"path": [
{
- "x": 230.0,
- "y": 90.0
+ "x": 215.0,
+ "y": 60.0
},
{
- "x": 230.0,
- "y": 120.0
+ "x": 215.0,
+ "y": 75.0
},
{
- "x": 95.0,
- "y": 120.0
+ "x": 85.0,
+ "y": 75.0
}
]
},
"name": "unnamedWire#11",
"path": [
{
- "x": 115.0,
- "y": 160.0
+ "x": 105.0,
+ "y": 95.0
},
{
- "x": 115.0,
- "y": 45.0
+ "x": 105.0,
+ "y": 35.0
}
]
},
"name": "unnamedWire#12",
"path": [
{
- "x": 120.0,
- "y": 170.0
+ "x": 110.0,
+ "y": 105.0
},
{
- "x": 120.0,
- "y": 55.0
+ "x": 110.0,
+ "y": 45.0
}
]
},
"name": "unnamedWire#13",
"path": [
{
- "x": 295.0,
- "y": 220.0
+ "x": 225.0,
+ "y": 155.0
}
]
},
"name": "unnamedWire#14",
"path": [
{
- "x": 290.0,
- "y": 230.0
+ "x": 230.0,
+ "y": 165.0
},
{
- "x": 290.0,
- "y": 70.0
+ "x": 230.0,
+ "y": 25.0
}
]
},
"name": "unnamedWire#15",
"path": [
{
- "x": 295.0,
- "y": 60.0
+ "x": 225.0,
+ "y": 15.0
}
]
},
"pinName": ""
},
"pin2": {
- "compName": "inc12#0",
+ "compName": "inc#0",
"pinName": "A"
},
"name": "unnamedWire#18",
"path": [
{
- "x": 325.0,
- "y": 275.0
+ "x": 260.0,
+ "y": 175.0
}
]
},
"name": "unnamedWire#19",
"path": [
{
- "x": 200.0,
- "y": 130.0
+ "x": 185.0,
+ "y": 85.0
}
]
},
"name": "unnamedWire#20",
"path": [
{
- "x": 220.0,
- "y": 150.0
+ "x": 205.0,
+ "y": 100.0
}
]
},
"name": "unnamedWire#25",
"path": [
{
- "x": 145.0,
- "y": 15.0
+ "x": 125.0,
+ "y": 10.0
},
{
- "x": 145.0,
- "y": 150.0
+ "x": 125.0,
+ "y": 65.0
},
{
- "x": 160.0,
- "y": 150.0
+ "x": 145.0,
+ "y": 65.0
}
]
},
"path": [
{
"x": 65.0,
- "y": 195.0
+ "y": 55.0
},
{
"x": 65.0,
- "y": 160.0
+ "y": 95.0
}
]
},
"path": [
{
"x": 5.0,
- "y": 215.0
+ "y": 65.0
}
]
},
"pinName": "B"
},
"name": "unnamedWire#32",
- "path": [
- {
- "x": 5.0,
- "y": 225.0
- }
- ]
+ "path": []
},
{
"pin1": {
"path": [
{
"x": 35.0,
- "y": 220.0
+ "y": 70.0
},
{
"x": 35.0,
- "y": 200.0
+ "y": 60.0
}
]
},
"pinName": "C"
},
"name": "unnamedWire#35",
- "path": []
+ "path": [
+ {
+ "x": 235.0,
+ "y": 115.0
+ }
+ ]
},
{
"pin1": {
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"name": "unnamedWire#36",
},
{
"pin1": {
- "compName": "inc12#0",
+ "compName": "inc#0",
"pinName": "Y"
},
"pin2": {
},
{
"pin1": {
- "compName": "inc12#0",
+ "compName": "inc#0",
"pinName": "CI"
},
"pin2": {
"name": "unnamedWire#42",
"path": [
{
- "x": 85.0,
- "y": 290.0
+ "x": 75.0,
+ "y": 180.0
},
{
- "x": 65.0,
- "y": 290.0
+ "x": 50.0,
+ "y": 180.0
}
]
},
"pinName": "_MAP"
},
"name": "unnamedWire#43",
- "path": []
+ "path": [
+ {
+ "x": 85.0,
+ "y": 185.0
+ },
+ {
+ "x": 75.0,
+ "y": 185.0
+ }
+ ]
},
{
"pin1": {
"name": "unnamedWire#44",
"path": [
{
- "x": 105.0,
- "y": 290.0
+ "x": 95.0,
+ "y": 190.0
},
{
- "x": 125.0,
- "y": 290.0
+ "x": 100.0,
+ "y": 190.0
}
]
},
"name": "unnamedWire#45",
"path": [
{
- "x": 70.0,
- "y": 250.0
+ "x": 35.0,
+ "y": 125.0
},
{
- "x": 70.0,
- "y": 175.0
+ "x": 35.0,
+ "y": 110.0
}
]
},
- {
- "pin1": {
- "compName": "Am2910RegCntr#0",
- "pinName": "Y"
- },
- "pin2": {
- "compName": "BitDisplay#0",
- "pinName": ""
- },
- "name": "unnamedWire#46",
- "path": []
- },
- {
- "pin1": {
- "compName": "ram5_12#0",
- "pinName": "Y"
- },
- "pin2": {
- "compName": "BitDisplay#1",
- "pinName": ""
- },
- "name": "unnamedWire#47",
- "path": []
- },
- {
- "pin1": {
- "compName": "inc12#0",
- "pinName": "Y"
- },
- "pin2": {
- "compName": "BitDisplay#2",
- "pinName": ""
- },
- "name": "unnamedWire#48",
- "path": []
- },
- {
- "pin1": {
- "compName": "dff12#0",
- "pinName": "Y"
- },
- "pin2": {
- "compName": "BitDisplay#3",
- "pinName": ""
- },
- "name": "unnamedWire#49",
- "path": []
- },
{
"pin1": {
"compName": "dff12#0",
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
"name": "unnamedWire#50",
"path": []
},
- {
- "pin1": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
- },
- "pin2": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
- },
- "name": "unnamedWire#51",
- "path": []
- },
{
"pin1": {
"compName": "TriStateBuffer#0",
"pinName": "_OE"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"name": "unnamedWire#53",
},
{
"pin1": {
- "compName": "Am2910SP#0",
- "pinName": "A"
- },
- "pin2": {
- "compName": "BitDisplay#5",
- "pinName": ""
- },
- "name": "unnamedWire#54",
- "path": []
- },
- {
- "pin1": {
- "compName": "Am2910SP#0",
- "pinName": "B"
- },
- "pin2": {
- "compName": "BitDisplay#4",
- "pinName": ""
- },
- "name": "unnamedWire#55",
- "path": []
- },
- {
- "pin1": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
"pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"name": "unnamedWire#57",
"path": [
{
- "x": 245.0,
- "y": 310.0
+ "x": 200.0,
+ "y": 200.0
}
]
},
"name": "unnamedWire#58",
"path": [
{
- "x": 275.0,
- "y": 300.0
+ "x": 230.0,
+ "y": 190.0
},
{
- "x": 275.0,
- "y": 315.0
+ "x": 230.0,
+ "y": 205.0
}
]
},
"pinName": ""
},
"name": "unnamedWire#9",
- "path": []
+ "path": [
+ {
+ "x": 150.0,
+ "y": 60.0
+ }
+ ]
}
],
"version": "0.1.1"
"highLevelStateHandlerSnippetID": "standard",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {
- "r": {
+ "mupc": {
"id": "delegating",
"params": {
- "delegateTarget": "Am2910RegCntr#0"
+ "delegateTarget": "dff12#0"
}
},
- "stack": {
+ "r": {
"id": "delegating",
"params": {
- "delegateTarget": "ram5_12#0"
+ "delegateTarget": "Am2910RegCntr#0"
}
},
- "mupc": {
+ "sp": {
"id": "delegating",
"params": {
- "delegateTarget": "dff12#0"
+ "delegateTarget": "Am2910SP#0"
}
},
- "sp": {
+ "stack": {
"id": "delegating",
"params": {
- "delegateTarget": "Am2910SP#0"
+ "delegateTarget": "ram5_12#0"
}
}
},
"submodel": {
"components": [
{
- "id": "dff",
- "name": "DeserializedSubmodelComponent#10",
- "pos": {
- "x": 175.0,
- "y": 170.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#11",
- "pos": {
- "x": 130.0,
- "y": 160.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#12",
- "pos": {
- "x": 130.0,
- "y": 130.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#13",
- "pos": {
- "x": 175.0,
- "y": 80.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#14",
- "pos": {
- "x": 175.0,
- "y": 110.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#15",
- "pos": {
- "x": 130.0,
- "y": 100.0
- }
- },
- {
- "id": "mux1_12",
- "name": "DeserializedSubmodelComponent#17",
- "pos": {
- "x": 15.0,
- "y": 90.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#4",
+ "id": "Splitter",
+ "name": "Splitter#0",
"pos": {
- "x": 175.0,
- "y": 20.0
+ "x": 70.0,
+ "y": 65.0
+ },
+ "params": {
+ "logicWidth": 12,
+ "orientation": "RIGHT"
}
},
{
- "id": "dff",
- "name": "DeserializedSubmodelComponent#5",
+ "id": "Splitter",
+ "name": "Splitter#1",
"pos": {
- "x": 175.0,
- "y": 50.0
+ "x": 250.0,
+ "y": 45.0
+ },
+ "params": {
+ "logicWidth": 12,
+ "orientation": "LEFT"
}
},
{
- "id": "dff",
- "name": "DeserializedSubmodelComponent#6",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
"pos": {
- "x": 130.0,
- "y": 10.0
- }
+ "x": 124.0,
+ "y": 14.0
+ },
+ "params": 1
},
{
- "id": "dff",
- "name": "DeserializedSubmodelComponent#7",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
"pos": {
- "x": 130.0,
- "y": 40.0
- }
+ "x": 124.0,
+ "y": 44.0
+ },
+ "params": 1
},
{
- "id": "dff",
- "name": "DeserializedSubmodelComponent#8",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
"pos": {
- "x": 130.0,
- "y": 70.0
- }
+ "x": 169.0,
+ "y": 114.0
+ },
+ "params": 1
},
{
- "id": "dff",
- "name": "DeserializedSubmodelComponent#9",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
"pos": {
- "x": 175.0,
- "y": 140.0
- }
+ "x": 124.0,
+ "y": 104.0
+ },
+ "params": 1
},
{
- "id": "Merger",
- "name": "Merger#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
"pos": {
- "x": 250.0,
- "y": 45.0
+ "x": 124.0,
+ "y": 134.0
},
- "params": 12
+ "params": 1
},
{
- "id": "Splitter",
- "name": "Splitter#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
"pos": {
- "x": 70.0,
- "y": 65.0
+ "x": 124.0,
+ "y": 74.0
},
- "params": 12
+ "params": 1
},
{
- "id": "TextComponent",
- "name": "TextComponent#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
"pos": {
- "x": -35.0,
- "y": -5.0
+ "x": 264.0,
+ "y": 99.0
},
- "params": "a"
+ "params": 12
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
+ "name": "WireCrossPoint#6",
"pos": {
"x": 169.0,
"y": 54.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "name": "WireCrossPoint#7",
"pos": {
"x": 169.0,
"y": 144.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#13",
+ "name": "WireCrossPoint#8",
"pos": {
"x": 169.0,
"y": 24.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "name": "WireCrossPoint#9",
"pos": {
"x": 169.0,
"y": 84.0
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#15",
+ "id": "dff",
+ "name": "dff#0",
"pos": {
- "x": 169.0,
- "y": 114.0
- },
- "params": 1
+ "x": 175.0,
+ "y": 20.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#2",
+ "id": "dff",
+ "name": "dff#1",
"pos": {
- "x": 124.0,
- "y": 14.0
- },
- "params": 1
+ "x": 175.0,
+ "y": 50.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#3",
+ "id": "dff",
+ "name": "dff#10",
"pos": {
- "x": 124.0,
- "y": 44.0
- },
- "params": 1
+ "x": 175.0,
+ "y": 110.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#5",
+ "id": "dff",
+ "name": "dff#11",
"pos": {
- "x": 124.0,
- "y": 104.0
- },
- "params": 1
+ "x": 130.0,
+ "y": 100.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#6",
+ "id": "dff",
+ "name": "dff#2",
"pos": {
- "x": 124.0,
- "y": 134.0
- },
- "params": 1
+ "x": 130.0,
+ "y": 10.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#7",
+ "id": "dff",
+ "name": "dff#3",
"pos": {
- "x": 124.0,
- "y": 74.0
- },
- "params": 1
+ "x": 130.0,
+ "y": 40.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#8",
+ "id": "dff",
+ "name": "dff#4",
"pos": {
- "x": 264.0,
- "y": 99.0
- },
- "params": 12
+ "x": 130.0,
+ "y": 70.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#5",
+ "pos": {
+ "x": 175.0,
+ "y": 140.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#6",
+ "pos": {
+ "x": 175.0,
+ "y": 170.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#7",
+ "pos": {
+ "x": 130.0,
+ "y": 160.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#8",
+ "pos": {
+ "x": 130.0,
+ "y": 130.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#9",
+ "pos": {
+ "x": 175.0,
+ "y": 80.0
+ }
+ },
+ {
+ "id": "mux1_12",
+ "name": "mux1_12#0",
+ "pos": {
+ "x": 15.0,
+ "y": 90.0
+ }
}
],
"wires": [
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"name": "unnamedWire#0",
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "dff#11",
"pinName": "D"
},
"pin2": {
"pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "dff#10",
"pinName": "D"
},
"name": "unnamedWire#11",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "dff#8",
"pinName": "D"
},
"pin2": {
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "dff#5",
"pinName": "D"
},
"name": "unnamedWire#13",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "dff#7",
"pinName": "D"
},
"pin2": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "dff#6",
"pinName": "D"
},
"name": "unnamedWire#15",
"pinName": "WE"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "mux1_12#0",
"pinName": "S"
},
"name": "unnamedWire#16",
"pinName": "D"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "mux1_12#0",
"pinName": "I1"
},
"name": "unnamedWire#17",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "mux1_12#0",
"pinName": "Y"
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "dff#2",
"pinName": "C"
},
"name": "unnamedWire#21",
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"name": "unnamedWire#22",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "dff#3",
"pinName": "C"
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"name": "unnamedWire#23",
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"name": "unnamedWire#24",
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "dff#4",
"pinName": "C"
},
"name": "unnamedWire#25",
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"name": "unnamedWire#26",
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "dff#11",
"pinName": "C"
},
"name": "unnamedWire#27",
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"name": "unnamedWire#28",
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "dff#8",
"pinName": "C"
},
"name": "unnamedWire#29",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "mux1_12#0",
"pinName": "I0"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"name": "unnamedWire#3",
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "dff#7",
"pinName": "C"
},
"name": "unnamedWire#30",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "dff#6",
"pinName": "C"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"name": "unnamedWire#31",
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "dff#5",
"pinName": "C"
},
"name": "unnamedWire#32",
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"name": "unnamedWire#33",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "dff#10",
"pinName": "C"
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"name": "unnamedWire#34",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"name": "unnamedWire#35",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "dff#9",
"pinName": "C"
},
"name": "unnamedWire#36",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"name": "unnamedWire#37",
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "dff#1",
"pinName": "C"
},
"name": "unnamedWire#38",
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"name": "unnamedWire#39",
"pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "dff#2",
"pinName": "D"
},
"name": "unnamedWire#4",
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "dff#0",
"pinName": "C"
},
"name": "unnamedWire#40",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "dff#0",
"pinName": "D"
},
"pin2": {
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I11"
+ "compName": "Splitter#1",
+ "pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "dff#2",
"pinName": "Q"
},
"name": "unnamedWire#53",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "dff#0",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I10"
+ "compName": "Splitter#1",
+ "pinName": "O10"
},
"name": "unnamedWire#54",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I9"
+ "compName": "Splitter#1",
+ "pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "dff#3",
"pinName": "Q"
},
"name": "unnamedWire#55",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "dff#1",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I8"
+ "compName": "Splitter#1",
+ "pinName": "O8"
},
"name": "unnamedWire#56",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I7"
+ "compName": "Splitter#1",
+ "pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "dff#4",
"pinName": "Q"
},
"name": "unnamedWire#57",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "dff#9",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I6"
+ "compName": "Splitter#1",
+ "pinName": "O6"
},
"name": "unnamedWire#58",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I5"
+ "compName": "Splitter#1",
+ "pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "dff#11",
"pinName": "Q"
},
"name": "unnamedWire#59",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "dff#3",
"pinName": "D"
},
"pin2": {
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I4"
+ "compName": "Splitter#1",
+ "pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "dff#10",
"pinName": "Q"
},
"name": "unnamedWire#60",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#1",
+ "pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "dff#8",
"pinName": "Q"
},
"name": "unnamedWire#61",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "dff#5",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#1",
+ "pinName": "O2"
},
"name": "unnamedWire#62",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#1",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "dff#7",
"pinName": "Q"
},
"name": "unnamedWire#63",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "dff#6",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#1",
+ "pinName": "O0"
},
"name": "unnamedWire#64",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "O"
+ "compName": "Splitter#1",
+ "pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"name": "unnamedWire#65",
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"pin2": {
"pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "dff#1",
"pinName": "D"
},
"name": "unnamedWire#7",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "dff#4",
"pinName": "D"
},
"pin2": {
"pinName": "O6"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "dff#9",
"pinName": "D"
},
"name": "unnamedWire#9",
"pinLabelMargin": 0.5
},
"outlineRendererSnippetID": "default",
- "highLevelStateHandlerSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {},
+ "atomicHighLevelStates": {
+ "q": {
+ "id": "bitVectorSplitting",
+ "params": {
+ "vectorPartTargets": [
+ "q12",
+ "q11",
+ "q10",
+ "q9",
+ "q8",
+ "q7",
+ "q6",
+ "q5",
+ "q4",
+ "q3",
+ "q2",
+ "q1"
+ ],
+ "vectorPartLengthes": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ }
+ },
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#6",
+ "subStateID": "q"
+ }
+ },
+ "q10": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#3",
+ "subStateID": "q"
+ }
+ },
+ "q11": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#0",
+ "subStateID": "q"
+ }
+ },
+ "q12": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#2",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#7",
+ "subStateID": "q"
+ }
+ },
+ "q3": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#5",
+ "subStateID": "q"
+ }
+ },
+ "q4": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#8",
+ "subStateID": "q"
+ }
+ },
+ "q5": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#10",
+ "subStateID": "q"
+ }
+ },
+ "q6": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#11",
+ "subStateID": "q"
+ }
+ },
+ "q7": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#9",
+ "subStateID": "q"
+ }
+ },
+ "q8": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#4",
+ "subStateID": "q"
+ }
+ },
+ "q9": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#1",
+ "subStateID": "q"
+ }
+ }
+ }
+ },
"version": "0.1.5"
}
\ No newline at end of file
--- /dev/null
+{
+ "width": 45.0,
+ "height": 55.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 0.0,
+ "y": 5.0
+ },
+ "name": "C",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 25.0
+ },
+ "name": "D",
+ "logicWidth": 16,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 45.0,
+ "y": 25.0
+ },
+ "name": "Q",
+ "logicWidth": 16,
+ "usage": "TRISTATE"
+ }
+ ],
+ "innerScale": 0.2,
+ "submodel": {
+ "components": [
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 5.0,
+ "y": 50.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 210.0,
+ "y": 50.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 74.0,
+ "y": 19.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 74.0,
+ "y": 49.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
+ "pos": {
+ "x": 119.0,
+ "y": 119.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
+ "pos": {
+ "x": 119.0,
+ "y": 209.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
+ "pos": {
+ "x": 119.0,
+ "y": 89.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#13",
+ "pos": {
+ "x": 119.0,
+ "y": 149.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#14",
+ "pos": {
+ "x": 119.0,
+ "y": 179.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 74.0,
+ "y": 79.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 74.0,
+ "y": 109.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 74.0,
+ "y": 169.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 74.0,
+ "y": 199.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 74.0,
+ "y": 139.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#8",
+ "pos": {
+ "x": 119.0,
+ "y": 59.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 119.0,
+ "y": 29.0
+ },
+ "params": 1
+ },
+ {
+ "id": "dff",
+ "name": "dff#0",
+ "pos": {
+ "x": 80.0,
+ "y": 15.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#1",
+ "pos": {
+ "x": 125.0,
+ "y": 25.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#10",
+ "pos": {
+ "x": 125.0,
+ "y": 235.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#11",
+ "pos": {
+ "x": 80.0,
+ "y": 225.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#12",
+ "pos": {
+ "x": 80.0,
+ "y": 195.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#13",
+ "pos": {
+ "x": 125.0,
+ "y": 145.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#14",
+ "pos": {
+ "x": 125.0,
+ "y": 175.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#15",
+ "pos": {
+ "x": 80.0,
+ "y": 165.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#2",
+ "pos": {
+ "x": 125.0,
+ "y": 55.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#3",
+ "pos": {
+ "x": 80.0,
+ "y": 45.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#4",
+ "pos": {
+ "x": 125.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#5",
+ "pos": {
+ "x": 125.0,
+ "y": 115.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#6",
+ "pos": {
+ "x": 80.0,
+ "y": 75.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#7",
+ "pos": {
+ "x": 80.0,
+ "y": 105.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#8",
+ "pos": {
+ "x": 80.0,
+ "y": 135.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#9",
+ "pos": {
+ "x": 125.0,
+ "y": 205.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "dff#0",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#0",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 50.0
+ },
+ {
+ "x": 20.0,
+ "y": 30.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#1",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#1",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 40.0
+ },
+ {
+ "x": 25.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#15",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#10",
+ "path": [
+ {
+ "x": 45.0,
+ "y": 180.0
+ },
+ {
+ "x": 45.0,
+ "y": 150.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "dff#14",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#11",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 160.0
+ },
+ {
+ "x": 40.0,
+ "y": 190.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#12",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#12",
+ "path": [
+ {
+ "x": 35.0,
+ "y": 210.0
+ },
+ {
+ "x": 35.0,
+ "y": 170.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "dff#9",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#13",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 180.0
+ },
+ {
+ "x": 30.0,
+ "y": 220.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#11",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#14",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 240.0
+ },
+ {
+ "x": 25.0,
+ "y": 190.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "dff#10",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#15",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 200.0
+ },
+ {
+ "x": 20.0,
+ "y": 250.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#16",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#0",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#17",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#18",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#3",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "dff#3",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#2",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 70.0
+ },
+ {
+ "x": 30.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#20",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#6",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#22",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#7",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#24",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#8",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#25",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#26",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#15",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#12",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#2",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O12"
+ },
+ "name": "unnamedWire#3",
+ "path": [
+ {
+ "x": 35.0,
+ "y": 70.0
+ },
+ {
+ "x": 35.0,
+ "y": 80.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#11",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#30",
+ "path": [
+ {
+ "x": 75.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#10",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "name": "unnamedWire#31",
+ "path": [
+ {
+ "x": 120.0,
+ "y": 240.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#9",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#32",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#14",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#34",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#35",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#13",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#36",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#37",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#5",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#38",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#39",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "dff#6",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#4",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#4",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#40",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#41",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#2",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#42",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#43",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#1",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#44",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#45",
+ "path": [
+ {
+ "x": 75.0,
+ "y": 10.0
+ },
+ {
+ "x": 120.0,
+ "y": 10.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#46",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#48",
+ "path": [
+ {
+ "x": 10.0,
+ "y": 20.0
+ },
+ {
+ "x": 10.0,
+ "y": 25.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "dff#0",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#49",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 50.0
+ },
+ {
+ "x": 200.0,
+ "y": 20.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#4",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#5",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#1",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#50",
+ "path": [
+ {
+ "x": 195.0,
+ "y": 30.0
+ },
+ {
+ "x": 195.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "dff#3",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#51",
+ "path": [
+ {
+ "x": 190.0,
+ "y": 70.0
+ },
+ {
+ "x": 190.0,
+ "y": 50.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O12"
+ },
+ "pin2": {
+ "compName": "dff#2",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#52",
+ "path": [
+ {
+ "x": 185.0,
+ "y": 80.0
+ },
+ {
+ "x": 185.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "dff#6",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#53",
+ "path": [
+ {
+ "x": 180.0,
+ "y": 90.0
+ },
+ {
+ "x": 180.0,
+ "y": 80.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#4",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#54",
+ "path": [
+ {
+ "x": 175.0,
+ "y": 90.0
+ },
+ {
+ "x": 175.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "dff#7",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#55",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#5",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#56",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "dff#8",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#57",
+ "path": [
+ {
+ "x": 170.0,
+ "y": 130.0
+ },
+ {
+ "x": 170.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#13",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#58",
+ "path": [
+ {
+ "x": 175.0,
+ "y": 150.0
+ },
+ {
+ "x": 175.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "dff#15",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#59",
+ "path": [
+ {
+ "x": 180.0,
+ "y": 150.0
+ },
+ {
+ "x": 180.0,
+ "y": 170.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#7",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O9"
+ },
+ "name": "unnamedWire#6",
+ "path": [
+ {
+ "x": 65.0,
+ "y": 120.0
+ },
+ {
+ "x": 65.0,
+ "y": 110.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "dff#14",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#60",
+ "path": [
+ {
+ "x": 185.0,
+ "y": 160.0
+ },
+ {
+ "x": 185.0,
+ "y": 180.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "dff#12",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#61",
+ "path": [
+ {
+ "x": 190.0,
+ "y": 170.0
+ },
+ {
+ "x": 190.0,
+ "y": 200.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#9",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#62",
+ "path": [
+ {
+ "x": 195.0,
+ "y": 210.0
+ },
+ {
+ "x": 195.0,
+ "y": 180.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "dff#11",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#63",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 190.0
+ },
+ {
+ "x": 200.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#10",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#64",
+ "path": [
+ {
+ "x": 205.0,
+ "y": 240.0
+ },
+ {
+ "x": 205.0,
+ "y": 200.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O8"
+ },
+ "pin2": {
+ "compName": "dff#5",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#7",
+ "path": [
+ {
+ "x": 60.0,
+ "y": 120.0
+ },
+ {
+ "x": 60.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#8",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#8",
+ "path": [
+ {
+ "x": 55.0,
+ "y": 150.0
+ },
+ {
+ "x": 55.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "dff#13",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#9",
+ "path": [
+ {
+ "x": 50.0,
+ "y": 140.0
+ },
+ {
+ "x": 50.0,
+ "y": 160.0
+ }
+ ]
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "simpleRectangularLike",
+ "symbolRendererParams": {
+ "centerText": "D flip flop\n16 bit",
+ "centerTextHeight": 5.0,
+ "horizontalComponentCenter": 30.0,
+ "pinLabelHeight": 3.5,
+ "pinLabelMargin": 0.5
+ },
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {},
+ "atomicHighLevelStates": {
+ "q": {
+ "id": "bitVectorSplitting",
+ "params": {
+ "vectorPartTargets": [
+ "q16",
+ "q15",
+ "q14",
+ "q13",
+ "q12",
+ "q11",
+ "q10",
+ "q9",
+ "q8",
+ "q7",
+ "q6",
+ "q5",
+ "q4",
+ "q3",
+ "q2",
+ "q1"
+ ],
+ "vectorPartLengthes": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ }
+ },
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#10",
+ "subStateID": "q"
+ }
+ },
+ "q10": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#7",
+ "subStateID": "q"
+ }
+ },
+ "q11": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#4",
+ "subStateID": "q"
+ }
+ },
+ "q12": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#6",
+ "subStateID": "q"
+ }
+ },
+ "q13": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#2",
+ "subStateID": "q"
+ }
+ },
+ "q14": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#3",
+ "subStateID": "q"
+ }
+ },
+ "q15": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#1",
+ "subStateID": "q"
+ }
+ },
+ "q16": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#0",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#11",
+ "subStateID": "q"
+ }
+ },
+ "q3": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#9",
+ "subStateID": "q"
+ }
+ },
+ "q4": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#12",
+ "subStateID": "q"
+ }
+ },
+ "q5": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#14",
+ "subStateID": "q"
+ }
+ },
+ "q6": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#15",
+ "subStateID": "q"
+ }
+ },
+ "q7": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#13",
+ "subStateID": "q"
+ }
+ },
+ "q8": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#8",
+ "subStateID": "q"
+ }
+ },
+ "q9": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#5",
+ "subStateID": "q"
+ }
+ }
+ }
+ },
+ "version": "0.1.5"
+}
\ No newline at end of file
"submodel": {
"components": [
{
- "id": "dff",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 140.0,
- "y": 15.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 190.0,
- "y": 25.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#10",
- "pos": {
- "x": 190.0,
- "y": 235.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#11",
- "pos": {
- "x": 140.0,
- "y": 225.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#12",
- "pos": {
- "x": 140.0,
- "y": 195.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#13",
- "pos": {
- "x": 190.0,
- "y": 145.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#14",
- "pos": {
- "x": 190.0,
- "y": 175.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#15",
- "pos": {
- "x": 140.0,
- "y": 165.0
- }
- },
- {
- "id": "mux1_16",
- "name": "DeserializedSubmodelComponent#16",
- "pos": {
- "x": 15.0,
- "y": 95.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 190.0,
- "y": 55.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#3",
- "pos": {
- "x": 140.0,
- "y": 45.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#4",
- "pos": {
- "x": 190.0,
- "y": 85.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#5",
- "pos": {
- "x": 190.0,
- "y": 115.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#6",
- "pos": {
- "x": 140.0,
- "y": 75.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#7",
- "pos": {
- "x": 140.0,
- "y": 105.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#8",
- "pos": {
- "x": 140.0,
- "y": 135.0
- }
- },
- {
- "id": "dff",
- "name": "DeserializedSubmodelComponent#9",
+ "id": "Splitter",
+ "name": "Splitter#0",
"pos": {
- "x": 190.0,
- "y": 205.0
+ "x": 75.0,
+ "y": 70.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT"
}
},
{
- "id": "Merger",
- "name": "Merger#0",
+ "id": "Splitter",
+ "name": "Splitter#1",
"pos": {
"x": 275.0,
"y": 50.0
},
- "params": 16
- },
- {
- "id": "Splitter",
- "name": "Splitter#0",
- "pos": {
- "x": 75.0,
- "y": 70.0
- },
- "params": 16
+ "params": {
+ "logicWidth": 16,
+ "orientation": "LEFT"
+ }
},
{
"id": "WireCrossPoint",
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#10",
- "pos": {
- "x": 184.0,
- "y": 29.0
- },
- "params": 1
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
"pos": {
"x": 184.0,
"y": 119.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "name": "WireCrossPoint#11",
"pos": {
"x": 184.0,
"y": 209.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#13",
+ "name": "WireCrossPoint#12",
"pos": {
"x": 184.0,
"y": 89.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "name": "WireCrossPoint#13",
"pos": {
"x": 184.0,
"y": 149.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#15",
+ "name": "WireCrossPoint#14",
"pos": {
"x": 184.0,
"y": 179.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#5",
+ "name": "WireCrossPoint#4",
"pos": {
"x": 134.0,
"y": 169.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#6",
+ "name": "WireCrossPoint#5",
"pos": {
"x": 134.0,
"y": 199.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#7",
+ "name": "WireCrossPoint#6",
"pos": {
"x": 134.0,
"y": 139.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#8",
+ "name": "WireCrossPoint#7",
"pos": {
"x": 289.0,
"y": 124.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#9",
+ "name": "WireCrossPoint#8",
"pos": {
"x": 184.0,
"y": 59.0
},
"params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 184.0,
+ "y": 29.0
+ },
+ "params": 1
+ },
+ {
+ "id": "dff",
+ "name": "dff#0",
+ "pos": {
+ "x": 140.0,
+ "y": 15.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#1",
+ "pos": {
+ "x": 190.0,
+ "y": 25.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#10",
+ "pos": {
+ "x": 190.0,
+ "y": 235.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#11",
+ "pos": {
+ "x": 140.0,
+ "y": 225.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#12",
+ "pos": {
+ "x": 140.0,
+ "y": 195.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#13",
+ "pos": {
+ "x": 190.0,
+ "y": 145.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#14",
+ "pos": {
+ "x": 190.0,
+ "y": 175.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#15",
+ "pos": {
+ "x": 140.0,
+ "y": 165.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#2",
+ "pos": {
+ "x": 190.0,
+ "y": 55.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#3",
+ "pos": {
+ "x": 140.0,
+ "y": 45.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#4",
+ "pos": {
+ "x": 190.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#5",
+ "pos": {
+ "x": 190.0,
+ "y": 115.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#6",
+ "pos": {
+ "x": 140.0,
+ "y": 75.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#7",
+ "pos": {
+ "x": 140.0,
+ "y": 105.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#8",
+ "pos": {
+ "x": 140.0,
+ "y": 135.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#9",
+ "pos": {
+ "x": 190.0,
+ "y": 205.0
+ }
+ },
+ {
+ "id": "mux1_16",
+ "name": "mux1_16#0",
+ "pos": {
+ "x": 15.0,
+ "y": 95.0
+ }
}
],
"wires": [
"pinName": "O15"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "dff#0",
"pinName": "D"
},
"name": "unnamedWire#0",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "dff#1",
"pinName": "D"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "dff#15",
"pinName": "D"
},
"pin2": {
"pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "dff#14",
"pinName": "D"
},
"name": "unnamedWire#11",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "dff#12",
"pinName": "D"
},
"pin2": {
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "dff#9",
"pinName": "D"
},
"name": "unnamedWire#13",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "dff#11",
"pinName": "D"
},
"pin2": {
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "dff#10",
"pinName": "D"
},
"name": "unnamedWire#15",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux1_16#0",
"pinName": "Y"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "dff#0",
"pinName": "C"
},
"name": "unnamedWire#17",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "dff#3",
"pinName": "C"
},
"name": "unnamedWire#19",
"pinName": "O13"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "dff#3",
"pinName": "D"
},
"name": "unnamedWire#2",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "dff#6",
"pinName": "C"
},
"name": "unnamedWire#21",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "dff#7",
"pinName": "C"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"name": "unnamedWire#24",
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "dff#8",
"pinName": "C"
},
"name": "unnamedWire#25",
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"name": "unnamedWire#26",
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "dff#15",
"pinName": "C"
},
"name": "unnamedWire#27",
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"name": "unnamedWire#28",
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "dff#12",
"pinName": "C"
},
"name": "unnamedWire#29",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "dff#2",
"pinName": "D"
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "dff#11",
"pinName": "C"
},
"name": "unnamedWire#30",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "dff#10",
"pinName": "C"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"name": "unnamedWire#31",
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "dff#9",
"pinName": "C"
},
"name": "unnamedWire#32",
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"name": "unnamedWire#33",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "dff#14",
"pinName": "C"
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"name": "unnamedWire#34",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"name": "unnamedWire#35",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "dff#13",
"pinName": "C"
},
"name": "unnamedWire#36",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"name": "unnamedWire#37",
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "dff#5",
"pinName": "C"
},
"name": "unnamedWire#38",
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"name": "unnamedWire#39",
"pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "dff#6",
"pinName": "D"
},
"name": "unnamedWire#4",
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "dff#4",
"pinName": "C"
},
"name": "unnamedWire#40",
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"name": "unnamedWire#41",
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "dff#2",
"pinName": "C"
},
"name": "unnamedWire#42",
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"name": "unnamedWire#43",
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "dff#1",
"pinName": "C"
},
"name": "unnamedWire#44",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"name": "unnamedWire#45",
"pinName": "_WE"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux1_16#0",
"pinName": "S"
},
"name": "unnamedWire#47",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I15"
+ "compName": "Splitter#1",
+ "pinName": "O15"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "dff#0",
"pinName": "Q"
},
"name": "unnamedWire#49",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "dff#4",
"pinName": "D"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "dff#1",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I14"
+ "compName": "Splitter#1",
+ "pinName": "O14"
},
"name": "unnamedWire#50",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I13"
+ "compName": "Splitter#1",
+ "pinName": "O13"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "dff#3",
"pinName": "Q"
},
"name": "unnamedWire#51",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I12"
+ "compName": "Splitter#1",
+ "pinName": "O12"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "dff#2",
"pinName": "Q"
},
"name": "unnamedWire#52",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I11"
+ "compName": "Splitter#1",
+ "pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "dff#6",
"pinName": "Q"
},
"name": "unnamedWire#53",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "dff#4",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I10"
+ "compName": "Splitter#1",
+ "pinName": "O10"
},
"name": "unnamedWire#54",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I9"
+ "compName": "Splitter#1",
+ "pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "dff#7",
"pinName": "Q"
},
"name": "unnamedWire#55",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "dff#5",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I8"
+ "compName": "Splitter#1",
+ "pinName": "O8"
},
"name": "unnamedWire#56",
"path": []
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I7"
+ "compName": "Splitter#1",
+ "pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "dff#8",
"pinName": "Q"
},
"name": "unnamedWire#57",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "dff#13",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I6"
+ "compName": "Splitter#1",
+ "pinName": "O6"
},
"name": "unnamedWire#58",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I5"
+ "compName": "Splitter#1",
+ "pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "dff#15",
"pinName": "Q"
},
"name": "unnamedWire#59",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "dff#7",
"pinName": "D"
},
"pin2": {
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I4"
+ "compName": "Splitter#1",
+ "pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "dff#14",
"pinName": "Q"
},
"name": "unnamedWire#60",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#1",
+ "pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "dff#12",
"pinName": "Q"
},
"name": "unnamedWire#61",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "dff#9",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#1",
+ "pinName": "O2"
},
"name": "unnamedWire#62",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#1",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "dff#11",
"pinName": "Q"
},
"name": "unnamedWire#63",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "dff#10",
"pinName": "Q"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#1",
+ "pinName": "O0"
},
"name": "unnamedWire#64",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "O"
+ "compName": "Splitter#1",
+ "pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"name": "unnamedWire#65",
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux1_16#0",
"pinName": "I1"
},
"name": "unnamedWire#67",
"pinName": "D"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
+ "compName": "mux1_16#0",
"pinName": "I0"
},
"name": "unnamedWire#68",
"pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "dff#5",
"pinName": "D"
},
"name": "unnamedWire#7",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "dff#8",
"pinName": "D"
},
"pin2": {
"pinName": "O6"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "dff#13",
"pinName": "D"
},
"name": "unnamedWire#9",
"pinLabelMargin": 0.5
},
"outlineRendererSnippetID": "default",
- "highLevelStateHandlerSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {},
+ "atomicHighLevelStates": {
+ "q": {
+ "id": "bitVectorSplitting",
+ "params": {
+ "vectorPartTargets": [
+ "q16",
+ "q15",
+ "q14",
+ "q13",
+ "q12",
+ "q11",
+ "q10",
+ "q9",
+ "q8",
+ "q7",
+ "q6",
+ "q5",
+ "q4",
+ "q3",
+ "q2",
+ "q1"
+ ],
+ "vectorPartLengthes": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ }
+ },
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#10",
+ "subStateID": "q"
+ }
+ },
+ "q10": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#7",
+ "subStateID": "q"
+ }
+ },
+ "q11": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#4",
+ "subStateID": "q"
+ }
+ },
+ "q12": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#6",
+ "subStateID": "q"
+ }
+ },
+ "q13": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#2",
+ "subStateID": "q"
+ }
+ },
+ "q14": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#3",
+ "subStateID": "q"
+ }
+ },
+ "q15": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#1",
+ "subStateID": "q"
+ }
+ },
+ "q16": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#0",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#11",
+ "subStateID": "q"
+ }
+ },
+ "q3": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#9",
+ "subStateID": "q"
+ }
+ },
+ "q4": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#12",
+ "subStateID": "q"
+ }
+ },
+ "q5": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#14",
+ "subStateID": "q"
+ }
+ },
+ "q6": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#15",
+ "subStateID": "q"
+ }
+ },
+ "q7": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#13",
+ "subStateID": "q"
+ }
+ },
+ "q8": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#8",
+ "subStateID": "q"
+ }
+ },
+ "q9": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#5",
+ "subStateID": "q"
+ }
+ }
+ }
+ },
"version": "0.1.5"
}
\ No newline at end of file
--- /dev/null
+{
+ "width": 60.0,
+ "height": 60.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 0.0,
+ "y": 5.0
+ },
+ "name": "C",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 35.0
+ },
+ "name": "D",
+ "logicWidth": 16,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 25.0
+ },
+ "name": "Q",
+ "logicWidth": 16,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 20.0
+ },
+ "name": "WE",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ }
+ ],
+ "innerScale": 0.2,
+ "submodel": {
+ "components": [
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 75.0,
+ "y": 70.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 275.0,
+ "y": 50.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 134.0,
+ "y": 19.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 134.0,
+ "y": 49.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
+ "pos": {
+ "x": 184.0,
+ "y": 119.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
+ "pos": {
+ "x": 184.0,
+ "y": 209.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
+ "pos": {
+ "x": 184.0,
+ "y": 89.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#13",
+ "pos": {
+ "x": 184.0,
+ "y": 149.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#14",
+ "pos": {
+ "x": 184.0,
+ "y": 179.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 134.0,
+ "y": 79.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 134.0,
+ "y": 109.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 134.0,
+ "y": 169.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 134.0,
+ "y": 199.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 134.0,
+ "y": 139.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 289.0,
+ "y": 124.0
+ },
+ "params": 16
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#8",
+ "pos": {
+ "x": 184.0,
+ "y": 59.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 184.0,
+ "y": 29.0
+ },
+ "params": 1
+ },
+ {
+ "id": "dff",
+ "name": "dff#0",
+ "pos": {
+ "x": 140.0,
+ "y": 15.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#1",
+ "pos": {
+ "x": 190.0,
+ "y": 25.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#10",
+ "pos": {
+ "x": 190.0,
+ "y": 235.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#11",
+ "pos": {
+ "x": 140.0,
+ "y": 225.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#12",
+ "pos": {
+ "x": 140.0,
+ "y": 195.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#13",
+ "pos": {
+ "x": 190.0,
+ "y": 145.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#14",
+ "pos": {
+ "x": 190.0,
+ "y": 175.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#15",
+ "pos": {
+ "x": 140.0,
+ "y": 165.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#2",
+ "pos": {
+ "x": 190.0,
+ "y": 55.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#3",
+ "pos": {
+ "x": 140.0,
+ "y": 45.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#4",
+ "pos": {
+ "x": 190.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#5",
+ "pos": {
+ "x": 190.0,
+ "y": 115.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#6",
+ "pos": {
+ "x": 140.0,
+ "y": 75.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#7",
+ "pos": {
+ "x": 140.0,
+ "y": 105.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#8",
+ "pos": {
+ "x": 140.0,
+ "y": 135.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#9",
+ "pos": {
+ "x": 190.0,
+ "y": 205.0
+ }
+ },
+ {
+ "id": "mux1_16",
+ "name": "mux1_16#0",
+ "pos": {
+ "x": 15.0,
+ "y": 95.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "dff#0",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#0",
+ "path": [
+ {
+ "x": 90.0,
+ "y": 70.0
+ },
+ {
+ "x": 90.0,
+ "y": 30.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#1",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#1",
+ "path": [
+ {
+ "x": 95.0,
+ "y": 40.0
+ },
+ {
+ "x": 95.0,
+ "y": 80.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#15",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#10",
+ "path": [
+ {
+ "x": 120.0,
+ "y": 180.0
+ },
+ {
+ "x": 120.0,
+ "y": 170.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "dff#14",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#11",
+ "path": [
+ {
+ "x": 115.0,
+ "y": 180.0
+ },
+ {
+ "x": 115.0,
+ "y": 190.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#12",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#12",
+ "path": [
+ {
+ "x": 110.0,
+ "y": 210.0
+ },
+ {
+ "x": 110.0,
+ "y": 190.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "dff#9",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#13",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 200.0
+ },
+ {
+ "x": 105.0,
+ "y": 220.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#11",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#14",
+ "path": [
+ {
+ "x": 100.0,
+ "y": 240.0
+ },
+ {
+ "x": 100.0,
+ "y": 210.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "dff#10",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#15",
+ "path": [
+ {
+ "x": 95.0,
+ "y": 220.0
+ },
+ {
+ "x": 95.0,
+ "y": 250.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "mux1_16#0",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#16",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#0",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#17",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#18",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#3",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "dff#3",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#2",
+ "path": [
+ {
+ "x": 100.0,
+ "y": 90.0
+ },
+ {
+ "x": 100.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#20",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#6",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#22",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#7",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#24",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#8",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#25",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#26",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#15",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#12",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#2",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O12"
+ },
+ "name": "unnamedWire#3",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 70.0
+ },
+ {
+ "x": 105.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#11",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#30",
+ "path": [
+ {
+ "x": 135.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#10",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "name": "unnamedWire#31",
+ "path": [
+ {
+ "x": 185.0,
+ "y": 240.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#9",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#32",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#14",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#34",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#35",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#13",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#36",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#37",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#5",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#38",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#39",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "dff#6",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#4",
+ "path": [
+ {
+ "x": 110.0,
+ "y": 110.0
+ },
+ {
+ "x": 110.0,
+ "y": 90.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#4",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#40",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#41",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#2",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#42",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#43",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#1",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#44",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#45",
+ "path": [
+ {
+ "x": 135.0,
+ "y": 10.0
+ },
+ {
+ "x": 185.0,
+ "y": 10.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "WE"
+ },
+ "pin2": {
+ "compName": "mux1_16#0",
+ "pinName": "S"
+ },
+ "name": "unnamedWire#47",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#48",
+ "path": [
+ {
+ "x": 35.0,
+ "y": 20.0
+ },
+ {
+ "x": 35.0,
+ "y": 25.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "dff#0",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#49",
+ "path": [
+ {
+ "x": 265.0,
+ "y": 50.0
+ },
+ {
+ "x": 265.0,
+ "y": 20.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#4",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#5",
+ "path": [
+ {
+ "x": 115.0,
+ "y": 100.0
+ },
+ {
+ "x": 115.0,
+ "y": 120.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#1",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#50",
+ "path": [
+ {
+ "x": 260.0,
+ "y": 30.0
+ },
+ {
+ "x": 260.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "dff#3",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#51",
+ "path": [
+ {
+ "x": 255.0,
+ "y": 70.0
+ },
+ {
+ "x": 255.0,
+ "y": 50.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O12"
+ },
+ "pin2": {
+ "compName": "dff#2",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#52",
+ "path": [
+ {
+ "x": 250.0,
+ "y": 80.0
+ },
+ {
+ "x": 250.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "dff#6",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#53",
+ "path": [
+ {
+ "x": 245.0,
+ "y": 90.0
+ },
+ {
+ "x": 245.0,
+ "y": 80.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#4",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#54",
+ "path": [
+ {
+ "x": 240.0,
+ "y": 90.0
+ },
+ {
+ "x": 240.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "dff#7",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#55",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#5",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#56",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "dff#8",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#57",
+ "path": [
+ {
+ "x": 235.0,
+ "y": 130.0
+ },
+ {
+ "x": 235.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#13",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#58",
+ "path": [
+ {
+ "x": 240.0,
+ "y": 150.0
+ },
+ {
+ "x": 240.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "dff#15",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#59",
+ "path": [
+ {
+ "x": 245.0,
+ "y": 150.0
+ },
+ {
+ "x": 245.0,
+ "y": 170.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#7",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O9"
+ },
+ "name": "unnamedWire#6",
+ "path": [
+ {
+ "x": 120.0,
+ "y": 120.0
+ },
+ {
+ "x": 120.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "dff#14",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#60",
+ "path": [
+ {
+ "x": 250.0,
+ "y": 160.0
+ },
+ {
+ "x": 250.0,
+ "y": 180.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "dff#12",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#61",
+ "path": [
+ {
+ "x": 255.0,
+ "y": 170.0
+ },
+ {
+ "x": 255.0,
+ "y": 200.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#9",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#62",
+ "path": [
+ {
+ "x": 260.0,
+ "y": 210.0
+ },
+ {
+ "x": 260.0,
+ "y": 180.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "dff#11",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#63",
+ "path": [
+ {
+ "x": 265.0,
+ "y": 190.0
+ },
+ {
+ "x": 265.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#10",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#64",
+ "path": [
+ {
+ "x": 270.0,
+ "y": 240.0
+ },
+ {
+ "x": 270.0,
+ "y": 200.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#65",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#66",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "mux1_16#0",
+ "pinName": "I0"
+ },
+ "name": "unnamedWire#67",
+ "path": [
+ {
+ "x": 290.0,
+ "y": 275.0
+ },
+ {
+ "x": 10.0,
+ "y": 275.0
+ },
+ {
+ "x": 10.0,
+ "y": 120.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "mux1_16#0",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#68",
+ "path": [
+ {
+ "x": 5.0,
+ "y": 175.0
+ },
+ {
+ "x": 5.0,
+ "y": 185.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O8"
+ },
+ "pin2": {
+ "compName": "dff#5",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#7",
+ "path": [
+ {
+ "x": 125.0,
+ "y": 140.0
+ },
+ {
+ "x": 125.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#8",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#8",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "dff#13",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#9",
+ "path": []
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "simpleRectangularLike",
+ "symbolRendererParams": {
+ "centerText": "D flip flop\n16 bit",
+ "centerTextHeight": 5.0,
+ "horizontalComponentCenter": 30.0,
+ "pinLabelHeight": 3.5,
+ "pinLabelMargin": 0.5
+ },
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {},
+ "atomicHighLevelStates": {
+ "q": {
+ "id": "bitVectorSplitting",
+ "params": {
+ "vectorPartTargets": [
+ "q16",
+ "q15",
+ "q14",
+ "q13",
+ "q12",
+ "q11",
+ "q10",
+ "q9",
+ "q8",
+ "q7",
+ "q6",
+ "q5",
+ "q4",
+ "q3",
+ "q2",
+ "q1"
+ ],
+ "vectorPartLengthes": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ }
+ },
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#10",
+ "subStateID": "q"
+ }
+ },
+ "q10": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#7",
+ "subStateID": "q"
+ }
+ },
+ "q11": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#4",
+ "subStateID": "q"
+ }
+ },
+ "q12": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#6",
+ "subStateID": "q"
+ }
+ },
+ "q13": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#2",
+ "subStateID": "q"
+ }
+ },
+ "q14": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#3",
+ "subStateID": "q"
+ }
+ },
+ "q15": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#1",
+ "subStateID": "q"
+ }
+ },
+ "q16": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#0",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#11",
+ "subStateID": "q"
+ }
+ },
+ "q3": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#9",
+ "subStateID": "q"
+ }
+ },
+ "q4": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#12",
+ "subStateID": "q"
+ }
+ },
+ "q5": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#14",
+ "subStateID": "q"
+ }
+ },
+ "q6": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#15",
+ "subStateID": "q"
+ }
+ },
+ "q7": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#13",
+ "subStateID": "q"
+ }
+ },
+ "q8": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#8",
+ "subStateID": "q"
+ }
+ },
+ "q9": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#5",
+ "subStateID": "q"
+ }
+ }
+ }
+ },
+ "version": "0.1.5"
+}
\ No newline at end of file
"innerScale": 0.2,
"submodel": {
"components": [
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 55.0,
- "y": 70.0
- }
- },
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"x": 115.0,
"y": 170.0
}
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#0",
+ "pos": {
+ "x": 55.0,
+ "y": 70.0
+ }
}
],
"wires": [
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y1"
},
"pin2": {
"pinName": "D1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_1"
},
"name": "unnamedWire#10",
"pinName": "D2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_2"
},
"name": "unnamedWire#11",
"pinName": "D3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_3"
},
"name": "unnamedWire#12",
"pinName": "D4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_4"
},
"name": "unnamedWire#17",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y2"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y3"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y4"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_1"
},
"name": "unnamedWire#24",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_2"
},
"name": "unnamedWire#25",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_3"
},
"name": "unnamedWire#26",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_4"
},
"name": "unnamedWire#28",
"pinName": "WE"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "S0"
},
"name": "unnamedWire#9",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
- "q1": {
- "id": "delegating",
- "params": {
- "delegateTarget": "dff#0",
- "subStateID": "q"
- }
- },
- "q2": {
- "id": "delegating",
- "params": {
- "delegateTarget": "dff#1",
- "subStateID": "q"
- }
- },
"q": {
"id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
- "q1",
- "q2",
+ "q4",
"q3",
- "q4"
+ "q2",
+ "q1"
],
"vectorPartLengthes": [
1,
]
}
},
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#0",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#1",
+ "subStateID": "q"
+ }
+ },
"q3": {
"id": "delegating",
"params": {
"innerScale": 0.2,
"submodel": {
"components": [
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 55.0,
- "y": 70.0
- }
- },
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"x": 115.0,
"y": 170.0
}
+ },
+ {
+ "id": "mux1_4",
+ "name": "mux1_4#0",
+ "pos": {
+ "x": 55.0,
+ "y": 70.0
+ }
}
],
"wires": [
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y1"
},
"pin2": {
"pinName": "D1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_1"
},
"name": "unnamedWire#10",
"pinName": "D2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_2"
},
"name": "unnamedWire#11",
"pinName": "D3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_3"
},
"name": "unnamedWire#12",
"pinName": "D4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I0_4"
},
"name": "unnamedWire#17",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y2"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y3"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "Y4"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_1"
},
"name": "unnamedWire#24",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_2"
},
"name": "unnamedWire#25",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_3"
},
"name": "unnamedWire#26",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "I1_4"
},
"name": "unnamedWire#28",
"pinName": "_WE"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux1_4#0",
"pinName": "S0"
},
"name": "unnamedWire#9",
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
- "q1": {
- "id": "delegating",
- "params": {
- "delegateTarget": "dff#0",
- "subStateID": "q"
- }
- },
- "q2": {
- "id": "delegating",
- "params": {
- "delegateTarget": "dff#1",
- "subStateID": "q"
- }
- },
"q": {
"id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
- "q1",
- "q2",
+ "q4",
"q3",
- "q4"
+ "q2",
+ "q1"
],
"vectorPartLengthes": [
1,
]
}
},
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#0",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#1",
+ "subStateID": "q"
+ }
+ },
"q3": {
"id": "delegating",
"params": {
--- /dev/null
+{
+ "width": 35.0,
+ "height": 30.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 0.0,
+ "y": 5.0
+ },
+ "name": "C",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 15.0
+ },
+ "name": "D",
+ "logicWidth": 8,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 35.0,
+ "y": 15.0
+ },
+ "name": "Q",
+ "logicWidth": 8,
+ "usage": "TRISTATE"
+ }
+ ],
+ "innerScale": 0.2,
+ "submodel": {
+ "components": [
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 5.0,
+ "y": 40.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 160.0,
+ "y": 40.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 39.0,
+ "y": 14.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
+ "pos": {
+ "x": 89.0,
+ "y": 54.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 39.0,
+ "y": 44.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 39.0,
+ "y": 74.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 89.0,
+ "y": 84.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 89.0,
+ "y": 24.0
+ },
+ "params": 1
+ },
+ {
+ "id": "dff",
+ "name": "dff#10",
+ "pos": {
+ "x": 95.0,
+ "y": 50.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#11",
+ "pos": {
+ "x": 45.0,
+ "y": 40.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#4",
+ "pos": {
+ "x": 45.0,
+ "y": 10.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#5",
+ "pos": {
+ "x": 95.0,
+ "y": 80.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#6",
+ "pos": {
+ "x": 95.0,
+ "y": 110.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#7",
+ "pos": {
+ "x": 45.0,
+ "y": 100.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#8",
+ "pos": {
+ "x": 45.0,
+ "y": 70.0
+ }
+ },
+ {
+ "id": "dff",
+ "name": "dff#9",
+ "pos": {
+ "x": 95.0,
+ "y": 20.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#0",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 5.0
+ },
+ {
+ "x": 90.0,
+ "y": 5.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#1",
+ "path": [
+ {
+ "x": 10.0,
+ "y": 15.0
+ },
+ {
+ "x": 10.0,
+ "y": 25.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#11",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#10",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 55.0
+ },
+ {
+ "x": 25.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "dff#10",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#11",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 70.0
+ },
+ {
+ "x": 25.0,
+ "y": 65.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#8",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#12",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 85.0
+ },
+ {
+ "x": 25.0,
+ "y": 80.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "dff#5",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#13",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 90.0
+ },
+ {
+ "x": 25.0,
+ "y": 95.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#7",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#14",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 115.0
+ },
+ {
+ "x": 25.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "dff#6",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#15",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 110.0
+ },
+ {
+ "x": 20.0,
+ "y": 125.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#2",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#11",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#8",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#3",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#7",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#30",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 105.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#6",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#31",
+ "path": [
+ {
+ "x": 90.0,
+ "y": 115.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#5",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#32",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff#10",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#34",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#35",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#9",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#36",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#4",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff#4",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#5",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "dff#4",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#57",
+ "path": [
+ {
+ "x": 155.0,
+ "y": 40.0
+ },
+ {
+ "x": 155.0,
+ "y": 15.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#9",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#58",
+ "path": [
+ {
+ "x": 150.0,
+ "y": 25.0
+ },
+ {
+ "x": 150.0,
+ "y": 50.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "dff#11",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#59",
+ "path": [
+ {
+ "x": 145.0,
+ "y": 60.0
+ },
+ {
+ "x": 145.0,
+ "y": 45.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "dff#10",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#60",
+ "path": [
+ {
+ "x": 140.0,
+ "y": 70.0
+ },
+ {
+ "x": 140.0,
+ "y": 55.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "dff#8",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#61",
+ "path": [
+ {
+ "x": 140.0,
+ "y": 80.0
+ },
+ {
+ "x": 140.0,
+ "y": 75.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#5",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#62",
+ "path": [
+ {
+ "x": 140.0,
+ "y": 85.0
+ },
+ {
+ "x": 140.0,
+ "y": 90.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "dff#7",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#63",
+ "path": [
+ {
+ "x": 140.0,
+ "y": 100.0
+ },
+ {
+ "x": 140.0,
+ "y": 105.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#6",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#64",
+ "path": [
+ {
+ "x": 140.0,
+ "y": 115.0
+ },
+ {
+ "x": 140.0,
+ "y": 110.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "dff#4",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#8",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 25.0
+ },
+ {
+ "x": 20.0,
+ "y": 40.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "dff#9",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#9",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 50.0
+ },
+ {
+ "x": 25.0,
+ "y": 35.0
+ }
+ ]
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "simpleRectangularLike",
+ "symbolRendererParams": {
+ "centerText": "D flip flop\n8 bit",
+ "centerTextHeight": 5.0,
+ "horizontalComponentCenter": 30.0,
+ "pinLabelHeight": 3.5,
+ "pinLabelMargin": 0.5
+ },
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {},
+ "atomicHighLevelStates": {
+ "q": {
+ "id": "bitVectorSplitting",
+ "params": {
+ "vectorPartTargets": [
+ "q8",
+ "q7",
+ "q6",
+ "q5",
+ "q4",
+ "q3",
+ "q2",
+ "q1"
+ ],
+ "vectorPartLengthes": [
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1
+ ]
+ }
+ },
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#6",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#7",
+ "subStateID": "q"
+ }
+ },
+ "q3": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#5",
+ "subStateID": "q"
+ }
+ },
+ "q4": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#8",
+ "subStateID": "q"
+ }
+ },
+ "q5": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#10",
+ "subStateID": "q"
+ }
+ },
+ "q6": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#11",
+ "subStateID": "q"
+ }
+ },
+ "q7": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#9",
+ "subStateID": "q"
+ }
+ },
+ "q8": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff#4",
+ "subStateID": "q"
+ }
+ }
+ }
+ },
+ "version": "0.1.5"
+}
\ No newline at end of file
--- /dev/null
+{
+ "width": 25.0,
+ "height": 165.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 0.0,
+ "y": 5.0
+ },
+ "name": "C",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 85.0
+ },
+ "name": "D",
+ "logicWidth": 80,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 25.0,
+ "y": 85.0
+ },
+ "name": "Q",
+ "logicWidth": 80,
+ "usage": "OUTPUT"
+ }
+ ],
+ "innerScale": 0.2,
+ "submodel": {
+ "components": [
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 15.0,
+ "y": 30.0
+ },
+ "params": {
+ "logicWidth": 80,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 90.0,
+ "y": 750.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#10",
+ "pos": {
+ "x": 30.0,
+ "y": 670.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#11",
+ "pos": {
+ "x": 30.0,
+ "y": 750.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#12",
+ "pos": {
+ "x": 90.0,
+ "y": 510.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#13",
+ "pos": {
+ "x": 90.0,
+ "y": 590.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#14",
+ "pos": {
+ "x": 90.0,
+ "y": 110.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#15",
+ "pos": {
+ "x": 90.0,
+ "y": 430.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#16",
+ "pos": {
+ "x": 90.0,
+ "y": 190.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#17",
+ "pos": {
+ "x": 90.0,
+ "y": 350.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#18",
+ "pos": {
+ "x": 90.0,
+ "y": 270.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#19",
+ "pos": {
+ "x": 90.0,
+ "y": 670.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": 30.0,
+ "y": 30.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#20",
+ "pos": {
+ "x": 90.0,
+ "y": 30.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#21",
+ "pos": {
+ "x": 105.0,
+ "y": 30.0
+ },
+ "params": {
+ "logicWidth": 80,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#3",
+ "pos": {
+ "x": 30.0,
+ "y": 110.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#4",
+ "pos": {
+ "x": 30.0,
+ "y": 190.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#5",
+ "pos": {
+ "x": 30.0,
+ "y": 270.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#6",
+ "pos": {
+ "x": 30.0,
+ "y": 350.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#7",
+ "pos": {
+ "x": 30.0,
+ "y": 430.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#8",
+ "pos": {
+ "x": 30.0,
+ "y": 510.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#9",
+ "pos": {
+ "x": 30.0,
+ "y": 590.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 44.0,
+ "y": 54.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 44.0,
+ "y": 134.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 44.0,
+ "y": 214.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 44.0,
+ "y": 294.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 44.0,
+ "y": 454.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 44.0,
+ "y": 374.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 44.0,
+ "y": 614.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 44.0,
+ "y": 534.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#8",
+ "pos": {
+ "x": 44.0,
+ "y": 694.0
+ },
+ "params": 1
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#0",
+ "pos": {
+ "x": 50.0,
+ "y": 770.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#1",
+ "pos": {
+ "x": 50.0,
+ "y": 690.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#2",
+ "pos": {
+ "x": 50.0,
+ "y": 610.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#3",
+ "pos": {
+ "x": 50.0,
+ "y": 530.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#4",
+ "pos": {
+ "x": 50.0,
+ "y": 450.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#5",
+ "pos": {
+ "x": 50.0,
+ "y": 370.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#6",
+ "pos": {
+ "x": 50.0,
+ "y": 290.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#7",
+ "pos": {
+ "x": 50.0,
+ "y": 210.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#8",
+ "pos": {
+ "x": 50.0,
+ "y": 130.0
+ }
+ },
+ {
+ "id": "dff8",
+ "name": "dff8#9",
+ "pos": {
+ "x": 50.0,
+ "y": 50.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O79"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#0",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O78"
+ },
+ "name": "unnamedWire#1",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O69"
+ },
+ "pin2": {
+ "compName": "Splitter#3",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#10",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O59"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#100",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O58"
+ },
+ "name": "unnamedWire#101",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O57"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#102",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O56"
+ },
+ "name": "unnamedWire#103",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O55"
+ },
+ "pin2": {
+ "compName": "Splitter#18",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#104",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O54"
+ },
+ "name": "unnamedWire#105",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O53"
+ },
+ "pin2": {
+ "compName": "Splitter#18",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#106",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O52"
+ },
+ "name": "unnamedWire#107",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O51"
+ },
+ "pin2": {
+ "compName": "Splitter#18",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#108",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O50"
+ },
+ "name": "unnamedWire#109",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#3",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O68"
+ },
+ "name": "unnamedWire#11",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O49"
+ },
+ "pin2": {
+ "compName": "Splitter#18",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#110",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O48"
+ },
+ "name": "unnamedWire#111",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O47"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#112",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O46"
+ },
+ "name": "unnamedWire#113",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O45"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#114",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O44"
+ },
+ "name": "unnamedWire#115",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O43"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#116",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O42"
+ },
+ "name": "unnamedWire#117",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O41"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#118",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#17",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O40"
+ },
+ "name": "unnamedWire#119",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O67"
+ },
+ "pin2": {
+ "compName": "Splitter#3",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#12",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O39"
+ },
+ "pin2": {
+ "compName": "Splitter#15",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#120",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#15",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O38"
+ },
+ "name": "unnamedWire#121",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O37"
+ },
+ "pin2": {
+ "compName": "Splitter#15",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#122",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#15",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O36"
+ },
+ "name": "unnamedWire#123",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O35"
+ },
+ "pin2": {
+ "compName": "Splitter#15",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#124",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#15",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O34"
+ },
+ "name": "unnamedWire#125",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O33"
+ },
+ "pin2": {
+ "compName": "Splitter#15",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#126",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#15",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O32"
+ },
+ "name": "unnamedWire#127",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O31"
+ },
+ "pin2": {
+ "compName": "Splitter#12",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#128",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#12",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O30"
+ },
+ "name": "unnamedWire#129",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#3",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O66"
+ },
+ "name": "unnamedWire#13",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O29"
+ },
+ "pin2": {
+ "compName": "Splitter#12",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#130",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#12",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O28"
+ },
+ "name": "unnamedWire#131",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O27"
+ },
+ "pin2": {
+ "compName": "Splitter#12",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#132",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#12",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O26"
+ },
+ "name": "unnamedWire#133",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O25"
+ },
+ "pin2": {
+ "compName": "Splitter#12",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#134",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#12",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O24"
+ },
+ "name": "unnamedWire#135",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O23"
+ },
+ "pin2": {
+ "compName": "Splitter#13",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#136",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#13",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O22"
+ },
+ "name": "unnamedWire#137",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O21"
+ },
+ "pin2": {
+ "compName": "Splitter#13",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#138",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#13",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O20"
+ },
+ "name": "unnamedWire#139",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O65"
+ },
+ "pin2": {
+ "compName": "Splitter#3",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#14",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O19"
+ },
+ "pin2": {
+ "compName": "Splitter#13",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#140",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#13",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O18"
+ },
+ "name": "unnamedWire#141",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O17"
+ },
+ "pin2": {
+ "compName": "Splitter#13",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#142",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#13",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O16"
+ },
+ "name": "unnamedWire#143",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#144",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#145",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#146",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O12"
+ },
+ "name": "unnamedWire#147",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#148",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#149",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#3",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O64"
+ },
+ "name": "unnamedWire#15",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#150",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#19",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#151",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#152",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#153",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#154",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#155",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#156",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#157",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#158",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#159",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O63"
+ },
+ "pin2": {
+ "compName": "Splitter#4",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#16",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#9",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#160",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff8#9",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#161",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#3",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#8",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#162",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#4",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#7",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#163",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#5",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#6",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#164",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#6",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#5",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#165",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#7",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#4",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#166",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#8",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#3",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#167",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#9",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#2",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#168",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#10",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#1",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#169",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#4",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O62"
+ },
+ "name": "unnamedWire#17",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#11",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#0",
+ "pinName": "D"
+ },
+ "name": "unnamedWire#170",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#0",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#171",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff8#1",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#19",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#172",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#13",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#2",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#173",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff8#3",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#12",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#174",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#15",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#4",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#175",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff8#5",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#17",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#176",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#18",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#6",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#177",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "dff8#7",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#178",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#14",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "dff8#8",
+ "pinName": "Q"
+ },
+ "name": "unnamedWire#179",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O61"
+ },
+ "pin2": {
+ "compName": "Splitter#4",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#18",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "D"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#180",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#181",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "name": "unnamedWire#182",
+ "path": [
+ {
+ "x": 45.0,
+ "y": 25.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#9",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#183",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#8",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#184",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#185",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#186",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#7",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#187",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#188",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#6",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#189",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#4",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O60"
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#190",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#5",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#191",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#192",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#4",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#193",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#194",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#3",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#195",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#196",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#2",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#197",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#198",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#1",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#199",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O77"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#2",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O59"
+ },
+ "pin2": {
+ "compName": "Splitter#4",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#20",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "dff8#0",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#200",
+ "path": [
+ {
+ "x": 45.0,
+ "y": 775.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#4",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O58"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O57"
+ },
+ "pin2": {
+ "compName": "Splitter#4",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#22",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#4",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O56"
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O55"
+ },
+ "pin2": {
+ "compName": "Splitter#5",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#24",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#5",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O54"
+ },
+ "name": "unnamedWire#25",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O53"
+ },
+ "pin2": {
+ "compName": "Splitter#5",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#26",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#5",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O52"
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O51"
+ },
+ "pin2": {
+ "compName": "Splitter#5",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#5",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O50"
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O76"
+ },
+ "name": "unnamedWire#3",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O49"
+ },
+ "pin2": {
+ "compName": "Splitter#5",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#30",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#5",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O48"
+ },
+ "name": "unnamedWire#31",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O47"
+ },
+ "pin2": {
+ "compName": "Splitter#6",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#32",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#6",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O46"
+ },
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O45"
+ },
+ "pin2": {
+ "compName": "Splitter#6",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#34",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#6",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O44"
+ },
+ "name": "unnamedWire#35",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O43"
+ },
+ "pin2": {
+ "compName": "Splitter#6",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#36",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#6",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O42"
+ },
+ "name": "unnamedWire#37",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O41"
+ },
+ "pin2": {
+ "compName": "Splitter#6",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#38",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#6",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O40"
+ },
+ "name": "unnamedWire#39",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O75"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#4",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O39"
+ },
+ "pin2": {
+ "compName": "Splitter#7",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#40",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#7",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O38"
+ },
+ "name": "unnamedWire#41",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O37"
+ },
+ "pin2": {
+ "compName": "Splitter#7",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#42",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#7",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O36"
+ },
+ "name": "unnamedWire#43",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O35"
+ },
+ "pin2": {
+ "compName": "Splitter#7",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#44",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#7",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O34"
+ },
+ "name": "unnamedWire#45",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O33"
+ },
+ "pin2": {
+ "compName": "Splitter#7",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#46",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#7",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O32"
+ },
+ "name": "unnamedWire#47",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O31"
+ },
+ "pin2": {
+ "compName": "Splitter#8",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#48",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#8",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O30"
+ },
+ "name": "unnamedWire#49",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O74"
+ },
+ "name": "unnamedWire#5",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O29"
+ },
+ "pin2": {
+ "compName": "Splitter#8",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#50",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#8",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O28"
+ },
+ "name": "unnamedWire#51",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O27"
+ },
+ "pin2": {
+ "compName": "Splitter#8",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#52",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#8",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O26"
+ },
+ "name": "unnamedWire#53",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O25"
+ },
+ "pin2": {
+ "compName": "Splitter#8",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#54",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#8",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O24"
+ },
+ "name": "unnamedWire#55",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O23"
+ },
+ "pin2": {
+ "compName": "Splitter#9",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#56",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#9",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O22"
+ },
+ "name": "unnamedWire#57",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O21"
+ },
+ "pin2": {
+ "compName": "Splitter#9",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#58",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#9",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O20"
+ },
+ "name": "unnamedWire#59",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O73"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#6",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O19"
+ },
+ "pin2": {
+ "compName": "Splitter#9",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#60",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#9",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O18"
+ },
+ "name": "unnamedWire#61",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O17"
+ },
+ "pin2": {
+ "compName": "Splitter#9",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#62",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#9",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O16"
+ },
+ "name": "unnamedWire#63",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O15"
+ },
+ "pin2": {
+ "compName": "Splitter#10",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#64",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#10",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O14"
+ },
+ "name": "unnamedWire#65",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O13"
+ },
+ "pin2": {
+ "compName": "Splitter#10",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#66",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#10",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O12"
+ },
+ "name": "unnamedWire#67",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O11"
+ },
+ "pin2": {
+ "compName": "Splitter#10",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#68",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#10",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O10"
+ },
+ "name": "unnamedWire#69",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O72"
+ },
+ "name": "unnamedWire#7",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O9"
+ },
+ "pin2": {
+ "compName": "Splitter#10",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#70",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#10",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O8"
+ },
+ "name": "unnamedWire#71",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "Splitter#11",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#72",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#11",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#73",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Splitter#11",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#74",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#11",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#75",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Splitter#11",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#76",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#11",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#77",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Splitter#11",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#78",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#11",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#79",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O71"
+ },
+ "pin2": {
+ "compName": "Splitter#3",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#8",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O79"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#80",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O78"
+ },
+ "name": "unnamedWire#81",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O77"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#82",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O76"
+ },
+ "name": "unnamedWire#83",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O75"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#84",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O74"
+ },
+ "name": "unnamedWire#85",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O73"
+ },
+ "pin2": {
+ "compName": "Splitter#20",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#86",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#20",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O72"
+ },
+ "name": "unnamedWire#87",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O71"
+ },
+ "pin2": {
+ "compName": "Splitter#14",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#88",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#14",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O70"
+ },
+ "name": "unnamedWire#89",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#3",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O70"
+ },
+ "name": "unnamedWire#9",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O69"
+ },
+ "pin2": {
+ "compName": "Splitter#14",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#90",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#14",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O68"
+ },
+ "name": "unnamedWire#91",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O67"
+ },
+ "pin2": {
+ "compName": "Splitter#14",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#92",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#14",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O66"
+ },
+ "name": "unnamedWire#93",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O65"
+ },
+ "pin2": {
+ "compName": "Splitter#14",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#94",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#14",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O64"
+ },
+ "name": "unnamedWire#95",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O63"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O7"
+ },
+ "name": "unnamedWire#96",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O62"
+ },
+ "name": "unnamedWire#97",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#21",
+ "pinName": "O61"
+ },
+ "pin2": {
+ "compName": "Splitter#16",
+ "pinName": "O5"
+ },
+ "name": "unnamedWire#98",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#16",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "Splitter#21",
+ "pinName": "O60"
+ },
+ "name": "unnamedWire#99",
+ "path": []
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "simpleRectangularLike",
+ "symbolRendererParams": {
+ "centerText": "D flip flop\n80 bit",
+ "centerTextHeight": 5.0,
+ "horizontalComponentCenter": 30.0,
+ "pinLabelHeight": 3.5,
+ "pinLabelMargin": 0.5
+ },
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {},
+ "atomicHighLevelStates": {
+ "q": {
+ "id": "bitVectorSplitting",
+ "params": {
+ "vectorPartTargets": [
+ "q80-73",
+ "q72-65",
+ "q64-57",
+ "q56-49",
+ "q48-41",
+ "q40-33",
+ "q32-25",
+ "q24-17",
+ "q16-9",
+ "q8-1"
+ ],
+ "vectorPartLengthes": [
+ 8,
+ 8,
+ 8,
+ 8,
+ 8,
+ 8,
+ 8,
+ 8,
+ 8,
+ 8
+ ]
+ }
+ },
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q1"
+ }
+ },
+ "q10": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q2"
+ }
+ },
+ "q11": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q3"
+ }
+ },
+ "q12": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q4"
+ }
+ },
+ "q13": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q5"
+ }
+ },
+ "q14": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q6"
+ }
+ },
+ "q15": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q7"
+ }
+ },
+ "q16": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q8"
+ }
+ },
+ "q16-9": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q"
+ }
+ },
+ "q17": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q1"
+ }
+ },
+ "q18": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q2"
+ }
+ },
+ "q19": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q3"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q2"
+ }
+ },
+ "q20": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q4"
+ }
+ },
+ "q21": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q5"
+ }
+ },
+ "q22": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q6"
+ }
+ },
+ "q23": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q7"
+ }
+ },
+ "q24": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q8"
+ }
+ },
+ "q24-17": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#2",
+ "subStateID": "q"
+ }
+ },
+ "q25": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q1"
+ }
+ },
+ "q26": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q2"
+ }
+ },
+ "q27": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q3"
+ }
+ },
+ "q28": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q4"
+ }
+ },
+ "q29": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q5"
+ }
+ },
+ "q3": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q3"
+ }
+ },
+ "q30": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q6"
+ }
+ },
+ "q31": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q7"
+ }
+ },
+ "q32": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q8"
+ }
+ },
+ "q32-25": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#3",
+ "subStateID": "q"
+ }
+ },
+ "q33": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q1"
+ }
+ },
+ "q34": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q2"
+ }
+ },
+ "q35": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q3"
+ }
+ },
+ "q36": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q4"
+ }
+ },
+ "q37": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q5"
+ }
+ },
+ "q38": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q6"
+ }
+ },
+ "q39": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q7"
+ }
+ },
+ "q4": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q4"
+ }
+ },
+ "q40": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q8"
+ }
+ },
+ "q40-33": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#4",
+ "subStateID": "q"
+ }
+ },
+ "q41": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q1"
+ }
+ },
+ "q42": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q2"
+ }
+ },
+ "q43": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q3"
+ }
+ },
+ "q44": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q4"
+ }
+ },
+ "q45": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q5"
+ }
+ },
+ "q46": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q6"
+ }
+ },
+ "q47": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q7"
+ }
+ },
+ "q48": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q8"
+ }
+ },
+ "q48-41": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#5",
+ "subStateID": "q"
+ }
+ },
+ "q49": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q1"
+ }
+ },
+ "q5": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q5"
+ }
+ },
+ "q50": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q2"
+ }
+ },
+ "q51": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q3"
+ }
+ },
+ "q52": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q4"
+ }
+ },
+ "q53": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q5"
+ }
+ },
+ "q54": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q6"
+ }
+ },
+ "q55": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q7"
+ }
+ },
+ "q56": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q8"
+ }
+ },
+ "q56-49": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#6",
+ "subStateID": "q"
+ }
+ },
+ "q57": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q1"
+ }
+ },
+ "q58": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q2"
+ }
+ },
+ "q59": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q3"
+ }
+ },
+ "q6": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q6"
+ }
+ },
+ "q60": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q4"
+ }
+ },
+ "q61": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q5"
+ }
+ },
+ "q62": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q6"
+ }
+ },
+ "q63": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q7"
+ }
+ },
+ "q64": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q8"
+ }
+ },
+ "q64-57": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#7",
+ "subStateID": "q"
+ }
+ },
+ "q65": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q1"
+ }
+ },
+ "q66": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q2"
+ }
+ },
+ "q67": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q3"
+ }
+ },
+ "q68": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q4"
+ }
+ },
+ "q69": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q5"
+ }
+ },
+ "q7": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q7"
+ }
+ },
+ "q70": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q6"
+ }
+ },
+ "q71": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q7"
+ }
+ },
+ "q72": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q8"
+ }
+ },
+ "q72-65": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#8",
+ "subStateID": "q"
+ }
+ },
+ "q73": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q1"
+ }
+ },
+ "q74": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q2"
+ }
+ },
+ "q75": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q3"
+ }
+ },
+ "q76": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q4"
+ }
+ },
+ "q77": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q5"
+ }
+ },
+ "q78": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q6"
+ }
+ },
+ "q79": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q7"
+ }
+ },
+ "q8": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q8"
+ }
+ },
+ "q8-1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#0",
+ "subStateID": "q"
+ }
+ },
+ "q80": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q8"
+ }
+ },
+ "q80-73": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#9",
+ "subStateID": "q"
+ }
+ },
+ "q9": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dff8#1",
+ "subStateID": "q1"
+ }
+ }
+ }
+ },
+ "version": "0.1.5"
+}
\ No newline at end of file
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {
- "q1": {
- "id": "delegating",
- "params": {
- "delegateTarget": "dlatch#0",
- "subStateID": "q"
- }
- },
- "q2": {
- "id": "delegating",
- "params": {
- "delegateTarget": "dlatch#1",
- "subStateID": "q"
- }
- },
"q": {
"id": "bitVectorSplitting",
"params": {
"vectorPartTargets": [
- "q1",
- "q2",
+ "q4",
"q3",
- "q4"
+ "q2",
+ "q1"
],
"vectorPartLengthes": [
1,
]
}
},
+ "q1": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dlatch#0",
+ "subStateID": "q"
+ }
+ },
+ "q2": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "dlatch#1",
+ "subStateID": "q"
+ }
+ },
"q3": {
"id": "delegating",
"params": {
"innerScale": 0.2,
"submodel": {
"components": [
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#10",
- "pos": {
- "x": 95.0,
- "y": 145.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#11",
- "pos": {
- "x": 95.0,
- "y": 205.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#12",
- "pos": {
- "x": 150.0,
- "y": 285.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#13",
- "pos": {
- "x": 150.0,
- "y": 225.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#14",
- "pos": {
- "x": 95.0,
- "y": 265.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#15",
- "pos": {
- "x": 150.0,
- "y": 345.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#4",
- "pos": {
- "x": 150.0,
- "y": 45.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#5",
- "pos": {
- "x": 95.0,
- "y": 85.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#6",
- "pos": {
- "x": 150.0,
- "y": 105.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#7",
- "pos": {
- "x": 95.0,
- "y": 25.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#8",
- "pos": {
- "x": 95.0,
- "y": 325.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#9",
- "pos": {
- "x": 150.0,
- "y": 165.0
- }
- },
- {
- "id": "Merger",
- "name": "Merger#0",
- "pos": {
- "x": 235.0,
- "y": 95.0
- },
- "params": 12
- },
{
"id": "NandGate",
"name": "NandGate#0",
"x": 5.0,
"y": 45.0
},
- "params": 12
+ "params": {
+ "logicWidth": 12,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"x": 5.0,
"y": 245.0
},
- "params": 12
+ "params": {
+ "logicWidth": 12,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#10",
+ "id": "Splitter",
+ "name": "Splitter#2",
"pos": {
- "x": 144.0,
- "y": 239.0
+ "x": 235.0,
+ "y": 95.0
},
- "params": 1
+ "params": {
+ "logicWidth": 12,
+ "orientation": "LEFT"
+ }
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
+ "name": "WireCrossPoint#0",
"pos": {
"x": 139.0,
- "y": 229.0
+ "y": 49.0
},
"params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "name": "WireCrossPoint#1",
"pos": {
"x": 144.0,
- "y": 299.0
- },
- "params": 1
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#13",
- "pos": {
- "x": 139.0,
- "y": 289.0
+ "y": 59.0
},
"params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "name": "WireCrossPoint#10",
"pos": {
"x": 89.0,
"y": 4.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#15",
+ "name": "WireCrossPoint#11",
"pos": {
"x": 84.0,
"y": 19.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#16",
+ "name": "WireCrossPoint#12",
"pos": {
"x": 49.0,
"y": 24.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#17",
+ "name": "WireCrossPoint#13",
"pos": {
"x": 49.0,
"y": 14.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#18",
+ "name": "WireCrossPoint#14",
"pos": {
"x": 84.0,
"y": 269.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#19",
+ "name": "WireCrossPoint#15",
"pos": {
"x": 89.0,
"y": 279.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#20",
+ "name": "WireCrossPoint#16",
"pos": {
"x": 84.0,
"y": 209.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#21",
+ "name": "WireCrossPoint#17",
"pos": {
"x": 89.0,
"y": 219.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#22",
+ "name": "WireCrossPoint#18",
"pos": {
"x": 89.0,
"y": 159.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#23",
+ "name": "WireCrossPoint#19",
"pos": {
"x": 84.0,
"y": 149.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#24",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 144.0,
+ "y": 119.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#20",
"pos": {
"x": 84.0,
"y": 89.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#25",
+ "name": "WireCrossPoint#21",
"pos": {
"x": 89.0,
"y": 99.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#26",
+ "name": "WireCrossPoint#22",
"pos": {
"x": 84.0,
"y": 29.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#27",
+ "name": "WireCrossPoint#23",
"pos": {
"x": 89.0,
"y": 39.0
},
"params": 1
},
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 139.0,
+ "y": 109.0
+ },
+ "params": 1
+ },
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#4",
"pos": {
"x": 139.0,
- "y": 49.0
+ "y": 169.0
},
"params": 1
},
"name": "WireCrossPoint#5",
"pos": {
"x": 144.0,
- "y": 59.0
+ "y": 179.0
},
"params": 1
},
"name": "WireCrossPoint#6",
"pos": {
"x": 144.0,
- "y": 119.0
+ "y": 239.0
},
"params": 1
},
"name": "WireCrossPoint#7",
"pos": {
"x": 139.0,
- "y": 109.0
+ "y": 229.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#8",
"pos": {
- "x": 139.0,
- "y": 169.0
+ "x": 144.0,
+ "y": 299.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#9",
"pos": {
- "x": 144.0,
- "y": 179.0
+ "x": 139.0,
+ "y": 289.0
},
"params": 1
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#0",
+ "pos": {
+ "x": 150.0,
+ "y": 45.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#1",
+ "pos": {
+ "x": 95.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#10",
+ "pos": {
+ "x": 95.0,
+ "y": 265.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#11",
+ "pos": {
+ "x": 150.0,
+ "y": 345.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#2",
+ "pos": {
+ "x": 150.0,
+ "y": 105.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#3",
+ "pos": {
+ "x": 95.0,
+ "y": 25.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#4",
+ "pos": {
+ "x": 95.0,
+ "y": 325.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#5",
+ "pos": {
+ "x": 150.0,
+ "y": 165.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#6",
+ "pos": {
+ "x": 95.0,
+ "y": 145.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#7",
+ "pos": {
+ "x": 95.0,
+ "y": 205.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#8",
+ "pos": {
+ "x": 150.0,
+ "y": 285.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#9",
+ "pos": {
+ "x": 150.0,
+ "y": 225.0
+ }
}
],
"wires": [
{
"pin1": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
"name": "unnamedWire#0",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#23",
"pinName": ""
},
"name": "unnamedWire#1",
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#7",
"pinName": "S1"
},
"name": "unnamedWire#10",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#3",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I11"
+ "compName": "Splitter#2",
+ "pinName": "O11"
},
"name": "unnamedWire#103",
"path": [
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#0",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I10"
+ "compName": "Splitter#2",
+ "pinName": "O10"
},
"name": "unnamedWire#104",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I9"
+ "compName": "Splitter#2",
+ "pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#1",
"pinName": "Y"
},
"name": "unnamedWire#105",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#2",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I8"
+ "compName": "Splitter#2",
+ "pinName": "O8"
},
"name": "unnamedWire#106",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I7"
+ "compName": "Splitter#2",
+ "pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#6",
"pinName": "Y"
},
"name": "unnamedWire#107",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#5",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I6"
+ "compName": "Splitter#2",
+ "pinName": "O6"
},
"name": "unnamedWire#108",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I5"
+ "compName": "Splitter#2",
+ "pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#7",
"pinName": "Y"
},
"name": "unnamedWire#109",
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#7",
"pinName": "S2"
},
"name": "unnamedWire#11",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#9",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I4"
+ "compName": "Splitter#2",
+ "pinName": "O4"
},
"name": "unnamedWire#110",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#2",
+ "pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#10",
"pinName": "Y"
},
"name": "unnamedWire#111",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#8",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#2",
+ "pinName": "O2"
},
"name": "unnamedWire#112",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#4",
"pinName": "Y"
},
"name": "unnamedWire#113",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#11",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#2",
+ "pinName": "O0"
},
"name": "unnamedWire#114",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "O"
+ "compName": "Splitter#2",
+ "pinName": "I"
},
"pin2": {
"compName": "_submodelinterface",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#17",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"name": "unnamedWire#116",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#10",
"pinName": "S1"
},
"pin2": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"name": "unnamedWire#12",
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#10",
"pinName": "S2"
},
"name": "unnamedWire#13",
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#11",
"pinName": "S1"
},
"name": "unnamedWire#16",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#8",
"pinName": "S2"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"name": "unnamedWire#18",
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#8",
"pinName": "S1"
},
"name": "unnamedWire#19",
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#4",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"name": "unnamedWire#2",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#9",
"pinName": "S2"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"name": "unnamedWire#20",
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#9",
"pinName": "S1"
},
"name": "unnamedWire#21",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#5",
"pinName": "S2"
},
"pin2": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"name": "unnamedWire#22",
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#5",
"pinName": "S1"
},
"name": "unnamedWire#23",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#2",
"pinName": "S2"
},
"pin2": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"name": "unnamedWire#24",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#2",
"pinName": "S1"
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"name": "unnamedWire#25",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#0",
"pinName": "S2"
},
"pin2": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"name": "unnamedWire#26",
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#0",
"pinName": "S1"
},
"name": "unnamedWire#27",
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"name": "unnamedWire#3",
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"name": "unnamedWire#35",
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"name": "unnamedWire#36",
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"name": "unnamedWire#37",
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
"name": "unnamedWire#38",
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"name": "unnamedWire#39",
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#3",
"pinName": "S1"
},
"name": "unnamedWire#4",
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"name": "unnamedWire#40",
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"name": "unnamedWire#41",
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"name": "unnamedWire#42",
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#11",
"pinName": "S2"
},
"name": "unnamedWire#43",
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#24",
+ "compName": "WireCrossPoint#20",
"pinName": ""
},
"name": "unnamedWire#44",
},
{
"pin1": {
- "compName": "WireCrossPoint#24",
+ "compName": "WireCrossPoint#20",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#19",
"pinName": ""
},
"name": "unnamedWire#45",
},
{
"pin1": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#19",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"name": "unnamedWire#46",
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#16",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"name": "unnamedWire#47",
},
{
"pin1": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#4",
"pinName": "S1"
},
"name": "unnamedWire#48",
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#4",
"pinName": "S2"
},
"name": "unnamedWire#49",
},
{
"pin1": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#23",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#3",
"pinName": "S2"
},
"name": "unnamedWire#5",
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#21",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"name": "unnamedWire#50",
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
"name": "unnamedWire#51",
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
+ "compName": "WireCrossPoint#21",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
"name": "unnamedWire#52",
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
+ "compName": "WireCrossPoint#21",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#23",
"pinName": ""
},
"name": "unnamedWire#53",
},
{
"pin1": {
- "compName": "WireCrossPoint#24",
+ "compName": "WireCrossPoint#20",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#1",
"pinName": "S1"
},
"name": "unnamedWire#6",
"pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#3",
"pinName": "I1"
},
"name": "unnamedWire#64",
"pinName": "O10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#0",
"pinName": "I1"
},
"name": "unnamedWire#65",
"pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#1",
"pinName": "I1"
},
"name": "unnamedWire#66",
"pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#2",
"pinName": "I1"
},
"name": "unnamedWire#67",
"pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#6",
"pinName": "I1"
},
"name": "unnamedWire#68",
"pinName": "O6"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#5",
"pinName": "I1"
},
"name": "unnamedWire#69",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#1",
"pinName": "S2"
},
"pin2": {
- "compName": "WireCrossPoint#25",
+ "compName": "WireCrossPoint#21",
"pinName": ""
},
"name": "unnamedWire#7",
"pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#7",
"pinName": "I1"
},
"name": "unnamedWire#70",
"pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#9",
"pinName": "I1"
},
"name": "unnamedWire#71",
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#10",
"pinName": "I1"
},
"name": "unnamedWire#72",
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#8",
"pinName": "I1"
},
"name": "unnamedWire#73",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#4",
"pinName": "I1"
},
"name": "unnamedWire#74",
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#11",
"pinName": "I1"
},
"name": "unnamedWire#75",
},
{
"pin1": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#19",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#6",
"pinName": "S1"
},
"name": "unnamedWire#8",
"pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#3",
"pinName": "I2"
},
"name": "unnamedWire#82",
"pinName": "O10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#0",
"pinName": "I2"
},
"name": "unnamedWire#83",
"pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#1",
"pinName": "I2"
},
"name": "unnamedWire#84",
"pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#2",
"pinName": "I2"
},
"name": "unnamedWire#85",
"pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#6",
"pinName": "I2"
},
"name": "unnamedWire#86",
"pinName": "O6"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#5",
"pinName": "I2"
},
"name": "unnamedWire#87",
"pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#7",
"pinName": "I2"
},
"name": "unnamedWire#88",
"pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#9",
"pinName": "I2"
},
"name": "unnamedWire#89",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#6",
"pinName": "S2"
},
"pin2": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
"name": "unnamedWire#9",
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#10",
"pinName": "I2"
},
"name": "unnamedWire#90",
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#8",
"pinName": "I2"
},
"name": "unnamedWire#91",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#4",
"pinName": "I2"
},
"name": "unnamedWire#92",
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#11",
"pinName": "I2"
},
"name": "unnamedWire#93",
"pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"name": "unnamedWire#94",
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#17",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"name": "unnamedWire#95",
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#17",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
"pinName": "S"
},
"pin2": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"name": "unnamedWire#98",
"innerScale": 0.2,
"submodel": {
"components": [
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 115.0,
- "y": 25.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 175.0,
- "y": 45.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#10",
- "pos": {
- "x": 115.0,
- "y": 265.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#11",
- "pos": {
- "x": 115.0,
- "y": 325.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#12",
- "pos": {
- "x": 175.0,
- "y": 405.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#13",
- "pos": {
- "x": 175.0,
- "y": 345.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#14",
- "pos": {
- "x": 115.0,
- "y": 385.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#15",
- "pos": {
- "x": 175.0,
- "y": 465.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 115.0,
- "y": 85.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#3",
- "pos": {
- "x": 175.0,
- "y": 105.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#4",
- "pos": {
- "x": 175.0,
- "y": 165.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#5",
- "pos": {
- "x": 115.0,
- "y": 205.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#6",
- "pos": {
- "x": 175.0,
- "y": 225.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#7",
- "pos": {
- "x": 115.0,
- "y": 145.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#8",
- "pos": {
- "x": 115.0,
- "y": 445.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#9",
- "pos": {
- "x": 175.0,
- "y": 285.0
- }
- },
- {
- "id": "Merger",
- "name": "Merger#0",
- "pos": {
- "x": 260.0,
- "y": 175.0
- },
- "params": 16
- },
{
"id": "NandGate",
"name": "NandGate#0",
"x": 5.0,
"y": 50.0
},
- "params": 16
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT"
+ }
},
{
"id": "Splitter",
"x": 5.0,
"y": 375.0
},
- "params": 16
+ "params": {
+ "logicWidth": 16,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": 260.0,
+ "y": 175.0
+ },
+ "params": {
+ "logicWidth": 16,
+ "orientation": "LEFT"
+ }
},
{
"id": "WireCrossPoint",
"y": 299.0
},
"params": 1
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#0",
+ "pos": {
+ "x": 115.0,
+ "y": 25.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#1",
+ "pos": {
+ "x": 175.0,
+ "y": 45.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#10",
+ "pos": {
+ "x": 115.0,
+ "y": 265.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#11",
+ "pos": {
+ "x": 115.0,
+ "y": 325.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#12",
+ "pos": {
+ "x": 175.0,
+ "y": 405.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#13",
+ "pos": {
+ "x": 175.0,
+ "y": 345.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#14",
+ "pos": {
+ "x": 115.0,
+ "y": 385.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#15",
+ "pos": {
+ "x": 175.0,
+ "y": 465.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#2",
+ "pos": {
+ "x": 115.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#3",
+ "pos": {
+ "x": 175.0,
+ "y": 105.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#4",
+ "pos": {
+ "x": 175.0,
+ "y": 165.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#5",
+ "pos": {
+ "x": 115.0,
+ "y": 205.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#6",
+ "pos": {
+ "x": 175.0,
+ "y": 225.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#7",
+ "pos": {
+ "x": 115.0,
+ "y": 145.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#8",
+ "pos": {
+ "x": 115.0,
+ "y": 445.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#9",
+ "pos": {
+ "x": 175.0,
+ "y": 285.0
+ }
}
],
"wires": [
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "S1"
},
"name": "unnamedWire#0",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "S2"
},
"name": "unnamedWire#1",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#11",
"pinName": "S1"
},
"name": "unnamedWire#10",
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I14"
+ "compName": "Splitter#2",
+ "pinName": "O14"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "Y"
},
"name": "unnamedWire#100",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "sel1#2",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I13"
+ "compName": "Splitter#2",
+ "pinName": "O13"
},
"name": "unnamedWire#101",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I12"
+ "compName": "Splitter#2",
+ "pinName": "O12"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "sel1#3",
"pinName": "Y"
},
"name": "unnamedWire#102",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#7",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I11"
+ "compName": "Splitter#2",
+ "pinName": "O11"
},
"name": "unnamedWire#103",
"path": [
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#4",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I10"
+ "compName": "Splitter#2",
+ "pinName": "O10"
},
"name": "unnamedWire#104",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I9"
+ "compName": "Splitter#2",
+ "pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#5",
"pinName": "Y"
},
"name": "unnamedWire#105",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#6",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I8"
+ "compName": "Splitter#2",
+ "pinName": "O8"
},
"name": "unnamedWire#106",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I7"
+ "compName": "Splitter#2",
+ "pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#10",
"pinName": "Y"
},
"name": "unnamedWire#107",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#9",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I6"
+ "compName": "Splitter#2",
+ "pinName": "O6"
},
"name": "unnamedWire#108",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I5"
+ "compName": "Splitter#2",
+ "pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#11",
"pinName": "Y"
},
"name": "unnamedWire#109",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#11",
"pinName": "S2"
},
"name": "unnamedWire#11",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#13",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I4"
+ "compName": "Splitter#2",
+ "pinName": "O4"
},
"name": "unnamedWire#110",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I3"
+ "compName": "Splitter#2",
+ "pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#14",
"pinName": "Y"
},
"name": "unnamedWire#111",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#12",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I2"
+ "compName": "Splitter#2",
+ "pinName": "O2"
},
"name": "unnamedWire#112",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "I1"
+ "compName": "Splitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#8",
"pinName": "Y"
},
"name": "unnamedWire#113",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#15",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I0"
+ "compName": "Splitter#2",
+ "pinName": "O0"
},
"name": "unnamedWire#114",
"path": [
},
{
"pin1": {
- "compName": "Merger#0",
- "pinName": "O"
+ "compName": "Splitter#2",
+ "pinName": "I"
},
"pin2": {
"compName": "_submodelinterface",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#14",
"pinName": "S1"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#14",
"pinName": "S2"
},
"name": "unnamedWire#13",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#15",
"pinName": "S1"
},
"name": "unnamedWire#16",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#12",
"pinName": "S2"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#12",
"pinName": "S1"
},
"name": "unnamedWire#19",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "sel1#2",
"pinName": "S1"
},
"name": "unnamedWire#2",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#13",
"pinName": "S2"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#13",
"pinName": "S1"
},
"name": "unnamedWire#21",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#9",
"pinName": "S2"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#9",
"pinName": "S1"
},
"name": "unnamedWire#23",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#6",
"pinName": "S2"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#6",
"pinName": "S1"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#4",
"pinName": "S2"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#4",
"pinName": "S1"
},
"name": "unnamedWire#27",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "sel1#3",
"pinName": "S2"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "sel1#3",
"pinName": "S1"
},
"name": "unnamedWire#29",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "sel1#2",
"pinName": "S2"
},
"name": "unnamedWire#3",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "S2"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "S1"
},
"name": "unnamedWire#31",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#7",
"pinName": "S1"
},
"name": "unnamedWire#4",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#15",
"pinName": "S2"
},
"name": "unnamedWire#43",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#8",
"pinName": "S1"
},
"name": "unnamedWire#48",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#8",
"pinName": "S2"
},
"name": "unnamedWire#49",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#7",
"pinName": "S2"
},
"name": "unnamedWire#5",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#5",
"pinName": "S1"
},
"name": "unnamedWire#6",
"pinName": "O15"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "I1"
},
"name": "unnamedWire#60",
"pinName": "O14"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "I1"
},
"name": "unnamedWire#61",
"pinName": "O13"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "sel1#2",
"pinName": "I1"
},
"name": "unnamedWire#62",
"pinName": "O12"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "sel1#3",
"pinName": "I1"
},
"name": "unnamedWire#63",
"pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#7",
"pinName": "I1"
},
"name": "unnamedWire#64",
"pinName": "O10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#4",
"pinName": "I1"
},
"name": "unnamedWire#65",
"pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#5",
"pinName": "I1"
},
"name": "unnamedWire#66",
"pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#6",
"pinName": "I1"
},
"name": "unnamedWire#67",
"pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#10",
"pinName": "I1"
},
"name": "unnamedWire#68",
"pinName": "O6"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#9",
"pinName": "I1"
},
"name": "unnamedWire#69",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#5",
"pinName": "S2"
},
"pin2": {
"pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#11",
"pinName": "I1"
},
"name": "unnamedWire#70",
"pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#13",
"pinName": "I1"
},
"name": "unnamedWire#71",
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#14",
"pinName": "I1"
},
"name": "unnamedWire#72",
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#12",
"pinName": "I1"
},
"name": "unnamedWire#73",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#8",
"pinName": "I1"
},
"name": "unnamedWire#74",
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#15",
"pinName": "I1"
},
"name": "unnamedWire#75",
"pinName": "O15"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "I2"
},
"name": "unnamedWire#78",
"pinName": "O14"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "I2"
},
"name": "unnamedWire#79",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#10",
"pinName": "S1"
},
"name": "unnamedWire#8",
"pinName": "O13"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "sel1#2",
"pinName": "I2"
},
"name": "unnamedWire#80",
"pinName": "O12"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "sel1#3",
"pinName": "I2"
},
"name": "unnamedWire#81",
"pinName": "O11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "sel1#7",
"pinName": "I2"
},
"name": "unnamedWire#82",
"pinName": "O10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "sel1#4",
"pinName": "I2"
},
"name": "unnamedWire#83",
"pinName": "O9"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
+ "compName": "sel1#5",
"pinName": "I2"
},
"name": "unnamedWire#84",
"pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "sel1#6",
"pinName": "I2"
},
"name": "unnamedWire#85",
"pinName": "O7"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#10",
"pinName": "I2"
},
"name": "unnamedWire#86",
"pinName": "O6"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "sel1#9",
"pinName": "I2"
},
"name": "unnamedWire#87",
"pinName": "O5"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
+ "compName": "sel1#11",
"pinName": "I2"
},
"name": "unnamedWire#88",
"pinName": "O4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
+ "compName": "sel1#13",
"pinName": "I2"
},
"name": "unnamedWire#89",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "sel1#10",
"pinName": "S2"
},
"pin2": {
"pinName": "O3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
+ "compName": "sel1#14",
"pinName": "I2"
},
"name": "unnamedWire#90",
"pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
+ "compName": "sel1#12",
"pinName": "I2"
},
"name": "unnamedWire#91",
"pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
+ "compName": "sel1#8",
"pinName": "I2"
},
"name": "unnamedWire#92",
"pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
+ "compName": "sel1#15",
"pinName": "I2"
},
"name": "unnamedWire#93",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "Y"
},
"pin2": {
- "compName": "Merger#0",
- "pinName": "I15"
+ "compName": "Splitter#2",
+ "pinName": "O15"
},
"name": "unnamedWire#99",
"path": [
--- /dev/null
+{
+ "width": 40.0,
+ "height": 55.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 0.0,
+ "y": 15.0
+ },
+ "name": "I0",
+ "logicWidth": 8,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 40.0
+ },
+ "name": "I1",
+ "logicWidth": 8,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 5.0
+ },
+ "name": "S",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 40.0,
+ "y": 25.0
+ },
+ "name": "Y",
+ "logicWidth": 8,
+ "usage": "OUTPUT"
+ }
+ ],
+ "innerScale": 0.2,
+ "submodel": {
+ "components": [
+ {
+ "id": "NandGate",
+ "name": "NandGate#0",
+ "pos": {
+ "x": 15.0,
+ "y": 10.0
+ },
+ "params": 1
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 5.0,
+ "y": 40.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 5.0,
+ "y": 165.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": 185.0,
+ "y": 90.0
+ },
+ "params": {
+ "logicWidth": 8,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
+ "pos": {
+ "x": 69.0,
+ "y": 4.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
+ "pos": {
+ "x": 64.0,
+ "y": 19.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
+ "pos": {
+ "x": 9.0,
+ "y": 24.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#13",
+ "pos": {
+ "x": 9.0,
+ "y": 14.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#14",
+ "pos": {
+ "x": 64.0,
+ "y": 149.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#15",
+ "pos": {
+ "x": 69.0,
+ "y": 159.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#16",
+ "pos": {
+ "x": 64.0,
+ "y": 89.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#17",
+ "pos": {
+ "x": 69.0,
+ "y": 99.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#18",
+ "pos": {
+ "x": 69.0,
+ "y": 39.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#19",
+ "pos": {
+ "x": 64.0,
+ "y": 29.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 114.0,
+ "y": 49.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 119.0,
+ "y": 59.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 119.0,
+ "y": 119.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 114.0,
+ "y": 109.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#8",
+ "pos": {
+ "x": 119.0,
+ "y": 179.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 114.0,
+ "y": 169.0
+ },
+ "params": 1
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#10",
+ "pos": {
+ "x": 75.0,
+ "y": 145.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#11",
+ "pos": {
+ "x": 125.0,
+ "y": 225.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#4",
+ "pos": {
+ "x": 75.0,
+ "y": 205.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#5",
+ "pos": {
+ "x": 125.0,
+ "y": 45.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#6",
+ "pos": {
+ "x": 75.0,
+ "y": 25.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#7",
+ "pos": {
+ "x": 75.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#8",
+ "pos": {
+ "x": 125.0,
+ "y": 165.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#9",
+ "pos": {
+ "x": 125.0,
+ "y": 105.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "name": "unnamedWire#0",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#1",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#7",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#10",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "sel1#6",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#107",
+ "path": [
+ {
+ "x": 180.0,
+ "y": 90.0
+ },
+ {
+ "x": 180.0,
+ "y": 30.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "sel1#5",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O6"
+ },
+ "name": "unnamedWire#108",
+ "path": [
+ {
+ "x": 175.0,
+ "y": 50.0
+ },
+ {
+ "x": 175.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "sel1#7",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#109",
+ "path": [
+ {
+ "x": 170.0,
+ "y": 110.0
+ },
+ {
+ "x": 170.0,
+ "y": 90.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#7",
+ "pinName": "S2"
+ },
+ "name": "unnamedWire#11",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "sel1#9",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#110",
+ "path": [
+ {
+ "x": 165.0,
+ "y": 110.0
+ },
+ {
+ "x": 165.0,
+ "y": 120.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "sel1#10",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#111",
+ "path": [
+ {
+ "x": 165.0,
+ "y": 130.0
+ },
+ {
+ "x": 165.0,
+ "y": 150.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "sel1#8",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#112",
+ "path": [
+ {
+ "x": 170.0,
+ "y": 170.0
+ },
+ {
+ "x": 170.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "sel1#4",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#113",
+ "path": [
+ {
+ "x": 175.0,
+ "y": 150.0
+ },
+ {
+ "x": 175.0,
+ "y": 210.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "sel1#11",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#114",
+ "path": [
+ {
+ "x": 180.0,
+ "y": 230.0
+ },
+ {
+ "x": 180.0,
+ "y": 160.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#115",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "name": "unnamedWire#116",
+ "path": [
+ {
+ "x": 10.0,
+ "y": 5.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "sel1#10",
+ "pinName": "S1"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#12",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#10",
+ "pinName": "S2"
+ },
+ "name": "unnamedWire#13",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#11",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#16",
+ "path": [
+ {
+ "x": 115.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "sel1#8",
+ "pinName": "S2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#18",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#8",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "sel1#9",
+ "pinName": "S2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#20",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#9",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "sel1#5",
+ "pinName": "S2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#22",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#5",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#3",
+ "path": [
+ {
+ "x": 120.0,
+ "y": 5.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#37",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#38",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#4",
+ "path": [
+ {
+ "x": 115.0,
+ "y": 20.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#41",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#42",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#11",
+ "pinName": "S2"
+ },
+ "name": "unnamedWire#43",
+ "path": [
+ {
+ "x": 120.0,
+ "y": 240.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "name": "unnamedWire#46",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#47",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#4",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#48",
+ "path": [
+ {
+ "x": 65.0,
+ "y": 210.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#4",
+ "pinName": "S2"
+ },
+ "name": "unnamedWire#49",
+ "path": [
+ {
+ "x": 70.0,
+ "y": 220.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "name": "unnamedWire#50",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
+ },
+ "name": "unnamedWire#51",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "sel1#6",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#68",
+ "path": [
+ {
+ "x": 55.0,
+ "y": 40.0
+ },
+ {
+ "x": 55.0,
+ "y": 50.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "sel1#5",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#69",
+ "path": [
+ {
+ "x": 50.0,
+ "y": 50.0
+ },
+ {
+ "x": 50.0,
+ "y": 70.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "sel1#7",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#70",
+ "path": [
+ {
+ "x": 45.0,
+ "y": 60.0
+ },
+ {
+ "x": 45.0,
+ "y": 110.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "sel1#9",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#71",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 70.0
+ },
+ {
+ "x": 40.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "sel1#10",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#72",
+ "path": [
+ {
+ "x": 35.0,
+ "y": 80.0
+ },
+ {
+ "x": 35.0,
+ "y": 170.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "sel1#8",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#73",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 90.0
+ },
+ {
+ "x": 30.0,
+ "y": 190.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "sel1#4",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#74",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 100.0
+ },
+ {
+ "x": 25.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "sel1#11",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#75",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 110.0
+ },
+ {
+ "x": 20.0,
+ "y": 250.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "I1"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#76",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "I0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#77",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#6",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#8",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O7"
+ },
+ "pin2": {
+ "compName": "sel1#6",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#86",
+ "path": [
+ {
+ "x": 55.0,
+ "y": 165.0
+ },
+ {
+ "x": 55.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O6"
+ },
+ "pin2": {
+ "compName": "sel1#5",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#87",
+ "path": [
+ {
+ "x": 50.0,
+ "y": 175.0
+ },
+ {
+ "x": 50.0,
+ "y": 80.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "sel1#7",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#88",
+ "path": [
+ {
+ "x": 45.0,
+ "y": 185.0
+ },
+ {
+ "x": 45.0,
+ "y": 120.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O4"
+ },
+ "pin2": {
+ "compName": "sel1#9",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#89",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 195.0
+ },
+ {
+ "x": 40.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "sel1#6",
+ "pinName": "S2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
+ },
+ "name": "unnamedWire#9",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "sel1#10",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#90",
+ "path": [
+ {
+ "x": 35.0,
+ "y": 205.0
+ },
+ {
+ "x": 35.0,
+ "y": 180.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "sel1#8",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#91",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 215.0
+ },
+ {
+ "x": 30.0,
+ "y": 200.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "sel1#4",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#92",
+ "path": [
+ {
+ "x": 45.0,
+ "y": 225.0
+ },
+ {
+ "x": 45.0,
+ "y": 240.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "sel1#11",
+ "pinName": "I2"
+ },
+ "name": "unnamedWire#93",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 235.0
+ },
+ {
+ "x": 40.0,
+ "y": 260.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#0",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "name": "unnamedWire#94",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "name": "unnamedWire#95",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#0",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#96",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#0",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#97",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "S"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "name": "unnamedWire#98",
+ "path": []
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "simpleRectangularLike",
+ "symbolRendererParams": {
+ "centerText": "MUX\n8 bit",
+ "centerTextHeight": 5.0,
+ "horizontalComponentCenter": 23.5,
+ "pinLabelHeight": 3.5,
+ "pinLabelMargin": 0.5
+ },
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "default",
+ "version": "0.1.5"
+}
\ No newline at end of file
"innerScale": 0.4,
"submodel": {
"components": [
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 60.0,
- "y": 35.0
- }
- },
- {
- "id": "sel1",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 60.0,
- "y": 100.0
- }
- },
- {
- "id": "mux1",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 115.0,
- "y": 20.0
- }
- },
{
"id": "NandGate",
"name": "NandGate#0",
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#1",
+ "name": "WireCrossPoint#0",
"pos": {
"x": 24.0,
"y": 29.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#2",
+ "name": "WireCrossPoint#1",
"pos": {
"x": 24.0,
"y": 49.0
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#3",
+ "name": "WireCrossPoint#2",
"pos": {
"x": 54.0,
"y": 39.0
},
"params": 1
+ },
+ {
+ "id": "mux1",
+ "name": "mux1#0",
+ "pos": {
+ "x": 115.0,
+ "y": 20.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#0",
+ "pos": {
+ "x": 60.0,
+ "y": 35.0
+ }
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#1",
+ "pos": {
+ "x": 60.0,
+ "y": 100.0
+ }
}
],
"wires": [
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"name": "unnamedWire#0",
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "S2"
},
"name": "unnamedWire#11",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "S1"
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"name": "unnamedWire#14",
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "S2"
},
"name": "unnamedWire#16",
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "S1"
},
"name": "unnamedWire#17",
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#0",
"pinName": ""
},
"pin2": {
"pinName": "I00"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "I1"
},
"name": "unnamedWire#2",
"pinName": "I01"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "I2"
},
"name": "unnamedWire#3",
"pinName": "I10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "I1"
},
"name": "unnamedWire#4",
"pinName": "I11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "I2"
},
"name": "unnamedWire#5",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "Y"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "sel1#0",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "I0"
},
"name": "unnamedWire#7",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
+ "compName": "sel1#1",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "I1"
},
"name": "unnamedWire#8",
"pinName": "S1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "S0"
},
"name": "unnamedWire#9",
+++ /dev/null
-{
- "width": 62.0,
- "height": 90.0,
- "interfacePins": [
- {
- "location": {
- "x": 0.0,
- "y": 30.0
- },
- "name": "I00",
- "logicWidth": 4,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 40.0
- },
- "name": "I01",
- "logicWidth": 4,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 50.0
- },
- "name": "I10",
- "logicWidth": 4,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 60.0
- },
- "name": "I11",
- "logicWidth": 4,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 10.0
- },
- "name": "S0",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 20.0
- },
- "name": "S1",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 62.0,
- "y": 16.0
- },
- "name": "Y",
- "logicWidth": 4,
- "usage": "OUTPUT"
- }
- ],
- "innerScale": 0.4,
- "submodel": {
- "components": [
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 40.0,
- "y": 30.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 40.0,
- "y": 125.0
- }
- },
- {
- "id": "mux1_4",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 100.0,
- "y": 20.0
- }
- },
- {
- "id": "Merger",
- "name": "Merger#0",
- "pos": {
- "x": 140.0,
- "y": 25.0
- },
- "params": 4
- },
- {
- "id": "Splitter",
- "name": "Splitter#0",
- "pos": {
- "x": 25.0,
- "y": 45.0
- },
- "params": 4
- },
- {
- "id": "Splitter",
- "name": "Splitter#1",
- "pos": {
- "x": 25.0,
- "y": 85.0
- },
- "params": 4
- },
- {
- "id": "Splitter",
- "name": "Splitter#2",
- "pos": {
- "x": 25.0,
- "y": 140.0
- },
- "params": 4
- },
- {
- "id": "Splitter",
- "name": "Splitter#3",
- "pos": {
- "x": 25.0,
- "y": 180.0
- },
- "params": 4
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#0",
- "pos": {
- "x": 19.0,
- "y": 34.0
- },
- "params": 1
- }
- ],
- "wires": [
- {
- "pin1": {
- "compName": "Splitter#2",
- "pinName": "O0"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I0_1"
- },
- "name": "unnamedWire#0",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I0_2"
- },
- "pin2": {
- "compName": "Splitter#2",
- "pinName": "O1"
- },
- "name": "unnamedWire#1",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_1"
- },
- "pin2": {
- "compName": "Splitter#1",
- "pinName": "O0"
- },
- "name": "unnamedWire#10",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#1",
- "pinName": "O3"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_4"
- },
- "name": "unnamedWire#11",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_4"
- },
- "pin2": {
- "compName": "Splitter#0",
- "pinName": "O3"
- },
- "name": "unnamedWire#12",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_3"
- },
- "pin2": {
- "compName": "Splitter#0",
- "pinName": "O2"
- },
- "name": "unnamedWire#13",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_2"
- },
- "pin2": {
- "compName": "Splitter#0",
- "pinName": "O1"
- },
- "name": "unnamedWire#14",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_1"
- },
- "pin2": {
- "compName": "Splitter#0",
- "pinName": "O0"
- },
- "name": "unnamedWire#15",
- "path": []
- },
- {
- "pin1": {
- "compName": "_submodelinterface",
- "pinName": "S0"
- },
- "pin2": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
- },
- "name": "unnamedWire#16",
- "path": [
- {
- "x": 20.0,
- "y": 25.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "S0"
- },
- "name": "unnamedWire#17",
- "path": []
- },
- {
- "pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "S0"
- },
- "name": "unnamedWire#18",
- "path": [
- {
- "x": 20.0,
- "y": 130.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "Splitter#0",
- "pinName": "I"
- },
- "pin2": {
- "compName": "_submodelinterface",
- "pinName": "I00"
- },
- "name": "unnamedWire#19",
- "path": [
- {
- "x": 15.0,
- "y": 60.0
- },
- {
- "x": 15.0,
- "y": 75.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "Splitter#2",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I0_3"
- },
- "name": "unnamedWire#2",
- "path": []
- },
- {
- "pin1": {
- "compName": "_submodelinterface",
- "pinName": "I01"
- },
- "pin2": {
- "compName": "Splitter#1",
- "pinName": "I"
- },
- "name": "unnamedWire#20",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#2",
- "pinName": "I"
- },
- "pin2": {
- "compName": "_submodelinterface",
- "pinName": "I10"
- },
- "name": "unnamedWire#21",
- "path": [
- {
- "x": 15.0,
- "y": 155.0
- },
- {
- "x": 15.0,
- "y": 125.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "_submodelinterface",
- "pinName": "I11"
- },
- "pin2": {
- "compName": "Splitter#3",
- "pinName": "I"
- },
- "name": "unnamedWire#22",
- "path": [
- {
- "x": 10.0,
- "y": 150.0
- },
- {
- "x": 10.0,
- "y": 195.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y1"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_1"
- },
- "name": "unnamedWire#23",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y2"
- },
- "name": "unnamedWire#24",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y3"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_3"
- },
- "name": "unnamedWire#25",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_4"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y4"
- },
- "name": "unnamedWire#26",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_1"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Y1"
- },
- "name": "unnamedWire#27",
- "path": [
- {
- "x": 80.0,
- "y": 75.0
- },
- {
- "x": 80.0,
- "y": 130.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Y2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_2"
- },
- "name": "unnamedWire#28",
- "path": [
- {
- "x": 85.0,
- "y": 140.0
- },
- {
- "x": 85.0,
- "y": 85.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_3"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Y3"
- },
- "name": "unnamedWire#29",
- "path": [
- {
- "x": 90.0,
- "y": 95.0
- },
- {
- "x": 90.0,
- "y": 150.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "Splitter#3",
- "pinName": "O0"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I1_1"
- },
- "name": "unnamedWire#3",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Y4"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_4"
- },
- "name": "unnamedWire#30",
- "path": [
- {
- "x": 95.0,
- "y": 160.0
- },
- {
- "x": 95.0,
- "y": 105.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "Merger#0",
- "pinName": "O"
- },
- "pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y"
- },
- "name": "unnamedWire#31",
- "path": []
- },
- {
- "pin1": {
- "compName": "Merger#0",
- "pinName": "I0"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y1"
- },
- "name": "unnamedWire#32",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y2"
- },
- "pin2": {
- "compName": "Merger#0",
- "pinName": "I1"
- },
- "name": "unnamedWire#33",
- "path": []
- },
- {
- "pin1": {
- "compName": "Merger#0",
- "pinName": "I2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y3"
- },
- "name": "unnamedWire#34",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y4"
- },
- "pin2": {
- "compName": "Merger#0",
- "pinName": "I3"
- },
- "name": "unnamedWire#35",
- "path": []
- },
- {
- "pin1": {
- "compName": "_submodelinterface",
- "pinName": "S1"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "S0"
- },
- "name": "unnamedWire#36",
- "path": [
- {
- "x": 15.0,
- "y": 50.0
- },
- {
- "x": 15.0,
- "y": 20.0
- },
- {
- "x": 60.0,
- "y": 20.0
- },
- {
- "x": 60.0,
- "y": 25.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I0_4"
- },
- "pin2": {
- "compName": "Splitter#2",
- "pinName": "O3"
- },
- "name": "unnamedWire#4",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#3",
- "pinName": "O1"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I1_2"
- },
- "name": "unnamedWire#5",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I1_3"
- },
- "pin2": {
- "compName": "Splitter#3",
- "pinName": "O2"
- },
- "name": "unnamedWire#6",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#3",
- "pinName": "O3"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I1_4"
- },
- "name": "unnamedWire#7",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#1",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_3"
- },
- "name": "unnamedWire#8",
- "path": []
- },
- {
- "pin1": {
- "compName": "Splitter#1",
- "pinName": "O1"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_2"
- },
- "name": "unnamedWire#9",
- "path": []
- }
- ],
- "version": "0.1.1"
- },
- "symbolRendererSnippetID": "simpleRectangularLike",
- "symbolRendererParams": {
- "centerText": "mux1_4",
- "centerTextHeight": 5.0,
- "horizontalComponentCenter": 17.5,
- "pinLabelHeight": 3.5,
- "pinLabelMargin": 0.5
- },
- "outlineRendererSnippetID": "default",
- "highLevelStateHandlerSnippetID": "default",
- "version": "0.1.5"
-}
\ No newline at end of file
"submodel": {
"components": [
{
- "id": "mux2",
- "name": "DeserializedSubmodelComponent#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
"pos": {
- "x": 35.0,
- "y": 185.0
- }
+ "x": 19.0,
+ "y": 104.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 24.0,
+ "y": 94.0
+ },
+ "params": 1
},
{
"id": "mux1",
- "name": "DeserializedSubmodelComponent#2",
+ "name": "mux1#0",
"pos": {
"x": 125.0,
"y": 20.0
},
{
"id": "mux2",
- "name": "DeserializedSubmodelComponent#3",
+ "name": "mux2#0",
"pos": {
"x": 35.0,
- "y": 85.0
+ "y": 185.0
}
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#0",
- "pos": {
- "x": 19.0,
- "y": 104.0
- },
- "params": 1
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#1",
+ "id": "mux2",
+ "name": "mux2#1",
"pos": {
- "x": 24.0,
- "y": 94.0
- },
- "params": 1
+ "x": 35.0,
+ "y": 85.0
+ }
}
],
"wires": [
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux2#1",
"pinName": "I11"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux2#0",
"pinName": "I00"
},
"pin2": {
"pinName": "I101"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux2#0",
"pinName": "I01"
},
"name": "unnamedWire#12",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux2#0",
"pinName": "I10"
},
"pin2": {
"pinName": "I111"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux2#0",
"pinName": "I11"
},
"name": "unnamedWire#14",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux2#0",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "I1"
},
"name": "unnamedWire#15",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux2#1",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "I0"
},
"name": "unnamedWire#16",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "S0"
},
"pin2": {
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux2#1",
"pinName": "S1"
},
"name": "unnamedWire#2",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux2#1",
"pinName": "S0"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux2#0",
"pinName": "S1"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "mux2#0",
"pinName": "S0"
},
"pin2": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "mux1#0",
"pinName": "Y"
},
"pin2": {
"pinName": "I000"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux2#1",
"pinName": "I00"
},
"name": "unnamedWire#7",
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux2#1",
"pinName": "I01"
},
"pin2": {
"pinName": "I010"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "mux2#1",
"pinName": "I10"
},
"name": "unnamedWire#9",
"delegateTarget": "dlatch4#0"
}
},
- "c11": {
+ "c01": {
"id": "delegating",
"params": {
- "delegateTarget": "dlatch4#3"
+ "delegateTarget": "dlatch4#1"
}
},
"c10": {
"delegateTarget": "dlatch4#2"
}
},
- "c01": {
+ "c11": {
"id": "delegating",
"params": {
- "delegateTarget": "dlatch4#1"
+ "delegateTarget": "dlatch4#3"
}
}
},
"delegateTarget": "ram2#0"
}
},
- "c11": {
+ "c0000": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#3"
+ "delegateTarget": "ram2#0",
+ "prefix": "c00"
}
},
- "c10": {
+ "c0001": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#2"
+ "delegateTarget": "ram2#1",
+ "prefix": "c00"
}
},
- "c01": {
+ "c0010": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#1"
+ "delegateTarget": "ram2#2",
+ "prefix": "c00"
}
},
- "c1000": {
+ "c0011": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#0",
- "prefix": "c10"
+ "delegateTarget": "ram2#3",
+ "prefix": "c00"
}
},
- "c1011": {
+ "c01": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#3",
- "prefix": "c10"
+ "delegateTarget": "ram2#1"
}
},
- "c1110": {
+ "c0100": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#2",
- "prefix": "c11"
+ "delegateTarget": "ram2#0",
+ "prefix": "c01"
}
},
- "c1001": {
+ "c0101": {
"id": "delegating",
"params": {
"delegateTarget": "ram2#1",
- "prefix": "c10"
+ "prefix": "c01"
}
},
- "c1100": {
+ "c0110": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#0",
- "prefix": "c11"
+ "delegateTarget": "ram2#2",
+ "prefix": "c01"
}
},
- "c1111": {
+ "c0111": {
"id": "delegating",
"params": {
"delegateTarget": "ram2#3",
- "prefix": "c11"
+ "prefix": "c01"
}
},
- "c0000": {
+ "c10": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#0",
- "prefix": "c00"
+ "delegateTarget": "ram2#2"
}
},
- "c0011": {
+ "c1000": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#3",
- "prefix": "c00"
+ "delegateTarget": "ram2#0",
+ "prefix": "c10"
}
},
- "c0110": {
+ "c1001": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#2",
- "prefix": "c01"
+ "delegateTarget": "ram2#1",
+ "prefix": "c10"
}
},
- "c0010": {
+ "c1010": {
"id": "delegating",
"params": {
"delegateTarget": "ram2#2",
- "prefix": "c00"
+ "prefix": "c10"
}
},
- "c1010": {
+ "c1011": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#2",
+ "delegateTarget": "ram2#3",
"prefix": "c10"
}
},
- "c0101": {
+ "c11": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#1",
- "prefix": "c01"
+ "delegateTarget": "ram2#3"
}
},
- "c0001": {
+ "c1100": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#1",
- "prefix": "c00"
+ "delegateTarget": "ram2#0",
+ "prefix": "c11"
}
},
- "c0100": {
+ "c1101": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#0",
- "prefix": "c01"
+ "delegateTarget": "ram2#1",
+ "prefix": "c11"
}
},
- "c0111": {
+ "c1110": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#3",
- "prefix": "c01"
+ "delegateTarget": "ram2#2",
+ "prefix": "c11"
}
},
- "c1101": {
+ "c1111": {
"id": "delegating",
"params": {
- "delegateTarget": "ram2#1",
+ "delegateTarget": "ram2#3",
"prefix": "c11"
}
}
"components": [
{
"id": "NandGate",
- "name": "NandGate#1",
+ "name": "NandGate#0",
"pos": {
"x": 35.0,
"y": 30.0
},
{
"id": "NandGate",
- "name": "NandGate#2",
+ "name": "NandGate#1",
"pos": {
"x": 35.0,
"y": 55.0
},
{
"id": "NandGate",
- "name": "NandGate#3",
+ "name": "NandGate#2",
"pos": {
"x": 60.0,
"y": 40.0
"pinName": "S1"
},
"pin2": {
- "compName": "NandGate#1",
+ "compName": "NandGate#0",
"pinName": "A"
},
"name": "unnamedWire#0",
"pinName": "S2"
},
"pin2": {
- "compName": "NandGate#2",
+ "compName": "NandGate#1",
"pinName": "A"
},
"name": "unnamedWire#1",
},
{
"pin1": {
- "compName": "NandGate#3",
+ "compName": "NandGate#2",
"pinName": "Y"
},
"pin2": {
"pinName": "I1"
},
"pin2": {
- "compName": "NandGate#1",
+ "compName": "NandGate#0",
"pinName": "B"
},
"name": "unnamedWire#5",
"pinName": "I2"
},
"pin2": {
- "compName": "NandGate#2",
+ "compName": "NandGate#1",
"pinName": "B"
},
"name": "unnamedWire#7",
},
{
"pin1": {
- "compName": "NandGate#1",
+ "compName": "NandGate#0",
"pinName": "Y"
},
"pin2": {
- "compName": "NandGate#3",
+ "compName": "NandGate#2",
"pinName": "A"
},
"name": "unnamedWire#8"
},
{
"pin1": {
- "compName": "NandGate#2",
+ "compName": "NandGate#1",
"pinName": "Y"
},
"pin2": {
- "compName": "NandGate#3",
+ "compName": "NandGate#2",
"pinName": "B"
},
"name": "unnamedWire#9"
import net.mograsim.logic.model.serializing.ClassLoaderBasedResourceLoader;
import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
+import net.mograsim.machine.MachineLoader;
public class Am2900Loader implements BundleActivator
{
+ // TODO use dff16 in dff16_we & dff16_invwe
private static AtomicBoolean activated = new AtomicBoolean(false);
@Override
ClassLoaderBasedResourceLoader resourceLoader = ClassLoaderBasedResourceLoader.create(Am2900Loader.class.getClassLoader());
IndirectModelComponentCreator.registerResourceLoader(resourceLoader, "Am2900Loader");
IndirectModelComponentCreator.loadStandardComponentIDs(Am2900Loader.class.getResourceAsStream("standardComponentIDMapping.json"));
+ MachineLoader.setup();
// System.out.println("SETUP DONE"); // TODO: Debug
}
}
--- /dev/null
+package net.mograsim.logic.model.am2900.components;
+
+import static net.mograsim.logic.core.types.Bit.U;
+import static net.mograsim.logic.core.types.Bit.X;
+import static net.mograsim.logic.core.types.Bit.Z;
+import static net.mograsim.logic.core.types.Bit.ZERO;
+
+import java.util.Arrays;
+import java.util.Map;
+
+import net.mograsim.logic.core.types.Bit;
+import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
+import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd;
+import net.mograsim.logic.model.model.LogicModelModifiable;
+import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedModelComponent;
+import net.mograsim.logic.model.model.wires.Pin;
+import net.mograsim.logic.model.model.wires.PinUsage;
+import net.mograsim.logic.model.serializing.IdentifyParams;
+import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
+import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position;
+
+public class Modelinc extends SimpleRectangularHardcodedModelComponent
+{
+ private final int logicWidth;
+
+ public Modelinc(LogicModelModifiable model, String name, int logicWidth)
+ {
+ super(model, "inc", name, "Incrementer", false);
+ this.logicWidth = logicWidth;
+ setSize(40, 20);
+ addPin(new Pin(model, this, "A", logicWidth, PinUsage.INPUT, 20, 20), Position.TOP);
+ addPin(new Pin(model, this, "CI", 1, PinUsage.INPUT, 40, 10), Position.LEFT);
+ addPin(new Pin(model, this, "Y", logicWidth, PinUsage.OUTPUT, 20, 0), Position.BOTTOM);
+
+ init();
+ }
+
+ @Override
+ public Object recalculate(Object lastState, Map<String, ReadEnd> readEnds, Map<String, ReadWriteEnd> readWriteEnds)
+ {
+ Bit[] ABits = readEnds.get("A").getValues().getBits();
+ Bit CIVal = readEnds.get("CI").getValue();
+ Bit[] YBits = new Bit[logicWidth];
+ if (CIVal == X)
+ Arrays.fill(YBits, X);
+ else if (CIVal == U)
+ Arrays.fill(YBits, U);
+ else if (CIVal == Z)
+ Arrays.fill(YBits, X);
+ else if (CIVal == ZERO)
+ YBits = ABits;
+ else
+ {
+ Bit carry = Bit.ONE;
+ // TODO extract to helper. This code almost also exists in ModelAm2910RegCntr.
+ for (int i = logicWidth - 1; i >= 0; i--)
+ {
+ Bit a = ABits[i];
+ YBits[i] = a.xor(carry);
+ carry = a.and(carry);
+ }
+ }
+ readWriteEnds.get("Y").feedSignals(YBits);
+ return null;
+ }
+
+ @Override
+ public Integer getParamsForSerializing(IdentifyParams idParams)
+ {
+ return logicWidth;
+ }
+
+ static
+ {
+ IndirectModelComponentCreator.setComponentSupplier(Modelinc.class.getCanonicalName(),
+ (m, p, n) -> new Modelinc(m, n, p.getAsInt()));
+ }
+}
\ No newline at end of file
+++ /dev/null
-package net.mograsim.logic.model.am2900.components;
-
-import static net.mograsim.logic.core.types.Bit.U;
-import static net.mograsim.logic.core.types.Bit.X;
-import static net.mograsim.logic.core.types.Bit.Z;
-import static net.mograsim.logic.core.types.Bit.ZERO;
-
-import java.util.Arrays;
-import java.util.Map;
-
-import net.mograsim.logic.core.types.Bit;
-import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
-import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd;
-import net.mograsim.logic.model.model.LogicModelModifiable;
-import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedModelComponent;
-import net.mograsim.logic.model.model.wires.Pin;
-import net.mograsim.logic.model.model.wires.PinUsage;
-import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
-import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position;
-
-public class Modelinc12 extends SimpleRectangularHardcodedModelComponent
-{
- public Modelinc12(LogicModelModifiable model, String name)
- {
- super(model, "inc12", name, "Incrementer", false);
- setSize(40, 20);
- addPin(new Pin(model, this, "A", 12, PinUsage.INPUT, 20, 20), Position.TOP);
- addPin(new Pin(model, this, "CI", 1, PinUsage.INPUT, 40, 10), Position.LEFT);
- addPin(new Pin(model, this, "Y", 12, PinUsage.OUTPUT, 20, 0), Position.BOTTOM);
-
- init();
- }
-
- @Override
- public Object recalculate(Object lastState, Map<String, ReadEnd> readEnds, Map<String, ReadWriteEnd> readWriteEnds)
- {
- Bit[] ABits = readEnds.get("A").getValues().getBits();
- Bit CIVal = readEnds.get("CI").getValue();
- Bit[] YBits = new Bit[12];
- if (CIVal == X)
- Arrays.fill(YBits, X);
- else if (CIVal == U)
- Arrays.fill(YBits, U);
- else if (CIVal == Z)
- Arrays.fill(YBits, X);
- else if (CIVal == ZERO)
- YBits = ABits;
- else
- {
- Bit carry = Bit.ONE;
- // TODO extract to helper. This code almost also exists in ModelAm2910RegCntr.
- for (int i = 11; i >= 0; i--)
- {
- Bit a = ABits[i];
- YBits[i] = a.xor(carry);
- carry = a.and(carry);
- }
- }
- readWriteEnds.get("Y").feedSignals(YBits);
- return null;
- }
-
- static
- {
- IndirectModelComponentCreator.setComponentSupplier(Modelinc12.class.getCanonicalName(), (m, p, n) -> new Modelinc12(m, n));
- }
-}
\ No newline at end of file
else if (WE.getValue() == ONE)
{
Bit carry = Bit.ZERO;
- // TODO extract to helper. This code almost also exists in Modelinc12.
+ // TODO extract to helper. This code almost also exists in Modelinc.
for (int i = 11; i >= 0; i--)
{
Bit a = QC[i];
public class Am2900MicroInstructionDefinition implements MicroInstructionDefinition
{
- private final static MnemonicFamily am2910Instructions = new MnemonicFamily(new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
+ private final static MnemonicFamily am2910Instructions = new MnemonicFamily("JZ", "CJS", "JMAP", "PUSH", "JSRP", "CJV", "JRP", "RFCT",
+ "RPCT", "CRTN", "CJPP", "LDCT", "LOOP", "CONT", "TWB");
private final static MnemonicFamily am2904StatusInstructions = new MnemonicFamily(
- new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
- private final static MnemonicFamily am2904ShiftInstructions = new MnemonicFamily(
- new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
- private final static MnemonicFamily am2904CarryInstructions = new MnemonicFamily(
- new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
- private final static MnemonicFamily am2901DestInstructions = new MnemonicFamily(
- new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
- private final static MnemonicFamily am2901FuncInstructions = new MnemonicFamily(
- new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
- private final static MnemonicFamily am2901SrcInstructions = new MnemonicFamily(
- new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
+ new String[] { "Zero", "NotZero", "UGTEQ", "ULT", "UGT", "ULTEQ", "SGTEQ", "SLT", "SGT", "SLTEQ" },
+ new long[] { 0x5, 0x4, 0xB, 0xA, 0xC, 0xD, 0x2, 0x3, 0x0, 0x1 }, 4);
+ private final static MnemonicFamily am2904ShiftInstructions = new MnemonicFamily("SL", "SH", "SCONI", "SDH", "SDC", "SDN", "SDL",
+ "SDCO", "SRCO", "SRCIO", "SR", "SDIC", "SDRCI", "SDRCO", "SDXOR", "SDR");
+ private final static MnemonicFamily am2904CarryInstructions = new MnemonicFamily(new String[] { "0", "1", "Cx", "µ", "!µ", "M", "!M" },
+ new long[] { 0b000000, 0b010000, 0b100000, 0b110000, 0b110100, 0b111000, 0b111100 }, 6);
+ private final static MnemonicFamily am2901DestInstructions = new MnemonicFamily("QREG", "NOP", "RAMA", "RAMF", "RAMQD", "RAMD", "RAMQU",
+ "RAMU");
+ private final static MnemonicFamily am2901FuncInstructions = new MnemonicFamily("ADD", "SUBR", "SUBS", "OR", "AND", "NOTRS", "EXOR",
+ "EXNOR");
+ private final static MnemonicFamily am2901SrcInstructions = new MnemonicFamily("AQ", "AB", "ZQ", "ZB", "ZA", "DA", "DQ", "DZ");
private final static MnemonicFamily interruptInstructions = new MnemonicFamily(
new MnemonicPair("X", BitVector.of(Bit.ZERO, 4))/* TODO */);
private final static BooleanClassification hL = new BooleanClassification("H", "L");
"Am2910SP": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.am2910.ModelAm2910SP",
"dff12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modeldff12",
"dff4_finewe": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modeldff4_finewe",
- "inc12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelinc12",
+ "inc": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelinc",
"nor12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelnor12",
"ram5_12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelram5_12",
"sel4_12": "resloader:Am2900Loader:class:net.mograsim.logic.model.am2900.components.Modelsel4_12",
+ "Am2900": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/Am2900.json",
"Am2901": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901.json",
"Am2901ALUFuncDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901ALUFuncDecode.json",
"Am2901ALUInclDecode": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/am2901/Am2901ALUInclDecode.json",
"andor414": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/andor414.json",
"demux2": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/demux2.json",
"dff": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff.json",
- "dff12_we": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff12_we.json",
- "dff16_invwe": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16_invwe.json",
"dff4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff4.json",
"dff4_invwe": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff4_invwe.json",
+ "dff8": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff8.json",
+ "dff12_we": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff12_we.json",
+ "dff16": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16.json",
+ "dff16_we": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16_we.json",
+ "dff16_invwe": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16_invwe.json",
+ "dff80": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff80.json",
"dlatch": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dlatch.json",
"dlatch4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dlatch4.json",
"fulladder": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/fulladder.json",
"halfadder": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/halfadder.json",
"mux1": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1.json",
+ "mux1_4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_4.json",
+ "mux1_8": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_8.json",
"mux1_12": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_12.json",
"mux1_16": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_16.json",
- "mux1_4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux1_4.json",
"mux2": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux2.json",
- "mux2_4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux2_4.json",
"mux3": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/mux3.json",
"nand3": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/nand3.json",
"not4": "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/not4.json",
--- /dev/null
+package net.mograsim.logic.model.examples;
+
+import java.util.ArrayList;
+
+import net.mograsim.logic.model.am2900.Am2900Loader;
+import net.mograsim.logic.model.model.LogicModelModifiable;
+import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
+import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
+import net.mograsim.logic.model.serializing.IdentifyParams;
+import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandler;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.BitVectorSplittingAtomicHighLevelStateHandler.BitVectorSplittingAtomicHighLevelStateHandlerParams;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.DelegatingAtomicHighLevelStateHandler.DelegatingAtomicHighLevelStateHandlerParams;
+
+public class GenerateDff80HighLevelStateHandler
+{
+ public static void main(String[] args)
+ {
+ Am2900Loader.setup();
+ LogicModelModifiable model = new LogicModelModifiable();
+ DeserializedSubmodelComponent comp = new DeserializedSubmodelComponent(model, null, null, null);
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#0");// LSB
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#1");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#2");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#3");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#4");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#5");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#6");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#7");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#8");
+ IndirectModelComponentCreator.createComponent(comp.getSubmodelModifiable(), "dff8", "dff8#9");// MSB
+
+ StandardHighLevelStateHandler hlsh = new StandardHighLevelStateHandler(comp);
+ comp.setHighLevelStateHandler(hlsh);
+ BitVectorSplittingAtomicHighLevelStateHandlerParams p = new BitVectorSplittingAtomicHighLevelStateHandlerParams();
+ p.vectorPartLengthes = new ArrayList<>();
+ p.vectorPartTargets = new ArrayList<>();
+ for (int i = 0; i < 10; i++)
+ {
+ addHandlersForByte(comp, hlsh, i, p);
+ }
+ hlsh.addAtomicHighLevelState("q", new BitVectorSplittingAtomicHighLevelStateHandler(comp, p));
+
+ System.out.println(comp.getHighLevelStateHandler().getParamsForSerializingJSON(new IdentifyParams()));
+ }
+
+ private static void addHandlersForByte(SubmodelComponent comp, StandardHighLevelStateHandler hlsh, int LSByteIndex,
+ BitVectorSplittingAtomicHighLevelStateHandlerParams p2)
+ {
+ // TODO remove the "+ 1" as soon as HighLevelStates count from 0
+ // Also replace the 1 in "bitIndexInByte = 1" below with a 0
+ int LSBitIndex = LSByteIndex * 8 + 1;
+ int MSBitIndex = LSBitIndex + 7;
+ String dffThisByte = "dff8#" + LSByteIndex;
+ String thisByteHLSID = "q" + MSBitIndex + "-" + LSBitIndex;
+
+ p2.vectorPartLengthes.add(0, 8);
+ p2.vectorPartTargets.add(0, thisByteHLSID);
+
+ DelegatingAtomicHighLevelStateHandlerParams p = new DelegatingAtomicHighLevelStateHandlerParams();
+ p.delegateTarget = dffThisByte;
+ p.subStateID = "q";
+ hlsh.addAtomicHighLevelState(thisByteHLSID, new DelegatingAtomicHighLevelStateHandler(comp, p));
+ for (int bitIndexOuter = LSBitIndex, bitIndexInByte = 1; bitIndexOuter <= MSBitIndex; bitIndexOuter++, bitIndexInByte++)
+ {
+ p = new DelegatingAtomicHighLevelStateHandlerParams();
+ p.delegateTarget = dffThisByte;
+ p.subStateID = "q" + bitIndexInByte;
+ hlsh.addAtomicHighLevelState("q" + bitIndexOuter, new DelegatingAtomicHighLevelStateHandler(comp, p));
+ }
+ }
+}
\ No newline at end of file
public static void createTestbench(LogicModelModifiable model)
{
Am2900Loader.setup();
- ModelComponent comp = IndirectModelComponentCreator.createComponent(model,
- "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/components/dff16_invwe.json");
+ ModelComponent comp = IndirectModelComponentCreator.createComponent(model, "Am2900");
List<String> inputPinNames = new ArrayList<>();
List<String> outputPinNames = new ArrayList<>();
--- /dev/null
+package net.mograsim.logic.model.examples;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Optional;
+import java.util.Scanner;
+import java.util.Set;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
+import net.mograsim.logic.model.am2900.Am2900Loader;
+import net.mograsim.logic.model.model.LogicModelModifiable;
+import net.mograsim.logic.model.model.components.ModelComponent;
+import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
+import net.mograsim.logic.model.model.components.submodels.SubmodelInterface;
+import net.mograsim.logic.model.model.wires.ModelWire;
+import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
+import net.mograsim.logic.model.model.wires.MovablePin;
+import net.mograsim.logic.model.model.wires.Pin;
+import net.mograsim.logic.model.model.wires.PinUsage;
+import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
+import net.mograsim.logic.model.serializing.IdentifyParams;
+import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
+import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
+import net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler;
+
+public class ReserializeJSONs
+{
+ public static double GRIDSIZE = 2.5;
+ public static boolean changePinUsages = false;
+ public static boolean changeComponentNames = false;
+ public static boolean snapWCPs = true;
+ public static boolean warnNonSnappedPoints = true;
+
+ public static void main(String[] args) throws IOException
+ {
+ Am2900Loader.setup();
+ try (Scanner sysin = new Scanner(System.in))
+ {
+ System.out.print("Directory to search for JSONs in / JSON file to reserialize >");
+ Path root = Paths.get(sysin.nextLine());
+ if (!Files.exists(root))
+ throw new IllegalArgumentException("Path doesn't exist");
+ if (Files.isRegularFile(root))
+ reserializeJSON(root, sysin);
+ else
+ {
+ System.out.print("Recursive? >");
+ boolean recursive = Boolean.valueOf(sysin.nextLine());
+ try (Stream<Path> jsons = recursive ? Files.walk(root) : Files.list(root))
+ {
+ jsons.filter(Files::isRegularFile).filter(p -> p.getFileName().toString().endsWith(".json"))
+ .forEach(j -> reserializeJSON(j, sysin));
+ }
+ }
+ }
+ }
+
+ public static void reserializeJSON(Path componentPath, Scanner sysin)
+ {
+ try
+ {
+ DeserializedSubmodelComponent comp = (DeserializedSubmodelComponent) IndirectModelComponentCreator
+ .createComponent(new LogicModelModifiable(), "jsonfile:" + componentPath.toString());
+ System.out.println("Reserializing " + componentPath);
+ if (changePinUsages)
+ comp.getSupermodelPins().entrySet().stream().sorted(Comparator.comparing(Entry::getKey)).map(Entry::getValue).forEach(pin ->
+ {
+ PinUsage usage = null;
+ while (usage == null)
+ try
+ {
+ System.out.print(" Usage for interface pin " + pin.name + " (empty: " + pin.usage + ") >");
+ String usageStr = sysin.nextLine().toUpperCase();
+ usage = usageStr.equals("") ? pin.usage
+ : usageStr.equals("I") ? PinUsage.INPUT
+ : usageStr.equals("O") ? PinUsage.OUTPUT
+ : usageStr.equals("T") ? PinUsage.TRISTATE : PinUsage.valueOf(usageStr);
+ }
+ catch (@SuppressWarnings("unused") IllegalArgumentException e)
+ {
+ System.err.println(" Illegal usage");
+ }
+ setInterfacePinUsage(comp, pin, usage);
+ });
+ LogicModelModifiable submodelModifiable = comp.getSubmodelModifiable();
+ Map<String, String> componentNameRemapping = new HashMap<>();
+ if (changeComponentNames)
+ {
+ componentNameRemapping.put(SubmodelComponent.SUBMODEL_INTERFACE_NAME, SubmodelComponent.SUBMODEL_INTERFACE_NAME);
+ LogicModelModifiable tempModel = new LogicModelModifiable();
+ IdentifyParams iP = new IdentifyParams();
+ submodelModifiable.getComponentsByName().entrySet().stream()
+ .filter(e -> !e.getKey().equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME))
+ .sorted(Comparator.comparing(Entry::getKey, ReserializeJSONs::compareStringsWithIntegers)).forEach(e ->
+ {
+ String oldName = e.getKey();
+ ModelComponent subcomp = e.getValue();
+ String defaultName = tempModel.getDefaultComponentName(subcomp);
+ String newName = null;
+ while (newName == null)
+ {
+ System.out.print(" New name for component " + oldName + " of type " + subcomp.getIDForSerializing(iP)
+ + " (empty: " + defaultName + ") >");
+ newName = sysin.nextLine();
+ if (newName.equals(""))
+ newName = defaultName;
+ if (tempModel.getComponentsByName().containsKey(newName))
+ {
+ System.err.println(" There already is a component with that name");
+ newName = null;
+ }
+ }
+ componentNameRemapping.put(oldName, newName);
+ IndirectModelComponentCreator.createComponent(tempModel, subcomp.getIDForSerializing(iP),
+ subcomp.getParamsForSerializingJSON(iP), newName).moveTo(subcomp.getPosX(), subcomp.getPosY());
+ });
+ SubmodelInterface tempSubmodelInterface = new SubmodelInterface(tempModel);
+ for (Pin p : submodelModifiable.getComponentsByName().get(SubmodelComponent.SUBMODEL_INTERFACE_NAME).getPins().values())
+ tempSubmodelInterface
+ .addPin(new Pin(tempModel, tempSubmodelInterface, p.name, p.logicWidth, p.usage, p.getRelX(), p.getRelY()));
+ for (ModelWire w : submodelModifiable.getWiresByName().values())
+ createWire(componentNameRemapping::get, tempModel, w);
+
+ Optional<ModelComponent> o;
+ while ((o = submodelModifiable.getComponentsByName().values().stream()
+ .filter(c -> !c.getName().equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME)).findAny()).isPresent())
+ submodelModifiable.destroyComponent(o.get());
+
+ tempModel.getComponentsByName().values().stream()
+ .filter(c -> !c.getName().equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME))
+ .forEach(c -> IndirectModelComponentCreator.createComponent(submodelModifiable, c.getIDForSerializing(iP),
+ c.getParamsForSerializingJSON(iP), c.getName()).moveTo(c.getPosX(), c.getPosY()));
+ for (ModelWire w : tempModel.getWiresByName().values())
+ createWire(Function.identity(), submodelModifiable, w);
+ }
+ if (snapWCPs)
+ submodelModifiable.getComponentsByName().values().stream().filter(c -> c instanceof ModelWireCrossPoint).forEach(c ->
+ {
+ double x = c.getPosX();
+ double y = c.getPosY();
+ c.moveTo(x % GRIDSIZE == 0 ? x - 1 : x, y % GRIDSIZE == 0 ? y - 1 : y);
+ });
+ if (warnNonSnappedPoints)
+ {
+ if (comp.getWidth() % GRIDSIZE != 0 || comp.getHeight() % GRIDSIZE != 0)
+ System.out.println(" Size is not snapped to grid: " + comp.getWidth() + "," + comp.getHeight());
+ submodelModifiable.getComponentsByName().values().forEach(c ->
+ {
+ double x = c.getPosX();
+ double y = c.getPosY();
+ if (c instanceof ModelWireCrossPoint)
+ {
+ x++;
+ y++;
+ }
+ if (x % GRIDSIZE != 0 || y % GRIDSIZE != 0)
+ System.out.println(" Component " + c.getName() + " (type " + c.getIDForSerializing(new IdentifyParams())
+ + ") is not snapped to grid: " + x + "," + y);
+ });
+ submodelModifiable.getWiresByName().values().stream().forEach(w ->
+ {
+ Point[] p = w.getPath();
+ if (p != null)
+ for (int i = 0; i < p.length; i++)
+ if (p[i].x % GRIDSIZE != 0 || p[i].y % GRIDSIZE != 0)
+ System.out.println(
+ " Wire " + w.name + " path point #" + i + " is not snapped to grid: " + p[i].x + "," + p[i].y);
+ });
+ comp.getPins().values().forEach(p ->
+ {
+ if (p.getRelX() % GRIDSIZE != 0 || p.getRelY() % GRIDSIZE != 0)
+ System.out.println(" Interface point " + p.name + " is not snapped to grid: " + p.getRelX() + "," + p.getRelY());
+ });
+ }
+ SubmodelComponentSerializer.serialize(comp, componentPath.toString());
+ if (changeComponentNames && (comp.getHighLevelStateHandler() == null
+ || !(comp.getHighLevelStateHandler() instanceof DefaultHighLevelStateHandler)))
+ {
+ System.out.println(" A non-default HighLevelStateHandler was detected. Check for changes there manually.");
+ System.out.print(" Empty line to continue to next component, old component name to get new component name >");
+ for (String line = sysin.nextLine(); !line.equals(""); line = sysin.nextLine())
+ System.out.println(" " + line + "->" + componentNameRemapping.get(line) + " >");
+ }
+ }
+ catch (Exception e)
+ {
+ System.err.println("An error occurred visiting " + componentPath + ":");
+ e.printStackTrace();
+ }
+ }
+
+ private static ModelWire createWire(Function<String, String> componentNameRemapping, LogicModelModifiable tempModelForDefaultNames,
+ ModelWire w)
+ {
+ return new ModelWire(tempModelForDefaultNames, w.name,
+ getRemappedPin(componentNameRemapping, tempModelForDefaultNames, w.getPin1()),
+ getRemappedPin(componentNameRemapping, tempModelForDefaultNames, w.getPin2()), w.getPath());
+ }
+
+ private static Pin getRemappedPin(Function<String, String> componentNameRemapping, LogicModelModifiable tempModelForDefaultNames,
+ Pin pin)
+ {
+ return tempModelForDefaultNames.getComponentsByName().get(componentNameRemapping.apply(pin.component.getName())).getPin(pin.name);
+ }
+
+ private static int compareStringsWithIntegers(String a, String b)
+ {
+ int aLoc = 0;
+ int bLoc = 0;
+ for (;;)
+ {
+ if (aLoc == a.length())
+ {
+ if (bLoc == b.length())
+ return 0;
+ return -1;
+ }
+ if (bLoc == b.length())
+ return 1;
+ int aInt = 0;
+ int aIntLen = 0;
+ char nextCharA;
+ for (;;)
+ {
+ nextCharA = a.charAt(aLoc++);
+ if (nextCharA < '0' || nextCharA > '9')
+ break;
+ aIntLen++;
+ aInt = aInt * 10 + nextCharA - '0';
+ if (aLoc == a.length())
+ break;
+ }
+ int bInt = 0;
+ int bIntLen = 0;
+ char nextCharB;
+ for (;;)
+ {
+ nextCharB = b.charAt(bLoc++);
+ if (nextCharB < '0' || nextCharB > '9')
+ break;
+ bIntLen++;
+ bInt = bInt * 10 + nextCharB - '0';
+ if (bLoc == b.length())
+ break;
+ }
+ if (aIntLen != 0)
+ {
+ if (bIntLen == 0)
+ return -1;
+ int comp = Integer.compare(aInt, bInt);
+ if (comp != 0)
+ return comp;
+ } else
+ {
+ if (bIntLen != 0)
+ return 1;
+ int comp = Character.compare(nextCharA, nextCharB);
+ if (comp != 0)
+ return comp;
+ }
+ }
+ }
+
+ private static void setInterfacePinUsage(DeserializedSubmodelComponent comp, Pin interfacePin, PinUsage usage)
+ {
+ Set<ModelWire> wiresConnectedToPin = comp.submodel.getWiresByName().values().stream()
+ .filter(w -> w.getPin1() == interfacePin || w.getPin2() == interfacePin).collect(Collectors.toSet());
+ LogicModelModifiable submodelModifiable = comp.getSubmodelModifiable();
+ wiresConnectedToPin.forEach(submodelModifiable::destroyWire);
+ comp.removeSubmodelInterface(interfacePin.name);
+ comp.addSubmodelInterface(new MovablePin(submodelModifiable, comp, interfacePin.name, interfacePin.logicWidth, usage,
+ interfacePin.getRelX(), interfacePin.getRelY()));
+ wiresConnectedToPin.forEach(w -> new ModelWire(submodelModifiable, w.getPin1(), w.getPin2()));
+ }
+}
\ No newline at end of file
+++ /dev/null
-package net.mograsim.logic.model.examples;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.Scanner;
-import java.util.Set;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import net.mograsim.logic.model.am2900.Am2900Loader;
-import net.mograsim.logic.model.model.LogicModelModifiable;
-import net.mograsim.logic.model.model.components.ModelComponent;
-import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
-import net.mograsim.logic.model.model.components.submodels.SubmodelInterface;
-import net.mograsim.logic.model.model.wires.ModelWire;
-import net.mograsim.logic.model.model.wires.MovablePin;
-import net.mograsim.logic.model.model.wires.Pin;
-import net.mograsim.logic.model.model.wires.PinUsage;
-import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
-import net.mograsim.logic.model.serializing.IdentifyParams;
-import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
-import net.mograsim.logic.model.serializing.SubmodelComponentSerializer;
-
-public class ReserializeJSONsSettingUsages
-{
- public static boolean changePinUsages = false;
- public static boolean changeComponentNames = true;
-
- public static void main(String[] args) throws IOException
- {
- Am2900Loader.setup();
- try (Scanner sysin = new Scanner(System.in))
- {
- System.out.print("Directory to search for JSONs in / JSON file to reserialize >");
- Path root = Paths.get(sysin.nextLine());
- if (!Files.exists(root))
- throw new IllegalArgumentException("Path doesn't exist");
- if (Files.isRegularFile(root))
- reserializeJSON(root, sysin);
- else
- {
- System.out.print("Recursive? >");
- boolean recursive = Boolean.valueOf(sysin.nextLine());
- try (Stream<Path> jsons = recursive ? Files.walk(root) : Files.list(root))
- {
- jsons.filter(Files::isRegularFile).filter(p -> p.getFileName().toString().endsWith(".json"))
- .forEach(j -> reserializeJSON(j, sysin));
- }
- }
- }
- }
-
- public static void reserializeJSON(Path json, Scanner sysin)
- {
- try
- {
- DeserializedSubmodelComponent comp = (DeserializedSubmodelComponent) IndirectModelComponentCreator
- .createComponent(new LogicModelModifiable(), "jsonfile:" + json.toString());
- System.out.println("Reserializing " + json);
- if (changePinUsages)
- comp.getSupermodelPins().entrySet().stream().sorted(Comparator.comparing(Entry::getKey)).map(Entry::getValue).forEach(pin ->
- {
- PinUsage usage = null;
- while (usage == null)
- try
- {
- System.out.print(" Usage for interface pin " + pin.name + " (empty: " + pin.usage + ") >");
- String usageStr = sysin.nextLine().toUpperCase();
- usage = usageStr.equals("") ? pin.usage
- : usageStr.equals("I") ? PinUsage.INPUT
- : usageStr.equals("O") ? PinUsage.OUTPUT
- : usageStr.equals("T") ? PinUsage.TRISTATE : PinUsage.valueOf(usageStr);
- }
- catch (@SuppressWarnings("unused") IllegalArgumentException e)
- {
- System.err.println(" Illegal usage");
- }
- setInterfacePinUsage(comp, pin, usage);
- });
- LogicModelModifiable submodelModifiable = comp.getSubmodelModifiable();
- if (changeComponentNames)
- {
- Map<String, String> componentNameRemapping = new HashMap<>();
- componentNameRemapping.put(SubmodelComponent.SUBMODEL_INTERFACE_NAME, SubmodelComponent.SUBMODEL_INTERFACE_NAME);
- LogicModelModifiable tempModel = new LogicModelModifiable();
- IdentifyParams iP = new IdentifyParams();
- submodelModifiable.getComponentsByName().entrySet().stream()
- .filter(e -> !e.getKey().equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME))
- .sorted(Comparator.comparing(Entry::getKey, ReserializeJSONsSettingUsages::compareStringsWithIntegers)).forEach(e ->
- {
- String oldName = e.getKey();
- ModelComponent subcomp = e.getValue();
- String defaultName = tempModel.getDefaultComponentName(subcomp);
- String newName = null;
- while (newName == null)
- {
- System.out.print(" New name for component " + oldName + " of type " + subcomp.getIDForSerializing(iP)
- + " (empty: " + defaultName + ") >");
- newName = sysin.nextLine();
- if (newName.equals(""))
- newName = defaultName;
- if (tempModel.getComponentsByName().containsKey(newName))
- {
- System.err.println(" There already is a component with that name");
- newName = null;
- }
- }
- componentNameRemapping.put(oldName, newName);
- IndirectModelComponentCreator.createComponent(tempModel, subcomp.getIDForSerializing(iP),
- subcomp.getParamsForSerializingJSON(iP), newName).moveTo(subcomp.getPosX(), subcomp.getPosY());
- });
- SubmodelInterface tempSubmodelInterface = new SubmodelInterface(tempModel);
- for (Pin p : submodelModifiable.getComponentsByName().get(SubmodelComponent.SUBMODEL_INTERFACE_NAME).getPins().values())
- tempSubmodelInterface
- .addPin(new Pin(tempModel, tempSubmodelInterface, p.name, p.logicWidth, p.usage, p.getRelX(), p.getRelY()));
- for (ModelWire w : submodelModifiable.getWiresByName().values())
- createWire(componentNameRemapping::get, tempModel, w);
-
- Optional<ModelComponent> o;
- while ((o = submodelModifiable.getComponentsByName().values().stream()
- .filter(c -> !c.name.equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME)).findAny()).isPresent())
- submodelModifiable.destroyComponent(o.get());
-
- tempModel.getComponentsByName().values().stream().filter(c -> !c.name.equals(SubmodelComponent.SUBMODEL_INTERFACE_NAME))
- .forEach(c -> IndirectModelComponentCreator
- .createComponent(submodelModifiable, c.getIDForSerializing(iP), c.getParamsForSerializingJSON(iP), c.name)
- .moveTo(c.getPosX(), c.getPosY()));
- for (ModelWire w : tempModel.getWiresByName().values())
- createWire(Function.identity(), submodelModifiable, w);
- }
- SubmodelComponentSerializer.serialize(comp, json.toString());
- }
- catch (Exception e)
- {
- System.err.println("An error occurred visiting " + json + ":");
- e.printStackTrace();
- }
- }
-
- private static ModelWire createWire(Function<String, String> componentNameRemapping, LogicModelModifiable tempModelForDefaultNames,
- ModelWire w)
- {
- return new ModelWire(tempModelForDefaultNames, w.name,
- getRemappedPin(componentNameRemapping, tempModelForDefaultNames, w.getPin1()),
- getRemappedPin(componentNameRemapping, tempModelForDefaultNames, w.getPin2()), w.getPath());
- }
-
- private static Pin getRemappedPin(Function<String, String> componentNameRemapping, LogicModelModifiable tempModelForDefaultNames,
- Pin pin)
- {
- return tempModelForDefaultNames.getComponentsByName().get(componentNameRemapping.apply(pin.component.name)).getPin(pin.name);
- }
-
- private static int compareStringsWithIntegers(String a, String b)
- {
- int aLoc = 0;
- int bLoc = 0;
- for (;;)
- {
- if (aLoc == a.length())
- {
- if (bLoc == b.length())
- return 0;
- return -1;
- }
- if (bLoc == b.length())
- return 1;
- int aInt = 0;
- int aIntLen = 0;
- char nextCharA;
- for (;;)
- {
- nextCharA = a.charAt(aLoc++);
- if (nextCharA < '0' || nextCharA > '9')
- break;
- aIntLen++;
- aInt = aInt * 10 + nextCharA - '0';
- if (aLoc == a.length())
- break;
- }
- int bInt = 0;
- int bIntLen = 0;
- char nextCharB;
- for (;;)
- {
- nextCharB = b.charAt(bLoc++);
- if (nextCharB < '0' || nextCharB > '9')
- break;
- bIntLen++;
- bInt = bInt * 10 + nextCharB - '0';
- if (bLoc == b.length())
- break;
- }
- if (aIntLen != 0)
- {
- if (bIntLen == 0)
- return -1;
- int comp = Integer.compare(aInt, bInt);
- if (comp != 0)
- return comp;
- } else
- {
- if (bIntLen != 0)
- return 1;
- int comp = Character.compare(nextCharA, nextCharB);
- if (comp != 0)
- return comp;
- }
- }
- }
-
- private static void setInterfacePinUsage(DeserializedSubmodelComponent comp, Pin interfacePin, PinUsage usage)
- {
- Set<ModelWire> wiresConnectedToPin = comp.submodel.getWiresByName().values().stream()
- .filter(w -> w.getPin1() == interfacePin || w.getPin2() == interfacePin).collect(Collectors.toSet());
- LogicModelModifiable submodelModifiable = comp.getSubmodelModifiable();
- wiresConnectedToPin.forEach(submodelModifiable::destroyWire);
- comp.removeSubmodelInterface(interfacePin.name);
- comp.addSubmodelInterface(new MovablePin(submodelModifiable, comp, interfacePin.name, interfacePin.logicWidth, usage,
- interfacePin.getRelX(), interfacePin.getRelY()));
- wiresConnectedToPin.forEach(w -> new ModelWire(submodelModifiable, w.getPin1(), w.getPin2()));
- }
-}
\ No newline at end of file
--- /dev/null
+package net.mograsim.logic.model;
+
+import java.io.IOException;
+import java.io.UncheckedIOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.function.Function;
+import java.util.stream.Stream;
+
+public class JavaJsonLineCounter
+{
+ public static void main(String[] args) throws IOException
+ {
+ printLineCount("..", "java");
+ printLineCount("..", "json");
+ }
+
+ private static void printLineCount(String path, String filetype) throws IOException
+ {
+ long lineCount = Files.walk(Paths.get(path)).filter(Files::isRegularFile).filter(p -> p.toString().endsWith('.' + filetype))
+ .flatMap((Function<Path, Stream<String>>) p ->
+ {
+ try
+ {
+ return Files.lines(p);
+ }
+ catch (IOException e)
+ {
+ throw new UncheckedIOException(e);
+ }
+ }).count();
+ System.out.println("Total lines in " + filetype + " files: " + lineCount);
+ }
+}
\ No newline at end of file
public class TestableAm2901Impl implements TestableAm2901
{
private ModelComponent am2901;
- private CoreManualSwitch I8, I7, I6, I5, I4, I3, I2, I1, I0;
+ private CoreManualSwitch I;
private CoreManualSwitch C;
private CoreManualSwitch Cn;
- private CoreManualSwitch D1, D2, D3, D4;
- private CoreManualSwitch A0, A1, A2, A3;
- private CoreManualSwitch B0, B1, B2, B3;
- private CoreBitDisplay Y1, Y2, Y3, Y4;
+ private CoreManualSwitch D;
+ private CoreManualSwitch A;
+ private CoreManualSwitch B;
+ private CoreBitDisplay Y;
private CoreBitDisplay F_0, Cn_4, OVR, F3;
private SwitchWithDisplay RAMn, RAMn_3, Qn, Qn_3;
@Override
public void setDest(Am2901_Dest dest)
{
- var bits = TestUtil.of(dest.ordinal(), 3);
- I8.setState(bits.getLSBit(2));
- I7.setState(bits.getLSBit(1));
- I6.setState(bits.getLSBit(0));
+ BitVector oldI = I.getValues();
+ I.setState(TestUtil.of(dest.ordinal(), 3).concat(oldI.subVector(3)));
}
@Override
public void setFunc(Am2901_Func func)
{
- var bits = TestUtil.of(func.ordinal(), 3);
- I5.setState(bits.getLSBit(2));
- I4.setState(bits.getLSBit(1));
- I3.setState(bits.getLSBit(0));
+ BitVector oldI = I.getValues();
+ I.setState(oldI.subVector(0, 3).concat(TestUtil.of(func.ordinal(), 3)).concat(oldI.subVector(6)));
}
@Override
public void setSrc(Am2901_Src src)
{
- var bits = TestUtil.of(src.ordinal(), 3);
- I2.setState(bits.getLSBit(2));
- I1.setState(bits.getLSBit(1));
- I0.setState(bits.getLSBit(0));
+ BitVector oldI = I.getValues();
+ I.setState(oldI.subVector(0, 6).concat(TestUtil.of(src.ordinal(), 3)));
}
@Override
public void setReg_A(String val_4_bit)
{
- var bits = BitVector.parse(val_4_bit);
- A3.setState(bits.getLSBit(3));
- A2.setState(bits.getLSBit(2));
- A1.setState(bits.getLSBit(1));
- A0.setState(bits.getLSBit(0));
+ A.setState(BitVector.parse(val_4_bit));
}
@Override
public void setReg_B(String val_4_bit)
{
- var bits = BitVector.parse(val_4_bit);
- B3.setState(bits.getLSBit(3));
- B2.setState(bits.getLSBit(2));
- B1.setState(bits.getLSBit(1));
- B0.setState(bits.getLSBit(0));
+ B.setState(BitVector.parse(val_4_bit));
}
@Override
@Override
public void setD(String val_4_bit)
{
- var bits = BitVector.parse(val_4_bit);
- D4.setState(bits.getLSBit(3));
- D3.setState(bits.getLSBit(2));
- D2.setState(bits.getLSBit(1));
- D1.setState(bits.getLSBit(0));
+ D.setState(BitVector.parse(val_4_bit));
}
@Override
@Override
public String getY()
{
- var y3 = Y4.getDisplayedValue();
- var y2 = Y3.getDisplayedValue();
- var y1 = Y2.getDisplayedValue();
- var y0 = Y1.getDisplayedValue();
- return y3.concat(y2).concat(y1).concat(y0).toString();
+ return Y.getDisplayedValue().toString();
}
@Override
--- /dev/null
+{
+ "width": 0.0,
+ "height": 0.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 10.0,
+ "y": 20.0
+ },
+ "name": "C",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 125.0
+ },
+ "name": "C0",
+ "logicWidth": 1,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 75.0
+ },
+ "name": "CT",
+ "logicWidth": 1,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 125.0
+ },
+ "name": "Cx",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 30.0
+ },
+ "name": "IC",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 35.0
+ },
+ "name": "IN",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 40.0
+ },
+ "name": "IOVR",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 25.0
+ },
+ "name": "IZ",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": -87.66482568016058,
+ "y": 58.834004835619645
+ },
+ "name": "I_10",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": -80.0,
+ "y": 40.0
+ },
+ "name": "I_11_12",
+ "logicWidth": 2,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": -85.0,
+ "y": 100.0
+ },
+ "name": "I_5_0",
+ "logicWidth": 6,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": -84.26853373181032,
+ "y": 78.72500503091884
+ },
+ "name": "I_6_9",
+ "logicWidth": 4,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 145.0
+ },
+ "name": "QIO0",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 145.0
+ },
+ "name": "QIOn",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 135.0
+ },
+ "name": "SIO0",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 135.0
+ },
+ "name": "SIOn",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 30.0
+ },
+ "name": "YC",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 35.0
+ },
+ "name": "YN",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 40.0
+ },
+ "name": "YOVR",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 25.0
+ },
+ "name": "YZ",
+ "logicWidth": 1,
+ "usage": "TRISTATE"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 45.0
+ },
+ "name": "_CEM",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 50.0
+ },
+ "name": "_CEmu",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 60.0
+ },
+ "name": "_EC",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 65.0
+ },
+ "name": "_EN",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 70.0
+ },
+ "name": "_EOVR",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 55.0
+ },
+ "name": "_EZ",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 145.0,
+ "y": 65.0
+ },
+ "name": "_OECT",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 80.0,
+ "y": 10.0
+ },
+ "name": "_OEY",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ },
+ {
+ "location": {
+ "x": 10.0,
+ "y": 100.0
+ },
+ "name": "_SE",
+ "logicWidth": 1,
+ "usage": "INPUT"
+ }
+ ],
+ "innerScale": 1.0,
+ "submodel": {
+ "components": [
+ {
+ "id": "Merger",
+ "name": "Merger#0",
+ "pos": {
+ "x": -30.0,
+ "y": 70.0
+ },
+ "params": 13
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": -45.0,
+ "y": 140.0
+ },
+ "params": 6
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": -45.0,
+ "y": 100.0
+ },
+ "params": 4
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": -45.0,
+ "y": 70.0
+ },
+ "params": 2
+ },
+ {
+ "id": "Am2904",
+ "name": "Am2904#0",
+ "pos": {
+ "x": 20.0,
+ "y": 15.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "C"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#0",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "IZ"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "IZ"
+ },
+ "name": "unnamedWire#1",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_EZ"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_EZ"
+ },
+ "name": "unnamedWire#10",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "I_5_0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#11",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Merger#0",
+ "pinName": "I0"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#12",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "Merger#0",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#13",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Merger#0",
+ "pinName": "I2"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#14",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "Merger#0",
+ "pinName": "I3"
+ },
+ "name": "unnamedWire#15",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Merger#0",
+ "pinName": "I4"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#16",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O5"
+ },
+ "pin2": {
+ "compName": "Merger#0",
+ "pinName": "I5"
+ },
+ "name": "unnamedWire#17",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Merger#0",
+ "pinName": "I6"
+ },
+ "name": "unnamedWire#18",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Merger#0",
+ "pinName": "I7"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "IC"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "IC"
+ },
+ "name": "unnamedWire#2",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "Merger#0",
+ "pinName": "I8"
+ },
+ "name": "unnamedWire#20",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Merger#0",
+ "pinName": "I9"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O3"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "Merger#0",
+ "pinName": "I11"
+ },
+ "name": "unnamedWire#22",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Merger#0",
+ "pinName": "I12"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "I_6_9"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#24",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Merger#0",
+ "pinName": "O"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#25",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "I_10"
+ },
+ "pin2": {
+ "compName": "Merger#0",
+ "pinName": "I10"
+ },
+ "name": "unnamedWire#26",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "I_11_12"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_SE"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_SE"
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "Cx"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "Cx"
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "IN"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#3",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "SIOn"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "SIOn"
+ },
+ "name": "unnamedWire#30",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "QIOn"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "QIOn"
+ },
+ "name": "unnamedWire#31",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "QIO0"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "QIO0"
+ },
+ "name": "unnamedWire#32",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "SIO0"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "SIO0"
+ },
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "C0"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "C0"
+ },
+ "name": "unnamedWire#34",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "CT"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "CT"
+ },
+ "name": "unnamedWire#35",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_OECT"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_OECT"
+ },
+ "name": "unnamedWire#36",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "YOVR"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "YOVR"
+ },
+ "name": "unnamedWire#37",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "YN"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "YN"
+ },
+ "name": "unnamedWire#38",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "YC"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "YC"
+ },
+ "name": "unnamedWire#39",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "IOVR"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "IOVR"
+ },
+ "name": "unnamedWire#4",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "YZ"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "YZ"
+ },
+ "name": "unnamedWire#40",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_OEY"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_OEY"
+ },
+ "name": "unnamedWire#41",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_CEM"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_CEM"
+ },
+ "name": "unnamedWire#5",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "_CEmu"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "_CEmu"
+ },
+ "name": "unnamedWire#6",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_EC"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_EC"
+ },
+ "name": "unnamedWire#7",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904#0",
+ "pinName": "_EN"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "_EN"
+ },
+ "name": "unnamedWire#8",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_EOVR"
+ },
+ "pin2": {
+ "compName": "Am2904#0",
+ "pinName": "_EOVR"
+ },
+ "name": "unnamedWire#9",
+ "path": []
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "default",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "standard",
+ "highLevelStateHandlerParams": {
+ "subcomponentHighLevelStates": {
+ "musr": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "Am2904#0",
+ "prefix": "musr"
+ }
+ },
+ "msr": {
+ "id": "delegating",
+ "params": {
+ "delegateTarget": "Am2904#0",
+ "prefix": "msr"
+ }
+ }
+ },
+ "atomicHighLevelStates": {}
+ },
+ "version": "0.1.5"
+}
\ No newline at end of file
{
private ModelComponent am2904;
- private CoreManualSwitch I;
+ private CoreManualSwitch I_5_0;
+ private CoreManualSwitch I_6_9;
+ private CoreManualSwitch I_10;
+ private CoreManualSwitch I_11_12;
private CoreManualSwitch C;
private CoreManualSwitch Cx;
private CoreManualSwitch IC, IN, IOVR, IZ;
private SwitchWithDisplay SIO0, SIOn, QIO0, QIOn;
private SwitchWithDisplay YC, YN, YOVR, YZ;
- private final TestEnvironmentHelper testHelper = new TestEnvironmentHelper(this, "Am2904");
+ private final TestEnvironmentHelper testHelper = new TestEnvironmentHelper(this,
+ "resloader:Am2900Loader:jsonres:net/mograsim/logic/model/am2900/am2904/TestableAm2904.json");
@Override
public void setup()
@Override
public void setInstruction(Am2904_Inst inst)
{
- var old = I.getValues();
- var newPart = BitVector.from(inst.ordinal(), 6);
- I.setState(old.subVector(0, 7).concat(newPart));
+ I_5_0.setState(BitVector.from(inst.ordinal(), 6));
}
@Override
public void setShiftCode(String val_4_bit)
{
- var old = I.getValues();
- var newPart = BitVector.parse(val_4_bit);
- I.setState(old.subVector(0, 3).concat(newPart).concat(old.subVector(7)));
+ I_6_9.setState(BitVector.parse(val_4_bit));
}
@Override
public void setI10(Am2904_ShiftDir dir)
{
- var old = I.getValues();
- var newPart = BitVector.from(dir.ordinal(), 1);
- I.setState(old.subVector(0, 2).concat(newPart).concat(old.subVector(3)));
+ I_10.setState(BitVector.from(dir.ordinal(), 1));
}
@Override
public void setCarry(Am2904_Carry carry)
{
- var old = I.getValues();
- var newPart = BitVector.from(carry.ordinal(), 2);
- I.setState(newPart.concat(old.subVector(2)));
+ I_11_12.setState(BitVector.from(carry.ordinal(), 2));
}
@Override
package net.mograsim.logic.model.editor;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Optional;
import net.mograsim.logic.model.model.components.ModelComponent;
import net.mograsim.logic.model.model.wires.ModelWire;
import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
-import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler;
import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer;
final Set<ComponentInfo> copyBuffer = new HashSet<>();
public final DeserializedSubmodelComponent toBeEdited;
public final HandleManager handleManager;
- final static Map<ModelComponent, String> identifierPerComponent = new HashMap<>();
public final EditorGUI gui;
public final StateManager stateManager;
private final SaveLoadManager saveManager;
saveManager = new SaveLoadManager(this);
dialogManager = new DialogManager(gui.shell);
- toBeEdited.submodel.addComponentRemovedListener(c -> identifierPerComponent.remove(c));
-
gui.open();
}
private ModelComponent addComponent(String identifier, JsonElement params)
{
- ModelComponent comp = IndirectModelComponentCreator.createComponent(toBeEdited.getSubmodelModifiable(), identifier, params);
- identifierPerComponent.put(comp, identifier);
- return comp;
- }
-
- public static String getIdentifier(ModelComponent c)
- {
- if (identifierPerComponent.containsKey(c))
- return identifierPerComponent.get(c);
- return c.getIDForSerializing(new IdentifyParams());
+ return IndirectModelComponentCreator.createComponent(toBeEdited.getSubmodelModifiable(), identifier, params);
}
public void duplicate()
import org.eclipse.swt.widgets.Display;
import net.haspamelodica.swt.helper.gcs.GeneralGC;
+import net.haspamelodica.swt.helper.swtobjectwrappers.Font;
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
-import net.mograsim.logic.model.editor.Editor;
import net.mograsim.logic.model.editor.Editor.ComponentInfo;
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
bounds.width += LENGTH_OFFSET;
bounds.height += LENGTH_OFFSET;
gc.drawRectangle(bounds);
+ Font oldFont = gc.getFont();
+ gc.setFont(new Font(oldFont.getName(), 5, oldFont.getStyle()));
+ gc.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
+ gc.drawText(parent.getName(), bounds.x, bounds.y, true);
+ gc.setFont(oldFont);
}
}
@Override
public Optional<ComponentInfo> reqCopy(Point refPoint)
{
- return Optional.of(new ComponentInfo(parent.getPosX() - refPoint.x, parent.getPosY() - refPoint.y, Editor.getIdentifier(parent),
- parent.getParamsForSerializingJSON(new IdentifyParams())));
+ IdentifyParams idParams = new IdentifyParams();
+ return Optional.of(new ComponentInfo(parent.getPosX() - refPoint.x, parent.getPosY() - refPoint.y,
+ parent.getIDForSerializing(idParams), parent.getParamsForSerializingJSON(idParams)));
}
@Override
*/
public class LogicUICanvas extends ZoomableCanvas
{
- private static final boolean OPEN_DEBUG_SETHIGHLEVELSTATE_SHELL = true;
+ private static final boolean OPEN_DEBUG_SETHIGHLEVELSTATE_SHELL = false;
private final LogicModel model;
private void addComponentSelectorItems(List<ModelComponent> componentsByItemIndex, String base, Combo componentSelector,
LogicModel model)
{
- model.getComponentsByName().values().stream().sorted((c1, c2) -> c1.name.compareTo(c2.name)).forEach(c ->
+ model.getComponentsByName().values().stream().sorted((c1, c2) -> c1.getName().compareTo(c2.getName())).forEach(c ->
{
if (!(c instanceof ModelWireCrossPoint || c instanceof SubmodelInterface))
{
- String item = base + c.name;
+ String item = base + c.getName();
componentsByItemIndex.add(c);
componentSelector.add(item);
if (c instanceof SubmodelComponent)
*/
protected void componentCreated(ModelComponent component, Runnable destroyed)
{
- if (components.containsKey(component.name))
+ if (components.containsKey(component.getName()))
throw new IllegalStateException("Don't add the same component twice!");
- components.put(component.name, component);
- componentDestroyFunctions.put(component.name, destroyed);
+ components.put(component.getName(), component);
+ componentDestroyFunctions.put(component.getName(), destroyed);
callComponentAddedListeners(component);
requestRedraw();
}
*/
protected void destroyComponent(ModelComponent component)
{
- componentDestroyFunctions.get(component.name).run();
- if (!components.containsKey(component.name))
+ componentDestroyFunctions.get(component.getName()).run();
+ if (!components.containsKey(component.getName()))
throw new IllegalStateException("Don't remove the same component twice!");
- components.remove(component.name);
+ components.remove(component.getName());
callComponentRemovedListeners(component);
requestRedraw();
}
*/
protected final LogicModelModifiable model;
/**
- * The name of this component. Is unique for all components in its model.
+ * The name of this component. Is unique for all components in its model.<br>
+ * Does never change, but can't be final since it is set in {@link #init()}.
*/
- public final String name;
+ private String name;
private final Rectangle bounds;
/**
* The list of all pins of this component by name.
protected ModelComponent(LogicModelModifiable model, String name, boolean callInit)
{
this.model = model;
- this.name = name == null ? model.getDefaultComponentName(this) : name;
+ this.name = name;
this.bounds = new Rectangle(0, 0, 0, 0);
this.pinsByName = new HashMap<>();
this.pinsUnmodifiable = Collections.unmodifiableMap(pinsByName);
/**
* Initializes this component. This method should be called exactly once in this component's constructor.<br>
- * Currently, this method only registers this component in the model.
+ * <ul>
+ * <li>If <code>{@link #name}==null</code>, sets {@link #name} to {@link LogicModelModifiable#getDefaultComponentName(ModelComponent)}.
+ * <li>Registers this component in the model.
+ * </ul>
*/
protected void init()
{
+ if (name == null)
+ name = model.getDefaultComponentName(this);
model.componentCreated(this, this::destroyed);
}
+ // basic getters
+
+ public String getName()
+ {
+ return name;
+ }
+
/**
* Destroys this component. This method is called from {@link LogicModelModifiable#componentDestroyed(ModelComponent)
* destroyComponent()} of the model this component is a part of.<br>
* Returns the pin with the given name of this component.
*
* @throws IllegalArgumentException if there is no pin with the given name
+ * @see #getPinOrNull(String)
*
* @author Daniel Kirschten
*/
public Pin getPin(String name)
{
- Pin pin = pinsByName.get(name);
+ Pin pin = getPinOrNull(name);
if (pin == null)
throw new IllegalArgumentException("No pin with the name " + name);
return pin;
}
+ /**
+ * Returns the pin with the given name of this component, or <code>null</code> if there is no such pin.
+ *
+ * @see #getPin(String)
+ *
+ * @author Daniel Kirschten
+ */
+ public Pin getPinOrNull(String name)
+ {
+ return pinsByName.get(name);
+ }
+
// high-level access
/**
import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
+import net.mograsim.logic.model.model.components.Orientation;
+import net.mograsim.logic.model.model.components.atomic.ModelSplitter.SplitterParams;
import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.model.wires.PinUsage;
import net.mograsim.logic.model.modeladapter.LogicCoreAdapter;
import net.mograsim.preferences.ColorManager;
import net.mograsim.preferences.Preferences;
+//TODO delete this legacy class
public class ModelMerger extends ModelComponent
{
private static final double width = 10;
setSize(width, (logicWidth - 1) * heightPerPin);
double inputHeight = (logicWidth - 1) * heightPerPin;
for (int i = 0; i < logicWidth; i++, inputHeight -= 10)
- addPin(new Pin(model, this, "I" + i, 1, PinUsage.TRISTATE, 0, inputHeight));
- addPin(this.outputPin = new Pin(model, this, "O", logicWidth, PinUsage.TRISTATE, width, (logicWidth - 1) * heightPerPin / 2));
+ addPin(new Pin(model, this, "O" + i, 1, PinUsage.TRISTATE, 0, inputHeight));
+ addPin(this.outputPin = new Pin(model, this, "I", logicWidth, PinUsage.TRISTATE, width, (logicWidth - 1) * heightPerPin / 2));
inputEnds = new ReadEnd[logicWidth];
init();
gc.setLineCap(oldLineCap);
}
+ @Override
+ public Pin getPin(String name)
+ {
+ Pin pin = getPinOrNull(name);
+ return pin == null ? getPin(name.replace('O', 'i').replace('I', 'O').replace('i', 'I')) : pin;
+ }
+
@Override
public String getIDForSerializing(IdentifyParams idParams)
{
- return "Merger";
+ return "Splitter";
}
@Override
- public Integer getParamsForSerializing(IdentifyParams idParams)
+ public SplitterParams getParamsForSerializing(IdentifyParams idParams)
{
- return logicWidth;
+ SplitterParams splitterParams = new SplitterParams();
+ splitterParams.logicWidth = logicWidth;
+ splitterParams.orientation = Orientation.LEFT;
+ return splitterParams;
}
public void setCoreModelBinding(ReadEnd[] inputEnds, ReadEnd outputEnd)
import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
+import net.mograsim.logic.model.model.components.Orientation;
+import net.mograsim.logic.model.model.components.OrientationCalculator;
import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.model.wires.PinUsage;
import net.mograsim.logic.model.modeladapter.LogicCoreAdapter;
import net.mograsim.logic.model.modeladapter.componentadapters.SplitterAdapter;
import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
+import net.mograsim.logic.model.util.JsonHandler;
import net.mograsim.preferences.ColorDefinition;
import net.mograsim.preferences.ColorManager;
import net.mograsim.preferences.Preferences;
private static final double width = 10;
private static final double heightPerPin = 10;
+ private final double heightWithoutOC;
public final int logicWidth;
+ private final OrientationCalculator oc;
private final Pin inputPin;
private ReadEnd inputEnd;
private final ReadEnd[] outputEnds;
- public ModelSplitter(LogicModelModifiable model, int logicWidth)
+ public ModelSplitter(LogicModelModifiable model, SplitterParams params)
{
- this(model, logicWidth, null);
+ this(model, params, null);
}
- public ModelSplitter(LogicModelModifiable model, int logicWidth, String name)
+ public ModelSplitter(LogicModelModifiable model, SplitterParams params, String name)
{
super(model, name, false);
- this.logicWidth = logicWidth;
- setSize(width, (logicWidth - 1) * heightPerPin);
- addPin(this.inputPin = new Pin(model, this, "I", logicWidth, PinUsage.TRISTATE, 0, (logicWidth - 1) * heightPerPin / 2));
+ this.logicWidth = params.logicWidth;
+ this.oc = new OrientationCalculator(toggleLeftDownAlt(params.orientation), width,
+ this.heightWithoutOC = (logicWidth - 1) * heightPerPin);
+ setSize(oc.width(), oc.height());
+ double inLineY = (logicWidth - 1) * heightPerPin / 2;
+ addPin(this.inputPin = new Pin(model, this, "I", logicWidth, PinUsage.TRISTATE, oc.newX(0, inLineY), oc.newY(0, inLineY)));
double outputHeight = (logicWidth - 1) * heightPerPin;
for (int i = 0; i < logicWidth; i++, outputHeight -= 10)
- addPin(new Pin(model, this, "O" + i, 1, PinUsage.TRISTATE, width, outputHeight));
+ addPin(new Pin(model, this, "O" + i, 1, PinUsage.TRISTATE, oc.newX(width, outputHeight), oc.newY(width, outputHeight)));
outputEnds = new ReadEnd[logicWidth];
init();
gc.setForeground(ColorManager.current().toColor(c));
gc.setLineWidth(
Preferences.current().getDouble("net.mograsim.logic.model.linewidth.wire." + (logicWidth == 1 ? "singlebit" : "multibit")));
- double inLineY = posY + (logicWidth - 1) * heightPerPin / 2;
- gc.drawLine(posX, inLineY, posX + width / 2, inLineY);
+ double inLineY = heightWithoutOC / 2;
+ gc.drawLine(posX + oc.newX(0, inLineY), posY + oc.newY(0, inLineY), posX + oc.newX(width / 2, inLineY),
+ posY + oc.newY(width / 2, inLineY));
gc.setLineWidth(Preferences.current().getDouble("net.mograsim.logic.model.linewidth.wire.singlebit"));
- double outputHeight = posY;
+ double outputHeight = 0;
for (int i = 0; i < logicWidth; i++, outputHeight += 10)
{
c = BitVectorFormatter.formatAsColor(outputEnds[i]);
if (c != null)
gc.setForeground(ColorManager.current().toColor(c));
- gc.drawLine(posX + width / 2, outputHeight, posX + width, outputHeight);
+ gc.drawLine(posX + oc.newX(width / 2, outputHeight), posY + oc.newY(width / 2, outputHeight),
+ posX + oc.newX(width, outputHeight), posY + oc.newY(width, outputHeight));
}
gc.setForeground(Preferences.current().getColor("net.mograsim.logic.model.color.foreground"));
int oldLineCap = gc.getLineCap();
// TODO find better "replacement" for JOIN_BEVEL
// TODO it looks weird that the vertical line is thinner than the single multibit wire.
gc.setLineCap(lineJoin == SWT.JOIN_MITER ? SWT.CAP_SQUARE : lineJoin == SWT.JOIN_ROUND ? SWT.CAP_ROUND : SWT.CAP_SQUARE);
- gc.drawLine(posX + width / 2, posY, posX + width / 2, posY + heightPerPin * (logicWidth - 1));
+ gc.drawLine(posX + oc.newX(width / 2, 0), posY + oc.newY(width / 2, 0), posX + oc.newX(width / 2, heightWithoutOC),
+ posY + oc.newY(width / 2, heightWithoutOC));
gc.setLineWidth(Preferences.current().getDouble("net.mograsim.logic.model.linewidth.default"));
gc.setLineCap(oldLineCap);
}
}
@Override
- public Integer getParamsForSerializing(IdentifyParams idParams)
+ public SplitterParams getParamsForSerializing(IdentifyParams idParams)
{
- return logicWidth;
+ SplitterParams splitterParams = new SplitterParams();
+ splitterParams.logicWidth = logicWidth;
+ splitterParams.orientation = toggleLeftDownAlt(oc.getOrientation());
+ return splitterParams;
}
public void setCoreModelBinding(ReadEnd inputEnd, ReadEnd[] outputEnds)
return inputPin;
}
+ /**
+ * Used to leave bit order intuitive (MSB left or on top)
+ */
+ private static Orientation toggleLeftDownAlt(Orientation orientation)
+ {
+ // TODO if we upgrade to Java 12, replace with switch-expression
+ switch (orientation)
+ {
+ case LEFT:
+ return Orientation.LEFT_ALT;
+ case LEFT_ALT:
+ return Orientation.LEFT;
+ case DOWN:
+ return Orientation.DOWN_ALT;
+ case DOWN_ALT:
+ return Orientation.DOWN;
+ default:
+ return orientation;
+ }
+ }
+
+ public static class SplitterParams
+ {
+ public int logicWidth;
+ public Orientation orientation;
+ }
+
static
{
LogicCoreAdapter.addComponentAdapter(new SplitterAdapter());
- IndirectModelComponentCreator.setComponentSupplier(ModelSplitter.class.getCanonicalName(),
- (m, p, n) -> new ModelSplitter(m, p.getAsInt(), n));
+ IndirectModelComponentCreator.setComponentSupplier(ModelSplitter.class.getCanonicalName(), (m, p, n) ->
+ {
+ // TODO remove legacy params parsing
+ SplitterParams params;
+ if (p.isJsonPrimitive())
+ {
+ params = new SplitterParams();
+ params.logicWidth = p.getAsInt();
+ params.orientation = Orientation.RIGHT;
+ } else
+ params = JsonHandler.fromJsonTree(p, SplitterParams.class);
+ return new ModelSplitter(m, params, n);
+ });
}
}
\ No newline at end of file
// creation and destruction
+ public SimpleRectangularHardcodedModelComponent(LogicModelModifiable model, String id, String name, String centerText)
+ {
+ this(model, id, name, centerText, true);
+ }
+
public SimpleRectangularHardcodedModelComponent(LogicModelModifiable model, String id, String name, String centerText, boolean callInit)
{
super(model, name, false);
default:
throw new IllegalArgumentException("Unknown enum constant: " + supermodelPin.usage);
}
- MovablePin submodelPin = new MovablePin(model, submodelInterface, name, supermodelPin.logicWidth, submodelPinUsage,
+ MovablePin submodelPin = new MovablePin(submodelModifiable, submodelInterface, name, supermodelPin.logicWidth, submodelPinUsage,
supermodelPin.getRelX() / submodelScale, supermodelPin.getRelY() / submodelScale);
submodelPin.addPinMovedListener(p ->
innerComponentParams.pos = new Point(innerComponent.getPosX(), innerComponent.getPosY());
innerComponentParams.id = innerComponent.getIDForSerializing(idParams);
innerComponentParams.params = innerComponent.getParamsForSerializingJSON(idParams);
- innerComponentParams.name = innerComponent.name;
+ innerComponentParams.name = innerComponent.getName();
i1++;
}
submodelParams.subComps = componentParams;
LegacyInnerPinParams pin1Params = new LegacyInnerPinParams(), pin2Params = new LegacyInnerPinParams();
pin1Params.pinName = innerWire.getPin1().name;
- pin1Params.compName = innerWire.getPin1().component.name;
+ pin1Params.compName = innerWire.getPin1().component.getName();
pin2Params.pinName = innerWire.getPin2().name;
- pin2Params.compName = innerWire.getPin2().component.name;
+ pin2Params.compName = innerWire.getPin2().component.getName();
innerWireParams.name = innerWire.name;
innerWireParams.pin1 = pin1Params;
innerWireParams.pin2 = pin2Params;
compParams.pos = new Point(component.getPosX(), component.getPosY());
compParams.id = component.getIDForSerializing(idParams);
compParams.params = component.getParamsForSerializingJSON(idParams);
- compParams.name = component.name;
+ compParams.name = component.getName();
}
modelParams.components = componentsParams.toArray(ComponentParams[]::new);
Arrays.sort(modelParams.components, Comparator.comparing(c -> c.name));
PinParams pin1Params = new PinParams(), pin2Params = new PinParams();
pin1Params.pinName = innerWire.getPin1().name;
- pin1Params.compName = innerWire.getPin1().component.name;
+ pin1Params.compName = innerWire.getPin1().component.getName();
pin2Params.pinName = innerWire.getPin2().name;
- pin2Params.compName = innerWire.getPin2().component.name;
+ pin2Params.compName = innerWire.getPin2().component.getName();
innerWireParams.name = innerWire.name;
innerWireParams.pin1 = pin1Params;
innerWireParams.pin2 = pin2Params;
+++ /dev/null
-package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard;
-
-import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
-
-public class HighLevelStateHandlerContext
-{
- public final SubmodelComponent component;
- public final String stateID;
-
- public HighLevelStateHandlerContext(SubmodelComponent component, String stateID)
- {
- this.component = component;
- this.stateID = stateID;
- }
-}
\ No newline at end of file
package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.TreeMap;
import java.util.function.BiFunction;
import java.util.function.Function;
{
private final SubmodelComponent component;
private final Map<String, SubcomponentHighLevelStateHandler> subcomponentHighLevelStateHandlers;
+ private final Map<String, SubcomponentHighLevelStateHandler> subcomponentHighLevelStateHandlersUnmodifiable;
private final Map<String, AtomicHighLevelStateHandler> atomicHighLevelStateHandlers;
+ private final Map<String, AtomicHighLevelStateHandler> atomicHighLevelStateHandlersUnmodifiable;
public StandardHighLevelStateHandler(SubmodelComponent component)
{
{
this.component = component;
this.subcomponentHighLevelStateHandlers = new HashMap<>();
+ this.subcomponentHighLevelStateHandlersUnmodifiable = Collections.unmodifiableMap(subcomponentHighLevelStateHandlers);
this.atomicHighLevelStateHandlers = new HashMap<>();
+ this.atomicHighLevelStateHandlersUnmodifiable = Collections.unmodifiableMap(atomicHighLevelStateHandlers);
if (params != null)
{
params.subcomponentHighLevelStates.forEach(this::addSubcomponentHighLevelState);
}
public <P, H extends SubcomponentHighLevelStateHandler> H addSubcomponentHighLevelState(String subcomponentStateID,
- BiFunction<HighLevelStateHandlerContext, P, H> handlerConstructor, P handlerParams)
+ BiFunction<SubmodelComponent, P, H> handlerConstructor, P handlerParams)
{
return addSubcomponentHighLevelState(subcomponentStateID, c -> handlerConstructor.apply(c, handlerParams));
}
public <H extends SubcomponentHighLevelStateHandler> H addSubcomponentHighLevelState(String subcomponentStateID,
- Function<HighLevelStateHandlerContext, H> handlerConstructor)
+ Function<SubmodelComponent, H> handlerConstructor)
{
- HighLevelStateHandlerContext context = new HighLevelStateHandlerContext(component, subcomponentStateID);
- H handler = handlerConstructor.apply(context);
+ H handler = handlerConstructor.apply(component);
addSubcomponentHighLevelState(subcomponentStateID, handler);
return handler;
}
subcomponentHighLevelStateHandlers.put(subcomponentStateID, handler);
}
+ public void removeSubcomponentHighLevelState(String subcomponentStateID)
+ {
+ checkHighLevelStateIDPart(subcomponentStateID);
+ subcomponentHighLevelStateHandlers.remove(subcomponentStateID);
+ }
+
+ public Map<String, SubcomponentHighLevelStateHandler> getSubcomponentHighLevelStates()
+ {
+ return subcomponentHighLevelStateHandlersUnmodifiable;
+ }
+
public AtomicHighLevelStateHandler addAtomicHighLevelState(String atomicStateID, AtomicHighLevelStateHandlerParams handlerParams)
{
return addAtomicHighLevelState(atomicStateID,
}
public <P, H extends AtomicHighLevelStateHandler> H addAtomicHighLevelState(String subcomponentStateID,
- BiFunction<HighLevelStateHandlerContext, P, H> handlerConstructor, P handlerParams)
+ BiFunction<SubmodelComponent, P, H> handlerConstructor, P handlerParams)
{
return addAtomicHighLevelState(subcomponentStateID, c -> handlerConstructor.apply(c, handlerParams));
}
public <H extends AtomicHighLevelStateHandler> H addAtomicHighLevelState(String subcomponentStateID,
- Function<HighLevelStateHandlerContext, H> handlerConstructor)
+ Function<SubmodelComponent, H> handlerConstructor)
{
- HighLevelStateHandlerContext context = new HighLevelStateHandlerContext(component, subcomponentStateID);
- H handler = handlerConstructor.apply(context);
+ H handler = handlerConstructor.apply(component);
addAtomicHighLevelState(subcomponentStateID, handler);
return handler;
}
atomicHighLevelStateHandlers.put(atomicStateID, handler);
}
+ public void removeAtomicHighLevelState(String atomicStateID)
+ {
+ checkHighLevelStateIDPart(atomicStateID);
+ atomicHighLevelStateHandlers.remove(atomicStateID);
+ }
+
+ public Map<String, AtomicHighLevelStateHandler> getAtomicHighLevelStates()
+ {
+ return atomicHighLevelStateHandlersUnmodifiable;
+ }
+
private static void checkHighLevelStateIDPart(String stateIDPart)
{
if (stateIDPart.indexOf('.') != -1)
public StandardHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
{
StandardHighLevelStateHandlerParams params = new StandardHighLevelStateHandlerParams();
- params.subcomponentHighLevelStates = new HashMap<>();
- params.atomicHighLevelStates = new HashMap<>();
+ params.subcomponentHighLevelStates = new TreeMap<>();
+ params.atomicHighLevelStates = new TreeMap<>();
for (Entry<String, SubcomponentHighLevelStateHandler> e : subcomponentHighLevelStateHandlers.entrySet())
{
String stateID = e.getKey();
import java.io.InputStream;
import java.util.Map;
+import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.snippets.CodeSnippetSupplier;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic.AtomicHighLevelStateHandler;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.subcomponent.SubcomponentHighLevelStateHandler;
public class StandardHighLevelStateHandlerSnippetSuppliers
{
- public static final CodeSnippetSupplier<HighLevelStateHandlerContext, AtomicHighLevelStateHandler> atomicHandlerSupplier;
- public static final CodeSnippetSupplier<HighLevelStateHandlerContext, SubcomponentHighLevelStateHandler> subcomponentHandlerSupplier;
+ public static final CodeSnippetSupplier<SubmodelComponent, AtomicHighLevelStateHandler> atomicHandlerSupplier;
+ public static final CodeSnippetSupplier<SubmodelComponent, SubcomponentHighLevelStateHandler> subcomponentHandlerSupplier;
static
{
package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import net.mograsim.logic.core.types.Bit;
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.snippets.SnippetDefinintion;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers;
public class BitVectorSplittingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler
{
- private SubmodelComponent component;
+ private final SubmodelComponent component;
private final List<String> vectorPartTargets;
+ private final List<String> vectorPartTargetsUnmodifiable;
private final List<Integer> vectorPartLengthes;
+ private final List<Integer> vectorPartLengthesUnmodifiable;
private int length;
- public BitVectorSplittingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context)
+ public BitVectorSplittingAtomicHighLevelStateHandler(SubmodelComponent component)
{
- this(context, null);
+ this(component, null);
}
- public BitVectorSplittingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context,
+ public BitVectorSplittingAtomicHighLevelStateHandler(SubmodelComponent component,
BitVectorSplittingAtomicHighLevelStateHandlerParams params)
{
- this.component = context.component;
+ this.component = component;
this.vectorPartTargets = new ArrayList<>();
+ this.vectorPartTargetsUnmodifiable = Collections.unmodifiableList(vectorPartTargets);
this.vectorPartLengthes = new ArrayList<>();
+ this.vectorPartLengthesUnmodifiable = Collections.unmodifiableList(vectorPartLengthes);
if (params != null)
setVectorParts(params.vectorPartTargets, params.vectorPartLengthes);
}
length += lengthes.stream().mapToInt(Integer::intValue).sum();
}
+ public List<String> getVectorPartTargets()
+ {
+ return vectorPartTargetsUnmodifiable;
+ }
+
+ public List<Integer> getVectorPartLenghtes()
+ {
+ return vectorPartLengthesUnmodifiable;
+ }
+
@Override
public Object getHighLevelState()
{
if (vectorPart.length() != vectorPartLengthes.get(partIndex))
throw new IllegalArgumentException(
"Incorrect vector part length: " + vectorPart.length() + "; expected " + vectorPartLengthes.get(partIndex));
- result = vectorPart.concat(result);
+ result = result.concat(vectorPart);
}
return result;
}
BitVector newStateCasted = (BitVector) newState;
if (newStateCasted.length() != length)
throw new IllegalArgumentException("Incorrect vector length: " + newStateCasted.length() + "; expected " + length);
- for (int partIndex = vectorPartTargets.size() - 1, bitIndex = 0; partIndex >= 0; partIndex--)
+ for (int partIndex = 0, bitIndex = 0; partIndex < vectorPartTargets.size(); partIndex++)
{
int vectorPartLength = vectorPartLengthes.get(partIndex);
BitVector vectorPart = newStateCasted.subVector(bitIndex, bitIndex + vectorPartLength);
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.snippets.SnippetDefinintion;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers;
public class DelegatingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler
private ModelComponent delegateTarget;
private String subStateID;
- public DelegatingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context)
+ public DelegatingAtomicHighLevelStateHandler(SubmodelComponent component)
{
- this(context, null);
+ this(component, null);
}
- public DelegatingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context, DelegatingAtomicHighLevelStateHandlerParams params)
+ public DelegatingAtomicHighLevelStateHandler(SubmodelComponent component, DelegatingAtomicHighLevelStateHandlerParams params)
{
- this.parentComponent = context.component;
+ this.parentComponent = component;
if (params != null)
{
// TODO document this
if (params.delegateTarget == null)
setDelegateTarget(parentComponent);
else
- setDelegateTarget(parentComponent.submodel.getComponentsByName().get(params.delegateTarget));
+ {
+ ModelComponent delegateTarget = parentComponent.submodel.getComponentsByName().get(params.delegateTarget);
+ if (delegateTarget == null)
+ throw new NullPointerException("No subcomponent with name " + params.delegateTarget);
+ setDelegateTarget(delegateTarget);
+ }
setSubStateID(params.subStateID);
}
+ parentComponent.submodel.addComponentRemovedListener(c ->
+ {
+ if (delegateTarget == c)
+ delegateTarget = null;
+ });
}
public void set(ModelComponent delegateTarget, String subStateID)
{
if (delegateTarget == null)
this.delegateTarget = parentComponent;
- else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.name) != delegateTarget)
+ else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget)
throw new IllegalArgumentException(
"Can only set components belonging to the submodel of the parent component of this handler as the delegate target");
this.delegateTarget = delegateTarget;
}
+ public ModelComponent getDelegateTarget()
+ {
+ return delegateTarget;
+ }
+
public void setSubStateID(String subStateID)
{
this.subStateID = subStateID;
}
+ public String getSubStateID()
+ {
+ return subStateID;
+ }
+
@Override
public Object getHighLevelState()
{
+ if (delegateTarget == null)
+ throw new IllegalStateException("Delegating to a component that was destroyed");
return delegateTarget.getHighLevelState(subStateID);
}
@Override
public void setHighLevelState(Object newState)
{
+ if (delegateTarget == null)
+ throw new IllegalStateException("Delegating to a component that was destroyed");
delegateTarget.setHighLevelState(subStateID, newState);
}
@Override
public DelegatingAtomicHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
{
+ if (delegateTarget == null)
+ throw new IllegalStateException("Delegating to a component that was destroyed");
DelegatingAtomicHighLevelStateHandlerParams params = new DelegatingAtomicHighLevelStateHandlerParams();
- params.delegateTarget = delegateTarget.name;
+ params.delegateTarget = delegateTarget.getName();
params.subStateID = subStateID;
return params;
}
package net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.atomic;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import net.mograsim.logic.model.model.wires.ModelWire;
import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.snippets.SnippetDefinintion;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers;
public class WireForcingAtomicHighLevelStateHandler implements AtomicHighLevelStateHandler
{
- private SubmodelComponent component;
+ private final SubmodelComponent component;
private int logicWidth;
private final List<ModelWire> wiresToForce;
+ private final List<ModelWire> wiresToForceUnmodifiable;
private final List<ModelWire> wiresToForceInverted;
+ private final List<ModelWire> wiresToForceInvertedUnmodifiable;
- public WireForcingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context)
+ public WireForcingAtomicHighLevelStateHandler(SubmodelComponent component)
{
- this(context, null);
+ this(component, null);
}
- public WireForcingAtomicHighLevelStateHandler(HighLevelStateHandlerContext context, WireForcingAtomicHighLevelStateHandlerParams params)
+ public WireForcingAtomicHighLevelStateHandler(SubmodelComponent component, WireForcingAtomicHighLevelStateHandlerParams params)
{
- this.component = context.component;
+ this.component = component;
this.wiresToForce = new ArrayList<>();
+ this.wiresToForceUnmodifiable = Collections.unmodifiableList(wiresToForce);
this.wiresToForceInverted = new ArrayList<>();
+ this.wiresToForceInvertedUnmodifiable = Collections.unmodifiableList(wiresToForceInverted);
if (params != null)
{
Map<String, ModelWire> wiresByName = component.submodel.getWiresByName();
setWiresToForce(params.wiresToForce.stream().map((Function<String, ModelWire>) wiresByName::get).collect(Collectors.toList()),
params.wiresToForceInverted.stream().map((Function<String, ModelWire>) wiresByName::get).collect(Collectors.toList()));
}
+ component.submodel.addWireRemovedListener(w ->
+ {
+ wiresToForce.removeIf(w::equals);
+ wiresToForceInverted.removeIf(w::equals);
+ });
}
public void set(List<ModelWire> wiresToForce, List<ModelWire> wiresToForceInverted)
logicWidth = wire.logicWidth;
else if (wire.logicWidth != logicWidth)
throw new IllegalArgumentException("Can only force wires of the same logic width");
+ // this can add the same wire multiple times, but maybe there is a weird configuration where it is neccessary, due to race
+ // conditions, to force the same wire twice.
if (inverted)
wiresToForceInverted.add(wire);
else
logicWidth = 0;
}
+ public List<ModelWire> getWiresToForce()
+ {
+ return wiresToForceUnmodifiable;
+ }
+
+ public List<ModelWire> getWiresToForceInverted()
+ {
+ return wiresToForceInvertedUnmodifiable;
+ }
+
@Override
public Object getHighLevelState()
{
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.serializing.IdentifyParams;
import net.mograsim.logic.model.snippets.SnippetDefinintion;
-import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.HighLevelStateHandlerContext;
import net.mograsim.logic.model.snippets.highlevelstatehandlers.standard.StandardHighLevelStateHandlerSnippetSuppliers;
public class DelegatingSubcomponentHighLevelStateHandler implements SubcomponentHighLevelStateHandler
private ModelComponent delegateTarget;
private String prefix;
- public DelegatingSubcomponentHighLevelStateHandler(HighLevelStateHandlerContext context)
+ public DelegatingSubcomponentHighLevelStateHandler(SubmodelComponent component)
{
- this(context, null);
+ this(component, null);
}
- public DelegatingSubcomponentHighLevelStateHandler(HighLevelStateHandlerContext context,
+ public DelegatingSubcomponentHighLevelStateHandler(SubmodelComponent component,
DelegatingSubcomponentHighLevelStateHandlerParams params)
{
- this.parentComponent = context.component;
+ this.parentComponent = component;
if (params != null)
{
// TODO document this
if (params.delegateTarget == null)
setDelegateTarget(parentComponent);
else
- this.delegateTarget = parentComponent.submodel.getComponentsByName().get(params.delegateTarget);
+ {
+ ModelComponent delegateTarget = parentComponent.submodel.getComponentsByName().get(params.delegateTarget);
+ if (delegateTarget == null)
+ throw new NullPointerException("No subcomponent with name " + params.delegateTarget);
+ setDelegateTarget(delegateTarget);
+ }
setPrefix(params.prefix);
}
+ parentComponent.submodel.addComponentRemovedListener(c ->
+ {
+ if (delegateTarget == c)
+ delegateTarget = null;
+ });
}
public void set(ModelComponent delegateTarget, String prefix)
{
if (delegateTarget == null)
this.delegateTarget = parentComponent;
- else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.name) != delegateTarget)
+ else if (parentComponent.submodel.getComponentsByName().get(delegateTarget.getName()) != delegateTarget)
throw new IllegalArgumentException(
"Can only set components belonging to the submodel of the parent component of this handler as the delegate target");
this.delegateTarget = delegateTarget;
}
+ public ModelComponent getDelegateTarget()
+ {
+ return delegateTarget;
+ }
+
public void setPrefix(String prefix)
{
this.prefix = prefix;
}
+ public String getPrefix()
+ {
+ return prefix;
+ }
+
@Override
public Object getHighLevelState(String subStateID)
{
+ if (delegateTarget == null)
+ throw new IllegalStateException("Delegating to a component that was destroyed");
return delegateTarget.getHighLevelState(getDelegateTargetHighLevelStateID(subStateID));
}
@Override
public void setHighLevelState(String subStateID, Object newState)
{
+ if (delegateTarget == null)
+ throw new IllegalStateException("Delegating to a component that was destroyed");
delegateTarget.setHighLevelState(getDelegateTargetHighLevelStateID(subStateID), newState);
}
public DelegatingSubcomponentHighLevelStateHandlerParams getParamsForSerializing(IdentifyParams idParams)
{
DelegatingSubcomponentHighLevelStateHandlerParams params = new DelegatingSubcomponentHighLevelStateHandlerParams();
- params.delegateTarget = delegateTarget.name;
+ params.delegateTarget = delegateTarget.getName();
params.prefix = prefix;
return params;
}
this.pinLabelMargin = params.pinLabelMargin;
if (params.pinNamePositions != null)
params.pinNamePositions.forEach(this::setPinPosition);
+ component.addPinRemovedListener(p -> setPinPosition(p, null));
}
public void setPinPosition(String pinName, Position position)
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
import java.util.stream.Collectors;
import com.google.gson.Gson;
*/
public static <T> T readJson(InputStream input, Class<T> type) throws IOException
{
- try (InputStreamReader reader = new InputStreamReader(input); BufferedReader bf = new BufferedReader(reader))
+ try (InputStreamReader reader = new InputStreamReader(input, StandardCharsets.UTF_8);
+ BufferedReader bf = new BufferedReader(reader))
{
return fromJson(bf.lines().collect(Collectors.joining("\n")), type);
}
{
return parser.toJsonTree(o);
}
-}
+}
\ No newline at end of file
net.mograsim.machine.mi,
net.mograsim.machine.mi.parameters,
net.mograsim.machine.standard.memory
+Bundle-Activator: net.mograsim.machine.MachineLoader
+Bundle-ActivationPolicy: lazy
--- /dev/null
+package net.mograsim.machine;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+import net.mograsim.logic.model.serializing.ClassLoaderBasedResourceLoader;
+import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
+
+public class MachineLoader implements BundleActivator
+{
+ private static AtomicBoolean activated = new AtomicBoolean(false);
+
+ @Override
+ public void start(BundleContext context) throws Exception
+ {
+ setup();
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception
+ {
+ // nothing
+ }
+
+ public static void setup()
+ {
+ if (activated.getAndSet(true))
+ return;
+ ClassLoaderBasedResourceLoader resourceLoader = ClassLoaderBasedResourceLoader.create(MachineLoader.class.getClassLoader());
+ IndirectModelComponentCreator.registerResourceLoader(resourceLoader, "MachineLoader");
+ IndirectModelComponentCreator.loadStandardComponentIDs(MachineLoader.class.getResourceAsStream("standardComponentIDMapping.json"));
+// System.out.println("SETUP DONE"); // TODO: Debug
+ }
+}
public void setCell(long address, MicroInstruction data)
{
this.data[translate(address)] = data;
+ notifyObservers(address);
}
@Override
{
private final Mnemonic[] values;
private final String[] stringValues;
- private final Map<String, Mnemonic> byText;
- private final int vectorLength;
+ private Map<String, Mnemonic> byText;
+ private int vectorLength;
+
+ public MnemonicFamily(String... names)
+ {
+ this.values = new Mnemonic[names.length];
+ this.stringValues = new String[names.length];
+ BitVector[] values = new BitVector[names.length];
+ int bits = (int) Math.ceil(Math.log(names.length));
+ for(int i = 0; i < names.length; i++)
+ {
+ values[i] = BitVector.from(i, bits);
+ }
+
+ setup(names, values);
+ }
+
+ public MnemonicFamily(String[] names, long[] values, int bits)
+ {
+ if(names.length != values.length)
+ throw new IllegalArgumentException();
+ this.values = new Mnemonic[values.length];
+ this.stringValues = new String[values.length];
+ BitVector[] vectors = new BitVector[values.length];
+
+ for(int i = 0; i < vectors.length; i++)
+ {
+ vectors[i] = BitVector.from(values[i], bits);
+ }
+
+ setup(names, vectors);
+ }
+
+ public MnemonicFamily(String[] names, BitVector[] values)
+ {
+ if(names.length != values.length)
+ throw new IllegalArgumentException();
+ this.values = new Mnemonic[values.length];
+ this.stringValues = new String[values.length];
+
+ setup(names, values);
+ }
public MnemonicFamily(MnemonicPair... values)
{
this.values = new Mnemonic[values.length];
this.stringValues = new String[values.length];
+ setup(values);
+ }
+
+ private void setup(String[] names, BitVector[] values)
+ {
+ MnemonicPair[] mnemonics = new MnemonicPair[values.length];
+ for(int i = 0; i < values.length; i++)
+ mnemonics[i] = new MnemonicPair(names[i], values[i]);
+ setup(mnemonics);
+ }
+
+ private void setup(MnemonicPair[] values)
+ {
for(int i = 0; i < values.length; i++)
{
this.values[i] = createMnemonic(values[i], i);
if(values.length != byText.keySet().size())
throw new IllegalArgumentException("MnemonicFamily contains multiple Mnemonics with the same name!");
}
-
+
private Mnemonic createMnemonic(MnemonicPair mnemonicPair, int ordinal)
{
return new Mnemonic(mnemonicPair.name, mnemonicPair.value, this, ordinal);
import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
-import net.mograsim.logic.model.model.components.atomic.ModelAndGate;
import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.model.wires.PinUsage;
import net.mograsim.logic.model.modeladapter.LogicCoreAdapter;
import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
import net.mograsim.logic.model.snippets.Renderer;
import net.mograsim.logic.model.snippets.outlinerenderers.DefaultOutlineRenderer;
-import net.mograsim.logic.model.snippets.symbolrenderers.CenteredTextSymbolRenderer;
-import net.mograsim.logic.model.snippets.symbolrenderers.CenteredTextSymbolRenderer.CenteredTextParams;
+import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer;
+import net.mograsim.logic.model.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer.SimpleRectangularLikeParams;
import net.mograsim.logic.model.util.JsonHandler;
import net.mograsim.machine.MainMemoryDefinition;
public ModelMemoryWA(LogicModelModifiable model, MainMemoryDefinition definition, String name)
{
- super(model, name,false);
+ super(model, name, false);
this.definition = definition;
- CenteredTextParams renderer1Params = new CenteredTextParams();
- renderer1Params.text = "RAM";
- renderer1Params.fontHeight = 24;
- this.symbolRenderer = new CenteredTextSymbolRenderer(this, renderer1Params);
+ SimpleRectangularLikeParams rendererParams = new SimpleRectangularLikeParams();
+ rendererParams.centerText = "RAM";
+ rendererParams.centerTextHeight = 24;
+ rendererParams.horizontalComponentCenter = width / 100;
+ rendererParams.pinLabelHeight = 17.5;
+ rendererParams.pinLabelMargin = 2.5;
+ this.symbolRenderer = new SimpleRectangularLikeSymbolRenderer(this, rendererParams);
this.outlineRenderer = new DefaultOutlineRenderer(this);
setSize(width, height);
addPin(addrPin = new Pin(model, this, "A", definition.getMemoryAddressBits(), PinUsage.INPUT, 0, 10));
addPin(dataPin = new Pin(model, this, "D", definition.getCellWidth(), PinUsage.TRISTATE, 0, 30));
addPin(rWPin = new Pin(model, this, "RW", 1, PinUsage.INPUT, 0, 50));
-
+
init();
}
static
{
LogicCoreAdapter.addComponentAdapter(new WordAddressableMemoryAdapter());
- IndirectModelComponentCreator.setComponentSupplier(ModelAndGate.class.getCanonicalName(), (m, p, n) ->
+ IndirectModelComponentCreator.setComponentSupplier(ModelMemoryWA.class.getCanonicalName(), (m, p, n) ->
{
ModelMemoryWAParams params = JsonHandler.fromJsonTree(p, ModelMemoryWAParams.class);
return new ModelMemoryWA(m, MainMemoryDefinition.create(params.addrBits, params.cellWidth, params.minAddr, params.maxAddr), n);
--- /dev/null
+mograsim version: 0.1.3
+{
+ "MemoryWA": "resloader:MachineLoader:class:net.mograsim.machine.standard.memory.ModelMemoryWA"
+}
\ No newline at end of file
--- /dev/null
+package net.mograsim.plugin.tables;
+
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ILazyContentProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Table;
+
+public class LazyTableViewer extends TableViewer
+{
+
+ public LazyTableViewer(Composite parent, int style)
+ {
+ super(parent, style | SWT.VIRTUAL);
+ }
+
+ public LazyTableViewer(Composite parent)
+ {
+ super(parent);
+ }
+
+ public LazyTableViewer(Table table)
+ {
+ super(table);
+ }
+
+ @Override
+ public void setContentProvider(IContentProvider provider)
+ {
+ if (!(provider instanceof ILazyContentProvider))
+ throw new IllegalArgumentException("Content provider must be an ILazyContentProvider");
+ super.setContentProvider(provider);
+ }
+
+ public void refreshLazy()
+ {
+ Table t = getTable();
+ ILazyContentProvider provider = (ILazyContentProvider) getContentProvider();
+ doClearAll();
+ int startIndex = t.getTopIndex();
+ int numRows = t.getBounds().height / t.getItemHeight();
+ int endIndex = startIndex + numRows + 5;
+
+ for (int i = startIndex; i < endIndex; i++)
+ {
+ provider.updateElement(i);
+ }
+ }
+}
import java.math.BigInteger;
import java.util.Optional;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.VerifyListener;
import net.mograsim.plugin.asm.AsmNumberUtil;
import net.mograsim.plugin.tables.AddressLabelProvider;
import net.mograsim.plugin.tables.DisplaySettings;
+import net.mograsim.plugin.tables.LazyTableViewer;
import net.mograsim.plugin.tables.NumberColumnLabelProvider;
import net.mograsim.plugin.tables.RadixSelector;
public class MemoryView extends ViewPart implements ContextObserver
{
- private TableViewer viewer;
+ private LazyTableViewer viewer;
private MemoryTableContentProvider provider;
private DisplaySettings displaySettings;
createHeader(parent);
createViewer(parent);
- displaySettings.addObserver(() -> viewer.refresh());
+ displaySettings.addObserver(() -> viewer.refreshLazy());
setupContextBinding();
}
private void createViewer(Composite parent)
{
- viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
+ viewer = new LazyTableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
createColumns();
Table table = viewer.getTable();
table.setHeaderVisible(true);
{
private TableViewer viewer;
private MicroInstructionMemory memory;
+ private long minAddr = 0;
@Override
public void updateElement(int index)
this.viewer = (TableViewer) viewer;
this.memory = (MicroInstructionMemory) newInput;
if (this.memory != null)
+ {
this.viewer.setItemCount((int) memory.size());
+ this.minAddr = memory.getDefinition().getMinimalAddress();
+ }
+ }
+
+ public void update(long address)
+ {
+ updateElement((int) (address - minAddr));
}
}
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import net.mograsim.machine.mi.parameters.ParameterClassification;
import net.mograsim.plugin.MachineContext;
import net.mograsim.plugin.MachineContext.ContextObserver;
-import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
import net.mograsim.plugin.tables.AddressLabelProvider;
import net.mograsim.plugin.tables.DisplaySettings;
+import net.mograsim.plugin.tables.LazyTableViewer;
import net.mograsim.plugin.tables.RadixSelector;
import net.mograsim.plugin.util.DropDownMenu;
import net.mograsim.plugin.util.DropDownMenu.DropDownEntry;
public class InstructionView extends ViewPart implements ContextObserver
{
private String saveLoc = null;
- private TableViewer viewer;
+ private LazyTableViewer viewer;
private TableViewerColumn[] columns = new TableViewerColumn[0];
private MicroInstructionDefinition miDef;
private MicroInstructionMemory memory;
private DisplaySettings displaySettings;
+ private InstructionTableContentProvider provider;
@SuppressWarnings("unused")
@Override
public void createPartControl(Composite parent)
{
- InstructionTableContentProvider provider = new InstructionTableContentProvider();
+ provider = new InstructionTableContentProvider();
GridLayout layout = new GridLayout(3, false);
setupMenuButtons(parent);
new RadixSelector(parent, displaySettings);
parent.setLayout(layout);
- viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
+ viewer = new LazyTableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
+
Table table = viewer.getTable();
table.setHeaderVisible(true);
table.setLinesVisible(true);
viewer.setUseHashlookup(true);
viewer.setContentProvider(provider);
+ getSite().setSelectionProvider(viewer);
GridData viewerData = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH);
viewerData.horizontalSpan = 3;
viewer.getTable().setLayoutData(viewerData);
- displaySettings.addObserver(() -> viewer.refresh());
+ displaySettings.addObserver(() -> viewer.refreshLazy());
MachineContext.getInstance().registerObserver(this);
}
provider = new ParameterLabelProvider(index);
break;
case INTEGER_IMMEDIATE:
- support = new IntegerEditingSupport(viewer, miDef, index, new DisplaySettings(NumberType.DECIMAL));
+ support = new IntegerEditingSupport(viewer, miDef, index, displaySettings, this.provider);
provider = new IntegerColumnLabelProvider(displaySettings, index);
break;
case MNEMONIC:
- support = new MnemonicEditingSupport(viewer, miDef, index);
+ support = new MnemonicEditingSupport(viewer, miDef, index, this.provider);
provider = new ParameterLabelProvider(index);
break;
default:
{
private IntegerClassification classification;
private int index;
+ private InstructionTableContentProvider provider;
- public IntegerEditingSupport(TableViewer viewer, MicroInstructionDefinition miDef, int index, DisplaySettings displaySettings)
+ public IntegerEditingSupport(TableViewer viewer, MicroInstructionDefinition miDef, int index, DisplaySettings displaySettings,
+ InstructionTableContentProvider provider)
{
super(viewer, displaySettings);
classification = (IntegerClassification) miDef.getParameterClassifications()[index];
this.index = index;
+ this.provider = provider;
}
@Override
protected void setAsBigInteger(Object element, BigInteger value)
{
- ((InstructionTableRow) element).data.setParameter(index, new IntegerImmediate(value, classification.getExpectedBits()));
+ InstructionTableRow row = ((InstructionTableRow) element);
+ row.data.setParameter(index, new IntegerImmediate(value, classification.getExpectedBits()));
+ provider.update(row.address);
+// viewer.update(element, null); Does not do anything for some reason
}
@Override
{
private final ComboBoxCellEditor editor;
private final MnemonicFamily family;
- private final TableViewer viewer;
private final int index;
+ private InstructionTableContentProvider provider;
- public MnemonicEditingSupport(TableViewer viewer, MicroInstructionDefinition definition, int index)
+ public MnemonicEditingSupport(TableViewer viewer, MicroInstructionDefinition definition, int index,
+ InstructionTableContentProvider provider)
{
super(viewer);
- this.viewer = viewer;
family = (MnemonicFamily) definition.getParameterClassifications()[index];
editor = new ComboBoxCellEditor(viewer.getTable(), family.getStringValues(), SWT.READ_ONLY);
this.index = index;
editor.setValidator(new MnemonicCellEditorValidator(family));
+ this.provider = provider;
}
@Override
@Override
protected void setValue(Object element, Object value)
{
- ((InstructionTableRow) element).data.setParameter(index, family.get((Integer) value));
- viewer.update(element, null);
+ InstructionTableRow row = ((InstructionTableRow) element);
+ row.data.setParameter(index, family.get((Integer) value));
+ provider.update(row.address);
}
}
version="0.1.0.qualifier"
unpack="false"/>
+ <plugin
+ id="net.mograsim.machine"
+ download-size="1"
+ install-size="1"
+ version="0.1.0.qualifier"
+ unpack="false"/>
+
</feature>