--- /dev/null
+{
+ "width": 0.0,
+ "height": 0.0,
+ "interfacePins": [],
+ "innerScale": 1.0,
+ "submodel": {
+ "components": [
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#1",
+ "pos": {
+ "x": 140.0,
+ "y": 125.0
+ },
+ "params": "IC"
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#4",
+ "pos": {
+ "x": 335.0,
+ "y": 105.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#8",
+ "pos": {
+ "x": 125.0,
+ "y": 230.0
+ },
+ "params": "_EN"
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 185.0,
+ "y": 310.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 345.0,
+ "y": 85.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
+ "pos": {
+ "x": 375.0,
+ "y": 190.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#2",
+ "pos": {
+ "x": 391.0,
+ "y": 180.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#6",
+ "pos": {
+ "x": 125.0,
+ "y": 200.0
+ },
+ "params": "_EZ"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#14",
+ "pos": {
+ "x": 40.0,
+ "y": 130.0
+ },
+ "params": "I1"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#13",
+ "pos": {
+ "x": 60.0,
+ "y": 132.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#48",
+ "pos": {
+ "x": 350.0,
+ "y": 220.0
+ },
+ "params": "_OECT"
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#3",
+ "pos": {
+ "x": 175.0,
+ "y": 370.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#42",
+ "pos": {
+ "x": 270.0,
+ "y": 135.0
+ },
+ "params": "YOVR"
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 355.0,
+ "y": 380.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIMerger",
+ "name": "GUIMerger#0",
+ "pos": {
+ "x": 85.0,
+ "y": 130.0
+ },
+ "params": 13
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#36",
+ "pos": {
+ "x": 300.0,
+ "y": 77.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#24",
+ "pos": {
+ "x": 55.0,
+ "y": 162.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#31",
+ "pos": {
+ "x": 55.0,
+ "y": 242.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#25",
+ "pos": {
+ "x": 55.0,
+ "y": 182.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#16",
+ "pos": {
+ "x": 35.0,
+ "y": 160.0
+ },
+ "params": "I4"
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
+ "pos": {
+ "x": 380.0,
+ "y": 200.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#29",
+ "pos": {
+ "x": 416.0,
+ "y": 195.0
+ },
+ "params": "YOVR"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#23",
+ "pos": {
+ "x": 60.0,
+ "y": 172.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#35",
+ "pos": {
+ "x": 300.0,
+ "y": 122.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#4",
+ "pos": {
+ "x": 170.0,
+ "y": 127.5
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#8",
+ "pos": {
+ "x": 360.0,
+ "y": 125.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 215.0,
+ "y": 340.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#3",
+ "pos": {
+ "x": 55.0,
+ "y": 122.5
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
+ "pos": {
+ "x": 370.0,
+ "y": 175.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#34",
+ "pos": {
+ "x": 300.0,
+ "y": 92.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#2",
+ "pos": {
+ "x": 170.0,
+ "y": 112.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#44",
+ "pos": {
+ "x": 270.0,
+ "y": 90.0
+ },
+ "params": "YZ"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#32",
+ "pos": {
+ "x": 390.0,
+ "y": 315.0
+ },
+ "params": "SIOn"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#6",
+ "pos": {
+ "x": 170.0,
+ "y": 157.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#39",
+ "pos": {
+ "x": 110.0,
+ "y": 370.0
+ },
+ "params": "SIO0"
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#6",
+ "pos": {
+ "x": 365.0,
+ "y": 370.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#41",
+ "pos": {
+ "x": 110.0,
+ "y": 330.0
+ },
+ "params": "QIOn"
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 185.0,
+ "y": 365.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#10",
+ "pos": {
+ "x": 35.0,
+ "y": 120.0
+ },
+ "params": "I0"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#15",
+ "pos": {
+ "x": 140.0,
+ "y": 317.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#20",
+ "pos": {
+ "x": 140.0,
+ "y": 302.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#17",
+ "pos": {
+ "x": 140.0,
+ "y": 387.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#10",
+ "pos": {
+ "x": 160.0,
+ "y": 247.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#11",
+ "pos": {
+ "x": 160.0,
+ "y": 217.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#35",
+ "pos": {
+ "x": 390.0,
+ "y": 385.0
+ },
+ "params": "QIO0"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#30",
+ "pos": {
+ "x": 390.0,
+ "y": 240.0
+ },
+ "params": "CT"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#40",
+ "pos": {
+ "x": 110.0,
+ "y": 315.0
+ },
+ "params": "SIOn"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#12",
+ "pos": {
+ "x": 35.0,
+ "y": 140.0
+ },
+ "params": "I2"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#18",
+ "pos": {
+ "x": 140.0,
+ "y": 372.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#5",
+ "pos": {
+ "x": 170.0,
+ "y": 142.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#8",
+ "pos": {
+ "x": 155.0,
+ "y": 187.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#15",
+ "pos": {
+ "x": 40.0,
+ "y": 150.0
+ },
+ "params": "I3"
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#6",
+ "pos": {
+ "x": 335.0,
+ "y": 120.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#43",
+ "pos": {
+ "x": 270.0,
+ "y": 120.0
+ },
+ "params": "YN"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#29",
+ "pos": {
+ "x": 55.0,
+ "y": 222.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#1",
+ "pos": {
+ "x": 175.0,
+ "y": 330.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#45",
+ "pos": {
+ "x": 270.0,
+ "y": 105.0
+ },
+ "params": "YC"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#17",
+ "pos": {
+ "x": 35.0,
+ "y": 180.0
+ },
+ "params": "I6"
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 365.0,
+ "y": 160.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#11",
+ "pos": {
+ "x": 35.0,
+ "y": 240.0
+ },
+ "params": "I12"
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#7",
+ "pos": {
+ "x": 335.0,
+ "y": 135.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#3",
+ "pos": {
+ "x": 140.0,
+ "y": 155.0
+ },
+ "params": "IOVR"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#36",
+ "pos": {
+ "x": 30.0,
+ "y": 300.0
+ },
+ "params": "enable S/QIOn input"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#19",
+ "pos": {
+ "x": 35.0,
+ "y": 200.0
+ },
+ "params": "I8"
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 360.0,
+ "y": 110.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#22",
+ "pos": {
+ "x": 60.0,
+ "y": 152.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#47",
+ "pos": {
+ "x": 145.0,
+ "y": 270.0
+ },
+ "params": "_SE"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#9",
+ "pos": {
+ "x": 160.0,
+ "y": 232.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#9",
+ "pos": {
+ "x": 125.0,
+ "y": 245.0
+ },
+ "params": "_EOVR"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#28",
+ "pos": {
+ "x": 416.0,
+ "y": 180.0
+ },
+ "params": "YN"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#12",
+ "pos": {
+ "x": 160.0,
+ "y": 202.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#27",
+ "pos": {
+ "x": 416.0,
+ "y": 165.0
+ },
+ "params": "YC"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#32",
+ "pos": {
+ "x": 300.0,
+ "y": 107.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#33",
+ "pos": {
+ "x": 300.0,
+ "y": 137.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#37",
+ "pos": {
+ "x": 165.0,
+ "y": 270.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#4",
+ "pos": {
+ "x": 115.0,
+ "y": 170.0
+ },
+ "params": "_CEM"
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#9",
+ "pos": {
+ "x": 365.0,
+ "y": 315.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#0",
+ "pos": {
+ "x": 255.0,
+ "y": 152.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#21",
+ "pos": {
+ "x": 35.0,
+ "y": 220.0
+ },
+ "params": "I10"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#1",
+ "pos": {
+ "x": 170.0,
+ "y": 82.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#16",
+ "pos": {
+ "x": 140.0,
+ "y": 332.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#46",
+ "pos": {
+ "x": 220.0,
+ "y": 75.0
+ },
+ "params": "enable Y input"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#30",
+ "pos": {
+ "x": 60.0,
+ "y": 212.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#0",
+ "pos": {
+ "x": 140.0,
+ "y": 110.0
+ },
+ "params": "IZ"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#14",
+ "pos": {
+ "x": 165.0,
+ "y": 287.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#8",
+ "pos": {
+ "x": 365.0,
+ "y": 330.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#5",
+ "pos": {
+ "x": 115.0,
+ "y": 185.0
+ },
+ "params": "_CEmu"
+ },
+ {
+ "id": "GUIAm2904",
+ "name": "Am2904",
+ "pos": {
+ "x": 220.0,
+ "y": 175.0
+ }
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#7",
+ "pos": {
+ "x": 155.0,
+ "y": 172.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#5",
+ "pos": {
+ "x": 365.0,
+ "y": 275.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#18",
+ "pos": {
+ "x": 40.0,
+ "y": 190.0
+ },
+ "params": "I7"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#37",
+ "pos": {
+ "x": 30.0,
+ "y": 355.0
+ },
+ "params": "enable S/QIO0 input"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#13",
+ "pos": {
+ "x": 40.0,
+ "y": 170.0
+ },
+ "params": "I5"
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 210.0,
+ "y": 325.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#22",
+ "pos": {
+ "x": 40.0,
+ "y": 230.0
+ },
+ "params": "I11"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#19",
+ "pos": {
+ "x": 140.0,
+ "y": 357.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#7",
+ "pos": {
+ "x": 125.0,
+ "y": 215.0
+ },
+ "params": "_EC"
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#5",
+ "pos": {
+ "x": 335.0,
+ "y": 90.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 360.0,
+ "y": 390.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#4",
+ "pos": {
+ "x": 365.0,
+ "y": 240.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#25",
+ "pos": {
+ "x": 225.0,
+ "y": 150.0
+ },
+ "params": "_OEY"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#31",
+ "pos": {
+ "x": 390.0,
+ "y": 275.0
+ },
+ "params": "C0"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#28",
+ "pos": {
+ "x": 55.0,
+ "y": 202.5
+ },
+ "params": 1
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#2",
+ "pos": {
+ "x": 175.0,
+ "y": 385.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#23",
+ "pos": {
+ "x": 145.0,
+ "y": 285.0
+ },
+ "params": "CX"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#21",
+ "pos": {
+ "x": 55.0,
+ "y": 142.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#26",
+ "pos": {
+ "x": 416.0,
+ "y": 150.0
+ },
+ "params": "YZ"
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#0",
+ "pos": {
+ "x": 391.0,
+ "y": 150.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#20",
+ "pos": {
+ "x": 40.0,
+ "y": 210.0
+ },
+ "params": "I9"
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#3",
+ "pos": {
+ "x": 391.0,
+ "y": 195.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#1",
+ "pos": {
+ "x": 391.0,
+ "y": 165.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#34",
+ "pos": {
+ "x": 390.0,
+ "y": 370.0
+ },
+ "params": "SIO0"
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#38",
+ "pos": {
+ "x": 110.0,
+ "y": 385.0
+ },
+ "params": "QIO0"
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#27",
+ "pos": {
+ "x": 60.0,
+ "y": 232.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#24",
+ "pos": {
+ "x": 150.0,
+ "y": 80.0
+ },
+ "params": "C"
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#0",
+ "pos": {
+ "x": 175.0,
+ "y": 315.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#26",
+ "pos": {
+ "x": 60.0,
+ "y": 192.5
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#2",
+ "pos": {
+ "x": 140.0,
+ "y": 140.0
+ },
+ "params": "IN"
+ },
+ {
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#7",
+ "pos": {
+ "x": 365.0,
+ "y": 385.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIManualSwitch",
+ "name": "GUIManualSwitch#38",
+ "pos": {
+ "x": 385.0,
+ "y": 220.0
+ },
+ "params": 1
+ },
+ {
+ "id": "TextComponent",
+ "name": "TextComponent#33",
+ "pos": {
+ "x": 390.0,
+ "y": 330.0
+ },
+ "params": "QIOn"
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#20",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#31",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#62",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "QIO0"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#41",
+ "path": [
+ {
+ "x": 360.0,
+ "y": 305.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#18",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#6",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#64",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIMerger#0",
+ "pinName": "I0"
+ },
+ "name": "unnamedWire#42",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#16",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#33",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 310.0
+ },
+ {
+ "x": 200.0,
+ "y": 335.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "OUT"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "OUT"
+ },
+ "name": "unnamedWire#67",
+ "path": [
+ {
+ "x": 365.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "_CEmu"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#7",
+ "path": [
+ {
+ "x": 185.0,
+ "y": 205.0
+ },
+ {
+ "x": 185.0,
+ "y": 195.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "YN"
+ },
+ "name": "unnamedWire#15",
+ "path": [
+ {
+ "x": 375.0,
+ "y": 195.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "IOVR"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#5",
+ "path": [
+ {
+ "x": 195.0,
+ "y": 200.0
+ },
+ {
+ "x": 195.0,
+ "y": 165.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#6",
+ "pinName": "OUT"
+ },
+ "name": "unnamedWire#70",
+ "path": [
+ {
+ "x": 375.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#36",
+ "pinName": ""
+ },
+ "name": "unnamedWire#60",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#38",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "_OECT"
+ },
+ "name": "unnamedWire#75",
+ "path": [
+ {
+ "x": 410.0,
+ "y": 230.0
+ },
+ {
+ "x": 410.0,
+ "y": 215.0
+ },
+ {
+ "x": 345.0,
+ "y": 215.0
+ },
+ {
+ "x": 345.0,
+ "y": 225.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "OUT"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#19",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "I8"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#28",
+ "pinName": ""
+ },
+ "name": "unnamedWire#47",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#26",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIMerger#0",
+ "pinName": "I7"
+ },
+ "name": "unnamedWire#48",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#24",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#72",
+ "path": [
+ {
+ "x": 380.0,
+ "y": 205.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#4",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 150.0
+ },
+ {
+ "x": 200.0,
+ "y": 195.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#35",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#6",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#56",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#31",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIMerger#0",
+ "pinName": "I12"
+ },
+ "name": "unnamedWire#43",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "_OEY"
+ },
+ "name": "unnamedWire#0",
+ "path": [
+ {
+ "x": 280.0,
+ "y": 160.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUITriStateBuffer#7",
+ "pinName": "IN"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#33",
+ "pinName": ""
+ },
+ "name": "unnamedWire#55",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "Cx"
+ },
+ "name": "unnamedWire#13",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 295.0
+ },
+ {
+ "x": 200.0,
+ "y": 285.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "_SE"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#37",
+ "pinName": ""
+ },
+ "name": "unnamedWire#74",
+ "path": [
+ {
+ "x": 215.0,
+ "y": 260.0
+ },
+ {
+ "x": 215.0,
+ "y": 280.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUITriStateBuffer#7",
+ "pinName": "EN"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#65",
+ "path": [
+ {
+ "x": 360.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "IN"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#17",
+ "pinName": ""
+ },
+ "name": "unnamedWire#26",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#23",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIMerger#0",
+ "pinName": "I5"
+ },
+ "name": "unnamedWire#50",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "I6"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#25",
+ "pinName": ""
+ },
+ "name": "unnamedWire#49",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "_EOVR"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#10",
+ "path": [
+ {
+ "x": 205.0,
+ "y": 220.0
+ },
+ {
+ "x": 205.0,
+ "y": 255.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "SIOn"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#20",
+ "path": [
+ {
+ "x": 210.0,
+ "y": 295.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "YC"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#68",
+ "path": [
+ {
+ "x": 370.0,
+ "y": 190.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIBitDisplay#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#35",
+ "path": [
+ {
+ "x": 350.0,
+ "y": 340.0
+ },
+ {
+ "x": 350.0,
+ "y": 380.0
+ },
+ {
+ "x": 215.0,
+ "y": 380.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "C"
+ },
+ "name": "unnamedWire#1",
+ "path": [
+ {
+ "x": 215.0,
+ "y": 90.0
+ },
+ {
+ "x": 215.0,
+ "y": 180.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#32",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#22",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIMerger#0",
+ "pinName": "I3"
+ },
+ "name": "unnamedWire#52",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "YOVR"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "name": "unnamedWire#14",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "C0"
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#30",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIMerger#0",
+ "pinName": "I9"
+ },
+ "name": "unnamedWire#46",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "_CEM"
+ },
+ "name": "unnamedWire#6",
+ "path": [
+ {
+ "x": 190.0,
+ "y": 180.0
+ },
+ {
+ "x": 190.0,
+ "y": 205.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "IC"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#3",
+ "path": [
+ {
+ "x": 205.0,
+ "y": 190.0
+ },
+ {
+ "x": 205.0,
+ "y": 135.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#59",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "YZ"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#17",
+ "path": [
+ {
+ "x": 365.0,
+ "y": 185.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#30",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 365.0
+ },
+ {
+ "x": 200.0,
+ "y": 390.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "IZ"
+ },
+ "name": "unnamedWire#2",
+ "path": [
+ {
+ "x": 210.0,
+ "y": 120.0
+ },
+ {
+ "x": 210.0,
+ "y": 185.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#63",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "OUT"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#36",
+ "path": [
+ {
+ "x": 210.0,
+ "y": 380.0
+ },
+ {
+ "x": 210.0,
+ "y": 385.0
+ },
+ {
+ "x": 355.0,
+ "y": 385.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#16",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#25",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "OUT"
+ },
+ "name": "unnamedWire#69",
+ "path": [
+ {
+ "x": 370.0,
+ "y": 115.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#38",
+ "path": [
+ {
+ "x": 360.0,
+ "y": 395.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "SIO0"
+ },
+ "name": "unnamedWire#40",
+ "path": [
+ {
+ "x": 355.0,
+ "y": 295.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "_EN"
+ },
+ "name": "unnamedWire#11",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 240.0
+ },
+ {
+ "x": 200.0,
+ "y": 215.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "I10"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#29",
+ "pinName": ""
+ },
+ "name": "unnamedWire#45",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "_EZ"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#12",
+ "pinName": ""
+ },
+ "name": "unnamedWire#8",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "I4"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#24",
+ "pinName": ""
+ },
+ "name": "unnamedWire#51",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "QIOn"
+ },
+ "name": "unnamedWire#22",
+ "path": [
+ {
+ "x": 215.0,
+ "y": 305.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#34",
+ "path": [
+ {
+ "x": 210.0,
+ "y": 375.0
+ },
+ {
+ "x": 345.0,
+ "y": 375.0
+ },
+ {
+ "x": 345.0,
+ "y": 325.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#0",
+ "pinName": ""
+ },
+ "name": "unnamedWire#66",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "I1"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#13",
+ "pinName": ""
+ },
+ "name": "unnamedWire#54",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "I2"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#21",
+ "pinName": ""
+ },
+ "name": "unnamedWire#53",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "O"
+ },
+ "pin2": {
+ "compName": "Am2904",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#12",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 190.0
+ },
+ {
+ "x": 105.0,
+ "y": 265.0
+ },
+ {
+ "x": 210.0,
+ "y": 265.0
+ },
+ {
+ "x": 210.0,
+ "y": 235.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "IN"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#32",
+ "pinName": ""
+ },
+ "name": "unnamedWire#57",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "EN"
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#7",
+ "pinName": "OUT"
+ },
+ "name": "unnamedWire#73",
+ "path": [
+ {
+ "x": 380.0,
+ "y": 145.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#71",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "_EC"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#11",
+ "pinName": ""
+ },
+ "name": "unnamedWire#9",
+ "path": [
+ {
+ "x": 195.0,
+ "y": 215.0
+ },
+ {
+ "x": 195.0,
+ "y": 225.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "OUT"
+ },
+ "name": "unnamedWire#37",
+ "path": [
+ {
+ "x": 210.0,
+ "y": 390.0
+ },
+ {
+ "x": 210.0,
+ "y": 395.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Am2904",
+ "pinName": "CT"
+ },
+ "pin2": {
+ "compName": "GUIBitDisplay#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#18",
+ "path": [
+ {
+ "x": 345.0,
+ "y": 235.0
+ },
+ {
+ "x": 345.0,
+ "y": 250.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#61",
+ "path": [
+ {
+ "x": 360.0,
+ "y": 85.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "GUIBitDisplay#6",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "name": "unnamedWire#39",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIMerger#0",
+ "pinName": "I11"
+ },
+ "pin2": {
+ "compName": "GUIManualSwitch#27",
+ "pinName": ""
+ },
+ "name": "unnamedWire#44",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUIManualSwitch#34",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "IN"
+ },
+ "name": "unnamedWire#58",
+ "path": []
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "default",
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "default",
+ "version": "0.1.4"
+}
\ No newline at end of file
-mograsim version: 0.1.3
{
"width": 120.0,
"height": 178.0,
"name": "_CEM",
"logicWidth": 1
},
- {
- "location": {
- "x": 120.0,
- "y": 11.0
- },
- "name": "YZ",
- "logicWidth": 1
- },
{
"location": {
"x": 0.0,
"name": "C",
"logicWidth": 1
},
- {
- "location": {
- "x": 0.0,
- "y": 20.0
- },
- "name": "IN",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 61.0,
- "y": 0.0
- },
- "name": "_OEY",
- "logicWidth": 1
- },
{
"location": {
"x": 0.0,
},
{
"location": {
- "x": 120.0,
- "y": 118.0
+ "x": 0.0,
+ "y": 36.0
},
- "name": "SIO0",
+ "name": "_EZ",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 10.0
+ "y": 110.0
},
- "name": "IZ",
+ "name": "Cx",
"logicWidth": 1
},
{
"location": {
"x": 120.0,
- "y": 60.0
+ "y": 21.0
},
- "name": "CT",
+ "name": "YN",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 128.0
+ "y": 15.0
},
- "name": "QIOn",
+ "name": "IC",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 119.0
+ "y": 42.0
},
- "name": "SIOn",
+ "name": "_EOVR",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 120.0,
+ "y": 11.0
+ },
+ "name": "YZ",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 33.0
+ "y": 20.0
},
- "name": "_CEmu",
+ "name": "IN",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 61.0,
+ "y": 0.0
+ },
+ "name": "_OEY",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 36.0
+ "y": 83.0
},
- "name": "_EZ",
+ "name": "_SE",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 120.0,
+ "y": 118.0
+ },
+ "name": "SIO0",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 110.0
+ "y": 10.0
},
- "name": "Cx",
+ "name": "IZ",
"logicWidth": 1
},
{
"location": {
"x": 120.0,
- "y": 21.0
+ "y": 60.0
},
- "name": "YN",
+ "name": "CT",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 15.0
+ "y": 128.0
},
- "name": "IC",
+ "name": "QIOn",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 119.0
+ },
+ "name": "SIOn",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 33.0
+ },
+ "name": "_CEmu",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 120.0,
+ "y": 51.0
+ },
+ "name": "_OECT",
"logicWidth": 1
},
{
},
"name": "_EC",
"logicWidth": 1
- },
- {
- "location": {
- "x": 0.0,
- "y": 42.0
- },
- "name": "_EOVR",
- "logicWidth": 1
}
],
+ "innerScale": 0.2,
"submodel": {
- "innerScale": 0.2,
- "subComps": [
+ "components": [
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "id": "GUINandGate",
+ "name": "GUINandGate#1",
"pos": {
- "x": 520.0,
- "y": 190.0
+ "x": 130.0,
+ "y": 5.0
},
- "params": 4
+ "params": 1
+ },
+ {
+ "id": "GUINandGate",
+ "name": "GUINandGate#10",
+ "pos": {
+ "x": 340.0,
+ "y": 120.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#21",
+ "pos": {
+ "x": 250.0,
+ "y": 820.0
+ }
+ },
+ {
+ "id": "GUImux2",
+ "name": "DeserializedSubmodelComponent#15",
+ "pos": {
+ "x": 435.0,
+ "y": 575.0
+ }
},
{
"id": "WireCrossPoint",
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#16",
+ "name": "WireCrossPoint#27",
"pos": {
- "x": 255.0,
- "y": 255.0
+ "x": 440.0,
+ "y": 385.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#15",
+ "name": "WireCrossPoint#6",
"pos": {
- "x": 255.0,
- "y": 265.0
+ "x": 120.0,
+ "y": 15.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
"params": 1
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#4",
+ "id": "GUIAm2904ShiftInstrDecode",
+ "name": "GUIAm2904ShiftInstrDecode#0",
"pos": {
- "x": 565.0,
- "y": 655.0
- },
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
+ "x": 50.0,
+ "y": 360.0
}
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#17",
- "pos": {
- "x": 360.0,
- "y": 495.0
- },
- "params": 1
- },
- {
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#2",
+ "id": "GUISplitter",
+ "name": "GUISplitter#6",
"pos": {
- "x": 10.0,
- "y": 605.0
+ "x": 285.0,
+ "y": 320.0
},
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
- }
+ "params": 3
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#19",
+ "name": "WireCrossPoint#12",
"pos": {
- "x": 35.0,
- "y": 595.0
+ "x": 195.0,
+ "y": 35.0
},
"params": 1
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#3",
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#12",
"pos": {
- "x": 560.0,
- "y": 595.0
- },
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
+ "x": 315.0,
+ "y": 505.0
}
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#0",
+ "id": "GUIAm2904TestLogic",
+ "name": "DeserializedSubmodelComponent#6",
"pos": {
- "x": 530.0,
- "y": 170.0
- },
- "params": {
- "logicWidth": 4,
- "orientation": "RIGHT"
+ "x": 225.0,
+ "y": 340.0
}
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#1",
+ "id": "GUImux3",
+ "name": "DeserializedSubmodelComponent#7",
"pos": {
- "x": 10.0,
- "y": 650.0
- },
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
+ "x": 300.0,
+ "y": 310.0
}
},
{
- "id": "GUIAm2904muSR",
- "name": "DeserializedSubmodelComponent#1",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#0",
"pos": {
- "x": 270.0,
- "y": 250.0
- }
+ "x": 530.0,
+ "y": 70.0
+ },
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#10",
+ "name": "WireCrossPoint#22",
"pos": {
- "x": 195.0,
- "y": 55.0
+ "x": 250.0,
+ "y": 540.0
},
"params": 1
},
{
- "id": "GUIAm2904MSR",
- "name": "DeserializedSubmodelComponent#0",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#14",
"pos": {
- "x": 225.0,
- "y": 95.0
+ "x": 415.0,
+ "y": 465.0
}
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "id": "GUINandGate",
+ "name": "GUINandGate#7",
"pos": {
- "x": 195.0,
- "y": 35.0
+ "x": 205.0,
+ "y": 50.0
},
"params": 1
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#3",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#17",
"pos": {
- "x": 470.0,
- "y": 160.0
+ "x": 190.0,
+ "y": 460.0
}
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
+ "id": "GUISplitter",
+ "name": "GUISplitter#11",
"pos": {
- "x": 195.0,
- "y": 15.0
+ "x": 405.0,
+ "y": 575.0
},
- "params": 1
+ "params": 3
},
{
- "id": "GUIand",
- "name": "DeserializedSubmodelComponent#2",
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#10",
"pos": {
- "x": 370.0,
- "y": 130.0
+ "x": 455.0,
+ "y": 355.0
}
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#5",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
"pos": {
- "x": 415.0,
- "y": 210.0
- }
+ "x": 150.0,
+ "y": 160.0
+ },
+ "params": 1
},
{
"id": "GUInot4",
}
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#4",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#30",
"pos": {
- "x": 25.0,
- "y": 355.0
+ "x": 550.0,
+ "y": 570.0
},
- "params": 2
+ "params": 1
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#3",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#2",
"pos": {
- "x": 510.0,
- "y": 165.0
+ "x": 10.0,
+ "y": 605.0
},
- "params": 4
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "GUImux3",
- "name": "DeserializedSubmodelComponent#7",
+ "id": "GUIAm2904muSR",
+ "name": "DeserializedSubmodelComponent#1",
"pos": {
- "x": 300.0,
- "y": 310.0
+ "x": 270.0,
+ "y": 250.0
}
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#2",
+ "id": "GUISplitter",
+ "name": "GUISplitter#7",
"pos": {
- "x": 15.0,
- "y": 65.0
+ "x": 420.0,
+ "y": 325.0
},
"params": 4
},
{
- "id": "GUIAm2904TestLogic",
- "name": "DeserializedSubmodelComponent#6",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#15",
"pos": {
- "x": 225.0,
- "y": 340.0
+ "x": 255.0,
+ "y": 265.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUIAm2904RegCTInstrDecode",
+ "name": "GUIAm2904RegCTInstrDecode#0",
+ "pos": {
+ "x": 50.0,
+ "y": 240.0
}
},
{
"id": "GUIMerger",
- "name": "GUIMerger#1",
+ "name": "GUIMerger#3",
"pos": {
- "x": 25.0,
- "y": 305.0
+ "x": 510.0,
+ "y": 165.0
},
- "params": 5
+ "params": 4
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#9",
+ "id": "GUISplitter",
+ "name": "GUISplitter#10",
"pos": {
- "x": 480.0,
- "y": 305.0
- }
+ "x": 420.0,
+ "y": 410.0
+ },
+ "params": 4
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#33",
"pos": {
- "x": 25.0,
- "y": 245.0
+ "x": 530.0,
+ "y": 270.0
},
- "params": 6
+ "params": 1
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#8",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#3",
"pos": {
- "x": 540.0,
- "y": 295.0
+ "x": 560.0,
+ "y": 595.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
}
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#9",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
"pos": {
- "x": 205.0,
- "y": 10.0
+ "x": 195.0,
+ "y": 15.0
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#8",
+ "id": "GUISplitter",
+ "name": "GUISplitter#0",
"pos": {
- "x": 205.0,
- "y": 30.0
+ "x": 10.0,
+ "y": 245.0
+ },
+ "params": 13
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 215.0,
+ "y": 180.0
},
"params": 1
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#4",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#1",
"pos": {
- "x": 225.0,
- "y": 155.0
+ "x": 565.0,
+ "y": 180.0
},
- "params": 1
+ "params": 4
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#7",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#2",
"pos": {
- "x": 205.0,
- "y": 50.0
+ "x": 530.0,
+ "y": 200.0
},
- "params": 1
+ "params": 4
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#6",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#21",
"pos": {
- "x": 205.0,
- "y": 70.0
+ "x": 585.0,
+ "y": 640.0
},
"params": 1
},
{
- "id": "GUImux3",
- "name": "DeserializedSubmodelComponent#23",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#16",
"pos": {
- "x": 300.0,
- "y": 715.0
+ "x": 255.0,
+ "y": 255.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#5",
+ "pos": {
+ "x": 560.0,
+ "y": 290.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
}
},
{
- "id": "GUImux2",
- "name": "DeserializedSubmodelComponent#22",
+ "id": "GUISplitter",
+ "name": "GUISplitter#14",
"pos": {
- "x": 120.0,
+ "x": 90.0,
"y": 720.0
- }
+ },
+ "params": 3
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#21",
+ "id": "GUISplitter",
+ "name": "GUISplitter#1",
"pos": {
- "x": 250.0,
- "y": 820.0
- }
+ "x": 555.0,
+ "y": 80.0
+ },
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#30",
+ "id": "GUINandGate",
+ "name": "GUINandGate#2",
"pos": {
- "x": 550.0,
- "y": 570.0
+ "x": 225.0,
+ "y": 195.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#32",
+ "id": "GUISplitter",
+ "name": "GUISplitter#3",
"pos": {
- "x": 85.0,
- "y": 590.0
+ "x": 450.0,
+ "y": 175.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#31",
+ "id": "GUINandGate",
+ "name": "GUINandGate#0",
"pos": {
- "x": 120.0,
- "y": 545.0
+ "x": 190.0,
+ "y": 145.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#25",
+ "id": "GUISplitter",
+ "name": "GUISplitter#9",
"pos": {
- "x": 285.0,
- "y": 755.0
+ "x": 240.0,
+ "y": 475.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#24",
+ "id": "GUISplitter",
+ "name": "GUISplitter#13",
"pos": {
- "x": 285.0,
+ "x": 265.0,
"y": 725.0
},
- "params": 1
+ "params": 3
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#27",
+ "id": "GUIMerger",
+ "name": "GUIMerger#2",
"pos": {
- "x": 470.0,
- "y": 385.0
+ "x": 15.0,
+ "y": 65.0
},
- "params": 1
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#26",
+ "name": "WireCrossPoint#24",
"pos": {
- "x": 290.0,
- "y": 805.0
+ "x": 285.0,
+ "y": 725.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#29",
+ "id": "GUIAm2904MSR",
+ "name": "DeserializedSubmodelComponent#0",
+ "pos": {
+ "x": 225.0,
+ "y": 95.0
+ }
+ },
+ {
+ "id": "GUISplitter",
+ "name": "GUISplitter#8",
"pos": {
- "x": 45.0,
- "y": 580.0
+ "x": 420.0,
+ "y": 365.0
},
- "params": 1
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#28",
+ "name": "WireCrossPoint#8",
"pos": {
- "x": 470.0,
- "y": 350.0
+ "x": 215.0,
+ "y": 160.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#14",
+ "id": "GUImux3",
+ "name": "DeserializedSubmodelComponent#23",
"pos": {
- "x": 90.0,
- "y": 720.0
- },
- "params": 3
+ "x": 300.0,
+ "y": 715.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#15",
+ "id": "GUIMerger",
+ "name": "GUIMerger#4",
"pos": {
- "x": 120.0,
- "y": 455.0
+ "x": 25.0,
+ "y": 355.0
},
"params": 2
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#12",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
"pos": {
- "x": 405.0,
- "y": 655.0
+ "x": 335.0,
+ "y": 270.0
},
- "params": 3
+ "params": 4
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#13",
+ "id": "GUIMerger",
+ "name": "GUIMerger#0",
"pos": {
- "x": 265.0,
- "y": 725.0
+ "x": 25.0,
+ "y": 245.0
},
- "params": 3
+ "params": 6
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#10",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#9",
"pos": {
- "x": 445.0,
- "y": 410.0
- },
- "params": 4
+ "x": 450.0,
+ "y": 310.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#11",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#1",
"pos": {
- "x": 405.0,
- "y": 575.0
+ "x": 10.0,
+ "y": 650.0
},
- "params": 3
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#21",
+ "name": "WireCrossPoint#5",
"pos": {
- "x": 585.0,
- "y": 640.0
+ "x": 530.0,
+ "y": 100.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#20",
+ "id": "GUINandGate",
+ "name": "GUINandGate#4",
"pos": {
- "x": 585.0,
- "y": 590.0
+ "x": 225.0,
+ "y": 155.0
},
"params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#23",
+ "name": "WireCrossPoint#2",
"pos": {
- "x": 330.0,
- "y": 640.0
+ "x": 295.0,
+ "y": 120.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#22",
+ "id": "GUISplitter",
+ "name": "GUISplitter#2",
"pos": {
- "x": 250.0,
- "y": 540.0
+ "x": 395.0,
+ "y": 195.0
},
- "params": 1
+ "params": 2
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#1",
+ "id": "GUISplitter",
+ "name": "GUISplitter#5",
"pos": {
- "x": 180.0,
- "y": 135.0
+ "x": 395.0,
+ "y": 265.0
},
"params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#0",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#3",
"pos": {
- "x": 165.0,
- "y": 150.0
- },
- "params": 1
+ "x": 470.0,
+ "y": 160.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#3",
+ "id": "GUImux2",
+ "name": "DeserializedSubmodelComponent#16",
"pos": {
- "x": 335.0,
- "y": 270.0
- },
- "params": 4
+ "x": 435.0,
+ "y": 655.0
+ }
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#2",
+ "name": "WireCrossPoint#28",
"pos": {
- "x": 295.0,
- "y": 120.0
+ "x": 440.0,
+ "y": 345.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#5",
+ "name": "WireCrossPoint#17",
"pos": {
- "x": 530.0,
- "y": 100.0
+ "x": 360.0,
+ "y": 495.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#4",
+ "name": "WireCrossPoint#26",
"pos": {
- "x": 150.0,
- "y": 160.0
+ "x": 290.0,
+ "y": 805.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#7",
+ "id": "GUISplitter",
+ "name": "GUISplitter#15",
"pos": {
- "x": 215.0,
- "y": 180.0
+ "x": 120.0,
+ "y": 455.0
},
- "params": 1
+ "params": 2
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#6",
+ "name": "WireCrossPoint#0",
"pos": {
- "x": 120.0,
- "y": 15.0
+ "x": 165.0,
+ "y": 150.0
},
"params": 1
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#8",
+ "id": "GUINandGate",
+ "name": "GUINandGate#8",
"pos": {
- "x": 215.0,
- "y": 160.0
+ "x": 205.0,
+ "y": 30.0
},
"params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#18",
+ "id": "GUISplitter",
+ "name": "GUISplitter#4",
"pos": {
- "x": 135.0,
- "y": 470.0
- }
+ "x": 395.0,
+ "y": 225.0
+ },
+ "params": 4
},
{
"id": "GUImux1",
- "name": "DeserializedSubmodelComponent#17",
+ "name": "DeserializedSubmodelComponent#11",
"pos": {
- "x": 190.0,
- "y": 460.0
+ "x": 265.0,
+ "y": 515.0
}
},
{
- "id": "GUImux2",
- "name": "DeserializedSubmodelComponent#16",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#3",
"pos": {
- "x": 435.0,
- "y": 655.0
- }
+ "x": 560.0,
+ "y": 150.0
+ },
+ "params": 1
},
{
- "id": "GUImux2",
- "name": "DeserializedSubmodelComponent#15",
+ "id": "GUINandGate",
+ "name": "GUINandGate#3",
"pos": {
- "x": 435.0,
- "y": 575.0
- }
+ "x": 225.0,
+ "y": 215.0
+ },
+ "params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#14",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#19",
"pos": {
- "x": 415.0,
- "y": 465.0
- }
+ "x": 35.0,
+ "y": 595.0
+ },
+ "params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#13",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#14",
"pos": {
- "x": 365.0,
- "y": 485.0
- }
+ "x": 520.0,
+ "y": 190.0
+ },
+ "params": 4
},
{
"id": "GUINandGate",
- "name": "GUINandGate#11",
+ "name": "GUINandGate#9",
"pos": {
- "x": 60.0,
- "y": 570.0
+ "x": 205.0,
+ "y": 10.0
},
"params": 1
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#12",
+ "id": "GUIand",
+ "name": "DeserializedSubmodelComponent#2",
"pos": {
- "x": 315.0,
- "y": 505.0
+ "x": 380.0,
+ "y": 125.0
}
},
{
"id": "GUImux1",
- "name": "DeserializedSubmodelComponent#11",
+ "name": "DeserializedSubmodelComponent#13",
"pos": {
- "x": 265.0,
- "y": 515.0
+ "x": 365.0,
+ "y": 485.0
}
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#10",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#25",
"pos": {
- "x": 500.0,
- "y": 360.0
- }
+ "x": 285.0,
+ "y": 755.0
+ },
+ "params": 1
},
{
"id": "GUINandGate",
- "name": "GUINandGate#10",
+ "name": "GUINandGate#12",
"pos": {
- "x": 340.0,
- "y": 120.0
+ "x": 540.0,
+ "y": 265.0
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#1",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#4",
"pos": {
- "x": 130.0,
- "y": 5.0
+ "x": 565.0,
+ "y": 655.0
},
- "params": 1
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#20",
"pos": {
- "x": 190.0,
- "y": 145.0
+ "x": 585.0,
+ "y": 590.0
},
"params": 1
},
{
"id": "GUINandGate",
- "name": "GUINandGate#3",
+ "name": "GUINandGate#6",
"pos": {
- "x": 225.0,
- "y": 215.0
+ "x": 205.0,
+ "y": 70.0
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#2",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
"pos": {
- "x": 225.0,
- "y": 195.0
+ "x": 195.0,
+ "y": 55.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#9",
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#8",
"pos": {
- "x": 240.0,
- "y": 475.0
- },
- "params": 4
+ "x": 495.0,
+ "y": 295.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#4",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#18",
"pos": {
- "x": 395.0,
- "y": 225.0
- },
- "params": 4
+ "x": 135.0,
+ "y": 470.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#3",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#5",
"pos": {
- "x": 450.0,
- "y": 175.0
- },
- "params": 4
+ "x": 415.0,
+ "y": 210.0
+ }
},
{
"id": "GUISplitter",
- "name": "GUISplitter#2",
+ "name": "GUISplitter#12",
"pos": {
- "x": 395.0,
- "y": 195.0
+ "x": 405.0,
+ "y": 655.0
},
- "params": 2
+ "params": 3
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#1",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
"pos": {
- "x": 555.0,
- "y": 80.0
+ "x": 180.0,
+ "y": 135.0
},
"params": 4
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#8",
+ "id": "GUImux2",
+ "name": "DeserializedSubmodelComponent#22",
"pos": {
- "x": 445.0,
- "y": 370.0
- },
- "params": 4
+ "x": 120.0,
+ "y": 720.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#7",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#0",
"pos": {
- "x": 445.0,
- "y": 330.0
+ "x": 535.0,
+ "y": 165.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#6",
+ "id": "GUIMerger",
+ "name": "GUIMerger#1",
"pos": {
- "x": 285.0,
- "y": 320.0
+ "x": 25.0,
+ "y": 305.0
},
- "params": 3
+ "params": 5
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#5",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#32",
"pos": {
- "x": 395.0,
- "y": 265.0
+ "x": 85.0,
+ "y": 590.0
},
- "params": 4
+ "params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#23",
"pos": {
- "x": 10.0,
- "y": 245.0
+ "x": 330.0,
+ "y": 640.0
+ },
+ "params": 1
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "GUISplitter#3",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_4"
+ },
+ "name": "unnamedWire#100",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUISplitter#8",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#172",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "I01"
+ },
+ "name": "unnamedWire#170",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "OEn"
+ },
+ "name": "unnamedWire#202",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUISplitter#4",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_2"
},
- "params": 13
+ "name": "unnamedWire#103",
+ "path": []
},
{
- "id": "GUIAm2904RegCTInstrDecode",
- "name": "GUIAm2904RegCTInstrDecode#0",
- "pos": {
- "x": 50.0,
- "y": 240.0
- }
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y010"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I010"
+ },
+ "name": "unnamedWire#119",
+ "path": []
},
- {
- "id": "GUIAm2904ShiftInstrDecode",
- "name": "GUIAm2904ShiftInstrDecode#0",
- "pos": {
- "x": 50.0,
- "y": 360.0
- }
- }
- ],
- "innerWires": [
{
"pin1": {
- "compName": "GUISplitter#13",
- "pinName": "O1"
+ "compName": "_submodelinterface",
+ "pinName": "YOVR"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "S1"
+ "compName": "GUISplitter#1",
+ "pinName": "O3"
},
- "name": "unnamedWire#190",
+ "name": "unnamedWire#52",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I010"
+ "compName": "GUIMerger#0",
+ "pinName": "I3"
},
"pin2": {
- "compName": "WireCrossPoint#20",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O3"
},
- "name": "unnamedWire#191",
+ "name": "unnamedWire#7",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#21",
+ "compName": "GUINandGate#2",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I111"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EN"
},
- "name": "unnamedWire#194",
+ "name": "unnamedWire#44",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#27",
- "pinName": ""
+ "compName": "GUINandGate#10",
+ "pinName": "B"
},
"pin2": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
- "name": "unnamedWire#195",
+ "name": "unnamedWire#81",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "GUIMerger#4",
+ "pinName": "I1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I011"
+ "compName": "GUISplitter#0",
+ "pinName": "O12"
},
- "name": "unnamedWire#192",
+ "name": "unnamedWire#140",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I100"
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "WireCrossPoint#23",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "CT"
},
- "name": "unnamedWire#193",
+ "name": "unnamedWire#236",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "I10"
+ "compName": "_submodelinterface",
+ "pinName": "IN"
},
"pin2": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "GUIMerger#2",
+ "pinName": "I2"
},
- "name": "unnamedWire#198",
- "path": []
+ "name": "unnamedWire#18",
+ "path": [
+ {
+ "x": 5.0,
+ "y": 100.0
+ },
+ {
+ "x": 5.0,
+ "y": 85.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I101"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
- "name": "unnamedWire#199",
+ "name": "unnamedWire#26",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I110"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEC"
},
"pin2": {
- "compName": "GUISplitter#7",
- "pinName": "O1"
+ "compName": "GUINandGate#5",
+ "pinName": "B"
},
- "name": "unnamedWire#196",
+ "name": "unnamedWire#48",
"path": []
},
{
},
{
"pin1": {
- "compName": "WireCrossPoint#18",
- "pinName": ""
+ "compName": "GUIMerger#3",
+ "pinName": "O"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I10"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
- "name": "unnamedWire#180",
+ "name": "unnamedWire#93",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#13",
+ "compName": "GUISplitter#4",
"pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#24",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#183",
+ "name": "unnamedWire#102",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#24",
- "pinName": ""
+ "compName": "GUINandGate#12",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "S0"
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "EN"
},
- "name": "unnamedWire#184",
+ "name": "unnamedWire#122",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I11"
+ "compName": "GUINandGate#1",
+ "pinName": "A"
},
- "name": "unnamedWire#181",
+ "name": "unnamedWire#55",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I11"
+ "compName": "GUISplitter#5",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#23",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_2"
},
- "name": "unnamedWire#182",
+ "name": "unnamedWire#108",
"path": []
},
{
"pin1": {
"compName": "DeserializedSubmodelComponent#23",
- "pinName": "I001"
+ "pinName": "I110"
},
"pin2": {
- "compName": "WireCrossPoint#25",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "O1"
},
- "name": "unnamedWire#187",
+ "name": "unnamedWire#196",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#13",
- "pinName": "I"
+ "compName": "WireCrossPoint#24",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "SIOn_MUX"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "S0"
},
- "name": "unnamedWire#188",
+ "name": "unnamedWire#184",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
- "pinName": ""
+ "compName": "GUISplitter#4",
+ "pinName": "O3"
},
"pin2": {
- "compName": "WireCrossPoint#24",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_4"
},
- "name": "unnamedWire#185",
+ "name": "unnamedWire#105",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
- "pinName": ""
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I000"
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
},
- "name": "unnamedWire#186",
+ "name": "unnamedWire#218",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#13",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "S2"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "B"
},
- "name": "unnamedWire#189",
+ "name": "unnamedWire#123",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "GUISplitter#8",
- "pinName": "O1"
+ "compName": "GUINandGate#8",
+ "pinName": "A"
},
- "name": "unnamedWire#172",
+ "name": "unnamedWire#62",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#22",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "S1"
},
"pin2": {
- "compName": "WireCrossPoint#23",
- "pinName": ""
+ "compName": "GUISplitter#12",
+ "pinName": "O2"
},
- "name": "unnamedWire#173",
+ "name": "unnamedWire#175",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "GUINandGate#3",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I01"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EOVR"
},
- "name": "unnamedWire#170",
+ "name": "unnamedWire#43",
"path": []
},
{
"compName": "DeserializedSubmodelComponent#15",
"pinName": "I10"
},
- "name": "unnamedWire#171",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#12",
- "pinName": "O0"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I00"
- },
- "name": "unnamedWire#176",
+ "name": "unnamedWire#171",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "Y"
+ "compName": "GUIBitDisplay#0",
+ "pinName": ""
},
"pin2": {
- "compName": "GUITriStateBuffer#4",
- "pinName": "IN"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#177",
+ "name": "unnamedWire#229",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#12",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#21",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I111"
},
- "name": "unnamedWire#174",
+ "name": "unnamedWire#194",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "S1"
+ "compName": "GUISplitter#6",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUISplitter#12",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "S2"
},
- "name": "unnamedWire#175",
+ "name": "unnamedWire#127",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#12",
- "pinName": "I"
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "QIO0_MUX"
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "EN"
},
- "name": "unnamedWire#178",
+ "name": "unnamedWire#219",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I01"
+ "compName": "GUISplitter#0",
+ "pinName": "I"
},
- "name": "unnamedWire#179",
+ "name": "unnamedWire#3",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#1",
- "pinName": "OUT"
+ "compName": "GUISplitter#2",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#18",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "S0"
},
- "name": "unnamedWire#161",
+ "name": "unnamedWire#95",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#2",
- "pinName": "OUT"
+ "compName": "GUISplitter#13",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#24",
"pinName": ""
},
- "name": "unnamedWire#162",
+ "name": "unnamedWire#183",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "QIO0"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#10",
+ "pinName": "B"
},
- "name": "unnamedWire#160",
+ "name": "unnamedWire#200",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#3",
- "pinName": "IN"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "Y"
+ "compName": "GUISplitter#4",
+ "pinName": "O2"
},
- "name": "unnamedWire#165",
+ "name": "unnamedWire#104",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "SIO0_MUX"
+ "compName": "GUINandGate#8",
+ "pinName": "B"
},
"pin2": {
- "compName": "GUISplitter#11",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y2"
},
- "name": "unnamedWire#166",
+ "name": "unnamedWire#72",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#3",
- "pinName": "OUT"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#20",
- "pinName": ""
+ "compName": "GUIMerger#1",
+ "pinName": "O"
},
- "name": "unnamedWire#163",
- "path": []
+ "name": "unnamedWire#16",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 395.0
+ },
+ {
+ "x": 40.0,
+ "y": 325.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUITriStateBuffer#4",
- "pinName": "OUT"
+ "compName": "_submodelinterface",
+ "pinName": "QIO0"
},
"pin2": {
"compName": "WireCrossPoint#21",
"pinName": ""
},
- "name": "unnamedWire#164",
+ "name": "unnamedWire#160",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "GUISplitter#11",
- "pinName": "O1"
+ "compName": "GUIMerger#3",
+ "pinName": "I2"
},
- "name": "unnamedWire#169",
+ "name": "unnamedWire#91",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#11",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "I10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I00"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
- "name": "unnamedWire#167",
+ "name": "unnamedWire#198",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#11",
- "pinName": "O2"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "S1"
+ "compName": "GUINandGate#6",
+ "pinName": "A"
},
- "name": "unnamedWire#168",
+ "name": "unnamedWire#60",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#0",
- "pinName": "OUT"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y000"
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I000"
},
- "name": "unnamedWire#79",
+ "name": "unnamedWire#121",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#10",
+ "compName": "DeserializedSubmodelComponent#21",
"pinName": "B"
},
"pin2": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "O3"
},
- "name": "unnamedWire#81",
+ "name": "unnamedWire#206",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y111"
},
"pin2": {
- "compName": "GUINandGate#10",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I111"
},
- "name": "unnamedWire#80",
+ "name": "unnamedWire#114",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#10",
- "pinName": "Y"
+ "compName": "GUISplitter#10",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "A"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
- "name": "unnamedWire#83",
+ "name": "unnamedWire#144",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#25",
"pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_OEY"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I000"
},
- "name": "unnamedWire#82",
+ "name": "unnamedWire#186",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y1"
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_1"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I101"
},
- "name": "unnamedWire#85",
+ "name": "unnamedWire#199",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
- "compName": "GUITriStateBuffer#0",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "_CEmu"
},
- "name": "unnamedWire#84",
+ "name": "unnamedWire#35",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I01"
},
- "name": "unnamedWire#87",
+ "name": "unnamedWire#179",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_2"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y2"
+ "compName": "GUIBitDisplay#1",
+ "pinName": ""
},
- "name": "unnamedWire#86",
+ "name": "unnamedWire#230",
"path": []
},
{
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_4"
+ "compName": "GUINandGate#12",
+ "pinName": "B"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y4"
+ "compName": "WireCrossPoint#33",
+ "pinName": ""
+ },
+ "name": "unnamedWire#234",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
- "name": "unnamedWire#88",
+ "name": "unnamedWire#27",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#3",
- "pinName": "I1"
+ "compName": "GUISplitter#12",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y2"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "QIO0_MUX"
},
- "name": "unnamedWire#90",
+ "name": "unnamedWire#178",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#3",
- "pinName": "I3"
+ "compName": "GUISplitter#14",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y4"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "S1"
},
- "name": "unnamedWire#92",
+ "name": "unnamedWire#208",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y3"
+ "compName": "GUIMerger#4",
+ "pinName": "O"
},
"pin2": {
- "compName": "GUIMerger#3",
- "pinName": "I2"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "I12-11"
},
- "name": "unnamedWire#91",
+ "name": "unnamedWire#141",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "Y_MUX"
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#2",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I10"
},
- "name": "unnamedWire#94",
+ "name": "unnamedWire#180",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#3",
- "pinName": "O"
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "IN"
},
"pin2": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "Y"
},
- "name": "unnamedWire#93",
+ "name": "unnamedWire#212",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O1"
+ "compName": "GUIMerger#3",
+ "pinName": "I1"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#3",
- "pinName": "S0"
+ "pinName": "Y2"
},
- "name": "unnamedWire#96",
+ "name": "unnamedWire#90",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O0"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEOVR"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "S0"
+ "compName": "GUINandGate#3",
+ "pinName": "B"
},
- "name": "unnamedWire#95",
+ "name": "unnamedWire#59",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_2"
+ "compName": "GUINandGate#1",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUISplitter#3",
- "pinName": "O1"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
- "name": "unnamedWire#98",
+ "name": "unnamedWire#70",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I100"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_1"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
- "name": "unnamedWire#97",
+ "name": "unnamedWire#193",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I100"
},
"pin2": {
- "compName": "GUISplitter#3",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y100"
},
- "name": "unnamedWire#99",
+ "name": "unnamedWire#117",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#2",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A1"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEN"
+ "compName": "_submodelinterface",
+ "pinName": "_EZ"
},
- "name": "unnamedWire#58",
+ "name": "unnamedWire#75",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_CEM"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "C0_MUX"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "GUISplitter#9",
+ "pinName": "I"
},
- "name": "unnamedWire#57",
+ "name": "unnamedWire#142",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEOVR"
+ "compName": "_submodelinterface",
+ "pinName": "IZ"
},
"pin2": {
- "compName": "GUINandGate#3",
- "pinName": "B"
+ "compName": "GUIMerger#2",
+ "pinName": "I0"
},
- "name": "unnamedWire#59",
- "path": []
+ "name": "unnamedWire#20",
+ "path": [
+ {
+ "x": 5.0,
+ "y": 50.0
+ },
+ {
+ "x": 5.0,
+ "y": 65.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUINandGate#7",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I001"
},
"pin2": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y001"
},
- "name": "unnamedWire#61",
+ "name": "unnamedWire#120",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "GUINandGate#6",
- "pinName": "A"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#60",
+ "name": "unnamedWire#79",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#9",
- "pinName": "A"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "MSR_MUX"
},
"pin2": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "MUX"
},
- "name": "unnamedWire#63",
+ "name": "unnamedWire#31",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
- "pinName": ""
+ "compName": "GUISplitter#14",
+ "pinName": "O1"
},
"pin2": {
- "compName": "GUINandGate#8",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "S0"
},
- "name": "unnamedWire#62",
+ "name": "unnamedWire#209",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
- "pinName": ""
+ "compName": "GUINandGate#0",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
- "name": "unnamedWire#65",
+ "name": "unnamedWire#36",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Q"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
- "name": "unnamedWire#64",
+ "name": "unnamedWire#25",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EN"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EC"
},
"pin2": {
- "compName": "GUINandGate#7",
+ "compName": "GUINandGate#5",
"pinName": "Y"
},
- "name": "unnamedWire#67",
+ "name": "unnamedWire#45",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#6",
- "pinName": "Y"
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "I0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EOVR"
+ "compName": "_submodelinterface",
+ "pinName": "Cx"
},
- "name": "unnamedWire#66",
+ "name": "unnamedWire#152",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#9",
- "pinName": "Y"
+ "compName": "GUISplitter#0",
+ "pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EZ"
+ "compName": "GUIMerger#1",
+ "pinName": "I2"
},
- "name": "unnamedWire#69",
+ "name": "unnamedWire#12",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#8",
- "pinName": "Y"
+ "compName": "WireCrossPoint#33",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EC"
+ "compName": "_submodelinterface",
+ "pinName": "_OECT"
},
- "name": "unnamedWire#68",
+ "name": "unnamedWire#235",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#1",
- "pinName": "Y"
+ "compName": "GUISplitter#0",
+ "pinName": "O4"
},
"pin2": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "GUIMerger#0",
+ "pinName": "I4"
},
- "name": "unnamedWire#70",
+ "name": "unnamedWire#8",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#8",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y2"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "I1"
},
- "name": "unnamedWire#72",
+ "name": "unnamedWire#153",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y1"
+ "compName": "GUISplitter#8",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUINandGate#9",
- "pinName": "B"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
- "name": "unnamedWire#71",
+ "name": "unnamedWire#135",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y4"
+ "compName": "GUINandGate#6",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUINandGate#6",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EOVR"
},
- "name": "unnamedWire#74",
+ "name": "unnamedWire#66",
"path": []
},
{
"pin1": {
"compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y3"
+ "pinName": "Y4"
},
"pin2": {
- "compName": "GUINandGate#7",
+ "compName": "GUINandGate#6",
"pinName": "B"
},
- "name": "unnamedWire#73",
+ "name": "unnamedWire#74",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EC"
+ "compName": "GUIMerger#0",
+ "pinName": "O"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A2"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "I5-0"
},
- "name": "unnamedWire#76",
+ "name": "unnamedWire#15",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A1"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_EZ"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "C"
},
- "name": "unnamedWire#75",
+ "name": "unnamedWire#29",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EOVR"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A4"
+ "compName": "GUIBitDisplay#3",
+ "pinName": ""
},
- "name": "unnamedWire#78",
+ "name": "unnamedWire#232",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A3"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_EN"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "C"
},
- "name": "unnamedWire#77",
+ "name": "unnamedWire#30",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#0",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "EN"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
- "name": "unnamedWire#36",
+ "name": "unnamedWire#214",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "Y"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_CEmu"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "I0"
},
- "name": "unnamedWire#35",
+ "name": "unnamedWire#129",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I001"
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#25",
"pinName": ""
},
- "name": "unnamedWire#38",
+ "name": "unnamedWire#187",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUINandGate#4",
- "pinName": "A"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "EN"
},
- "name": "unnamedWire#37",
+ "name": "unnamedWire#84",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#17",
+ "pinName": "I1"
},
"pin2": {
- "compName": "GUINandGate#5",
- "pinName": "A"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
- "name": "unnamedWire#39",
+ "name": "unnamedWire#223",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "O3"
+ "compName": "GUINandGate#1",
+ "pinName": "B"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_4"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
- "name": "unnamedWire#110",
+ "name": "unnamedWire#56",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "I"
+ "compName": "GUISplitter#9",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "S0"
},
- "name": "unnamedWire#111",
+ "name": "unnamedWire#146",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y111"
+ "compName": "_submodelinterface",
+ "pinName": "_SE"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I111"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "_SE"
},
- "name": "unnamedWire#114",
+ "name": "unnamedWire#213",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I110"
+ "compName": "_submodelinterface",
+ "pinName": "YC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y110"
+ "compName": "GUISplitter#1",
+ "pinName": "O1"
},
- "name": "unnamedWire#115",
+ "name": "unnamedWire#50",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "GUIMerger#0",
+ "pinName": "I1"
},
"pin2": {
- "compName": "GUITriStateBuffer#0",
- "pinName": "IN"
+ "compName": "GUISplitter#0",
+ "pinName": "O1"
},
- "name": "unnamedWire#112",
+ "name": "unnamedWire#5",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y101"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I101"
},
- "name": "unnamedWire#113",
+ "name": "unnamedWire#116",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y011"
+ "compName": "GUISplitter#6",
+ "pinName": "O0"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#7",
- "pinName": "I011"
+ "pinName": "S0"
},
- "name": "unnamedWire#118",
+ "name": "unnamedWire#125",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y010"
+ "compName": "DeserializedSubmodelComponent#18",
+ "pinName": "I0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I010"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
- "name": "unnamedWire#119",
+ "name": "unnamedWire#224",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "GUIMerger#2",
+ "pinName": "O"
},
"pin2": {
- "compName": "GUINandGate#2",
- "pinName": "A"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
- "name": "unnamedWire#41",
+ "name": "unnamedWire#22",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y101"
+ "compName": "GUISplitter#0",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I101"
+ "compName": "GUIMerger#0",
+ "pinName": "I0"
},
- "name": "unnamedWire#116",
+ "name": "unnamedWire#4",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "IN"
},
- "name": "unnamedWire#40",
+ "name": "unnamedWire#177",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I100"
+ "compName": "GUINandGate#9",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y100"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EZ"
},
- "name": "unnamedWire#117",
+ "name": "unnamedWire#69",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#3",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "IN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EOVR"
+ "compName": "GUIBitDisplay#2",
+ "pinName": ""
},
- "name": "unnamedWire#43",
+ "name": "unnamedWire#231",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#3",
- "pinName": "A"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
"compName": "WireCrossPoint#9",
"pinName": ""
},
- "name": "unnamedWire#42",
+ "name": "unnamedWire#40",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EC"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUINandGate#5",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "IN"
},
- "name": "unnamedWire#45",
+ "name": "unnamedWire#207",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#2",
- "pinName": "Y"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "CT_EXP"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EN"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "S0"
},
- "name": "unnamedWire#44",
+ "name": "unnamedWire#128",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#4",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "S0"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEZ"
+ "compName": "GUISplitter#11",
+ "pinName": "O1"
},
- "name": "unnamedWire#47",
+ "name": "unnamedWire#169",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#4",
- "pinName": "Y"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EZ"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y"
},
- "name": "unnamedWire#46",
+ "name": "unnamedWire#54",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
+ "compName": "GUISplitter#12",
"pinName": "O0"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "YZ"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I00"
},
- "name": "unnamedWire#49",
+ "name": "unnamedWire#176",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEC"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
"pin2": {
- "compName": "GUINandGate#5",
- "pinName": "B"
+ "compName": "_submodelinterface",
+ "pinName": "SIO0"
},
- "name": "unnamedWire#48",
+ "name": "unnamedWire#159",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"pin2": {
- "compName": "GUINandGate#11",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "EN"
},
- "name": "unnamedWire#220",
+ "name": "unnamedWire#215",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O3"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_4"
+ "compName": "GUISplitter#3",
+ "pinName": "O1"
},
- "name": "unnamedWire#100",
+ "name": "unnamedWire#98",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "Y"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "S1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
- "pinName": "I0"
+ "compName": "GUISplitter#6",
+ "pinName": "O1"
},
- "name": "unnamedWire#221",
+ "name": "unnamedWire#126",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
- "pinName": "O1"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_2"
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
},
- "name": "unnamedWire#103",
+ "name": "unnamedWire#195",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "I0"
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
- "name": "unnamedWire#224",
+ "name": "unnamedWire#38",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I110"
},
"pin2": {
- "compName": "GUISplitter#4",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y110"
},
- "name": "unnamedWire#104",
+ "name": "unnamedWire#115",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "MC_MUX"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "I1"
+ "compName": "GUISplitter#15",
+ "pinName": "I"
},
- "name": "unnamedWire#225",
+ "name": "unnamedWire#226",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "I"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#3",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "SIOn"
},
- "name": "unnamedWire#101",
+ "name": "unnamedWire#158",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
- "pinName": "Y"
+ "compName": "GUISplitter#0",
+ "pinName": "O10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "COVD_V"
+ "compName": "GUIMerger#1",
+ "pinName": "I4"
},
- "name": "unnamedWire#222",
+ "name": "unnamedWire#14",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "S0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_1"
+ "compName": "GUISplitter#9",
+ "pinName": "O3"
},
- "name": "unnamedWire#102",
+ "name": "unnamedWire#155",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
- "pinName": "I1"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "GUINandGate#5",
+ "pinName": "A"
},
- "name": "unnamedWire#223",
+ "name": "unnamedWire#39",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "YC"
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "IN"
},
"pin2": {
- "compName": "GUISplitter#1",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "Y"
},
- "name": "unnamedWire#50",
+ "name": "unnamedWire#237",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "O0"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_1"
+ "compName": "GUINandGate#2",
+ "pinName": "A"
},
- "name": "unnamedWire#107",
+ "name": "unnamedWire#41",
"path": []
},
{
"pin1": {
"compName": "GUISplitter#15",
- "pinName": "O1"
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "DeserializedSubmodelComponent#18",
"pinName": "S0"
},
- "name": "unnamedWire#228",
+ "name": "unnamedWire#227",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "O1"
+ "compName": "GUISplitter#14",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_2"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "I00"
},
- "name": "unnamedWire#108",
+ "name": "unnamedWire#211",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "YOVR"
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "GUISplitter#1",
- "pinName": "O3"
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
- "name": "unnamedWire#52",
+ "name": "unnamedWire#161",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
- "pinName": "O3"
+ "compName": "GUISplitter#13",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_4"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "S1"
},
- "name": "unnamedWire#105",
+ "name": "unnamedWire#190",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "MC_MUX"
+ "compName": "GUISplitter#12",
+ "pinName": "O1"
},
"pin2": {
- "compName": "GUISplitter#15",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "S0"
},
- "name": "unnamedWire#226",
+ "name": "unnamedWire#174",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
+ "compName": "GUISplitter#0",
"pinName": "O2"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "YN"
+ "compName": "GUIMerger#0",
+ "pinName": "I2"
},
- "name": "unnamedWire#51",
+ "name": "unnamedWire#6",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
+ "compName": "GUISplitter#1",
"pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
- "name": "unnamedWire#106",
+ "name": "unnamedWire#53",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#15",
- "pinName": "O0"
+ "compName": "GUINandGate#2",
+ "pinName": "B"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "S0"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEN"
},
- "name": "unnamedWire#227",
+ "name": "unnamedWire#58",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#132",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "QIOn"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
+ "name": "unnamedWire#157",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EN"
+ },
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "GUINandGate#7",
"pinName": "Y"
},
- "name": "unnamedWire#54",
+ "name": "unnamedWire#67",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "I"
+ "compName": "GUINandGate#4",
+ "pinName": "B"
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEZ"
},
- "name": "unnamedWire#53",
+ "name": "unnamedWire#47",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#1",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#56",
+ "name": "unnamedWire#87",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#10",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUISplitter#5",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "I1"
},
- "name": "unnamedWire#109",
+ "name": "unnamedWire#131",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"pin2": {
- "compName": "GUINandGate#1",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "S0"
},
- "name": "unnamedWire#55",
+ "name": "unnamedWire#150",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O10"
+ "compName": "GUISplitter#13",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "I4"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "S2"
},
- "name": "unnamedWire#14",
+ "name": "unnamedWire#189",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#1",
- "pinName": "I3"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O9"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I11"
},
- "name": "unnamedWire#13",
+ "name": "unnamedWire#181",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "O"
+ "compName": "_submodelinterface",
+ "pinName": "C0"
},
- "name": "unnamedWire#16",
- "path": [
- {
- "x": 40.0,
- "y": 395.0
- },
- {
- "x": 40.0,
- "y": 325.0
- }
- ]
+ "name": "unnamedWire#156",
+ "path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "O"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_MUX"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "I5-0"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "MUX"
},
- "name": "unnamedWire#15",
+ "name": "unnamedWire#1",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IN"
+ "compName": "GUISplitter#0",
+ "pinName": "O6"
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I2"
+ "compName": "GUIMerger#1",
+ "pinName": "I0"
},
- "name": "unnamedWire#18",
- "path": [
- {
- "x": 5.0,
- "y": 100.0
- },
- {
- "x": 5.0,
- "y": 85.0
- }
- ]
+ "name": "unnamedWire#10",
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IOVR"
+ "compName": "DeserializedSubmodelComponent#17",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I3"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "COVD_V"
},
- "name": "unnamedWire#17",
- "path": [
- {
- "x": 10.0,
- "y": 125.0
- },
- {
- "x": 10.0,
- "y": 95.0
- }
- ]
+ "name": "unnamedWire#222",
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IC"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "Y_MUX"
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I1"
+ "compName": "GUISplitter#2",
+ "pinName": "I"
},
- "name": "unnamedWire#19",
+ "name": "unnamedWire#94",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "I"
+ "compName": "_submodelinterface",
+ "pinName": "_EOVR"
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "QIOn_MUX"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A4"
},
- "name": "unnamedWire#210",
+ "name": "unnamedWire#78",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#29",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#31",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "mu"
},
- "name": "unnamedWire#213",
+ "name": "unnamedWire#28",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#3",
- "pinName": "EN"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "WireCrossPoint#30",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y2"
},
- "name": "unnamedWire#214",
+ "name": "unnamedWire#86",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "I00"
+ "compName": "DeserializedSubmodelComponent#12",
+ "pinName": "B"
},
- "name": "unnamedWire#211",
+ "name": "unnamedWire#147",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#2",
- "pinName": "IN"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I010"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "Y"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
- "name": "unnamedWire#212",
+ "name": "unnamedWire#191",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#31",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "LSHIFT"
+ "compName": "GUINandGate#12",
+ "pinName": "A"
},
- "name": "unnamedWire#217",
+ "name": "unnamedWire#233",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#2",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "_CEM"
},
"pin2": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
- "name": "unnamedWire#218",
+ "name": "unnamedWire#57",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#30",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A3"
},
"pin2": {
- "compName": "GUITriStateBuffer#4",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "_EN"
},
- "name": "unnamedWire#215",
+ "name": "unnamedWire#77",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#31",
- "pinName": ""
+ "compName": "GUINandGate#7",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
- "name": "unnamedWire#216",
+ "name": "unnamedWire#61",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_CINV"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "CINV"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I"
},
- "name": "unnamedWire#21",
+ "name": "unnamedWire#23",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IZ"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#18",
+ "pinName": "I1"
},
- "name": "unnamedWire#20",
- "path": [
- {
- "x": 5.0,
- "y": 50.0
- },
- {
- "x": 5.0,
- "y": 65.0
- }
- ]
+ "name": "unnamedWire#225",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y1"
+ },
+ "pin2": {
+ "compName": "GUINandGate#9",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#71",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#28",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#21",
+ "pinName": "A"
},
- "name": "unnamedWire#23",
+ "name": "unnamedWire#205",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O0"
},
"pin2": {
- "compName": "GUITriStateBuffer#1",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "YZ"
},
- "name": "unnamedWire#219",
+ "name": "unnamedWire#49",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#2",
- "pinName": "O"
+ "compName": "GUISplitter#4",
+ "pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
- "name": "unnamedWire#22",
+ "name": "unnamedWire#106",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Q"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "GUINandGate#7",
+ "pinName": "B"
},
- "name": "unnamedWire#25",
+ "name": "unnamedWire#73",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O11"
},
"pin2": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "GUIMerger#4",
+ "pinName": "I0"
},
- "name": "unnamedWire#24",
+ "name": "unnamedWire#139",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Q"
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "I1"
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
- "name": "unnamedWire#27",
+ "name": "unnamedWire#143",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
- "name": "unnamedWire#26",
+ "name": "unnamedWire#24",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_OVRRET"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "C"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "OVRRET"
},
- "name": "unnamedWire#29",
+ "name": "unnamedWire#2",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "mu"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I"
},
- "name": "unnamedWire#28",
+ "name": "unnamedWire#113",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#29",
- "pinName": ""
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "OEN"
},
"pin2": {
- "compName": "GUINandGate#11",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "B"
},
- "name": "unnamedWire#202",
+ "name": "unnamedWire#138",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#11",
- "pinName": "B"
+ "compName": "GUINandGate#8",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#29",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EC"
},
- "name": "unnamedWire#203",
+ "name": "unnamedWire#68",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
- "pinName": "B"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
- "name": "unnamedWire#200",
+ "name": "unnamedWire#65",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "IC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "I11"
+ "compName": "GUIMerger#2",
+ "pinName": "I1"
},
- "name": "unnamedWire#201",
+ "name": "unnamedWire#19",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#21",
- "pinName": "B"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "OE0"
},
"pin2": {
- "compName": "GUISplitter#7",
- "pinName": "O3"
+ "compName": "WireCrossPoint#30",
+ "pinName": ""
},
- "name": "unnamedWire#206",
+ "name": "unnamedWire#203",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "Y"
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
},
"pin2": {
- "compName": "GUITriStateBuffer#1",
- "pinName": "IN"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
- "name": "unnamedWire#207",
+ "name": "unnamedWire#173",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "I11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "C"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
- "name": "unnamedWire#30",
+ "name": "unnamedWire#182",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#28",
- "pinName": ""
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "IN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "Y"
},
- "name": "unnamedWire#204",
+ "name": "unnamedWire#165",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#28",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#21",
- "pinName": "A"
+ "compName": "GUINandGate#0",
+ "pinName": "B"
},
- "name": "unnamedWire#205",
+ "name": "unnamedWire#34",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "MC_EN"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "A"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "COVD_EN"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "CT_INV"
},
- "name": "unnamedWire#32",
+ "name": "unnamedWire#130",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "MSR_MUX"
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "MUX"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
- "name": "unnamedWire#31",
+ "name": "unnamedWire#164",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUIMerger#1",
+ "pinName": "I3"
},
"pin2": {
- "compName": "GUINandGate#0",
- "pinName": "B"
+ "compName": "GUISplitter#0",
+ "pinName": "O9"
},
- "name": "unnamedWire#34",
+ "name": "unnamedWire#13",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "O2"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "MC_EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "S1"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "COVD_EN"
},
- "name": "unnamedWire#208",
+ "name": "unnamedWire#32",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#0",
- "pinName": "A"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "I"
},
- "name": "unnamedWire#33",
+ "name": "unnamedWire#133",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "O1"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "M"
},
- "name": "unnamedWire#209",
+ "name": "unnamedWire#136",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#17",
- "pinName": ""
+ "compName": "GUISplitter#3",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "S0"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
- "name": "unnamedWire#150",
+ "name": "unnamedWire#101",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "Y"
+ "compName": "_submodelinterface",
+ "pinName": "C"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "I1"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
- "name": "unnamedWire#151",
- "path": []
+ "name": "unnamedWire#0",
+ "path": [
+ {
+ "x": 5.0,
+ "y": 25.0
+ },
+ {
+ "x": 5.0,
+ "y": 10.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_3"
},
"pin2": {
- "compName": "WireCrossPoint#17",
- "pinName": ""
+ "compName": "GUISplitter#5",
+ "pinName": "O2"
},
- "name": "unnamedWire#154",
+ "name": "unnamedWire#109",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "S0"
+ "compName": "GUISplitter#3",
+ "pinName": "O0"
},
"pin2": {
- "compName": "GUISplitter#9",
- "pinName": "O3"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#155",
+ "name": "unnamedWire#97",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y011"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Cx"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I011"
},
- "name": "unnamedWire#152",
+ "name": "unnamedWire#118",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "Y"
+ "compName": "GUISplitter#6",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "I1"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "CT_MUX"
},
- "name": "unnamedWire#153",
+ "name": "unnamedWire#124",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "O2"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "SIOn"
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
},
- "name": "unnamedWire#158",
+ "name": "unnamedWire#134",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
- "pinName": ""
+ "compName": "GUIMerger#3",
+ "pinName": "I3"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "SIO0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y4"
},
- "name": "unnamedWire#159",
+ "name": "unnamedWire#92",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "Y"
+ "compName": "GUISplitter#5",
+ "pinName": "O3"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "C0"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_4"
},
- "name": "unnamedWire#156",
+ "name": "unnamedWire#110",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "QIOn"
+ "compName": "GUINandGate#3",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
- "name": "unnamedWire#157",
+ "name": "unnamedWire#42",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#4",
- "pinName": "I1"
+ "compName": "WireCrossPoint#25",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O12"
+ "compName": "WireCrossPoint#24",
+ "pinName": ""
},
- "name": "unnamedWire#140",
+ "name": "unnamedWire#185",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I5"
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O5"
+ "compName": "GUINandGate#4",
+ "pinName": "A"
},
- "name": "unnamedWire#9",
+ "name": "unnamedWire#37",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "I1"
+ "compName": "DeserializedSubmodelComponent#12",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#22",
- "pinName": ""
+ "compName": "GUISplitter#9",
+ "pinName": "O0"
},
- "name": "unnamedWire#143",
+ "name": "unnamedWire#148",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O4"
+ "compName": "GUIMerger#0",
+ "pinName": "I5"
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I4"
+ "compName": "GUISplitter#0",
+ "pinName": "O5"
},
- "name": "unnamedWire#8",
+ "name": "unnamedWire#9",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#10",
- "pinName": "I"
+ "compName": "GUISplitter#9",
+ "pinName": "O2"
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
- "name": "unnamedWire#144",
+ "name": "unnamedWire#149",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I3"
+ "compName": "GUISplitter#14",
+ "pinName": "I"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O3"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "QIOn_MUX"
},
- "name": "unnamedWire#7",
+ "name": "unnamedWire#210",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#4",
- "pinName": "O"
+ "compName": "GUINandGate#0",
+ "pinName": "A"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "I12-11"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
- "name": "unnamedWire#141",
+ "name": "unnamedWire#33",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O2"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I2"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "IN"
},
- "name": "unnamedWire#6",
+ "name": "unnamedWire#112",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "C0_MUX"
+ "compName": "_submodelinterface",
+ "pinName": "IOVR"
},
"pin2": {
- "compName": "GUISplitter#9",
- "pinName": "I"
+ "compName": "GUIMerger#2",
+ "pinName": "I3"
},
- "name": "unnamedWire#142",
- "path": []
+ "name": "unnamedWire#17",
+ "path": [
+ {
+ "x": 10.0,
+ "y": 125.0
+ },
+ {
+ "x": 10.0,
+ "y": 95.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "Y"
+ "compName": "_submodelinterface",
+ "pinName": "_EC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A2"
},
- "name": "unnamedWire#147",
+ "name": "unnamedWire#76",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "A"
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#9",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#10",
+ "pinName": "A"
},
- "name": "unnamedWire#148",
+ "name": "unnamedWire#204",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#10",
- "pinName": "O1"
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "I0"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
- "name": "unnamedWire#145",
+ "name": "unnamedWire#163",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#9",
- "pinName": "O1"
+ "compName": "GUINandGate#9",
+ "pinName": "A"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "S0"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
- "name": "unnamedWire#146",
+ "name": "unnamedWire#63",
"path": []
},
{
"pin1": {
"compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_MUX"
+ "pinName": "muSR_CINV"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#1",
- "pinName": "MUX"
+ "pinName": "CINV"
},
- "name": "unnamedWire#1",
+ "name": "unnamedWire#21",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "C"
- },
- "pin2": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
- },
- "name": "unnamedWire#0",
- "path": [
- {
- "x": 5.0,
- "y": 25.0
- },
- {
- "x": 5.0,
- "y": 10.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "GUISplitter#9",
- "pinName": "O2"
+ "compName": "GUINandGate#10",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#17",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "A"
},
- "name": "unnamedWire#149",
+ "name": "unnamedWire#83",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I1"
+ "compName": "GUISplitter#11",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "S1"
},
- "name": "unnamedWire#5",
+ "name": "unnamedWire#168",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O6"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "I0"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "I0"
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
},
- "name": "unnamedWire#10",
+ "name": "unnamedWire#154",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#18",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUIMerger#0",
+ "compName": "DeserializedSubmodelComponent#17",
"pinName": "I0"
},
- "name": "unnamedWire#4",
+ "name": "unnamedWire#221",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I011"
},
- "name": "unnamedWire#3",
+ "name": "unnamedWire#192",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O8"
+ "compName": "GUISplitter#11",
+ "pinName": "O0"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "I2"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "I00"
},
- "name": "unnamedWire#12",
+ "name": "unnamedWire#167",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#1",
- "pinName": "I1"
+ "compName": "GUISplitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O7"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "S0"
},
- "name": "unnamedWire#11",
+ "name": "unnamedWire#96",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_OVRRET"
+ "compName": "GUISplitter#5",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "OVRRET"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#2",
+ "name": "unnamedWire#107",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I"
+ "compName": "_submodelinterface",
+ "pinName": "YN"
},
- "name": "unnamedWire#132",
+ "name": "unnamedWire#51",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "GUISplitter#7",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#133",
+ "name": "unnamedWire#85",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "CT_INV"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y4"
},
- "name": "unnamedWire#130",
+ "name": "unnamedWire#88",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "DeserializedSubmodelComponent#12",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "DeserializedSubmodelComponent#13",
"pinName": "I1"
},
- "name": "unnamedWire#131",
+ "name": "unnamedWire#151",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "GUIMerger#1",
+ "pinName": "I1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "M"
+ "compName": "GUISplitter#0",
+ "pinName": "O7"
},
- "name": "unnamedWire#136",
+ "name": "unnamedWire#11",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "SIO0_MUX"
},
"pin2": {
- "compName": "GUISplitter#8",
+ "compName": "GUISplitter#11",
"pinName": "I"
},
- "name": "unnamedWire#137",
+ "name": "unnamedWire#166",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#7",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "WireCrossPoint#28",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
- "name": "unnamedWire#134",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#8",
- "pinName": "O2"
- },
"pin2": {
- "compName": "WireCrossPoint#27",
- "pinName": ""
+ "compName": "GUINandGate#10",
+ "pinName": "A"
},
- "name": "unnamedWire#135",
+ "name": "unnamedWire#80",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "OEN"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "B"
+ "compName": "GUISplitter#3",
+ "pinName": "O2"
},
- "name": "unnamedWire#138",
+ "name": "unnamedWire#99",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O11"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIMerger#4",
- "pinName": "I0"
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
},
- "name": "unnamedWire#139",
+ "name": "unnamedWire#64",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y000"
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I000"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
- "name": "unnamedWire#121",
+ "name": "unnamedWire#162",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "Y"
+ "compName": "GUISplitter#13",
+ "pinName": "I"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "CT"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "SIOn_MUX"
},
- "name": "unnamedWire#122",
+ "name": "unnamedWire#188",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I001"
+ "compName": "GUISplitter#5",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y001"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
- "name": "unnamedWire#120",
+ "name": "unnamedWire#111",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#6",
- "pinName": "O0"
+ "compName": "GUISplitter#15",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "DeserializedSubmodelComponent#17",
"pinName": "S0"
},
- "name": "unnamedWire#125",
+ "name": "unnamedWire#228",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "S1"
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#6",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "I11"
},
- "name": "unnamedWire#126",
+ "name": "unnamedWire#201",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "GUINandGate#4",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EZ"
},
- "name": "unnamedWire#123",
+ "name": "unnamedWire#46",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#6",
- "pinName": "I"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "CT_MUX"
+ "compName": "GUISplitter#8",
+ "pinName": "I"
},
- "name": "unnamedWire#124",
+ "name": "unnamedWire#137",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "Y"
+ "compName": "GUISplitter#10",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "DeserializedSubmodelComponent#11",
"pinName": "I0"
},
- "name": "unnamedWire#129",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#6",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "S2"
- },
- "name": "unnamedWire#127",
+ "name": "unnamedWire#145",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "CT_EXP"
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
- "pinName": "S0"
+ "compName": "_submodelinterface",
+ "pinName": "_OEY"
},
- "name": "unnamedWire#128",
+ "name": "unnamedWire#82",
"path": []
}
- ]
+ ],
+ "version": "0.1.1"
},
"symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
- }
+ },
+ "version": "0.1.4"
}
\ No newline at end of file
-mograsim version: 0.1.3
{
"width": 45.0,
"height": 46.0,
"logicWidth": 1
}
],
+ "innerScale": 0.1,
"submodel": {
- "innerScale": 0.1,
- "subComps": [
+ "components": [
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "name": "WireCrossPoint#2",
"pos": {
- "x": 89.0,
- "y": 104.0
+ "x": 419.0,
+ "y": 184.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#13",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#0",
"pos": {
- "x": 194.0,
- "y": 234.0
- },
- "params": 1
+ "x": 55.0,
+ "y": 110.0
+ }
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#0",
+ "id": "GUIMerger",
+ "name": "GUIMerger#0",
"pos": {
- "x": 325.0,
- "y": 90.0
+ "x": 435.0,
+ "y": 175.0
},
- "params": 1
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#16",
+ "name": "WireCrossPoint#5",
"pos": {
- "x": 319.0,
- "y": 104.0
+ "x": 84.0,
+ "y": 344.0
},
"params": 1
},
+ {
+ "id": "GUISplitter",
+ "name": "GUISplitter#0",
+ "pos": {
+ "x": 5.0,
+ "y": 35.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUIdff4_finewe",
+ "name": "GUIdff4_finewe#0",
+ "pos": {
+ "x": 375.0,
+ "y": 170.0
+ }
+ },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#15",
+ "name": "WireCrossPoint#8",
"pos": {
- "x": 319.0,
- "y": 294.0
+ "x": 74.0,
+ "y": 314.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#3",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
"pos": {
- "x": 5.0,
- "y": 295.0
+ "x": 424.0,
+ "y": 194.0
},
- "params": 4
+ "params": 1
},
{
"id": "GUISplitter",
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#1",
+ "name": "WireCrossPoint#4",
"pos": {
- "x": 414.0,
- "y": 174.0
+ "x": 429.0,
+ "y": 204.0
},
"params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#0",
+ "name": "WireCrossPoint#11",
"pos": {
- "x": 29.0,
- "y": 284.0
+ "x": 89.0,
+ "y": 94.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
"pos": {
- "x": 5.0,
- "y": 35.0
+ "x": 19.0,
+ "y": 294.0
},
- "params": 4
+ "params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#3",
+ "id": "GUINandGate",
+ "name": "GUINandGate#0",
"pos": {
- "x": 424.0,
- "y": 194.0
+ "x": 325.0,
+ "y": 90.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#2",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#5",
"pos": {
- "x": 419.0,
- "y": 184.0
- },
- "params": 1
+ "x": 200.0,
+ "y": 230.0
+ }
+ },
+ {
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#7",
+ "pos": {
+ "x": 325.0,
+ "y": 290.0
+ }
+ },
+ {
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#2",
+ "pos": {
+ "x": 150.0,
+ "y": 280.0
+ }
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#5",
+ "name": "WireCrossPoint#0",
"pos": {
- "x": 84.0,
- "y": 344.0
+ "x": 29.0,
+ "y": 284.0
},
"params": 1
},
+ {
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#1",
+ "pos": {
+ "x": 35.0,
+ "y": 250.0
+ }
+ },
+ {
+ "id": "GUInot4",
+ "name": "DeserializedSubmodelComponent#3",
+ "pos": {
+ "x": 100.0,
+ "y": 330.0
+ }
+ },
+ {
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#4",
+ "pos": {
+ "x": 110.0,
+ "y": 60.0
+ }
+ },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#4",
+ "name": "WireCrossPoint#1",
"pos": {
- "x": 429.0,
- "y": 204.0
+ "x": 414.0,
+ "y": 174.0
},
"params": 1
},
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#9",
- "pos": {
- "x": 49.0,
- "y": 114.0
- },
- "params": 1
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#8",
+ "name": "WireCrossPoint#14",
"pos": {
- "x": 74.0,
- "y": 314.0
+ "x": 89.0,
+ "y": 104.0
},
"params": 1
},
- {
- "id": "GUIdff4_finewe",
- "name": "GUIdff4_finewe#0",
- "pos": {
- "x": 375.0,
- "y": 170.0
- }
- },
- {
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 35.0,
- "y": 250.0
- }
- },
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#10",
},
"params": 1
},
- {
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 55.0,
- "y": 110.0
- }
- },
- {
- "id": "GUInot4",
- "name": "DeserializedSubmodelComponent#3",
- "pos": {
- "x": 100.0,
- "y": 330.0
- }
- },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "name": "WireCrossPoint#15",
"pos": {
- "x": 19.0,
+ "x": 319.0,
"y": 294.0
},
"params": 1
},
- {
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 150.0,
- "y": 280.0
- }
- },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
+ "name": "WireCrossPoint#9",
"pos": {
- "x": 89.0,
- "y": 94.0
+ "x": 49.0,
+ "y": 114.0
},
"params": 1
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#5",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#16",
"pos": {
- "x": 200.0,
- "y": 230.0
- }
+ "x": 319.0,
+ "y": 104.0
+ },
+ "params": 1
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#4",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#13",
"pos": {
- "x": 110.0,
- "y": 60.0
- }
+ "x": 194.0,
+ "y": 234.0
+ },
+ "params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#7",
+ "id": "GUIand",
+ "name": "DeserializedSubmodelComponent#8",
"pos": {
- "x": 325.0,
- "y": 290.0
+ "x": 380.0,
+ "y": 85.0
}
},
{
}
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#0",
+ "id": "GUISplitter",
+ "name": "GUISplitter#3",
"pos": {
- "x": 435.0,
- "y": 175.0
+ "x": 5.0,
+ "y": 295.0
},
"params": 4
- },
- {
- "id": "GUIand",
- "name": "DeserializedSubmodelComponent#8",
- "pos": {
- "x": 380.0,
- "y": 85.0
- }
}
],
- "innerWires": [
+ "wires": [
{
"pin1": {
- "compName": "WireCrossPoint#3",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A3"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#36",
+ "name": "unnamedWire#12",
"path": [
{
- "x": 425.0,
- "y": 390.0
- },
- {
- "x": 90.0,
- "y": 390.0
+ "x": 35.0,
+ "y": 35.0
},
{
- "x": 90.0,
- "y": 355.0
+ "x": 35.0,
+ "y": 125.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "S0"
},
- "name": "unnamedWire#35",
- "path": [
- {
- "x": 420.0,
- "y": 385.0
- },
- {
- "x": 85.0,
- "y": 385.0
- }
- ]
+ "name": "unnamedWire#68",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y3"
+ "compName": "_submodelinterface",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "GUISplitter#1",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#11",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "I0_3"
},
- "name": "unnamedWire#79",
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#61",
"path": [
{
- "x": 205.0,
- "y": 85.0
- },
- {
- "x": 205.0,
- "y": 215.0
+ "x": 75.0,
+ "y": 265.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
- "name": "unnamedWire#38",
+ "name": "unnamedWire#25",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUISplitter#2",
+ "pinName": "O2"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "S0"
},
- "name": "unnamedWire#37",
+ "name": "unnamedWire#82",
"path": [
{
- "x": 430.0,
- "y": 395.0
+ "x": 245.0,
+ "y": 445.0
},
{
- "x": 95.0,
- "y": 395.0
+ "x": 245.0,
+ "y": 185.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_4"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "S0"
},
- "name": "unnamedWire#39",
- "path": [
- {
- "x": 85.0,
- "y": 325.0
- }
- ]
+ "name": "unnamedWire#43",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y1"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I0_1"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
- "name": "unnamedWire#81",
- "path": [
- {
- "x": 215.0,
- "y": 65.0
- },
- {
- "x": 215.0,
- "y": 195.0
- }
- ]
+ "name": "unnamedWire#21",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I0_2"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "DeserializedSubmodelComponent#0",
"pinName": "Y2"
},
- "name": "unnamedWire#80",
- "path": [
- {
- "x": 210.0,
- "y": 205.0
- },
- {
- "x": 210.0,
- "y": 75.0
- }
- ]
+ "name": "unnamedWire#46",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "GUISplitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
- "name": "unnamedWire#83",
- "path": []
+ "name": "unnamedWire#67",
+ "path": [
+ {
+ "x": 195.0,
+ "y": 435.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O2"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A3"
},
- "name": "unnamedWire#82",
+ "name": "unnamedWire#36",
"path": [
{
- "x": 245.0,
- "y": 445.0
+ "x": 425.0,
+ "y": 390.0
},
{
- "x": 245.0,
- "y": 185.0
+ "x": 90.0,
+ "y": 390.0
+ },
+ {
+ "x": 90.0,
+ "y": 355.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O1"
},
- "name": "unnamedWire#41",
+ "name": "unnamedWire#17",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y4"
},
- "name": "unnamedWire#85",
+ "name": "unnamedWire#48",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "DeserializedSubmodelComponent#4",
"pinName": "I0_2"
},
- "name": "unnamedWire#40",
- "path": [
- {
- "x": 95.0,
- "y": 305.0
- }
- ]
+ "name": "unnamedWire#53",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "C"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "COVD_EN"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "C"
},
- "name": "unnamedWire#84",
+ "name": "unnamedWire#0",
"path": [
{
- "x": 275.0,
- "y": 295.0
+ "x": 140.0,
+ "y": 415.0
+ },
+ {
+ "x": 255.0,
+ "y": 415.0
+ },
+ {
+ "x": 255.0,
+ "y": 280.0
+ },
+ {
+ "x": 340.0,
+ "y": 280.0
+ },
+ {
+ "x": 340.0,
+ "y": 175.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y2"
},
- "name": "unnamedWire#43",
+ "name": "unnamedWire#31",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y2"
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I0"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#87",
+ "name": "unnamedWire#35",
"path": [
{
- "x": 305.0,
- "y": 195.0
+ "x": 420.0,
+ "y": 385.0
},
{
- "x": 305.0,
- "y": 305.0
+ "x": 85.0,
+ "y": 385.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "COVD_EN"
},
- "name": "unnamedWire#42",
+ "name": "unnamedWire#84",
"path": [
{
- "x": 30.0,
- "y": 230.0
- },
- {
- "x": 50.0,
- "y": 230.0
+ "x": 275.0,
+ "y": 295.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "COVD_V"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_3"
},
- "name": "unnamedWire#86",
+ "name": "unnamedWire#79",
"path": [
{
- "x": 375.0,
- "y": 325.0
- },
- {
- "x": 320.0,
- "y": 325.0
+ "x": 205.0,
+ "y": 85.0
},
{
- "x": 320.0,
- "y": 315.0
+ "x": 205.0,
+ "y": 215.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "GUISplitter#3",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "B"
},
- "name": "unnamedWire#45",
+ "name": "unnamedWire#23",
"path": [
{
- "x": 50.0,
- "y": 105.0
+ "x": 25.0,
+ "y": 305.0
+ },
+ {
+ "x": 25.0,
+ "y": 265.0
}
]
},
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "DeserializedSubmodelComponent#6",
"pinName": "I1_1"
},
- "name": "unnamedWire#44",
+ "name": "unnamedWire#77",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "Y"
- },
- "pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D2"
- },
- "name": "unnamedWire#88",
- "path": [
- {
- "x": 365.0,
- "y": 295.0
- },
- {
- "x": 365.0,
- "y": 235.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#47",
+ "name": "unnamedWire#57",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I1_2"
+ "compName": "_submodelinterface",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y2"
+ "compName": "GUISplitter#3",
+ "pinName": "I"
},
- "name": "unnamedWire#46",
+ "name": "unnamedWire#22",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I0_4"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_3"
},
- "name": "unnamedWire#49",
- "path": []
+ "name": "unnamedWire#14",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 55.0
+ },
+ {
+ "x": 25.0,
+ "y": 145.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I1_4"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y4"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#48",
+ "name": "unnamedWire#63",
"path": []
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "Q2"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_2"
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O1"
},
- "name": "unnamedWire#9",
- "path": []
+ "name": "unnamedWire#13",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 135.0
+ },
+ {
+ "x": 30.0,
+ "y": 45.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I1"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#8",
+ "name": "unnamedWire#44",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I0_4"
},
- "name": "unnamedWire#7",
+ "name": "unnamedWire#49",
"path": []
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "Q1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_4"
},
"pin2": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y4"
},
- "name": "unnamedWire#6",
- "path": []
+ "name": "unnamedWire#78",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 225.0
+ },
+ {
+ "x": 200.0,
+ "y": 95.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#90",
+ "name": "unnamedWire#65",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#0",
- "pinName": "A"
+ "compName": "_submodelinterface",
+ "pinName": "MUX"
},
"pin2": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "GUISplitter#2",
+ "pinName": "I"
},
- "name": "unnamedWire#92",
+ "name": "unnamedWire#20",
"path": [
{
- "x": 320.0,
- "y": 95.0
+ "x": 40.0,
+ "y": 435.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "GUIMerger#0",
+ "pinName": "I3"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUISplitter#1",
+ "pinName": "O2"
+ },
"pin2": {
- "compName": "GUINandGate#0",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#91",
+ "name": "unnamedWire#18",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EOVR"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I0_1"
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE4"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
- "name": "unnamedWire#1",
+ "name": "unnamedWire#54",
"path": [
{
- "x": 355.0,
- "y": 30.0
- },
- {
- "x": 355.0,
- "y": 215.0
+ "x": 90.0,
+ "y": 75.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#50",
+ "name": "unnamedWire#32",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "C"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
"compName": "GUIdff4_finewe#0",
- "pinName": "C"
+ "pinName": "Q4"
},
- "name": "unnamedWire#0",
- "path": [
- {
- "x": 140.0,
- "y": 415.0
- },
- {
- "x": 255.0,
- "y": 415.0
- },
- {
- "x": 255.0,
- "y": 280.0
- },
- {
- "x": 340.0,
- "y": 280.0
- },
- {
- "x": 340.0,
- "y": 175.0
- }
- ]
+ "name": "unnamedWire#29",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "DeserializedSubmodelComponent#2",
"pinName": "I0_3"
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
- "name": "unnamedWire#52",
+ "name": "unnamedWire#41",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O3"
},
"pin2": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_4"
},
- "name": "unnamedWire#51",
+ "name": "unnamedWire#19",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "O"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Q"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A1"
},
- "name": "unnamedWire#5",
- "path": []
+ "name": "unnamedWire#34",
+ "path": [
+ {
+ "x": 415.0,
+ "y": 380.0
+ },
+ {
+ "x": 80.0,
+ "y": 380.0
+ },
+ {
+ "x": 80.0,
+ "y": 335.0
+ }
+ ]
},
{
"pin1": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I0_1"
+ "compName": "GUISplitter#3",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
- "name": "unnamedWire#54",
- "path": [
- {
- "x": 90.0,
- "y": 75.0
- }
- ]
+ "name": "unnamedWire#38",
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EZ"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE1"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
- "name": "unnamedWire#4",
+ "name": "unnamedWire#45",
"path": [
{
- "x": 55.0,
- "y": 15.0
- },
- {
- "x": 370.0,
- "y": 15.0
- },
- {
- "x": 370.0,
- "y": 185.0
+ "x": 50.0,
+ "y": 105.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I0_2"
- },
- "name": "unnamedWire#53",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O0"
+ "compName": "GUINandGate#0",
+ "pinName": "A"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_1"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
- "name": "unnamedWire#12",
+ "name": "unnamedWire#92",
"path": [
{
- "x": 35.0,
- "y": 35.0
- },
- {
- "x": 35.0,
- "y": 125.0
+ "x": 320.0,
+ "y": 95.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A2"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I0_3"
},
"pin2": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
- "name": "unnamedWire#56",
+ "name": "unnamedWire#52",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EC"
+ "compName": "GUISplitter#2",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "A"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
- "name": "unnamedWire#3",
+ "name": "unnamedWire#24",
"path": [
{
- "x": 155.0,
- "y": 20.0
+ "x": 60.0,
+ "y": 425.0
},
{
- "x": 365.0,
- "y": 20.0
+ "x": 60.0,
+ "y": 415.0
},
{
- "x": 365.0,
- "y": 90.0
+ "x": 30.0,
+ "y": 415.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EN"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE3"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
- "name": "unnamedWire#2",
+ "name": "unnamedWire#37",
"path": [
{
- "x": 255.0,
- "y": 25.0
- },
- {
- "x": 360.0,
- "y": 25.0
+ "x": 430.0,
+ "y": 395.0
},
{
- "x": 360.0,
- "y": 205.0
+ "x": 95.0,
+ "y": 395.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "Y"
- },
- "pin2": {
"compName": "GUISplitter#1",
- "pinName": "I"
- },
- "name": "unnamedWire#11",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A4"
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#55",
+ "name": "unnamedWire#16",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O2"
+ "compName": "_submodelinterface",
+ "pinName": "_EOVR"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_3"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE4"
},
- "name": "unnamedWire#14",
+ "name": "unnamedWire#1",
"path": [
{
- "x": 25.0,
- "y": 55.0
+ "x": 355.0,
+ "y": 30.0
},
{
- "x": 25.0,
- "y": 145.0
+ "x": 355.0,
+ "y": 215.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O2"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "S0"
},
- "name": "unnamedWire#58",
+ "name": "unnamedWire#93",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_2"
+ "compName": "GUIMerger#0",
+ "pinName": "O"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O1"
+ "compName": "_submodelinterface",
+ "pinName": "Q"
},
- "name": "unnamedWire#13",
- "path": [
- {
- "x": 30.0,
- "y": 135.0
- },
- {
- "x": 30.0,
- "y": 45.0
- }
- ]
+ "name": "unnamedWire#5",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#57",
+ "name": "unnamedWire#75",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_1"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#16",
+ "name": "unnamedWire#56",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_4"
+ "compName": "_submodelinterface",
+ "pinName": "COVD_V"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O3"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I1"
},
- "name": "unnamedWire#15",
+ "name": "unnamedWire#86",
"path": [
{
- "x": 20.0,
- "y": 155.0
+ "x": 375.0,
+ "y": 325.0
},
{
- "x": 20.0,
- "y": 65.0
+ "x": 320.0,
+ "y": 325.0
+ },
+ {
+ "x": 320.0,
+ "y": 315.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_1"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "S0"
},
- "name": "unnamedWire#59",
+ "name": "unnamedWire#69",
"path": [
{
- "x": 20.0,
- "y": 245.0
+ "x": 105.0,
+ "y": 235.0
+ },
+ {
+ "x": 105.0,
+ "y": 65.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "O2"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "Q2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_3"
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
},
- "name": "unnamedWire#18",
+ "name": "unnamedWire#9",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y4"
+ },
+ "pin2": {
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D4"
+ },
+ "name": "unnamedWire#70",
+ "path": [
+ {
+ "x": 295.0,
+ "y": 215.0
+ },
+ {
+ "x": 295.0,
+ "y": 255.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "I1_2"
},
"pin2": {
- "compName": "GUISplitter#1",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y2"
},
- "name": "unnamedWire#17",
+ "name": "unnamedWire#64",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "O3"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_4"
+ "compName": "GUIMerger#0",
+ "pinName": "I0"
},
- "name": "unnamedWire#19",
+ "name": "unnamedWire#7",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I0_4"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
- "name": "unnamedWire#61",
+ "name": "unnamedWire#39",
"path": [
- {
- "x": 75.0,
- "y": 265.0
+ {
+ "x": 85.0,
+ "y": 325.0
}
]
},
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y1"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_1"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "S0"
},
- "name": "unnamedWire#63",
+ "name": "unnamedWire#85",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O3"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_4"
- },
- "name": "unnamedWire#62",
- "path": [
- {
- "x": 80.0,
- "y": 325.0
- },
- {
- "x": 80.0,
- "y": 275.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "WireCrossPoint#0",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "GUIMerger#0",
+ "pinName": "I2"
},
- "name": "unnamedWire#21",
+ "name": "unnamedWire#27",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_3"
+ "compName": "GUINandGate#0",
+ "pinName": "B"
},
- "name": "unnamedWire#65",
+ "name": "unnamedWire#91",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "MUX"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#2",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I0_2"
},
- "name": "unnamedWire#20",
+ "name": "unnamedWire#40",
"path": [
{
- "x": 40.0,
- "y": 435.0
+ "x": 95.0,
+ "y": 305.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_2"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y2"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
- "name": "unnamedWire#64",
- "path": []
+ "name": "unnamedWire#42",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 230.0
+ },
+ {
+ "x": 50.0,
+ "y": 230.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#67",
+ "name": "unnamedWire#81",
"path": [
{
- "x": 195.0,
- "y": 435.0
+ "x": 215.0,
+ "y": 65.0
+ },
+ {
+ "x": 215.0,
+ "y": 195.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O1"
+ "compName": "_submodelinterface",
+ "pinName": "_EZ"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "B"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE1"
},
- "name": "unnamedWire#23",
+ "name": "unnamedWire#4",
"path": [
{
- "x": 25.0,
- "y": 305.0
+ "x": 55.0,
+ "y": 15.0
},
{
- "x": 25.0,
- "y": 265.0
+ "x": 370.0,
+ "y": 15.0
+ },
+ {
+ "x": 370.0,
+ "y": 185.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D1"
},
"pin2": {
- "compName": "GUISplitter#3",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y1"
},
- "name": "unnamedWire#22",
- "path": []
+ "name": "unnamedWire#73",
+ "path": [
+ {
+ "x": 310.0,
+ "y": 225.0
+ },
+ {
+ "x": 310.0,
+ "y": 185.0
+ }
+ ]
},
{
"pin1": {
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "_EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "S0"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE3"
},
- "name": "unnamedWire#69",
+ "name": "unnamedWire#2",
"path": [
{
- "x": 105.0,
- "y": 235.0
+ "x": 255.0,
+ "y": 25.0
},
{
- "x": 105.0,
- "y": 65.0
+ "x": 360.0,
+ "y": 25.0
+ },
+ {
+ "x": 360.0,
+ "y": 205.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A4"
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
- "name": "unnamedWire#25",
+ "name": "unnamedWire#55",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y4"
},
- "name": "unnamedWire#24",
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE2"
+ },
+ "name": "unnamedWire#72",
"path": [
{
- "x": 60.0,
- "y": 425.0
+ "x": 420.0,
+ "y": 90.0
},
{
- "x": 60.0,
- "y": 415.0
+ "x": 420.0,
+ "y": 110.0
},
{
- "x": 30.0,
- "y": 415.0
+ "x": 365.0,
+ "y": 110.0
+ },
+ {
+ "x": 365.0,
+ "y": 195.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "S0"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
- "name": "unnamedWire#68",
+ "name": "unnamedWire#51",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y3"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_3"
+ },
+ "name": "unnamedWire#47",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I2"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
- "name": "unnamedWire#27",
+ "name": "unnamedWire#83",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUISplitter#3",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#58",
"path": []
},
{
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D3"
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "Q4"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y3"
},
- "name": "unnamedWire#29",
- "path": []
+ "name": "unnamedWire#71",
+ "path": [
+ {
+ "x": 300.0,
+ "y": 245.0
+ },
+ {
+ "x": 300.0,
+ "y": 205.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I3"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "Q1"
},
"pin2": {
- "compName": "WireCrossPoint#4",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
- "name": "unnamedWire#28",
+ "name": "unnamedWire#6",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y4"
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D4"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#70",
+ "name": "unnamedWire#59",
"path": [
{
- "x": 295.0,
- "y": 215.0
- },
- {
- "x": 295.0,
- "y": 255.0
+ "x": 20.0,
+ "y": 245.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "Y"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_4"
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE2"
+ "compName": "GUISplitter#0",
+ "pinName": "O3"
},
- "name": "unnamedWire#72",
+ "name": "unnamedWire#15",
"path": [
{
- "x": 420.0,
- "y": 90.0
- },
- {
- "x": 420.0,
- "y": 110.0
- },
- {
- "x": 365.0,
- "y": 110.0
+ "x": 20.0,
+ "y": 155.0
},
{
- "x": 365.0,
- "y": 195.0
+ "x": 20.0,
+ "y": 65.0
}
]
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D3"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y3"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y2"
},
- "name": "unnamedWire#71",
+ "name": "unnamedWire#80",
"path": [
{
- "x": 300.0,
- "y": 245.0
+ "x": 210.0,
+ "y": 205.0
},
{
- "x": 300.0,
- "y": 205.0
+ "x": 210.0,
+ "y": 75.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y1"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_1"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D2"
},
- "name": "unnamedWire#30",
- "path": []
+ "name": "unnamedWire#88",
+ "path": [
+ {
+ "x": 365.0,
+ "y": 295.0
+ },
+ {
+ "x": 365.0,
+ "y": 235.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_4"
+ "compName": "GUISplitter#3",
+ "pinName": "O3"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y4"
+ "pinName": "I0_4"
},
- "name": "unnamedWire#74",
- "path": []
+ "name": "unnamedWire#62",
+ "path": [
+ {
+ "x": 80.0,
+ "y": 325.0
+ },
+ {
+ "x": 80.0,
+ "y": 275.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y1"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I0"
},
- "name": "unnamedWire#73",
+ "name": "unnamedWire#87",
"path": [
{
- "x": 310.0,
- "y": 225.0
+ "x": 305.0,
+ "y": 195.0
},
{
- "x": 310.0,
- "y": 185.0
+ "x": 305.0,
+ "y": 305.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_3"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
- "name": "unnamedWire#32",
+ "name": "unnamedWire#90",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_2"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y2"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
- "name": "unnamedWire#76",
+ "name": "unnamedWire#50",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "DeserializedSubmodelComponent#6",
"pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "Y2"
},
- "name": "unnamedWire#31",
+ "name": "unnamedWire#76",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y3"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#75",
+ "name": "unnamedWire#30",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A1"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y4"
},
- "name": "unnamedWire#34",
- "path": [
- {
- "x": 415.0,
- "y": 380.0
- },
- {
- "x": 80.0,
- "y": 380.0
- },
- {
- "x": 80.0,
- "y": 335.0
- }
- ]
+ "name": "unnamedWire#74",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I0_4"
+ "compName": "_submodelinterface",
+ "pinName": "_EC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y4"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "A"
},
- "name": "unnamedWire#78",
+ "name": "unnamedWire#3",
"path": [
{
- "x": 200.0,
- "y": 225.0
+ "x": 155.0,
+ "y": 20.0
},
{
- "x": 200.0,
- "y": 95.0
+ "x": 365.0,
+ "y": 20.0
+ },
+ {
+ "x": 365.0,
+ "y": 90.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_4"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y4"
- },
- "name": "unnamedWire#33",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y1"
+ "compName": "GUIMerger#0",
+ "pinName": "I1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_1"
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
},
- "name": "unnamedWire#77",
+ "name": "unnamedWire#8",
"path": []
}
- ]
+ ],
+ "version": "0.1.1"
},
"symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
- }
+ },
+ "version": "0.1.4"
}
\ No newline at end of file
// 110: Swap OVR and C
// 111: _M
addPin(new Pin(this, "MSR_MUX", 3, 20, 0), Usage.OUTPUT, Position.BOTTOM);
- // TODO when is this HIGH?
addPin(new Pin(this, "OEN", 1, 60, 0), Usage.OUTPUT, Position.BOTTOM);
// Y MUX:
// 00: mu
{
case 0:
case 2:
- readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE);
+ readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO);
readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO);
readWriteEnds.get("muSR_CINV").feedSignals(ZERO);
readWriteEnds.get("muSR_WEZ").feedSignals(ONE);
readWriteEnds.get("muSR_WEOVR").feedSignals(ONE);
break;
case 1:
- readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO);
+ readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE);
readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO);
readWriteEnds.get("muSR_CINV").feedSignals(ZERO);
readWriteEnds.get("muSR_WEZ").feedSignals(ONE);
readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO);
break;
case 9:
- readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO);
+ readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE);
readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO);
readWriteEnds.get("muSR_CINV").feedSignals(ZERO);
readWriteEnds.get("muSR_WEZ").feedSignals(ONE);
readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO);
break;
case 11:
- readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO);
+ readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE);
readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO);
readWriteEnds.get("muSR_CINV").feedSignals(ZERO);
readWriteEnds.get("muSR_WEZ").feedSignals(ZERO);
readWriteEnds.get("muSR_WEOVR").feedSignals(ZERO);
break;
case 13:
- readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO);
+ readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE);
readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO);
readWriteEnds.get("muSR_CINV").feedSignals(ZERO);
readWriteEnds.get("muSR_WEZ").feedSignals(ZERO);
readWriteEnds.get("muSR_WEOVR").feedSignals(ONE);
break;
case 15:
- readWriteEnds.get("muSR_MUX").feedSignals(ONE, ZERO);
+ readWriteEnds.get("muSR_MUX").feedSignals(ZERO, ONE);
readWriteEnds.get("muSR_OVRRET").feedSignals(ZERO);
readWriteEnds.get("muSR_CINV").feedSignals(ZERO);
readWriteEnds.get("muSR_WEZ").feedSignals(ZERO);
switch (IAsInt)
{
case 0:
- readWriteEnds.get("MSR_MUX").feedSignals(ONE, ONE, ZERO);
+ readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ONE, ONE);
break;
case 1:
- readWriteEnds.get("MSR_MUX").feedSignals(ONE, ZERO, ZERO);
+ readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ZERO, ONE);
break;
case 2:
readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ONE, ZERO);
readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ZERO, ZERO);
break;
case 4:
- readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ONE, ONE);
+ readWriteEnds.get("MSR_MUX").feedSignals(ONE, ONE, ZERO);
break;
case 5:
readWriteEnds.get("MSR_MUX").feedSignals(ONE, ONE, ONE);
readWriteEnds.get("MSR_MUX").feedSignals(ONE, ZERO, ONE);
break;
default:
- readWriteEnds.get("MSR_MUX").feedSignals(ZERO, ZERO, ONE);
+ readWriteEnds.get("MSR_MUX").feedSignals(ONE, ZERO, ZERO);
break;
}
+ readWriteEnds.get("OEN").feedSignals(I5_0Bits[0].or(I5_0Bits[1]).or(I5_0Bits[2]).or(I5_0Bits[3]).or(I5_0Bits[4]).or(I5_0Bits[5]));
readWriteEnds.get("Y_MUX").feedSignals(I5_0Bits[0], I5_0Bits[1]);
readWriteEnds.get("CT_INV").feedSignals(I5_0Bits[5]);
readWriteEnds.get("CT_MUX").feedSignals(I5_0Bits[2], I5_0Bits[3], I5_0Bits[4]);
import static net.mograsim.logic.core.types.Bit.ONE;
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.Map;
public GUIAm2904ShiftInstrDecode(ViewModelModifiable model, String name)
{
super(model, name, "Shift \ninstruction\ndecode");
- setSize(60, 70);
- addPin(new Pin(this, "I", 5, 0, 35), Usage.INPUT, Position.RIGHT);
+ setSize(60, 80);
+ addPin(new Pin(this, "I", 5, 0, 25), Usage.INPUT, Position.RIGHT);
+ addPin(new Pin(this, "_SE", 1, 0, 55), Usage.INPUT, Position.RIGHT);
// SIO0 MUX:
// 000: 0
// 001: 1
// 10x: QIO0
// 11x: MN
addPin(new Pin(this, "QIOn_MUX", 3, 60, 35), Usage.OUTPUT, Position.LEFT);
- addPin(new Pin(this, "LSHIFT", 1, 60, 45), Usage.OUTPUT, Position.LEFT);
+ addPin(new Pin(this, "OEn", 1, 60, 45), Usage.OUTPUT, Position.LEFT);
+ addPin(new Pin(this, "OE0", 1, 60, 55), Usage.OUTPUT, Position.LEFT);
// 00: SIO0
// 01: QIO0
// 1x: SIOn
- addPin(new Pin(this, "MC_MUX", 2, 60, 55), Usage.OUTPUT, Position.LEFT);
- addPin(new Pin(this, "MC_EN", 1, 60, 65), Usage.OUTPUT, Position.LEFT);
+ addPin(new Pin(this, "MC_MUX", 2, 60, 65), Usage.OUTPUT, Position.LEFT);
+ addPin(new Pin(this, "MC_EN", 1, 60, 75), Usage.OUTPUT, Position.LEFT);
}
@Override
protected Object recalculate(Object lastState, Map<String, ReadEnd> readEnds, Map<String, ReadWriteEnd> readWriteEnds)
{
+ Bit _SE = readEnds.get("_SE").getValue();
Bit[] IBits = readEnds.get("I").getValues().getBits();
- readWriteEnds.get("LSHIFT").feedSignals(IBits[0]);
+ readWriteEnds.get("OEn").feedSignals(IBits[0].not().and(_SE.not()));
+ readWriteEnds.get("OE0").feedSignals(IBits[0].and(_SE.not()));
+ if (_SE == Z || _SE == X)
+ {
+ readWriteEnds.get("SIO0_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("SIOn_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("QIO0_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("QIOn_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("MC_MUX").feedSignals(X, X);
+ readWriteEnds.get("MC_EN").feedSignals(X);
+ return null;
+ } else if (_SE == U)
+ {
+
+ readWriteEnds.get("SIO0_MUX").feedSignals(U, U, U);
+ readWriteEnds.get("SIOn_MUX").feedSignals(U, U, U);
+ readWriteEnds.get("QIO0_MUX").feedSignals(U, U, U);
+ readWriteEnds.get("QIOn_MUX").feedSignals(U, U, U);
+ readWriteEnds.get("MC_MUX").feedSignals(U, U);
+ readWriteEnds.get("MC_EN").feedSignals(U);
+ return null;
+ } else if (_SE == ONE)
+ {
+ readWriteEnds.get("SIO0_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("SIOn_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("QIO0_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("QIOn_MUX").feedSignals(X, X, X);
+ readWriteEnds.get("MC_MUX").feedSignals(X, X);
+ readWriteEnds.get("MC_EN").feedSignals(ZERO);
+ return null;
+ }
// TODO move the following loop to BitVector.
int IAsInt = 0;
for (int i = 0; i < 5; i++)
--- /dev/null
+package net.mograsim.logic.model.examples;
+
+import net.haspamelodica.swt.helper.gcs.GeneralGC;
+import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
+import net.mograsim.logic.core.types.Bit;
+import net.mograsim.logic.core.types.BitVector;
+import net.mograsim.logic.model.SimpleLogicUIStandalone;
+import net.mograsim.logic.model.SimpleLogicUIStandalone.VisualisationObjects;
+import net.mograsim.logic.model.model.ViewModelModifiable;
+import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch;
+import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
+import net.mograsim.logic.model.serializing.DeserializedSubmodelComponent;
+import net.mograsim.logic.model.serializing.IdentifierGetter;
+import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
+import net.mograsim.logic.model.snippets.Renderer;
+
+public class Am2904Testbench
+{
+ public static void main(String[] args)
+ {
+ SimpleLogicUIStandalone.executeVisualisation(Am2904Testbench::create, Am2904Testbench::beforeRun);
+ }
+
+ public static void create(ViewModelModifiable model)
+ {
+ // TODO use _SE in GUIAm2904.json
+ // TODO replace with proper ViewModel deserialization
+ DeserializedSubmodelComponent testbench = (DeserializedSubmodelComponent) IndirectGUIComponentCreator.createComponent(model,
+ "file:GUIAm2904Testbench.json", "testbench");
+ testbench.setSize(1000, 1000);
+ testbench.setOutlineRenderer(new Renderer()
+ {
+ @Override
+ public Object getParamsForSerializing(IdentifierGetter idGetter)
+ {
+ return null;
+ }
+
+ @Override
+ public void render(GeneralGC gc, Rectangle visibleRegion)
+ {
+ // do nothing
+ }
+ });
+ }
+
+ public static void beforeRun(VisualisationObjects vis)
+ {
+ ((SubmodelComponent) vis.model.getComponentsByName().get("testbench")).submodel.getComponentsByName().values().forEach(c ->
+ {
+ if (c instanceof GUIManualSwitch)
+ {
+ GUIManualSwitch cCasted = (GUIManualSwitch) c;
+ cCasted.setHighLevelState("out", BitVector.of(Bit.ZERO, cCasted.logicWidth));
+ }
+ });
+ }
+}
\ No newline at end of file
-mograsim version: 0.1.3
{
"width": 120.0,
"height": 178.0,
"name": "_CEM",
"logicWidth": 1
},
- {
- "location": {
- "x": 120.0,
- "y": 11.0
- },
- "name": "YZ",
- "logicWidth": 1
- },
{
"location": {
"x": 0.0,
"name": "C",
"logicWidth": 1
},
- {
- "location": {
- "x": 0.0,
- "y": 20.0
- },
- "name": "IN",
- "logicWidth": 1
- },
- {
- "location": {
- "x": 61.0,
- "y": 0.0
- },
- "name": "_OEY",
- "logicWidth": 1
- },
{
"location": {
"x": 0.0,
},
{
"location": {
- "x": 120.0,
- "y": 118.0
+ "x": 0.0,
+ "y": 36.0
},
- "name": "SIO0",
+ "name": "_EZ",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 10.0
+ "y": 110.0
},
- "name": "IZ",
+ "name": "Cx",
"logicWidth": 1
},
{
"location": {
"x": 120.0,
- "y": 60.0
+ "y": 21.0
},
- "name": "CT",
+ "name": "YN",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 128.0
+ "y": 15.0
},
- "name": "QIOn",
+ "name": "IC",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 119.0
+ "y": 42.0
},
- "name": "SIOn",
+ "name": "_EOVR",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 120.0,
+ "y": 11.0
+ },
+ "name": "YZ",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 33.0
+ "y": 20.0
},
- "name": "_CEmu",
+ "name": "IN",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 61.0,
+ "y": 0.0
+ },
+ "name": "_OEY",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 36.0
+ "y": 83.0
},
- "name": "_EZ",
+ "name": "_SE",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 120.0,
+ "y": 118.0
+ },
+ "name": "SIO0",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 110.0
+ "y": 10.0
},
- "name": "Cx",
+ "name": "IZ",
"logicWidth": 1
},
{
"location": {
"x": 120.0,
- "y": 21.0
+ "y": 60.0
},
- "name": "YN",
+ "name": "CT",
"logicWidth": 1
},
{
"location": {
"x": 0.0,
- "y": 15.0
+ "y": 128.0
},
- "name": "IC",
+ "name": "QIOn",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 119.0
+ },
+ "name": "SIOn",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 33.0
+ },
+ "name": "_CEmu",
+ "logicWidth": 1
+ },
+ {
+ "location": {
+ "x": 120.0,
+ "y": 51.0
+ },
+ "name": "_OECT",
"logicWidth": 1
},
{
},
"name": "_EC",
"logicWidth": 1
- },
- {
- "location": {
- "x": 0.0,
- "y": 42.0
- },
- "name": "_EOVR",
- "logicWidth": 1
}
],
+ "innerScale": 0.2,
"submodel": {
- "innerScale": 0.2,
- "subComps": [
+ "components": [
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "id": "GUINandGate",
+ "name": "GUINandGate#1",
"pos": {
- "x": 520.0,
- "y": 190.0
+ "x": 130.0,
+ "y": 5.0
},
- "params": 4
+ "params": 1
+ },
+ {
+ "id": "GUINandGate",
+ "name": "GUINandGate#10",
+ "pos": {
+ "x": 340.0,
+ "y": 120.0
+ },
+ "params": 1
+ },
+ {
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#21",
+ "pos": {
+ "x": 250.0,
+ "y": 820.0
+ }
+ },
+ {
+ "id": "GUImux2",
+ "name": "DeserializedSubmodelComponent#15",
+ "pos": {
+ "x": 435.0,
+ "y": 575.0
+ }
},
{
"id": "WireCrossPoint",
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#16",
+ "name": "WireCrossPoint#27",
"pos": {
- "x": 255.0,
- "y": 255.0
+ "x": 440.0,
+ "y": 385.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#15",
+ "name": "WireCrossPoint#6",
"pos": {
- "x": 255.0,
- "y": 265.0
+ "x": 120.0,
+ "y": 15.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
"params": 1
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#4",
+ "id": "GUIAm2904ShiftInstrDecode",
+ "name": "GUIAm2904ShiftInstrDecode#0",
"pos": {
- "x": 565.0,
- "y": 655.0
- },
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
+ "x": 50.0,
+ "y": 360.0
}
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#17",
- "pos": {
- "x": 360.0,
- "y": 495.0
- },
- "params": 1
- },
- {
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#2",
+ "id": "GUISplitter",
+ "name": "GUISplitter#6",
"pos": {
- "x": 10.0,
- "y": 605.0
+ "x": 285.0,
+ "y": 320.0
},
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
- }
+ "params": 3
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#19",
+ "name": "WireCrossPoint#12",
"pos": {
- "x": 35.0,
- "y": 595.0
+ "x": 195.0,
+ "y": 35.0
},
"params": 1
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#3",
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#12",
"pos": {
- "x": 560.0,
- "y": 595.0
- },
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
+ "x": 315.0,
+ "y": 505.0
}
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#0",
+ "id": "GUIAm2904TestLogic",
+ "name": "DeserializedSubmodelComponent#6",
"pos": {
- "x": 530.0,
- "y": 170.0
- },
- "params": {
- "logicWidth": 4,
- "orientation": "RIGHT"
+ "x": 225.0,
+ "y": 340.0
}
},
{
- "id": "GUITriStateBuffer",
- "name": "GUITriStateBuffer#1",
+ "id": "GUImux3",
+ "name": "DeserializedSubmodelComponent#7",
"pos": {
- "x": 10.0,
- "y": 650.0
- },
- "params": {
- "logicWidth": 1,
- "orientation": "RIGHT"
+ "x": 300.0,
+ "y": 310.0
}
},
{
- "id": "GUIAm2904muSR",
- "name": "DeserializedSubmodelComponent#1",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#0",
"pos": {
- "x": 270.0,
- "y": 250.0
- }
+ "x": 530.0,
+ "y": 70.0
+ },
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#10",
+ "name": "WireCrossPoint#22",
"pos": {
- "x": 195.0,
- "y": 55.0
+ "x": 250.0,
+ "y": 540.0
},
"params": 1
},
{
- "id": "GUIAm2904MSR",
- "name": "DeserializedSubmodelComponent#0",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#14",
"pos": {
- "x": 225.0,
- "y": 95.0
+ "x": 415.0,
+ "y": 465.0
}
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "id": "GUINandGate",
+ "name": "GUINandGate#7",
"pos": {
- "x": 195.0,
- "y": 35.0
+ "x": 205.0,
+ "y": 50.0
},
"params": 1
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#3",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#17",
"pos": {
- "x": 470.0,
- "y": 160.0
+ "x": 190.0,
+ "y": 460.0
}
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
+ "id": "GUISplitter",
+ "name": "GUISplitter#11",
"pos": {
- "x": 195.0,
- "y": 15.0
+ "x": 405.0,
+ "y": 575.0
},
- "params": 1
+ "params": 3
},
{
- "id": "GUIand",
- "name": "DeserializedSubmodelComponent#2",
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#10",
"pos": {
- "x": 370.0,
- "y": 130.0
+ "x": 455.0,
+ "y": 355.0
}
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#5",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
"pos": {
- "x": 415.0,
- "y": 210.0
- }
+ "x": 150.0,
+ "y": 160.0
+ },
+ "params": 1
},
{
"id": "GUInot4",
}
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#4",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#30",
"pos": {
- "x": 25.0,
- "y": 355.0
+ "x": 550.0,
+ "y": 570.0
},
- "params": 2
+ "params": 1
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#3",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#2",
"pos": {
- "x": 510.0,
- "y": 165.0
+ "x": 10.0,
+ "y": 605.0
},
- "params": 4
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "GUImux3",
- "name": "DeserializedSubmodelComponent#7",
+ "id": "GUIAm2904muSR",
+ "name": "DeserializedSubmodelComponent#1",
"pos": {
- "x": 300.0,
- "y": 310.0
+ "x": 270.0,
+ "y": 250.0
}
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#2",
+ "id": "GUISplitter",
+ "name": "GUISplitter#7",
"pos": {
- "x": 15.0,
- "y": 65.0
+ "x": 420.0,
+ "y": 325.0
},
"params": 4
},
{
- "id": "GUIAm2904TestLogic",
- "name": "DeserializedSubmodelComponent#6",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#15",
"pos": {
- "x": 225.0,
- "y": 340.0
+ "x": 255.0,
+ "y": 265.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUIAm2904RegCTInstrDecode",
+ "name": "GUIAm2904RegCTInstrDecode#0",
+ "pos": {
+ "x": 50.0,
+ "y": 240.0
}
},
{
"id": "GUIMerger",
- "name": "GUIMerger#1",
+ "name": "GUIMerger#3",
"pos": {
- "x": 25.0,
- "y": 305.0
+ "x": 510.0,
+ "y": 165.0
},
- "params": 5
+ "params": 4
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#9",
+ "id": "GUISplitter",
+ "name": "GUISplitter#10",
"pos": {
- "x": 480.0,
- "y": 305.0
- }
+ "x": 420.0,
+ "y": 410.0
+ },
+ "params": 4
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#33",
"pos": {
- "x": 25.0,
- "y": 245.0
+ "x": 530.0,
+ "y": 270.0
},
- "params": 6
+ "params": 1
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#8",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#3",
"pos": {
- "x": 540.0,
- "y": 295.0
+ "x": 560.0,
+ "y": 595.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
}
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#9",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
"pos": {
- "x": 205.0,
- "y": 10.0
+ "x": 195.0,
+ "y": 15.0
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#8",
+ "id": "GUISplitter",
+ "name": "GUISplitter#0",
"pos": {
- "x": 205.0,
- "y": 30.0
+ "x": 10.0,
+ "y": 245.0
+ },
+ "params": 13
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 215.0,
+ "y": 180.0
},
"params": 1
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#4",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#1",
"pos": {
- "x": 225.0,
- "y": 155.0
+ "x": 565.0,
+ "y": 180.0
},
- "params": 1
+ "params": 4
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#7",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#2",
"pos": {
- "x": 205.0,
- "y": 50.0
+ "x": 530.0,
+ "y": 200.0
},
- "params": 1
+ "params": 4
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#6",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#21",
"pos": {
- "x": 205.0,
- "y": 70.0
+ "x": 585.0,
+ "y": 640.0
},
"params": 1
},
{
- "id": "GUImux3",
- "name": "DeserializedSubmodelComponent#23",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#16",
"pos": {
- "x": 300.0,
- "y": 715.0
+ "x": 255.0,
+ "y": 255.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#5",
+ "pos": {
+ "x": 560.0,
+ "y": 290.0
+ },
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
}
},
{
- "id": "GUImux2",
- "name": "DeserializedSubmodelComponent#22",
+ "id": "GUISplitter",
+ "name": "GUISplitter#14",
"pos": {
- "x": 120.0,
+ "x": 90.0,
"y": 720.0
- }
+ },
+ "params": 3
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#21",
+ "id": "GUISplitter",
+ "name": "GUISplitter#1",
"pos": {
- "x": 250.0,
- "y": 820.0
- }
+ "x": 555.0,
+ "y": 80.0
+ },
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#30",
+ "id": "GUINandGate",
+ "name": "GUINandGate#2",
"pos": {
- "x": 550.0,
- "y": 570.0
+ "x": 225.0,
+ "y": 195.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#32",
+ "id": "GUISplitter",
+ "name": "GUISplitter#3",
"pos": {
- "x": 85.0,
- "y": 590.0
+ "x": 450.0,
+ "y": 175.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#31",
+ "id": "GUINandGate",
+ "name": "GUINandGate#0",
"pos": {
- "x": 120.0,
- "y": 545.0
+ "x": 190.0,
+ "y": 145.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#25",
+ "id": "GUISplitter",
+ "name": "GUISplitter#9",
"pos": {
- "x": 285.0,
- "y": 755.0
+ "x": 240.0,
+ "y": 475.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#24",
+ "id": "GUISplitter",
+ "name": "GUISplitter#13",
"pos": {
- "x": 285.0,
+ "x": 265.0,
"y": 725.0
},
- "params": 1
+ "params": 3
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#27",
+ "id": "GUIMerger",
+ "name": "GUIMerger#2",
"pos": {
- "x": 470.0,
- "y": 385.0
+ "x": 15.0,
+ "y": 65.0
},
- "params": 1
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#26",
+ "name": "WireCrossPoint#24",
"pos": {
- "x": 290.0,
- "y": 805.0
+ "x": 285.0,
+ "y": 725.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#29",
+ "id": "GUIAm2904MSR",
+ "name": "DeserializedSubmodelComponent#0",
+ "pos": {
+ "x": 225.0,
+ "y": 95.0
+ }
+ },
+ {
+ "id": "GUISplitter",
+ "name": "GUISplitter#8",
"pos": {
- "x": 45.0,
- "y": 580.0
+ "x": 420.0,
+ "y": 365.0
},
- "params": 1
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#28",
+ "name": "WireCrossPoint#8",
"pos": {
- "x": 470.0,
- "y": 350.0
+ "x": 215.0,
+ "y": 160.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#14",
+ "id": "GUImux3",
+ "name": "DeserializedSubmodelComponent#23",
"pos": {
- "x": 90.0,
- "y": 720.0
- },
- "params": 3
+ "x": 300.0,
+ "y": 715.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#15",
+ "id": "GUIMerger",
+ "name": "GUIMerger#4",
"pos": {
- "x": 120.0,
- "y": 455.0
+ "x": 25.0,
+ "y": 355.0
},
"params": 2
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#12",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
"pos": {
- "x": 405.0,
- "y": 655.0
+ "x": 335.0,
+ "y": 270.0
},
- "params": 3
+ "params": 4
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#13",
+ "id": "GUIMerger",
+ "name": "GUIMerger#0",
"pos": {
- "x": 265.0,
- "y": 725.0
+ "x": 25.0,
+ "y": 245.0
},
- "params": 3
+ "params": 6
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#10",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#9",
"pos": {
- "x": 445.0,
- "y": 410.0
- },
- "params": 4
+ "x": 450.0,
+ "y": 310.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#11",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#1",
"pos": {
- "x": 405.0,
- "y": 575.0
+ "x": 10.0,
+ "y": 650.0
},
- "params": 3
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#21",
+ "name": "WireCrossPoint#5",
"pos": {
- "x": 585.0,
- "y": 640.0
+ "x": 530.0,
+ "y": 100.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#20",
+ "id": "GUINandGate",
+ "name": "GUINandGate#4",
"pos": {
- "x": 585.0,
- "y": 590.0
+ "x": 225.0,
+ "y": 155.0
},
"params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#23",
+ "name": "WireCrossPoint#2",
"pos": {
- "x": 330.0,
- "y": 640.0
+ "x": 295.0,
+ "y": 120.0
},
- "params": 1
+ "params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#22",
+ "id": "GUISplitter",
+ "name": "GUISplitter#2",
"pos": {
- "x": 250.0,
- "y": 540.0
+ "x": 395.0,
+ "y": 195.0
},
- "params": 1
+ "params": 2
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#1",
+ "id": "GUISplitter",
+ "name": "GUISplitter#5",
"pos": {
- "x": 180.0,
- "y": 135.0
+ "x": 395.0,
+ "y": 265.0
},
"params": 4
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#0",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#3",
"pos": {
- "x": 165.0,
- "y": 150.0
- },
- "params": 1
+ "x": 470.0,
+ "y": 160.0
+ }
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#3",
+ "id": "GUImux2",
+ "name": "DeserializedSubmodelComponent#16",
"pos": {
- "x": 335.0,
- "y": 270.0
- },
- "params": 4
+ "x": 435.0,
+ "y": 655.0
+ }
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#2",
+ "name": "WireCrossPoint#28",
"pos": {
- "x": 295.0,
- "y": 120.0
+ "x": 440.0,
+ "y": 345.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#5",
+ "name": "WireCrossPoint#17",
"pos": {
- "x": 530.0,
- "y": 100.0
+ "x": 360.0,
+ "y": 495.0
},
- "params": 4
+ "params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#4",
+ "name": "WireCrossPoint#26",
"pos": {
- "x": 150.0,
- "y": 160.0
+ "x": 290.0,
+ "y": 805.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#7",
+ "id": "GUISplitter",
+ "name": "GUISplitter#15",
"pos": {
- "x": 215.0,
- "y": 180.0
+ "x": 120.0,
+ "y": 455.0
},
- "params": 1
+ "params": 2
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#6",
+ "name": "WireCrossPoint#0",
"pos": {
- "x": 120.0,
- "y": 15.0
+ "x": 165.0,
+ "y": 150.0
},
"params": 1
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#8",
+ "id": "GUINandGate",
+ "name": "GUINandGate#8",
"pos": {
- "x": 215.0,
- "y": 160.0
+ "x": 205.0,
+ "y": 30.0
},
"params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#18",
+ "id": "GUISplitter",
+ "name": "GUISplitter#4",
"pos": {
- "x": 135.0,
- "y": 470.0
- }
+ "x": 395.0,
+ "y": 225.0
+ },
+ "params": 4
},
{
"id": "GUImux1",
- "name": "DeserializedSubmodelComponent#17",
+ "name": "DeserializedSubmodelComponent#11",
"pos": {
- "x": 190.0,
- "y": 460.0
+ "x": 265.0,
+ "y": 515.0
}
},
{
- "id": "GUImux2",
- "name": "DeserializedSubmodelComponent#16",
+ "id": "GUIBitDisplay",
+ "name": "GUIBitDisplay#3",
"pos": {
- "x": 435.0,
- "y": 655.0
- }
+ "x": 560.0,
+ "y": 150.0
+ },
+ "params": 1
},
{
- "id": "GUImux2",
- "name": "DeserializedSubmodelComponent#15",
+ "id": "GUINandGate",
+ "name": "GUINandGate#3",
"pos": {
- "x": 435.0,
- "y": 575.0
- }
+ "x": 225.0,
+ "y": 215.0
+ },
+ "params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#14",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#19",
"pos": {
- "x": 415.0,
- "y": 465.0
- }
+ "x": 35.0,
+ "y": 595.0
+ },
+ "params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#13",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#14",
"pos": {
- "x": 365.0,
- "y": 485.0
- }
+ "x": 520.0,
+ "y": 190.0
+ },
+ "params": 4
},
{
"id": "GUINandGate",
- "name": "GUINandGate#11",
+ "name": "GUINandGate#9",
"pos": {
- "x": 60.0,
- "y": 570.0
+ "x": 205.0,
+ "y": 10.0
},
"params": 1
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#12",
+ "id": "GUIand",
+ "name": "DeserializedSubmodelComponent#2",
"pos": {
- "x": 315.0,
- "y": 505.0
+ "x": 380.0,
+ "y": 125.0
}
},
{
"id": "GUImux1",
- "name": "DeserializedSubmodelComponent#11",
+ "name": "DeserializedSubmodelComponent#13",
"pos": {
- "x": 265.0,
- "y": 515.0
+ "x": 365.0,
+ "y": 485.0
}
},
{
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#10",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#25",
"pos": {
- "x": 500.0,
- "y": 360.0
- }
+ "x": 285.0,
+ "y": 755.0
+ },
+ "params": 1
},
{
"id": "GUINandGate",
- "name": "GUINandGate#10",
+ "name": "GUINandGate#12",
"pos": {
- "x": 340.0,
- "y": 120.0
+ "x": 540.0,
+ "y": 265.0
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#1",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#4",
"pos": {
- "x": 130.0,
- "y": 5.0
+ "x": 565.0,
+ "y": 655.0
},
- "params": 1
+ "params": {
+ "logicWidth": 1,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#20",
"pos": {
- "x": 190.0,
- "y": 145.0
+ "x": 585.0,
+ "y": 590.0
},
"params": 1
},
{
"id": "GUINandGate",
- "name": "GUINandGate#3",
+ "name": "GUINandGate#6",
"pos": {
- "x": 225.0,
- "y": 215.0
+ "x": 205.0,
+ "y": 70.0
},
"params": 1
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#2",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
"pos": {
- "x": 225.0,
- "y": 195.0
+ "x": 195.0,
+ "y": 55.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#9",
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#8",
"pos": {
- "x": 240.0,
- "y": 475.0
- },
- "params": 4
+ "x": 495.0,
+ "y": 295.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#4",
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#18",
"pos": {
- "x": 395.0,
- "y": 225.0
- },
- "params": 4
+ "x": 135.0,
+ "y": 470.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#3",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#5",
"pos": {
- "x": 450.0,
- "y": 175.0
- },
- "params": 4
+ "x": 415.0,
+ "y": 210.0
+ }
},
{
"id": "GUISplitter",
- "name": "GUISplitter#2",
+ "name": "GUISplitter#12",
"pos": {
- "x": 395.0,
- "y": 195.0
+ "x": 405.0,
+ "y": 655.0
},
- "params": 2
+ "params": 3
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#1",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
"pos": {
- "x": 555.0,
- "y": 80.0
+ "x": 180.0,
+ "y": 135.0
},
"params": 4
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#8",
+ "id": "GUImux2",
+ "name": "DeserializedSubmodelComponent#22",
"pos": {
- "x": 445.0,
- "y": 370.0
- },
- "params": 4
+ "x": 120.0,
+ "y": 720.0
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#7",
+ "id": "GUITriStateBuffer",
+ "name": "GUITriStateBuffer#0",
"pos": {
- "x": 445.0,
- "y": 330.0
+ "x": 535.0,
+ "y": 165.0
},
- "params": 4
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#6",
+ "id": "GUIMerger",
+ "name": "GUIMerger#1",
"pos": {
- "x": 285.0,
- "y": 320.0
+ "x": 25.0,
+ "y": 305.0
},
- "params": 3
+ "params": 5
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#5",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#32",
"pos": {
- "x": 395.0,
- "y": 265.0
+ "x": 85.0,
+ "y": 590.0
},
- "params": 4
+ "params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#23",
"pos": {
- "x": 10.0,
- "y": 245.0
+ "x": 330.0,
+ "y": 640.0
+ },
+ "params": 1
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "GUISplitter#3",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_4"
+ },
+ "name": "unnamedWire#100",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUISplitter#8",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#172",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "I01"
+ },
+ "name": "unnamedWire#170",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "OEn"
+ },
+ "name": "unnamedWire#202",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUISplitter#4",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_2"
},
- "params": 13
+ "name": "unnamedWire#103",
+ "path": []
},
{
- "id": "GUIAm2904RegCTInstrDecode",
- "name": "GUIAm2904RegCTInstrDecode#0",
- "pos": {
- "x": 50.0,
- "y": 240.0
- }
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y010"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I010"
+ },
+ "name": "unnamedWire#119",
+ "path": []
},
- {
- "id": "GUIAm2904ShiftInstrDecode",
- "name": "GUIAm2904ShiftInstrDecode#0",
- "pos": {
- "x": 50.0,
- "y": 360.0
- }
- }
- ],
- "innerWires": [
{
"pin1": {
- "compName": "GUISplitter#13",
- "pinName": "O1"
+ "compName": "_submodelinterface",
+ "pinName": "YOVR"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "S1"
+ "compName": "GUISplitter#1",
+ "pinName": "O3"
},
- "name": "unnamedWire#190",
+ "name": "unnamedWire#52",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I010"
+ "compName": "GUIMerger#0",
+ "pinName": "I3"
},
"pin2": {
- "compName": "WireCrossPoint#20",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O3"
},
- "name": "unnamedWire#191",
+ "name": "unnamedWire#7",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#21",
+ "compName": "GUINandGate#2",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I111"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EN"
},
- "name": "unnamedWire#194",
+ "name": "unnamedWire#44",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#27",
- "pinName": ""
+ "compName": "GUINandGate#10",
+ "pinName": "B"
},
"pin2": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
- "name": "unnamedWire#195",
+ "name": "unnamedWire#81",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "GUIMerger#4",
+ "pinName": "I1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I011"
+ "compName": "GUISplitter#0",
+ "pinName": "O12"
},
- "name": "unnamedWire#192",
+ "name": "unnamedWire#140",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I100"
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "WireCrossPoint#23",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "CT"
},
- "name": "unnamedWire#193",
+ "name": "unnamedWire#236",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "I10"
+ "compName": "_submodelinterface",
+ "pinName": "IN"
},
"pin2": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "GUIMerger#2",
+ "pinName": "I2"
},
- "name": "unnamedWire#198",
- "path": []
+ "name": "unnamedWire#18",
+ "path": [
+ {
+ "x": 5.0,
+ "y": 100.0
+ },
+ {
+ "x": 5.0,
+ "y": 85.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I101"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
- "name": "unnamedWire#199",
+ "name": "unnamedWire#26",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I110"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEC"
},
"pin2": {
- "compName": "GUISplitter#7",
- "pinName": "O1"
+ "compName": "GUINandGate#5",
+ "pinName": "B"
},
- "name": "unnamedWire#196",
+ "name": "unnamedWire#48",
"path": []
},
{
},
{
"pin1": {
- "compName": "WireCrossPoint#18",
- "pinName": ""
+ "compName": "GUIMerger#3",
+ "pinName": "O"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I10"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
- "name": "unnamedWire#180",
+ "name": "unnamedWire#93",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#13",
+ "compName": "GUISplitter#4",
"pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#24",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#183",
+ "name": "unnamedWire#102",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#24",
- "pinName": ""
+ "compName": "GUINandGate#12",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "S0"
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "EN"
},
- "name": "unnamedWire#184",
+ "name": "unnamedWire#122",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#23",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I11"
+ "compName": "GUINandGate#1",
+ "pinName": "A"
},
- "name": "unnamedWire#181",
+ "name": "unnamedWire#55",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I11"
+ "compName": "GUISplitter#5",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#23",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_2"
},
- "name": "unnamedWire#182",
+ "name": "unnamedWire#108",
"path": []
},
{
"pin1": {
"compName": "DeserializedSubmodelComponent#23",
- "pinName": "I001"
+ "pinName": "I110"
},
"pin2": {
- "compName": "WireCrossPoint#25",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "O1"
},
- "name": "unnamedWire#187",
+ "name": "unnamedWire#196",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#13",
- "pinName": "I"
+ "compName": "WireCrossPoint#24",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "SIOn_MUX"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "S0"
},
- "name": "unnamedWire#188",
+ "name": "unnamedWire#184",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
- "pinName": ""
+ "compName": "GUISplitter#4",
+ "pinName": "O3"
},
"pin2": {
- "compName": "WireCrossPoint#24",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_4"
},
- "name": "unnamedWire#185",
+ "name": "unnamedWire#105",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#25",
- "pinName": ""
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "I000"
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
},
- "name": "unnamedWire#186",
+ "name": "unnamedWire#218",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#13",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "S2"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "B"
},
- "name": "unnamedWire#189",
+ "name": "unnamedWire#123",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#22",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "GUISplitter#8",
- "pinName": "O1"
+ "compName": "GUINandGate#8",
+ "pinName": "A"
},
- "name": "unnamedWire#172",
+ "name": "unnamedWire#62",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#22",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "S1"
},
"pin2": {
- "compName": "WireCrossPoint#23",
- "pinName": ""
+ "compName": "GUISplitter#12",
+ "pinName": "O2"
},
- "name": "unnamedWire#173",
+ "name": "unnamedWire#175",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "GUINandGate#3",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I01"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EOVR"
},
- "name": "unnamedWire#170",
+ "name": "unnamedWire#43",
"path": []
},
{
"compName": "DeserializedSubmodelComponent#15",
"pinName": "I10"
},
- "name": "unnamedWire#171",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#12",
- "pinName": "O0"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I00"
- },
- "name": "unnamedWire#176",
+ "name": "unnamedWire#171",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "Y"
+ "compName": "GUIBitDisplay#0",
+ "pinName": ""
},
"pin2": {
- "compName": "GUITriStateBuffer#4",
- "pinName": "IN"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#177",
+ "name": "unnamedWire#229",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#12",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#21",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I111"
},
- "name": "unnamedWire#174",
+ "name": "unnamedWire#194",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "S1"
+ "compName": "GUISplitter#6",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUISplitter#12",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "S2"
},
- "name": "unnamedWire#175",
+ "name": "unnamedWire#127",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#12",
- "pinName": "I"
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "QIO0_MUX"
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "EN"
},
- "name": "unnamedWire#178",
+ "name": "unnamedWire#219",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#16",
- "pinName": "I01"
+ "compName": "GUISplitter#0",
+ "pinName": "I"
},
- "name": "unnamedWire#179",
+ "name": "unnamedWire#3",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#1",
- "pinName": "OUT"
+ "compName": "GUISplitter#2",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#18",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "S0"
},
- "name": "unnamedWire#161",
+ "name": "unnamedWire#95",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#2",
- "pinName": "OUT"
+ "compName": "GUISplitter#13",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#19",
+ "compName": "WireCrossPoint#24",
"pinName": ""
},
- "name": "unnamedWire#162",
+ "name": "unnamedWire#183",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "QIO0"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#10",
+ "pinName": "B"
},
- "name": "unnamedWire#160",
+ "name": "unnamedWire#200",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#3",
- "pinName": "IN"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "Y"
+ "compName": "GUISplitter#4",
+ "pinName": "O2"
},
- "name": "unnamedWire#165",
+ "name": "unnamedWire#104",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "SIO0_MUX"
+ "compName": "GUINandGate#8",
+ "pinName": "B"
},
"pin2": {
- "compName": "GUISplitter#11",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y2"
},
- "name": "unnamedWire#166",
+ "name": "unnamedWire#72",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#3",
- "pinName": "OUT"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#20",
- "pinName": ""
+ "compName": "GUIMerger#1",
+ "pinName": "O"
},
- "name": "unnamedWire#163",
- "path": []
+ "name": "unnamedWire#16",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 395.0
+ },
+ {
+ "x": 40.0,
+ "y": 325.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUITriStateBuffer#4",
- "pinName": "OUT"
+ "compName": "_submodelinterface",
+ "pinName": "QIO0"
},
"pin2": {
"compName": "WireCrossPoint#21",
"pinName": ""
},
- "name": "unnamedWire#164",
+ "name": "unnamedWire#160",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "GUISplitter#11",
- "pinName": "O1"
+ "compName": "GUIMerger#3",
+ "pinName": "I2"
},
- "name": "unnamedWire#169",
+ "name": "unnamedWire#91",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#11",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "I10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "I00"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
- "name": "unnamedWire#167",
+ "name": "unnamedWire#198",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#11",
- "pinName": "O2"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#15",
- "pinName": "S1"
+ "compName": "GUINandGate#6",
+ "pinName": "A"
},
- "name": "unnamedWire#168",
+ "name": "unnamedWire#60",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#0",
- "pinName": "OUT"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y000"
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I000"
},
- "name": "unnamedWire#79",
+ "name": "unnamedWire#121",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#10",
+ "compName": "DeserializedSubmodelComponent#21",
"pinName": "B"
},
"pin2": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "O3"
},
- "name": "unnamedWire#81",
+ "name": "unnamedWire#206",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y111"
},
"pin2": {
- "compName": "GUINandGate#10",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I111"
},
- "name": "unnamedWire#80",
+ "name": "unnamedWire#114",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#10",
- "pinName": "Y"
+ "compName": "GUISplitter#10",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "A"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
- "name": "unnamedWire#83",
+ "name": "unnamedWire#144",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#25",
"pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_OEY"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I000"
},
- "name": "unnamedWire#82",
+ "name": "unnamedWire#186",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y1"
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_1"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I101"
},
- "name": "unnamedWire#85",
+ "name": "unnamedWire#199",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
- "compName": "GUITriStateBuffer#0",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "_CEmu"
},
- "name": "unnamedWire#84",
+ "name": "unnamedWire#35",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I01"
},
- "name": "unnamedWire#87",
+ "name": "unnamedWire#179",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_2"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y2"
+ "compName": "GUIBitDisplay#1",
+ "pinName": ""
},
- "name": "unnamedWire#86",
+ "name": "unnamedWire#230",
"path": []
},
{
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I1_4"
+ "compName": "GUINandGate#12",
+ "pinName": "B"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y4"
+ "compName": "WireCrossPoint#33",
+ "pinName": ""
+ },
+ "name": "unnamedWire#234",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "Q"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
- "name": "unnamedWire#88",
+ "name": "unnamedWire#27",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#3",
- "pinName": "I1"
+ "compName": "GUISplitter#12",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y2"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "QIO0_MUX"
},
- "name": "unnamedWire#90",
+ "name": "unnamedWire#178",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#3",
- "pinName": "I3"
+ "compName": "GUISplitter#14",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y4"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "S1"
},
- "name": "unnamedWire#92",
+ "name": "unnamedWire#208",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y3"
+ "compName": "GUIMerger#4",
+ "pinName": "O"
},
"pin2": {
- "compName": "GUIMerger#3",
- "pinName": "I2"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "I12-11"
},
- "name": "unnamedWire#91",
+ "name": "unnamedWire#141",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "Y_MUX"
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#2",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I10"
},
- "name": "unnamedWire#94",
+ "name": "unnamedWire#180",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#3",
- "pinName": "O"
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "IN"
},
"pin2": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "Y"
},
- "name": "unnamedWire#93",
+ "name": "unnamedWire#212",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O1"
+ "compName": "GUIMerger#3",
+ "pinName": "I1"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#3",
- "pinName": "S0"
+ "pinName": "Y2"
},
- "name": "unnamedWire#96",
+ "name": "unnamedWire#90",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O0"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEOVR"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "S0"
+ "compName": "GUINandGate#3",
+ "pinName": "B"
},
- "name": "unnamedWire#95",
+ "name": "unnamedWire#59",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_2"
+ "compName": "GUINandGate#1",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUISplitter#3",
- "pinName": "O1"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
- "name": "unnamedWire#98",
+ "name": "unnamedWire#70",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I100"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_1"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
- "name": "unnamedWire#97",
+ "name": "unnamedWire#193",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I100"
},
"pin2": {
- "compName": "GUISplitter#3",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y100"
},
- "name": "unnamedWire#99",
+ "name": "unnamedWire#117",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#2",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A1"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEN"
+ "compName": "_submodelinterface",
+ "pinName": "_EZ"
},
- "name": "unnamedWire#58",
+ "name": "unnamedWire#75",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_CEM"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "C0_MUX"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "GUISplitter#9",
+ "pinName": "I"
},
- "name": "unnamedWire#57",
+ "name": "unnamedWire#142",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEOVR"
+ "compName": "_submodelinterface",
+ "pinName": "IZ"
},
"pin2": {
- "compName": "GUINandGate#3",
- "pinName": "B"
+ "compName": "GUIMerger#2",
+ "pinName": "I0"
},
- "name": "unnamedWire#59",
- "path": []
+ "name": "unnamedWire#20",
+ "path": [
+ {
+ "x": 5.0,
+ "y": 50.0
+ },
+ {
+ "x": 5.0,
+ "y": 65.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUINandGate#7",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I001"
},
"pin2": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y001"
},
- "name": "unnamedWire#61",
+ "name": "unnamedWire#120",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "GUINandGate#6",
- "pinName": "A"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#60",
+ "name": "unnamedWire#79",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#9",
- "pinName": "A"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "MSR_MUX"
},
"pin2": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "MUX"
},
- "name": "unnamedWire#63",
+ "name": "unnamedWire#31",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
- "pinName": ""
+ "compName": "GUISplitter#14",
+ "pinName": "O1"
},
"pin2": {
- "compName": "GUINandGate#8",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "S0"
},
- "name": "unnamedWire#62",
+ "name": "unnamedWire#209",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
- "pinName": ""
+ "compName": "GUINandGate#0",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
- "name": "unnamedWire#65",
+ "name": "unnamedWire#36",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Q"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
- "name": "unnamedWire#64",
+ "name": "unnamedWire#25",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EN"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EC"
},
"pin2": {
- "compName": "GUINandGate#7",
+ "compName": "GUINandGate#5",
"pinName": "Y"
},
- "name": "unnamedWire#67",
+ "name": "unnamedWire#45",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#6",
- "pinName": "Y"
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "I0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EOVR"
+ "compName": "_submodelinterface",
+ "pinName": "Cx"
},
- "name": "unnamedWire#66",
+ "name": "unnamedWire#152",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#9",
- "pinName": "Y"
+ "compName": "GUISplitter#0",
+ "pinName": "O8"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EZ"
+ "compName": "GUIMerger#1",
+ "pinName": "I2"
},
- "name": "unnamedWire#69",
+ "name": "unnamedWire#12",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#8",
- "pinName": "Y"
+ "compName": "WireCrossPoint#33",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "_EC"
+ "compName": "_submodelinterface",
+ "pinName": "_OECT"
},
- "name": "unnamedWire#68",
+ "name": "unnamedWire#235",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#1",
- "pinName": "Y"
+ "compName": "GUISplitter#0",
+ "pinName": "O4"
},
"pin2": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "GUIMerger#0",
+ "pinName": "I4"
},
- "name": "unnamedWire#70",
+ "name": "unnamedWire#8",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#8",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y2"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "I1"
},
- "name": "unnamedWire#72",
+ "name": "unnamedWire#153",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y1"
+ "compName": "GUISplitter#8",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUINandGate#9",
- "pinName": "B"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
- "name": "unnamedWire#71",
+ "name": "unnamedWire#135",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y4"
+ "compName": "GUINandGate#6",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUINandGate#6",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EOVR"
},
- "name": "unnamedWire#74",
+ "name": "unnamedWire#66",
"path": []
},
{
"pin1": {
"compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y3"
+ "pinName": "Y4"
},
"pin2": {
- "compName": "GUINandGate#7",
+ "compName": "GUINandGate#6",
"pinName": "B"
},
- "name": "unnamedWire#73",
+ "name": "unnamedWire#74",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EC"
+ "compName": "GUIMerger#0",
+ "pinName": "O"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A2"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "I5-0"
},
- "name": "unnamedWire#76",
+ "name": "unnamedWire#15",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A1"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_EZ"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "C"
},
- "name": "unnamedWire#75",
+ "name": "unnamedWire#29",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EOVR"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A4"
+ "compName": "GUIBitDisplay#3",
+ "pinName": ""
},
- "name": "unnamedWire#78",
+ "name": "unnamedWire#232",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "A3"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_EN"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "C"
},
- "name": "unnamedWire#77",
+ "name": "unnamedWire#30",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#0",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "EN"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
- "name": "unnamedWire#36",
+ "name": "unnamedWire#214",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "Y"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "_CEmu"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "I0"
},
- "name": "unnamedWire#35",
+ "name": "unnamedWire#129",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I001"
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#25",
"pinName": ""
},
- "name": "unnamedWire#38",
+ "name": "unnamedWire#187",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUINandGate#4",
- "pinName": "A"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "EN"
},
- "name": "unnamedWire#37",
+ "name": "unnamedWire#84",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#17",
+ "pinName": "I1"
},
"pin2": {
- "compName": "GUINandGate#5",
- "pinName": "A"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
- "name": "unnamedWire#39",
+ "name": "unnamedWire#223",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "O3"
+ "compName": "GUINandGate#1",
+ "pinName": "B"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_4"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
- "name": "unnamedWire#110",
+ "name": "unnamedWire#56",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "I"
+ "compName": "GUISplitter#9",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "S0"
},
- "name": "unnamedWire#111",
+ "name": "unnamedWire#146",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y111"
+ "compName": "_submodelinterface",
+ "pinName": "_SE"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I111"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "_SE"
},
- "name": "unnamedWire#114",
+ "name": "unnamedWire#213",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I110"
+ "compName": "_submodelinterface",
+ "pinName": "YC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y110"
+ "compName": "GUISplitter#1",
+ "pinName": "O1"
},
- "name": "unnamedWire#115",
+ "name": "unnamedWire#50",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "GUIMerger#0",
+ "pinName": "I1"
},
"pin2": {
- "compName": "GUITriStateBuffer#0",
- "pinName": "IN"
+ "compName": "GUISplitter#0",
+ "pinName": "O1"
},
- "name": "unnamedWire#112",
+ "name": "unnamedWire#5",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y101"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I101"
},
- "name": "unnamedWire#113",
+ "name": "unnamedWire#116",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y011"
+ "compName": "GUISplitter#6",
+ "pinName": "O0"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#7",
- "pinName": "I011"
+ "pinName": "S0"
},
- "name": "unnamedWire#118",
+ "name": "unnamedWire#125",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y010"
+ "compName": "DeserializedSubmodelComponent#18",
+ "pinName": "I0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I010"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
- "name": "unnamedWire#119",
+ "name": "unnamedWire#224",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "GUIMerger#2",
+ "pinName": "O"
},
"pin2": {
- "compName": "GUINandGate#2",
- "pinName": "A"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
- "name": "unnamedWire#41",
+ "name": "unnamedWire#22",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y101"
+ "compName": "GUISplitter#0",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I101"
+ "compName": "GUIMerger#0",
+ "pinName": "I0"
},
- "name": "unnamedWire#116",
+ "name": "unnamedWire#4",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "IN"
},
- "name": "unnamedWire#40",
+ "name": "unnamedWire#177",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I100"
+ "compName": "GUINandGate#9",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y100"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EZ"
},
- "name": "unnamedWire#117",
+ "name": "unnamedWire#69",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#3",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "IN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EOVR"
+ "compName": "GUIBitDisplay#2",
+ "pinName": ""
},
- "name": "unnamedWire#43",
+ "name": "unnamedWire#231",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#3",
- "pinName": "A"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
"compName": "WireCrossPoint#9",
"pinName": ""
},
- "name": "unnamedWire#42",
+ "name": "unnamedWire#40",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EC"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUINandGate#5",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "IN"
},
- "name": "unnamedWire#45",
+ "name": "unnamedWire#207",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#2",
- "pinName": "Y"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "CT_EXP"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EN"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "S0"
},
- "name": "unnamedWire#44",
+ "name": "unnamedWire#128",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#4",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "S0"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEZ"
+ "compName": "GUISplitter#11",
+ "pinName": "O1"
},
- "name": "unnamedWire#47",
+ "name": "unnamedWire#169",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#4",
- "pinName": "Y"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "_EZ"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y"
},
- "name": "unnamedWire#46",
+ "name": "unnamedWire#54",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
+ "compName": "GUISplitter#12",
"pinName": "O0"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "YZ"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I00"
},
- "name": "unnamedWire#49",
+ "name": "unnamedWire#176",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_WEC"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
"pin2": {
- "compName": "GUINandGate#5",
- "pinName": "B"
+ "compName": "_submodelinterface",
+ "pinName": "SIO0"
},
- "name": "unnamedWire#48",
+ "name": "unnamedWire#159",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#30",
"pinName": ""
},
"pin2": {
- "compName": "GUINandGate#11",
- "pinName": "Y"
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "EN"
},
- "name": "unnamedWire#220",
+ "name": "unnamedWire#215",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O3"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "I0_4"
+ "compName": "GUISplitter#3",
+ "pinName": "O1"
},
- "name": "unnamedWire#100",
+ "name": "unnamedWire#98",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "Y"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "S1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
- "pinName": "I0"
+ "compName": "GUISplitter#6",
+ "pinName": "O1"
},
- "name": "unnamedWire#221",
+ "name": "unnamedWire#126",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
- "pinName": "O1"
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_2"
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
},
- "name": "unnamedWire#103",
+ "name": "unnamedWire#195",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "I0"
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#20",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
- "name": "unnamedWire#224",
+ "name": "unnamedWire#38",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I110"
},
"pin2": {
- "compName": "GUISplitter#4",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y110"
},
- "name": "unnamedWire#104",
+ "name": "unnamedWire#115",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#21",
- "pinName": ""
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "MC_MUX"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "I1"
+ "compName": "GUISplitter#15",
+ "pinName": "I"
},
- "name": "unnamedWire#225",
+ "name": "unnamedWire#226",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "I"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#3",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "SIOn"
},
- "name": "unnamedWire#101",
+ "name": "unnamedWire#158",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
- "pinName": "Y"
+ "compName": "GUISplitter#0",
+ "pinName": "O10"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "COVD_V"
+ "compName": "GUIMerger#1",
+ "pinName": "I4"
},
- "name": "unnamedWire#222",
+ "name": "unnamedWire#14",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "S0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_1"
+ "compName": "GUISplitter#9",
+ "pinName": "O3"
},
- "name": "unnamedWire#102",
+ "name": "unnamedWire#155",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#17",
- "pinName": "I1"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "GUINandGate#5",
+ "pinName": "A"
},
- "name": "unnamedWire#223",
+ "name": "unnamedWire#39",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "YC"
+ "compName": "GUITriStateBuffer#5",
+ "pinName": "IN"
},
"pin2": {
- "compName": "GUISplitter#1",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "Y"
},
- "name": "unnamedWire#50",
+ "name": "unnamedWire#237",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "O0"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_1"
+ "compName": "GUINandGate#2",
+ "pinName": "A"
},
- "name": "unnamedWire#107",
+ "name": "unnamedWire#41",
"path": []
},
{
"pin1": {
"compName": "GUISplitter#15",
- "pinName": "O1"
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#17",
+ "compName": "DeserializedSubmodelComponent#18",
"pinName": "S0"
},
- "name": "unnamedWire#228",
+ "name": "unnamedWire#227",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#5",
- "pinName": "O1"
+ "compName": "GUISplitter#14",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_2"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "I00"
},
- "name": "unnamedWire#108",
+ "name": "unnamedWire#211",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "YOVR"
+ "compName": "GUITriStateBuffer#1",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "GUISplitter#1",
- "pinName": "O3"
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
},
- "name": "unnamedWire#52",
+ "name": "unnamedWire#161",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
- "pinName": "O3"
+ "compName": "GUISplitter#13",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_4"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "S1"
},
- "name": "unnamedWire#105",
+ "name": "unnamedWire#190",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "MC_MUX"
+ "compName": "GUISplitter#12",
+ "pinName": "O1"
},
"pin2": {
- "compName": "GUISplitter#15",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "S0"
},
- "name": "unnamedWire#226",
+ "name": "unnamedWire#174",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
+ "compName": "GUISplitter#0",
"pinName": "O2"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "YN"
+ "compName": "GUIMerger#0",
+ "pinName": "I2"
},
- "name": "unnamedWire#51",
+ "name": "unnamedWire#6",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#4",
+ "compName": "GUISplitter#1",
"pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
- "name": "unnamedWire#106",
+ "name": "unnamedWire#53",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#15",
- "pinName": "O0"
+ "compName": "GUINandGate#2",
+ "pinName": "B"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#18",
- "pinName": "S0"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEN"
},
- "name": "unnamedWire#227",
+ "name": "unnamedWire#58",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#132",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "QIOn"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#18",
"pinName": ""
},
+ "name": "unnamedWire#157",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EN"
+ },
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "GUINandGate#7",
"pinName": "Y"
},
- "name": "unnamedWire#54",
+ "name": "unnamedWire#67",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "I"
+ "compName": "GUINandGate#4",
+ "pinName": "B"
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_WEZ"
},
- "name": "unnamedWire#53",
+ "name": "unnamedWire#47",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#1",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#56",
+ "name": "unnamedWire#87",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#10",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUISplitter#5",
- "pinName": "O2"
+ "compName": "DeserializedSubmodelComponent#9",
+ "pinName": "I1"
},
- "name": "unnamedWire#109",
+ "name": "unnamedWire#131",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
"pin2": {
- "compName": "GUINandGate#1",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#13",
+ "pinName": "S0"
},
- "name": "unnamedWire#55",
+ "name": "unnamedWire#150",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O10"
+ "compName": "GUISplitter#13",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "I4"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "S2"
},
- "name": "unnamedWire#14",
+ "name": "unnamedWire#189",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#1",
- "pinName": "I3"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O9"
+ "compName": "DeserializedSubmodelComponent#16",
+ "pinName": "I11"
},
- "name": "unnamedWire#13",
+ "name": "unnamedWire#181",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "O"
+ "compName": "_submodelinterface",
+ "pinName": "C0"
},
- "name": "unnamedWire#16",
- "path": [
- {
- "x": 40.0,
- "y": 395.0
- },
- {
- "x": 40.0,
- "y": 325.0
- }
- ]
+ "name": "unnamedWire#156",
+ "path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "O"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_MUX"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "I5-0"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "MUX"
},
- "name": "unnamedWire#15",
+ "name": "unnamedWire#1",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IN"
+ "compName": "GUISplitter#0",
+ "pinName": "O6"
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I2"
+ "compName": "GUIMerger#1",
+ "pinName": "I0"
},
- "name": "unnamedWire#18",
- "path": [
- {
- "x": 5.0,
- "y": 100.0
- },
- {
- "x": 5.0,
- "y": 85.0
- }
- ]
+ "name": "unnamedWire#10",
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IOVR"
+ "compName": "DeserializedSubmodelComponent#17",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I3"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "COVD_V"
},
- "name": "unnamedWire#17",
- "path": [
- {
- "x": 10.0,
- "y": 125.0
- },
- {
- "x": 10.0,
- "y": 95.0
- }
- ]
+ "name": "unnamedWire#222",
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IC"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "Y_MUX"
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I1"
+ "compName": "GUISplitter#2",
+ "pinName": "I"
},
- "name": "unnamedWire#19",
+ "name": "unnamedWire#94",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "I"
+ "compName": "_submodelinterface",
+ "pinName": "_EOVR"
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "QIOn_MUX"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A4"
},
- "name": "unnamedWire#210",
+ "name": "unnamedWire#78",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#29",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#31",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "mu"
},
- "name": "unnamedWire#213",
+ "name": "unnamedWire#28",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#3",
- "pinName": "EN"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "WireCrossPoint#30",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y2"
},
- "name": "unnamedWire#214",
+ "name": "unnamedWire#86",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "I00"
+ "compName": "DeserializedSubmodelComponent#12",
+ "pinName": "B"
},
- "name": "unnamedWire#211",
+ "name": "unnamedWire#147",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#2",
- "pinName": "IN"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I010"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#23",
- "pinName": "Y"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
- "name": "unnamedWire#212",
+ "name": "unnamedWire#191",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#31",
+ "compName": "WireCrossPoint#33",
"pinName": ""
},
"pin2": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "LSHIFT"
+ "compName": "GUINandGate#12",
+ "pinName": "A"
},
- "name": "unnamedWire#217",
+ "name": "unnamedWire#233",
"path": []
},
{
"pin1": {
- "compName": "GUITriStateBuffer#2",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "_CEM"
},
"pin2": {
- "compName": "WireCrossPoint#32",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
- "name": "unnamedWire#218",
+ "name": "unnamedWire#57",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#30",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A3"
},
"pin2": {
- "compName": "GUITriStateBuffer#4",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "_EN"
},
- "name": "unnamedWire#215",
+ "name": "unnamedWire#77",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#31",
- "pinName": ""
+ "compName": "GUINandGate#7",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#30",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
- "name": "unnamedWire#216",
+ "name": "unnamedWire#61",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_CINV"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "CINV"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I"
},
- "name": "unnamedWire#21",
+ "name": "unnamedWire#23",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "IZ"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIMerger#2",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#18",
+ "pinName": "I1"
},
- "name": "unnamedWire#20",
- "path": [
- {
- "x": 5.0,
- "y": 50.0
- },
- {
- "x": 5.0,
- "y": 65.0
- }
- ]
+ "name": "unnamedWire#225",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y1"
+ },
+ "pin2": {
+ "compName": "GUINandGate#9",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#71",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#28",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#21",
+ "pinName": "A"
},
- "name": "unnamedWire#23",
+ "name": "unnamedWire#205",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#32",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O0"
},
"pin2": {
- "compName": "GUITriStateBuffer#1",
- "pinName": "EN"
+ "compName": "_submodelinterface",
+ "pinName": "YZ"
},
- "name": "unnamedWire#219",
+ "name": "unnamedWire#49",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#2",
- "pinName": "O"
+ "compName": "GUISplitter#4",
+ "pinName": "I"
},
"pin2": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#2",
"pinName": ""
},
- "name": "unnamedWire#22",
+ "name": "unnamedWire#106",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Q"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "GUINandGate#7",
+ "pinName": "B"
},
- "name": "unnamedWire#25",
+ "name": "unnamedWire#73",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O11"
},
"pin2": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "GUIMerger#4",
+ "pinName": "I0"
},
- "name": "unnamedWire#24",
+ "name": "unnamedWire#139",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "Q"
+ "compName": "DeserializedSubmodelComponent#11",
+ "pinName": "I1"
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#22",
"pinName": ""
},
- "name": "unnamedWire#27",
+ "name": "unnamedWire#143",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#16",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
- "name": "unnamedWire#26",
+ "name": "unnamedWire#24",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "muSR_OVRRET"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "C"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "OVRRET"
},
- "name": "unnamedWire#29",
+ "name": "unnamedWire#2",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "mu"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I"
},
- "name": "unnamedWire#28",
+ "name": "unnamedWire#113",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#29",
- "pinName": ""
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "OEN"
},
"pin2": {
- "compName": "GUINandGate#11",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "B"
},
- "name": "unnamedWire#202",
+ "name": "unnamedWire#138",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#11",
- "pinName": "B"
+ "compName": "GUINandGate#8",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#29",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "_EC"
},
- "name": "unnamedWire#203",
+ "name": "unnamedWire#68",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#27",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
- "pinName": "B"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
- "name": "unnamedWire#200",
+ "name": "unnamedWire#65",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#26",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "IC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "I11"
+ "compName": "GUIMerger#2",
+ "pinName": "I1"
},
- "name": "unnamedWire#201",
+ "name": "unnamedWire#19",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#21",
- "pinName": "B"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "OE0"
},
"pin2": {
- "compName": "GUISplitter#7",
- "pinName": "O3"
+ "compName": "WireCrossPoint#30",
+ "pinName": ""
},
- "name": "unnamedWire#206",
+ "name": "unnamedWire#203",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "Y"
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
},
"pin2": {
- "compName": "GUITriStateBuffer#1",
- "pinName": "IN"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
- "name": "unnamedWire#207",
+ "name": "unnamedWire#173",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "I11"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "C"
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
},
- "name": "unnamedWire#30",
+ "name": "unnamedWire#182",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#28",
- "pinName": ""
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "IN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#10",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "Y"
},
- "name": "unnamedWire#204",
+ "name": "unnamedWire#165",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#28",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#21",
- "pinName": "A"
+ "compName": "GUINandGate#0",
+ "pinName": "B"
},
- "name": "unnamedWire#205",
+ "name": "unnamedWire#34",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904ShiftInstrDecode#0",
- "pinName": "MC_EN"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "A"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "COVD_EN"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "CT_INV"
},
- "name": "unnamedWire#32",
+ "name": "unnamedWire#130",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "MSR_MUX"
+ "compName": "GUITriStateBuffer#4",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "MUX"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
- "name": "unnamedWire#31",
+ "name": "unnamedWire#164",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUIMerger#1",
+ "pinName": "I3"
},
"pin2": {
- "compName": "GUINandGate#0",
- "pinName": "B"
+ "compName": "GUISplitter#0",
+ "pinName": "O9"
},
- "name": "unnamedWire#34",
+ "name": "unnamedWire#13",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "O2"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "MC_EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "S1"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "COVD_EN"
},
- "name": "unnamedWire#208",
+ "name": "unnamedWire#32",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#0",
- "pinName": "A"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "I"
},
- "name": "unnamedWire#33",
+ "name": "unnamedWire#133",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#14",
- "pinName": "O1"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#22",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "M"
},
- "name": "unnamedWire#209",
+ "name": "unnamedWire#136",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#17",
- "pinName": ""
+ "compName": "GUISplitter#3",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "S0"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
- "name": "unnamedWire#150",
+ "name": "unnamedWire#101",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "Y"
+ "compName": "_submodelinterface",
+ "pinName": "C"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "I1"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
- "name": "unnamedWire#151",
- "path": []
+ "name": "unnamedWire#0",
+ "path": [
+ {
+ "x": 5.0,
+ "y": 25.0
+ },
+ {
+ "x": 5.0,
+ "y": 10.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_3"
},
"pin2": {
- "compName": "WireCrossPoint#17",
- "pinName": ""
+ "compName": "GUISplitter#5",
+ "pinName": "O2"
},
- "name": "unnamedWire#154",
+ "name": "unnamedWire#109",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "S0"
+ "compName": "GUISplitter#3",
+ "pinName": "O0"
},
"pin2": {
- "compName": "GUISplitter#9",
- "pinName": "O3"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#155",
+ "name": "unnamedWire#97",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y011"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Cx"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I011"
},
- "name": "unnamedWire#152",
+ "name": "unnamedWire#118",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#13",
- "pinName": "Y"
+ "compName": "GUISplitter#6",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "I1"
+ "compName": "GUIAm2904RegCTInstrDecode#0",
+ "pinName": "CT_MUX"
},
- "name": "unnamedWire#153",
+ "name": "unnamedWire#124",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#19",
- "pinName": ""
+ "compName": "GUISplitter#7",
+ "pinName": "O2"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "SIOn"
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
},
- "name": "unnamedWire#158",
+ "name": "unnamedWire#134",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#20",
- "pinName": ""
+ "compName": "GUIMerger#3",
+ "pinName": "I3"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "SIO0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y4"
},
- "name": "unnamedWire#159",
+ "name": "unnamedWire#92",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#14",
- "pinName": "Y"
+ "compName": "GUISplitter#5",
+ "pinName": "O3"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "C0"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_4"
},
- "name": "unnamedWire#156",
+ "name": "unnamedWire#110",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "QIOn"
+ "compName": "GUINandGate#3",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#18",
+ "compName": "WireCrossPoint#9",
"pinName": ""
},
- "name": "unnamedWire#157",
+ "name": "unnamedWire#42",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#4",
- "pinName": "I1"
+ "compName": "WireCrossPoint#25",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O12"
+ "compName": "WireCrossPoint#24",
+ "pinName": ""
},
- "name": "unnamedWire#140",
+ "name": "unnamedWire#185",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I5"
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O5"
+ "compName": "GUINandGate#4",
+ "pinName": "A"
},
- "name": "unnamedWire#9",
+ "name": "unnamedWire#37",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "I1"
+ "compName": "DeserializedSubmodelComponent#12",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#22",
- "pinName": ""
+ "compName": "GUISplitter#9",
+ "pinName": "O0"
},
- "name": "unnamedWire#143",
+ "name": "unnamedWire#148",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O4"
+ "compName": "GUIMerger#0",
+ "pinName": "I5"
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I4"
+ "compName": "GUISplitter#0",
+ "pinName": "O5"
},
- "name": "unnamedWire#8",
+ "name": "unnamedWire#9",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#10",
- "pinName": "I"
+ "compName": "GUISplitter#9",
+ "pinName": "O2"
},
"pin2": {
- "compName": "WireCrossPoint#3",
+ "compName": "WireCrossPoint#17",
"pinName": ""
},
- "name": "unnamedWire#144",
+ "name": "unnamedWire#149",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I3"
+ "compName": "GUISplitter#14",
+ "pinName": "I"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O3"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "QIOn_MUX"
},
- "name": "unnamedWire#7",
+ "name": "unnamedWire#210",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#4",
- "pinName": "O"
+ "compName": "GUINandGate#0",
+ "pinName": "A"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "I12-11"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
- "name": "unnamedWire#141",
+ "name": "unnamedWire#33",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O2"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I2"
+ "compName": "GUITriStateBuffer#0",
+ "pinName": "IN"
},
- "name": "unnamedWire#6",
+ "name": "unnamedWire#112",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "C0_MUX"
+ "compName": "_submodelinterface",
+ "pinName": "IOVR"
},
"pin2": {
- "compName": "GUISplitter#9",
- "pinName": "I"
+ "compName": "GUIMerger#2",
+ "pinName": "I3"
},
- "name": "unnamedWire#142",
- "path": []
+ "name": "unnamedWire#17",
+ "path": [
+ {
+ "x": 10.0,
+ "y": 125.0
+ },
+ {
+ "x": 10.0,
+ "y": 95.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "Y"
+ "compName": "_submodelinterface",
+ "pinName": "_EC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "A2"
},
- "name": "unnamedWire#147",
+ "name": "unnamedWire#76",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#12",
- "pinName": "A"
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#9",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#10",
+ "pinName": "A"
},
- "name": "unnamedWire#148",
+ "name": "unnamedWire#204",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#10",
- "pinName": "O1"
+ "compName": "GUITriStateBuffer#3",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "I0"
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
},
- "name": "unnamedWire#145",
+ "name": "unnamedWire#163",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#9",
- "pinName": "O1"
+ "compName": "GUINandGate#9",
+ "pinName": "A"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#11",
- "pinName": "S0"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
- "name": "unnamedWire#146",
+ "name": "unnamedWire#63",
"path": []
},
{
"pin1": {
"compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_MUX"
+ "pinName": "muSR_CINV"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#1",
- "pinName": "MUX"
+ "pinName": "CINV"
},
- "name": "unnamedWire#1",
+ "name": "unnamedWire#21",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "C"
- },
- "pin2": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
- },
- "name": "unnamedWire#0",
- "path": [
- {
- "x": 5.0,
- "y": 25.0
- },
- {
- "x": 5.0,
- "y": 10.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "GUISplitter#9",
- "pinName": "O2"
+ "compName": "GUINandGate#10",
+ "pinName": "Y"
},
"pin2": {
- "compName": "WireCrossPoint#17",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "A"
},
- "name": "unnamedWire#149",
+ "name": "unnamedWire#83",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I1"
+ "compName": "GUISplitter#11",
+ "pinName": "O2"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "S1"
},
- "name": "unnamedWire#5",
+ "name": "unnamedWire#168",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O6"
+ "compName": "DeserializedSubmodelComponent#14",
+ "pinName": "I0"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "I0"
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
},
- "name": "unnamedWire#10",
+ "name": "unnamedWire#154",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#18",
+ "pinName": "Y"
},
"pin2": {
- "compName": "GUIMerger#0",
+ "compName": "DeserializedSubmodelComponent#17",
"pinName": "I0"
},
- "name": "unnamedWire#4",
+ "name": "unnamedWire#221",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I"
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#23",
+ "pinName": "I011"
},
- "name": "unnamedWire#3",
+ "name": "unnamedWire#192",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O8"
+ "compName": "GUISplitter#11",
+ "pinName": "O0"
},
"pin2": {
- "compName": "GUIMerger#1",
- "pinName": "I2"
+ "compName": "DeserializedSubmodelComponent#15",
+ "pinName": "I00"
},
- "name": "unnamedWire#12",
+ "name": "unnamedWire#167",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#1",
- "pinName": "I1"
+ "compName": "GUISplitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O7"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "S0"
},
- "name": "unnamedWire#11",
+ "name": "unnamedWire#96",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "muSR_OVRRET"
+ "compName": "GUISplitter#5",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "OVRRET"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#2",
+ "name": "unnamedWire#107",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "I"
+ "compName": "_submodelinterface",
+ "pinName": "YN"
},
- "name": "unnamedWire#132",
+ "name": "unnamedWire#51",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "GUISplitter#7",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#133",
+ "name": "unnamedWire#85",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "CT_INV"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y4"
},
- "name": "unnamedWire#130",
+ "name": "unnamedWire#88",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#10",
+ "compName": "DeserializedSubmodelComponent#12",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "DeserializedSubmodelComponent#13",
"pinName": "I1"
},
- "name": "unnamedWire#131",
+ "name": "unnamedWire#151",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "GUIMerger#1",
+ "pinName": "I1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "M"
+ "compName": "GUISplitter#0",
+ "pinName": "O7"
},
- "name": "unnamedWire#136",
+ "name": "unnamedWire#11",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "SIO0_MUX"
},
"pin2": {
- "compName": "GUISplitter#8",
+ "compName": "GUISplitter#11",
"pinName": "I"
},
- "name": "unnamedWire#137",
+ "name": "unnamedWire#166",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#7",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "WireCrossPoint#28",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
- "name": "unnamedWire#134",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#8",
- "pinName": "O2"
- },
"pin2": {
- "compName": "WireCrossPoint#27",
- "pinName": ""
+ "compName": "GUINandGate#10",
+ "pinName": "A"
},
- "name": "unnamedWire#135",
+ "name": "unnamedWire#80",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "OEN"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "I0_3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "B"
+ "compName": "GUISplitter#3",
+ "pinName": "O2"
},
- "name": "unnamedWire#138",
+ "name": "unnamedWire#99",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O11"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIMerger#4",
- "pinName": "I0"
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
},
- "name": "unnamedWire#139",
+ "name": "unnamedWire#64",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y000"
+ "compName": "GUITriStateBuffer#2",
+ "pinName": "OUT"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I000"
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
},
- "name": "unnamedWire#121",
+ "name": "unnamedWire#162",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "Y"
+ "compName": "GUISplitter#13",
+ "pinName": "I"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "CT"
+ "compName": "GUIAm2904ShiftInstrDecode#0",
+ "pinName": "SIOn_MUX"
},
- "name": "unnamedWire#122",
+ "name": "unnamedWire#188",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I001"
+ "compName": "GUISplitter#5",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y001"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
- "name": "unnamedWire#120",
+ "name": "unnamedWire#111",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#6",
- "pinName": "O0"
+ "compName": "GUISplitter#15",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
+ "compName": "DeserializedSubmodelComponent#17",
"pinName": "S0"
},
- "name": "unnamedWire#125",
+ "name": "unnamedWire#228",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "S1"
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#6",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#22",
+ "pinName": "I11"
},
- "name": "unnamedWire#126",
+ "name": "unnamedWire#201",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "GUINandGate#4",
"pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "_EZ"
},
- "name": "unnamedWire#123",
+ "name": "unnamedWire#46",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#6",
- "pinName": "I"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "CT_MUX"
+ "compName": "GUISplitter#8",
+ "pinName": "I"
},
- "name": "unnamedWire#124",
+ "name": "unnamedWire#137",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "Y"
+ "compName": "GUISplitter#10",
+ "pinName": "O1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
+ "compName": "DeserializedSubmodelComponent#11",
"pinName": "I0"
},
- "name": "unnamedWire#129",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#6",
- "pinName": "O2"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "S2"
- },
- "name": "unnamedWire#127",
+ "name": "unnamedWire#145",
"path": []
},
{
"pin1": {
- "compName": "GUIAm2904RegCTInstrDecode#0",
- "pinName": "CT_EXP"
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#9",
- "pinName": "S0"
+ "compName": "_submodelinterface",
+ "pinName": "_OEY"
},
- "name": "unnamedWire#128",
+ "name": "unnamedWire#82",
"path": []
}
- ]
+ ],
+ "version": "0.1.1"
},
"symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
- }
+ },
+ "version": "0.1.4"
}
\ No newline at end of file
-mograsim version: 0.1.3
{
"width": 45.0,
"height": 46.0,
"logicWidth": 1
}
],
+ "innerScale": 0.1,
"submodel": {
- "innerScale": 0.1,
- "subComps": [
+ "components": [
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#14",
+ "name": "WireCrossPoint#2",
"pos": {
- "x": 89.0,
- "y": 104.0
+ "x": 419.0,
+ "y": 184.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#13",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#0",
"pos": {
- "x": 194.0,
- "y": 234.0
- },
- "params": 1
+ "x": 55.0,
+ "y": 110.0
+ }
},
{
- "id": "GUINandGate",
- "name": "GUINandGate#0",
+ "id": "GUIMerger",
+ "name": "GUIMerger#0",
"pos": {
- "x": 325.0,
- "y": 90.0
+ "x": 435.0,
+ "y": 175.0
},
- "params": 1
+ "params": 4
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#16",
+ "name": "WireCrossPoint#5",
"pos": {
- "x": 319.0,
- "y": 104.0
+ "x": 84.0,
+ "y": 344.0
},
"params": 1
},
+ {
+ "id": "GUISplitter",
+ "name": "GUISplitter#0",
+ "pos": {
+ "x": 5.0,
+ "y": 35.0
+ },
+ "params": 4
+ },
+ {
+ "id": "GUIdff4_finewe",
+ "name": "GUIdff4_finewe#0",
+ "pos": {
+ "x": 375.0,
+ "y": 170.0
+ }
+ },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#15",
+ "name": "WireCrossPoint#8",
"pos": {
- "x": 319.0,
- "y": 294.0
+ "x": 74.0,
+ "y": 314.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#3",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
"pos": {
- "x": 5.0,
- "y": 295.0
+ "x": 424.0,
+ "y": 194.0
},
- "params": 4
+ "params": 1
},
{
"id": "GUISplitter",
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#1",
+ "name": "WireCrossPoint#4",
"pos": {
- "x": 414.0,
- "y": 174.0
+ "x": 429.0,
+ "y": 204.0
},
"params": 1
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#0",
+ "name": "WireCrossPoint#11",
"pos": {
- "x": 29.0,
- "y": 284.0
+ "x": 89.0,
+ "y": 94.0
},
"params": 1
},
{
- "id": "GUISplitter",
- "name": "GUISplitter#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
"pos": {
- "x": 5.0,
- "y": 35.0
+ "x": 19.0,
+ "y": 294.0
},
- "params": 4
+ "params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#3",
+ "id": "GUINandGate",
+ "name": "GUINandGate#0",
"pos": {
- "x": 424.0,
- "y": 194.0
+ "x": 325.0,
+ "y": 90.0
},
"params": 1
},
{
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#2",
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#5",
"pos": {
- "x": 419.0,
- "y": 184.0
- },
- "params": 1
+ "x": 200.0,
+ "y": 230.0
+ }
+ },
+ {
+ "id": "GUImux1",
+ "name": "DeserializedSubmodelComponent#7",
+ "pos": {
+ "x": 325.0,
+ "y": 290.0
+ }
+ },
+ {
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#2",
+ "pos": {
+ "x": 150.0,
+ "y": 280.0
+ }
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#5",
+ "name": "WireCrossPoint#0",
"pos": {
- "x": 84.0,
- "y": 344.0
+ "x": 29.0,
+ "y": 284.0
},
"params": 1
},
+ {
+ "id": "GUIxor",
+ "name": "DeserializedSubmodelComponent#1",
+ "pos": {
+ "x": 35.0,
+ "y": 250.0
+ }
+ },
+ {
+ "id": "GUInot4",
+ "name": "DeserializedSubmodelComponent#3",
+ "pos": {
+ "x": 100.0,
+ "y": 330.0
+ }
+ },
+ {
+ "id": "GUImux1_4",
+ "name": "DeserializedSubmodelComponent#4",
+ "pos": {
+ "x": 110.0,
+ "y": 60.0
+ }
+ },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#4",
+ "name": "WireCrossPoint#1",
"pos": {
- "x": 429.0,
- "y": 204.0
+ "x": 414.0,
+ "y": 174.0
},
"params": 1
},
},
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#9",
- "pos": {
- "x": 49.0,
- "y": 114.0
- },
- "params": 1
- },
- {
- "id": "WireCrossPoint",
- "name": "WireCrossPoint#8",
+ "name": "WireCrossPoint#14",
"pos": {
- "x": 74.0,
- "y": 314.0
+ "x": 89.0,
+ "y": 104.0
},
"params": 1
},
- {
- "id": "GUIdff4_finewe",
- "name": "GUIdff4_finewe#0",
- "pos": {
- "x": 375.0,
- "y": 170.0
- }
- },
- {
- "id": "GUIxor",
- "name": "DeserializedSubmodelComponent#1",
- "pos": {
- "x": 35.0,
- "y": 250.0
- }
- },
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#10",
},
"params": 1
},
- {
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#0",
- "pos": {
- "x": 55.0,
- "y": 110.0
- }
- },
- {
- "id": "GUInot4",
- "name": "DeserializedSubmodelComponent#3",
- "pos": {
- "x": 100.0,
- "y": 330.0
- }
- },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#12",
+ "name": "WireCrossPoint#15",
"pos": {
- "x": 19.0,
+ "x": 319.0,
"y": 294.0
},
"params": 1
},
- {
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#2",
- "pos": {
- "x": 150.0,
- "y": 280.0
- }
- },
{
"id": "WireCrossPoint",
- "name": "WireCrossPoint#11",
+ "name": "WireCrossPoint#9",
"pos": {
- "x": 89.0,
- "y": 94.0
+ "x": 49.0,
+ "y": 114.0
},
"params": 1
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#5",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#16",
"pos": {
- "x": 200.0,
- "y": 230.0
- }
+ "x": 319.0,
+ "y": 104.0
+ },
+ "params": 1
},
{
- "id": "GUImux1_4",
- "name": "DeserializedSubmodelComponent#4",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#13",
"pos": {
- "x": 110.0,
- "y": 60.0
- }
+ "x": 194.0,
+ "y": 234.0
+ },
+ "params": 1
},
{
- "id": "GUImux1",
- "name": "DeserializedSubmodelComponent#7",
+ "id": "GUIand",
+ "name": "DeserializedSubmodelComponent#8",
"pos": {
- "x": 325.0,
- "y": 290.0
+ "x": 380.0,
+ "y": 85.0
}
},
{
}
},
{
- "id": "GUIMerger",
- "name": "GUIMerger#0",
+ "id": "GUISplitter",
+ "name": "GUISplitter#3",
"pos": {
- "x": 435.0,
- "y": 175.0
+ "x": 5.0,
+ "y": 295.0
},
"params": 4
- },
- {
- "id": "GUIand",
- "name": "DeserializedSubmodelComponent#8",
- "pos": {
- "x": 380.0,
- "y": 85.0
- }
}
],
- "innerWires": [
+ "wires": [
{
"pin1": {
- "compName": "WireCrossPoint#3",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A3"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#36",
+ "name": "unnamedWire#12",
"path": [
{
- "x": 425.0,
- "y": 390.0
- },
- {
- "x": 90.0,
- "y": 390.0
+ "x": 35.0,
+ "y": 35.0
},
{
- "x": 90.0,
- "y": 355.0
+ "x": 35.0,
+ "y": 125.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "S0"
},
- "name": "unnamedWire#35",
- "path": [
- {
- "x": 420.0,
- "y": 385.0
- },
- {
- "x": 85.0,
- "y": 385.0
- }
- ]
+ "name": "unnamedWire#68",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y3"
+ "compName": "_submodelinterface",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
+ "compName": "GUISplitter#1",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#11",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "I0_3"
},
- "name": "unnamedWire#79",
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#61",
"path": [
{
- "x": 205.0,
- "y": 85.0
- },
- {
- "x": 205.0,
- "y": 215.0
+ "x": 75.0,
+ "y": 265.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "A"
},
"pin2": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#7",
"pinName": ""
},
- "name": "unnamedWire#38",
+ "name": "unnamedWire#25",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUISplitter#2",
+ "pinName": "O2"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "S0"
},
- "name": "unnamedWire#37",
+ "name": "unnamedWire#82",
"path": [
{
- "x": 430.0,
- "y": 395.0
+ "x": 245.0,
+ "y": 445.0
},
{
- "x": 95.0,
- "y": 395.0
+ "x": 245.0,
+ "y": 185.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_4"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#5",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "S0"
},
- "name": "unnamedWire#39",
- "path": [
- {
- "x": 85.0,
- "y": 325.0
- }
- ]
+ "name": "unnamedWire#43",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y1"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I0_1"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
- "name": "unnamedWire#81",
- "path": [
- {
- "x": 215.0,
- "y": 65.0
- },
- {
- "x": 215.0,
- "y": 195.0
- }
- ]
+ "name": "unnamedWire#21",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I0_2"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "DeserializedSubmodelComponent#0",
"pinName": "Y2"
},
- "name": "unnamedWire#80",
- "path": [
- {
- "x": 210.0,
- "y": 205.0
- },
- {
- "x": 210.0,
- "y": 75.0
- }
- ]
+ "name": "unnamedWire#46",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "GUISplitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#15",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
- "name": "unnamedWire#83",
- "path": []
+ "name": "unnamedWire#67",
+ "path": [
+ {
+ "x": 195.0,
+ "y": 435.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O2"
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A3"
},
- "name": "unnamedWire#82",
+ "name": "unnamedWire#36",
"path": [
{
- "x": 245.0,
- "y": 445.0
+ "x": 425.0,
+ "y": 390.0
},
{
- "x": 245.0,
- "y": 185.0
+ "x": 90.0,
+ "y": 390.0
+ },
+ {
+ "x": 90.0,
+ "y": 355.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O1"
},
- "name": "unnamedWire#41",
+ "name": "unnamedWire#17",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y4"
},
- "name": "unnamedWire#85",
+ "name": "unnamedWire#48",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#6",
+ "compName": "WireCrossPoint#10",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "DeserializedSubmodelComponent#4",
"pinName": "I0_2"
},
- "name": "unnamedWire#40",
- "path": [
- {
- "x": 95.0,
- "y": 305.0
- }
- ]
+ "name": "unnamedWire#53",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "C"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "COVD_EN"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "C"
},
- "name": "unnamedWire#84",
+ "name": "unnamedWire#0",
"path": [
{
- "x": 275.0,
- "y": 295.0
+ "x": 140.0,
+ "y": 415.0
+ },
+ {
+ "x": 255.0,
+ "y": 415.0
+ },
+ {
+ "x": 255.0,
+ "y": 280.0
+ },
+ {
+ "x": 340.0,
+ "y": 280.0
+ },
+ {
+ "x": 340.0,
+ "y": 175.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "S0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y2"
},
- "name": "unnamedWire#43",
+ "name": "unnamedWire#31",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y2"
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I0"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#87",
+ "name": "unnamedWire#35",
"path": [
{
- "x": 305.0,
- "y": 195.0
+ "x": 420.0,
+ "y": 385.0
},
{
- "x": 305.0,
- "y": 305.0
+ "x": 85.0,
+ "y": 385.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "COVD_EN"
},
- "name": "unnamedWire#42",
+ "name": "unnamedWire#84",
"path": [
{
- "x": 30.0,
- "y": 230.0
- },
- {
- "x": 50.0,
- "y": 230.0
+ "x": 275.0,
+ "y": 295.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "COVD_V"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "I1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_3"
},
- "name": "unnamedWire#86",
+ "name": "unnamedWire#79",
"path": [
{
- "x": 375.0,
- "y": 325.0
- },
- {
- "x": 320.0,
- "y": 325.0
+ "x": 205.0,
+ "y": 85.0
},
{
- "x": 320.0,
- "y": 315.0
+ "x": 205.0,
+ "y": 215.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#9",
- "pinName": ""
+ "compName": "GUISplitter#3",
+ "pinName": "O1"
},
"pin2": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#1",
+ "pinName": "B"
},
- "name": "unnamedWire#45",
+ "name": "unnamedWire#23",
"path": [
{
- "x": 50.0,
- "y": 105.0
+ "x": 25.0,
+ "y": 305.0
+ },
+ {
+ "x": 25.0,
+ "y": 265.0
}
]
},
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "DeserializedSubmodelComponent#6",
"pinName": "I1_1"
},
- "name": "unnamedWire#44",
+ "name": "unnamedWire#77",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#7",
- "pinName": "Y"
- },
- "pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D2"
- },
- "name": "unnamedWire#88",
- "path": [
- {
- "x": 365.0,
- "y": 295.0
- },
- {
- "x": 365.0,
- "y": 235.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#47",
+ "name": "unnamedWire#57",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I1_2"
+ "compName": "_submodelinterface",
+ "pinName": "I"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y2"
+ "compName": "GUISplitter#3",
+ "pinName": "I"
},
- "name": "unnamedWire#46",
+ "name": "unnamedWire#22",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I0_4"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_3"
},
- "name": "unnamedWire#49",
- "path": []
+ "name": "unnamedWire#14",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 55.0
+ },
+ {
+ "x": 25.0,
+ "y": 145.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I1_4"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "Y4"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#48",
+ "name": "unnamedWire#63",
"path": []
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "Q2"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_2"
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "GUISplitter#0",
+ "pinName": "O1"
},
- "name": "unnamedWire#9",
- "path": []
+ "name": "unnamedWire#13",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 135.0
+ },
+ {
+ "x": 30.0,
+ "y": 45.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I1"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#8",
+ "name": "unnamedWire#44",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#14",
"pinName": ""
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I0"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I0_4"
},
- "name": "unnamedWire#7",
+ "name": "unnamedWire#49",
"path": []
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "Q1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_4"
},
"pin2": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y4"
},
- "name": "unnamedWire#6",
- "path": []
+ "name": "unnamedWire#78",
+ "path": [
+ {
+ "x": 200.0,
+ "y": 225.0
+ },
+ {
+ "x": 200.0,
+ "y": 95.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#15",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#90",
+ "name": "unnamedWire#65",
"path": []
},
{
"pin1": {
- "compName": "GUINandGate#0",
- "pinName": "A"
+ "compName": "_submodelinterface",
+ "pinName": "MUX"
},
"pin2": {
- "compName": "WireCrossPoint#16",
- "pinName": ""
+ "compName": "GUISplitter#2",
+ "pinName": "I"
},
- "name": "unnamedWire#92",
+ "name": "unnamedWire#20",
"path": [
{
- "x": 320.0,
- "y": 95.0
+ "x": 40.0,
+ "y": 435.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#16",
+ "compName": "GUIMerger#0",
+ "pinName": "I3"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUISplitter#1",
+ "pinName": "O2"
+ },
"pin2": {
- "compName": "GUINandGate#0",
- "pinName": "B"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#91",
+ "name": "unnamedWire#18",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EOVR"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I0_1"
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE4"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
- "name": "unnamedWire#1",
+ "name": "unnamedWire#54",
"path": [
{
- "x": 355.0,
- "y": 30.0
- },
- {
- "x": 355.0,
- "y": 215.0
+ "x": 90.0,
+ "y": 75.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#50",
+ "name": "unnamedWire#32",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "C"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
"compName": "GUIdff4_finewe#0",
- "pinName": "C"
+ "pinName": "Q4"
},
- "name": "unnamedWire#0",
- "path": [
- {
- "x": 140.0,
- "y": 415.0
- },
- {
- "x": 255.0,
- "y": 415.0
- },
- {
- "x": 255.0,
- "y": 280.0
- },
- {
- "x": 340.0,
- "y": 280.0
- },
- {
- "x": 340.0,
- "y": 175.0
- }
- ]
+ "name": "unnamedWire#29",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
+ "compName": "DeserializedSubmodelComponent#2",
"pinName": "I0_3"
},
"pin2": {
- "compName": "WireCrossPoint#11",
+ "compName": "WireCrossPoint#8",
"pinName": ""
},
- "name": "unnamedWire#52",
+ "name": "unnamedWire#41",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#11",
- "pinName": ""
+ "compName": "GUISplitter#1",
+ "pinName": "O3"
},
"pin2": {
- "compName": "WireCrossPoint#14",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_4"
},
- "name": "unnamedWire#51",
+ "name": "unnamedWire#19",
"path": []
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "O"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Q"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A1"
},
- "name": "unnamedWire#5",
- "path": []
+ "name": "unnamedWire#34",
+ "path": [
+ {
+ "x": 415.0,
+ "y": 380.0
+ },
+ {
+ "x": 80.0,
+ "y": 380.0
+ },
+ {
+ "x": 80.0,
+ "y": 335.0
+ }
+ ]
},
{
"pin1": {
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I0_1"
+ "compName": "GUISplitter#3",
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#10",
+ "compName": "WireCrossPoint#12",
"pinName": ""
},
- "name": "unnamedWire#54",
- "path": [
- {
- "x": 90.0,
- "y": 75.0
- }
- ]
+ "name": "unnamedWire#38",
+ "path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EZ"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE1"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
- "name": "unnamedWire#4",
+ "name": "unnamedWire#45",
"path": [
{
- "x": 55.0,
- "y": 15.0
- },
- {
- "x": 370.0,
- "y": 15.0
- },
- {
- "x": 370.0,
- "y": 185.0
+ "x": 50.0,
+ "y": 105.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#10",
- "pinName": ""
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "I0_2"
- },
- "name": "unnamedWire#53",
- "path": []
- },
- {
- "pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O0"
+ "compName": "GUINandGate#0",
+ "pinName": "A"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_1"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
- "name": "unnamedWire#12",
+ "name": "unnamedWire#92",
"path": [
{
- "x": 35.0,
- "y": 35.0
- },
- {
- "x": 35.0,
- "y": 125.0
+ "x": 320.0,
+ "y": 95.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A2"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I0_3"
},
"pin2": {
- "compName": "WireCrossPoint#5",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
- "name": "unnamedWire#56",
+ "name": "unnamedWire#52",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EC"
+ "compName": "GUISplitter#2",
+ "pinName": "O0"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "A"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
- "name": "unnamedWire#3",
+ "name": "unnamedWire#24",
"path": [
{
- "x": 155.0,
- "y": 20.0
+ "x": 60.0,
+ "y": 425.0
},
{
- "x": 365.0,
- "y": 20.0
+ "x": 60.0,
+ "y": 415.0
},
{
- "x": 365.0,
- "y": 90.0
+ "x": 30.0,
+ "y": 415.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "_EN"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE3"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
- "name": "unnamedWire#2",
+ "name": "unnamedWire#37",
"path": [
{
- "x": 255.0,
- "y": 25.0
- },
- {
- "x": 360.0,
- "y": 25.0
+ "x": 430.0,
+ "y": 395.0
},
{
- "x": 360.0,
- "y": 205.0
+ "x": 95.0,
+ "y": 395.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "Y"
- },
- "pin2": {
"compName": "GUISplitter#1",
- "pinName": "I"
- },
- "name": "unnamedWire#11",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A4"
+ "pinName": "O0"
},
"pin2": {
- "compName": "WireCrossPoint#6",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#55",
+ "name": "unnamedWire#16",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#0",
- "pinName": "O2"
+ "compName": "_submodelinterface",
+ "pinName": "_EOVR"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_3"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE4"
},
- "name": "unnamedWire#14",
+ "name": "unnamedWire#1",
"path": [
{
- "x": 25.0,
- "y": 55.0
+ "x": 355.0,
+ "y": 30.0
},
{
- "x": 25.0,
- "y": 145.0
+ "x": 355.0,
+ "y": 215.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O2"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#8",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "S0"
},
- "name": "unnamedWire#58",
+ "name": "unnamedWire#93",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_2"
+ "compName": "GUIMerger#0",
+ "pinName": "O"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O1"
+ "compName": "_submodelinterface",
+ "pinName": "Q"
},
- "name": "unnamedWire#13",
- "path": [
- {
- "x": 30.0,
- "y": 135.0
- },
- {
- "x": 30.0,
- "y": 45.0
- }
- ]
+ "name": "unnamedWire#5",
+ "path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y3"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I0_1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I1_3"
},
- "name": "unnamedWire#57",
+ "name": "unnamedWire#75",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_1"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#16",
+ "name": "unnamedWire#56",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I0_4"
+ "compName": "_submodelinterface",
+ "pinName": "COVD_V"
},
"pin2": {
- "compName": "GUISplitter#0",
- "pinName": "O3"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I1"
},
- "name": "unnamedWire#15",
+ "name": "unnamedWire#86",
"path": [
{
- "x": 20.0,
- "y": 155.0
+ "x": 375.0,
+ "y": 325.0
},
{
- "x": 20.0,
- "y": 65.0
+ "x": 320.0,
+ "y": 325.0
+ },
+ {
+ "x": 320.0,
+ "y": 315.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#12",
+ "compName": "WireCrossPoint#13",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_1"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "S0"
},
- "name": "unnamedWire#59",
+ "name": "unnamedWire#69",
"path": [
{
- "x": 20.0,
- "y": 245.0
+ "x": 105.0,
+ "y": 235.0
+ },
+ {
+ "x": 105.0,
+ "y": 65.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "O2"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "Q2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_3"
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
},
- "name": "unnamedWire#18",
+ "name": "unnamedWire#9",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#0",
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y4"
+ },
+ "pin2": {
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D4"
+ },
+ "name": "unnamedWire#70",
+ "path": [
+ {
+ "x": 295.0,
+ "y": 215.0
+ },
+ {
+ "x": 295.0,
+ "y": 255.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "I1_2"
},
"pin2": {
- "compName": "GUISplitter#1",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "Y2"
},
- "name": "unnamedWire#17",
+ "name": "unnamedWire#64",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#1",
- "pinName": "O3"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#0",
- "pinName": "I1_4"
+ "compName": "GUIMerger#0",
+ "pinName": "I0"
},
- "name": "unnamedWire#19",
+ "name": "unnamedWire#7",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_3"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I0_4"
},
"pin2": {
- "compName": "WireCrossPoint#8",
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
- "name": "unnamedWire#61",
+ "name": "unnamedWire#39",
"path": [
- {
- "x": 75.0,
- "y": 265.0
+ {
+ "x": 85.0,
+ "y": 325.0
}
]
},
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y1"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_1"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "S0"
},
- "name": "unnamedWire#63",
+ "name": "unnamedWire#85",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O3"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I0_4"
- },
- "name": "unnamedWire#62",
- "path": [
- {
- "x": 80.0,
- "y": 325.0
- },
- {
- "x": 80.0,
- "y": 275.0
- }
- ]
- },
- {
- "pin1": {
- "compName": "WireCrossPoint#0",
+ "compName": "WireCrossPoint#3",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#7",
- "pinName": ""
+ "compName": "GUIMerger#0",
+ "pinName": "I2"
},
- "name": "unnamedWire#21",
+ "name": "unnamedWire#27",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_3"
+ "compName": "GUINandGate#0",
+ "pinName": "B"
},
- "name": "unnamedWire#65",
+ "name": "unnamedWire#91",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "MUX"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
"pin2": {
- "compName": "GUISplitter#2",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I0_2"
},
- "name": "unnamedWire#20",
+ "name": "unnamedWire#40",
"path": [
{
- "x": 40.0,
- "y": 435.0
+ "x": 95.0,
+ "y": 305.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "I1_2"
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "Y2"
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
},
- "name": "unnamedWire#64",
- "path": []
+ "name": "unnamedWire#42",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 230.0
+ },
+ {
+ "x": 50.0,
+ "y": 230.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O1"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#67",
+ "name": "unnamedWire#81",
"path": [
{
- "x": 195.0,
- "y": 435.0
+ "x": 215.0,
+ "y": 65.0
+ },
+ {
+ "x": 215.0,
+ "y": 195.0
}
]
},
{
"pin1": {
- "compName": "GUISplitter#3",
- "pinName": "O1"
+ "compName": "_submodelinterface",
+ "pinName": "_EZ"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "B"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE1"
},
- "name": "unnamedWire#23",
+ "name": "unnamedWire#4",
"path": [
{
- "x": 25.0,
- "y": 305.0
+ "x": 55.0,
+ "y": 15.0
},
{
- "x": 25.0,
- "y": 265.0
+ "x": 370.0,
+ "y": 15.0
+ },
+ {
+ "x": 370.0,
+ "y": 185.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D1"
},
"pin2": {
- "compName": "GUISplitter#3",
- "pinName": "I"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y1"
},
- "name": "unnamedWire#22",
- "path": []
+ "name": "unnamedWire#73",
+ "path": [
+ {
+ "x": 310.0,
+ "y": 225.0
+ },
+ {
+ "x": 310.0,
+ "y": 185.0
+ }
+ ]
},
{
"pin1": {
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
- "pinName": ""
+ "compName": "_submodelinterface",
+ "pinName": "_EN"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "S0"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE3"
},
- "name": "unnamedWire#69",
+ "name": "unnamedWire#2",
"path": [
{
- "x": 105.0,
- "y": 235.0
+ "x": 255.0,
+ "y": 25.0
},
{
- "x": 105.0,
- "y": 65.0
+ "x": 360.0,
+ "y": 25.0
+ },
+ {
+ "x": 360.0,
+ "y": 205.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#1",
- "pinName": "A"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "A4"
},
"pin2": {
- "compName": "WireCrossPoint#7",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
- "name": "unnamedWire#25",
+ "name": "unnamedWire#55",
"path": []
},
{
"pin1": {
- "compName": "GUISplitter#2",
- "pinName": "O0"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "WireCrossPoint#0",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y4"
},
- "name": "unnamedWire#24",
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "_WE2"
+ },
+ "name": "unnamedWire#72",
"path": [
{
- "x": 60.0,
- "y": 425.0
+ "x": 420.0,
+ "y": 90.0
},
{
- "x": 60.0,
- "y": 415.0
+ "x": 420.0,
+ "y": 110.0
},
{
- "x": 30.0,
- "y": 415.0
+ "x": 365.0,
+ "y": 110.0
+ },
+ {
+ "x": 365.0,
+ "y": 195.0
}
]
},
{
"pin1": {
- "compName": "WireCrossPoint#13",
+ "compName": "WireCrossPoint#11",
"pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "S0"
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
},
- "name": "unnamedWire#68",
+ "name": "unnamedWire#51",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#3",
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "Y3"
+ },
+ "pin2": {
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "I1_3"
+ },
+ "name": "unnamedWire#47",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#15",
"pinName": ""
},
"pin2": {
- "compName": "GUIMerger#0",
- "pinName": "I2"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
- "name": "unnamedWire#27",
+ "name": "unnamedWire#83",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "GUISplitter#3",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#58",
"path": []
},
{
},
{
"pin1": {
- "compName": "WireCrossPoint#4",
- "pinName": ""
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D3"
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "Q4"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y3"
},
- "name": "unnamedWire#29",
- "path": []
+ "name": "unnamedWire#71",
+ "path": [
+ {
+ "x": 300.0,
+ "y": 245.0
+ },
+ {
+ "x": 300.0,
+ "y": 205.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUIMerger#0",
- "pinName": "I3"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "Q1"
},
"pin2": {
- "compName": "WireCrossPoint#4",
+ "compName": "WireCrossPoint#1",
"pinName": ""
},
- "name": "unnamedWire#28",
+ "name": "unnamedWire#6",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y4"
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D4"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "I0_1"
},
- "name": "unnamedWire#70",
+ "name": "unnamedWire#59",
"path": [
{
- "x": 295.0,
- "y": 215.0
- },
- {
- "x": 295.0,
- "y": 255.0
+ "x": 20.0,
+ "y": 245.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#8",
- "pinName": "Y"
+ "compName": "DeserializedSubmodelComponent#0",
+ "pinName": "I0_4"
},
"pin2": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "_WE2"
+ "compName": "GUISplitter#0",
+ "pinName": "O3"
},
- "name": "unnamedWire#72",
+ "name": "unnamedWire#15",
"path": [
{
- "x": 420.0,
- "y": 90.0
- },
- {
- "x": 420.0,
- "y": 110.0
- },
- {
- "x": 365.0,
- "y": 110.0
+ "x": 20.0,
+ "y": 155.0
},
{
- "x": 365.0,
- "y": 195.0
+ "x": 20.0,
+ "y": 65.0
}
]
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D3"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I0_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y3"
+ "compName": "DeserializedSubmodelComponent#4",
+ "pinName": "Y2"
},
- "name": "unnamedWire#71",
+ "name": "unnamedWire#80",
"path": [
{
- "x": 300.0,
- "y": 245.0
+ "x": 210.0,
+ "y": 205.0
},
{
- "x": 300.0,
- "y": 205.0
+ "x": 210.0,
+ "y": 75.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y1"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "Y"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_1"
+ "compName": "GUIdff4_finewe#0",
+ "pinName": "D2"
},
- "name": "unnamedWire#30",
- "path": []
+ "name": "unnamedWire#88",
+ "path": [
+ {
+ "x": 365.0,
+ "y": 295.0
+ },
+ {
+ "x": 365.0,
+ "y": 235.0
+ }
+ ]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_4"
+ "compName": "GUISplitter#3",
+ "pinName": "O3"
},
"pin2": {
"compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y4"
+ "pinName": "I0_4"
},
- "name": "unnamedWire#74",
- "path": []
+ "name": "unnamedWire#62",
+ "path": [
+ {
+ "x": 80.0,
+ "y": 325.0
+ },
+ {
+ "x": 80.0,
+ "y": 275.0
+ }
+ ]
},
{
"pin1": {
- "compName": "GUIdff4_finewe#0",
- "pinName": "D1"
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "Y2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "Y1"
+ "compName": "DeserializedSubmodelComponent#7",
+ "pinName": "I0"
},
- "name": "unnamedWire#73",
+ "name": "unnamedWire#87",
"path": [
{
- "x": 310.0,
- "y": 225.0
+ "x": 305.0,
+ "y": 195.0
},
{
- "x": 310.0,
- "y": 185.0
+ "x": 305.0,
+ "y": 305.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y3"
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_3"
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
},
- "name": "unnamedWire#32",
+ "name": "unnamedWire#90",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_2"
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y2"
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
},
- "name": "unnamedWire#76",
+ "name": "unnamedWire#50",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
+ "compName": "DeserializedSubmodelComponent#6",
"pinName": "I1_2"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
+ "compName": "DeserializedSubmodelComponent#5",
"pinName": "Y2"
},
- "name": "unnamedWire#31",
+ "name": "unnamedWire#76",
"path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y3"
+ "compName": "DeserializedSubmodelComponent#3",
+ "pinName": "Y1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_3"
+ "compName": "DeserializedSubmodelComponent#2",
+ "pinName": "I1_1"
},
- "name": "unnamedWire#75",
+ "name": "unnamedWire#30",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "DeserializedSubmodelComponent#6",
+ "pinName": "I1_4"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "A1"
+ "compName": "DeserializedSubmodelComponent#5",
+ "pinName": "Y4"
},
- "name": "unnamedWire#34",
- "path": [
- {
- "x": 415.0,
- "y": 380.0
- },
- {
- "x": 80.0,
- "y": 380.0
- },
- {
- "x": 80.0,
- "y": 335.0
- }
- ]
+ "name": "unnamedWire#74",
+ "path": []
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I0_4"
+ "compName": "_submodelinterface",
+ "pinName": "_EC"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#4",
- "pinName": "Y4"
+ "compName": "DeserializedSubmodelComponent#8",
+ "pinName": "A"
},
- "name": "unnamedWire#78",
+ "name": "unnamedWire#3",
"path": [
{
- "x": 200.0,
- "y": 225.0
+ "x": 155.0,
+ "y": 20.0
},
{
- "x": 200.0,
- "y": 95.0
+ "x": 365.0,
+ "y": 20.0
+ },
+ {
+ "x": 365.0,
+ "y": 90.0
}
]
},
{
"pin1": {
- "compName": "DeserializedSubmodelComponent#2",
- "pinName": "I1_4"
- },
- "pin2": {
- "compName": "DeserializedSubmodelComponent#3",
- "pinName": "Y4"
- },
- "name": "unnamedWire#33",
- "path": []
- },
- {
- "pin1": {
- "compName": "DeserializedSubmodelComponent#5",
- "pinName": "Y1"
+ "compName": "GUIMerger#0",
+ "pinName": "I1"
},
"pin2": {
- "compName": "DeserializedSubmodelComponent#6",
- "pinName": "I1_1"
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
},
- "name": "unnamedWire#77",
+ "name": "unnamedWire#8",
"path": []
}
- ]
+ ],
+ "version": "0.1.1"
},
"symbolRendererSnippetID": "simpleRectangularLike",
"symbolRendererParams": {
"highLevelStateHandlerParams": {
"subcomponentHighLevelStates": {},
"atomicHighLevelStates": {}
- }
+ },
+ "version": "0.1.4"
}
\ No newline at end of file
private final List<Consumer<? super GUIComponent>> componentRemovedListeners;
private final List<Consumer<? super GUIWire>> wireAddedListeners;
private final List<Consumer<? super GUIWire>> wireRemovedListeners;
+ private final List<Consumer<? super Runnable>> redrawHandlerChangedListeners;
private Runnable redrawHandler;
componentRemovedListeners = new ArrayList<>();
wireAddedListeners = new ArrayList<>();
wireRemovedListeners = new ArrayList<>();
+ redrawHandlerChangedListeners = new ArrayList<>();
}
/**
}
// @formatter:off
- public void addComponentAddedListener (Consumer<? super GUIComponent> listener) {componentAddedListeners .add (listener);}
- public void addComponentRemovedListener (Consumer<? super GUIComponent> listener) {componentRemovedListeners.add (listener);}
- public void addWireAddedListener (Consumer<? super GUIWire > listener) {wireAddedListeners .add (listener);}
- public void addWireRemovedListener (Consumer<? super GUIWire > listener) {wireRemovedListeners .add (listener);}
-
- public void removeComponentAddedListener (Consumer<? super GUIComponent> listener) {componentAddedListeners .remove(listener);}
- public void removeComponentRemovedListener(Consumer<? super GUIComponent> listener) {componentRemovedListeners.remove(listener);}
- public void removeWireAddedListener (Consumer<? super GUIWire > listener) {wireAddedListeners .remove(listener);}
- public void removeWireRemovedListener (Consumer<? super GUIWire > listener) {wireRemovedListeners .remove(listener);}
-
- private void callComponentAddedListeners (GUIComponent c) {componentAddedListeners .forEach(l -> l.accept(c));}
- private void callComponentRemovedListeners(GUIComponent c) {componentRemovedListeners.forEach(l -> l.accept(c));}
- private void callWireAddedListeners (GUIWire w ) {wireAddedListeners .forEach(l -> l.accept(w));}
- private void callWireRemovedListeners (GUIWire w ) {wireRemovedListeners .forEach(l -> l.accept(w));}
+ public void addComponentAddedListener (Consumer<? super GUIComponent> listener) {componentAddedListeners .add (listener);}
+ public void addComponentRemovedListener (Consumer<? super GUIComponent> listener) {componentRemovedListeners .add (listener);}
+ public void addWireAddedListener (Consumer<? super GUIWire > listener) {wireAddedListeners .add (listener);}
+ public void addWireRemovedListener (Consumer<? super GUIWire > listener) {wireRemovedListeners .add (listener);}
+ public void addRedrawHandlerChangedListener (Consumer<? super Runnable > listener) {redrawHandlerChangedListeners.add (listener);}
+
+ public void removeComponentAddedListener (Consumer<? super GUIComponent> listener) {componentAddedListeners .remove(listener);}
+ public void removeComponentRemovedListener (Consumer<? super GUIComponent> listener) {componentRemovedListeners .remove(listener);}
+ public void removeWireAddedListener (Consumer<? super GUIWire > listener) {wireAddedListeners .remove(listener);}
+ public void removeWireRemovedListener (Consumer<? super GUIWire > listener) {wireRemovedListeners .remove(listener);}
+ public void removeRedrawHandlerChangedListener(Consumer<? super Runnable > listener) {redrawHandlerChangedListeners.remove(listener);}
+
+ private void callComponentAddedListeners (GUIComponent c) {componentAddedListeners .forEach(l -> l.accept(c));}
+ private void callComponentRemovedListeners (GUIComponent c) {componentRemovedListeners .forEach(l -> l.accept(c));}
+ private void callWireAddedListeners (GUIWire w) {wireAddedListeners .forEach(l -> l.accept(w));}
+ private void callWireRemovedListeners (GUIWire w) {wireRemovedListeners .forEach(l -> l.accept(w));}
+ private void callRedrawHandlerChangedListener(Runnable r) {redrawHandlerChangedListeners.forEach(l -> l.accept(r));}
// @formatter:on
public void setRedrawHandler(Runnable handler)
{
this.redrawHandler = handler;
+ callRedrawHandlerChangedListener(handler);
}
public Runnable getRedrawHandler()
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.function.Consumer;
import net.haspamelodica.swt.helper.gcs.GCConfig;
import net.haspamelodica.swt.helper.gcs.GeneralGC;
this.minVisibleRegionFillRatioForAlpha1 = 0.0;
this.renderer = new LogicUIRenderer(submodelModifiable);
+ Consumer<Runnable> redrawHandlerChangedListener = submodelModifiable::setRedrawHandler;
+ model.addRedrawHandlerChangedListener(redrawHandlerChangedListener);
+ model.addComponentRemovedListener(c ->
+ {
+ if (c == this)
+ model.removeRedrawHandlerChangedListener(redrawHandlerChangedListener);
+ });
submodelModifiable.setRedrawHandler(model.getRedrawHandler());
}
+++ /dev/null
-package net.mograsim.machine;
-
-public class DefaultMainMemoryDefinition implements MainMemoryDefinition {
- private final int memoryAddressBits, cellWidth;
- private final long minimalAddress, maximalAddress;
-
- public DefaultMainMemoryDefinition(int memoryAddressBits, int cellWidth, long minimalAddress, long maximalAddress)
- {
- super();
- this.memoryAddressBits = memoryAddressBits;
- this.cellWidth = cellWidth;
- this.minimalAddress = minimalAddress;
- this.maximalAddress = maximalAddress;
- }
-
- public DefaultMainMemoryDefinition(MainMemoryDefinition definition)
- {
- this(definition.getMemoryAddressBits(), definition.getCellWidth(), definition.getMinimalAddress(), definition.getMaximalAddress());
- }
-
- @Override
- public int getMemoryAddressBits()
- {
- return memoryAddressBits;
- }
-
- @Override
- public int getCellWidth()
- {
- return cellWidth;
- }
-
- @Override
- public long getMinimalAddress()
- {
- return minimalAddress;
- }
-
- @Override
- public long getMaximalAddress()
- {
- return maximalAddress;
- }
-
-}
--- /dev/null
+package net.mograsim.machine;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+
+public abstract class GenericMemory<T> implements Memory<T>
+{
+ private final long minimalAddress, maximalAddress;
+ private final MemoryDefinition definition;
+ private final int pageSize = 64;
+ private Set<MemoryObserver> observers = new HashSet<>();
+
+ private HashMap<Long, Page> pages;
+
+ public GenericMemory(MemoryDefinition definition)
+ {
+ super();
+ this.definition = definition;
+ this.minimalAddress = definition.getMinimalAddress();
+ this.maximalAddress = definition.getMaximalAddress();
+ this.pages = new HashMap<>();
+ }
+
+ private void inBoundsCheck(long address)
+ {
+ if (address < minimalAddress || address > maximalAddress)
+ throw new IndexOutOfBoundsException(String.format("Memory address out of bounds! Minimum: %d Maximum: %d Actual: %d",
+ minimalAddress, maximalAddress, address));
+ }
+
+ private long page(long address)
+ {
+ return address / pageSize;
+ }
+
+ private int offset(long address)
+ {
+ return (int) (address % pageSize);
+ }
+
+ @Override
+ public void setCell(long address, T data)
+ {
+ inBoundsCheck(address);
+ long page = page(address);
+ int offset = offset(address);
+ Page p = pages.get(Long.valueOf(page));
+ if (p == null)
+ pages.put(page, p = new Page());
+ p.setCell(offset, data);
+ notifyObservers(address);
+ }
+
+ @Override
+ public T getCell(long address)
+ {
+ inBoundsCheck(address);
+ long page = page(address);
+ int offset = offset(address);
+ Page p = pages.get(Long.valueOf(page));
+ if (p == null)
+ return null;
+ return p.getCell(offset);
+ }
+
+ private class Page
+ {
+ private Object[] memory;
+
+ public Page()
+ {
+ memory = new Object[pageSize];
+ }
+
+ public T getCell(int index)
+ {
+ @SuppressWarnings("unchecked")
+ T data = (T) memory[index];
+ return data;
+ }
+
+ public void setCell(int index, T data)
+ {
+ memory[index] = data;
+ }
+
+ @Override
+ public String toString()
+ {
+ return Arrays.deepToString(memory);
+ }
+ }
+
+ @Override
+ public void registerObserver(MemoryObserver ob)
+ {
+ observers.add(ob);
+ }
+
+ @Override
+ public void deregisterObserver(MemoryObserver ob)
+ {
+ observers.remove(ob);
+ }
+
+ @Override
+ public void notifyObservers(long address)
+ {
+ observers.forEach(ob -> ob.update(address));
+ }
+
+ @Override
+ public MemoryDefinition getDefinition()
+ {
+ return definition;
+ }
+}
import net.mograsim.logic.core.types.BitVector;
-public interface MainMemory extends Memory<BitVector> {
-
+public interface MainMemory extends Memory<BitVector>
+{
public BigInteger getCellAsBigInteger(long address);
+
public void setCellAsBigInteger(long address, BigInteger word);
+
public MainMemoryDefinition getDefinition();
- public default long size()
- {
- return getDefinition().size();
- }
}
* @author Christian Femers
*
*/
-public interface MainMemoryDefinition {
-
- /**
- * The number of bits that the main memory uses to address cells. Note that this
- * does not need to equal {@link MachineDefinition#getAddressBits()}.
- *
- * @return the number of bits used to address a memory cell
- * @author Christian Femers
- */
- int getMemoryAddressBits();
-
+public interface MainMemoryDefinition extends MemoryDefinition
+{
/**
* The width in bits of an addressable memory cell/unit. This is often 8 (= one
* byte). The actual cells/lines of the memory may be a lot larger.
* @author Christian Femers
*/
int getCellWidth();
-
- /**
- * The minimal address possible to address/use. This is usually 0.
- *
- * @return the minimal possible address.
- * @author Christian Femers
- */
- long getMinimalAddress();
-
- /**
- * The maximal address possible to address/use.
- *
- * @return the maximal possible address as <b>unsigned long</b>
- * @author Christian Femers
- */
- long getMaximalAddress();
- /**
- * The size of the MainMemory as the amount of addressable memory cells.
- *
- * @return the amount of addressable memory cells
- */
- default long size()
+ public static MainMemoryDefinition create(int memoryAddressBits, int cellWidth, long minimalAddress, long maximalAddress)
{
- return getMaximalAddress() - getMinimalAddress();
+ return new StandardMainMemoryDefinition(memoryAddressBits, cellWidth, minimalAddress, maximalAddress);
}
}
*/
public void setCell(long address, T data);
- public long size();
+ public default long size()
+ {
+ MemoryDefinition def = getDefinition();
+ return Long.max(0, def.getMaximalAddress() - def.getMinimalAddress());
+ }
/**
* Registers an observer to be notified when a memory cell is modified
public void deregisterObserver(MemoryObserver ob);
public void notifyObservers(long address);
+
+ public MemoryDefinition getDefinition();
}
--- /dev/null
+package net.mograsim.machine;
+
+public interface MemoryDefinition {
+
+ /**
+ * The number of bits that the main memory uses to address cells. Note that this
+ * does not need to equal {@link MachineDefinition#getAddressBits()}.
+ *
+ * @return the number of bits used to address a memory cell
+ * @author Christian Femers
+ */
+ int getMemoryAddressBits();
+
+ /**
+ * The minimal address possible to address/use. This is usually 0.
+ *
+ * @return the minimal possible address.
+ * @author Christian Femers
+ */
+ long getMinimalAddress();
+
+ /**
+ * The maximal address possible to address/use.
+ *
+ * @return the maximal possible address as <b>unsigned long</b>
+ * @author Christian Femers
+ */
+ long getMaximalAddress();
+
+ /**
+ * The size of the MainMemory as the amount of addressable memory cells.
+ *
+ * @return the amount of addressable memory cells
+ */
+ default long size()
+ {
+ return getMaximalAddress() - getMinimalAddress();
+ }
+
+ public static MemoryDefinition create(int memoryAddressBits, long minimalAddress, long maximalAddress)
+ {
+ return new StandardMemoryDefinition(memoryAddressBits, minimalAddress, maximalAddress);
+ }
+}
+++ /dev/null
-package net.mograsim.machine;
-
-import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
-import net.mograsim.machine.mi.parameters.Mnemonic;
-
-public interface MicroInstruction {
-
- public MicroInstructionParameter getParameter(int index);
-
- /**
- * @return The amount of {@link Mnemonic}s, the instruction is composed of
- */
- public int getSize();
-}
+++ /dev/null
-package net.mograsim.machine;
-
-import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
-import net.mograsim.machine.mi.parameters.ParameterClassification;
-
-public interface MicroInstructionDefinition
-{
- /**
- * @return The {@link ParameterClassification}s of which a MicroInstruction is composed.
- */
- public ParameterClassification[] getParameterClassifications();
-
- /**
- * @return The amount of {@link MicroInstructionParameter}s in a {@link MicroInstruction} that follows this definition.
- */
- public default int size()
- {
- return getParameterClassifications().length;
- }
-
-}
+++ /dev/null
-package net.mograsim.machine;
-
-public interface MicroprogramMemory extends Memory<MicroInstruction>
-{
-}
--- /dev/null
+package net.mograsim.machine;
+
+class StandardMainMemoryDefinition extends StandardMemoryDefinition implements MainMemoryDefinition {
+ private final int cellWidth;
+
+ StandardMainMemoryDefinition(int memoryAddressBits, int cellWidth, long minimalAddress, long maximalAddress)
+ {
+ super(memoryAddressBits, minimalAddress, maximalAddress);
+ this.cellWidth = cellWidth;
+ }
+
+ @Override
+ public int getCellWidth()
+ {
+ return cellWidth;
+ }
+}
--- /dev/null
+package net.mograsim.machine;
+
+class StandardMemoryDefinition implements MemoryDefinition {
+ private final int memoryAddressBits;
+ private final long minimalAddress, maximalAddress;
+
+ StandardMemoryDefinition(int memoryAddressBits, long minimalAddress, long maximalAddress)
+ {
+ super();
+ this.memoryAddressBits = memoryAddressBits;
+ this.minimalAddress = minimalAddress;
+ this.maximalAddress = maximalAddress;
+ }
+
+ public StandardMemoryDefinition(MainMemoryDefinition definition)
+ {
+ this(definition.getMemoryAddressBits(), definition.getMinimalAddress(), definition.getMaximalAddress());
+ }
+
+ @Override
+ public int getMemoryAddressBits()
+ {
+ return memoryAddressBits;
+ }
+
+ @Override
+ public long getMinimalAddress()
+ {
+ return minimalAddress;
+ }
+
+ @Override
+ public long getMaximalAddress()
+ {
+ return maximalAddress;
+ }
+
+ public static MemoryDefinition create(int memoryAddressBits, long minimalAddress, long maximalAddress)
+ {
+ return new StandardMemoryDefinition(memoryAddressBits, minimalAddress, maximalAddress);
+ }
+}
--- /dev/null
+package net.mograsim.machine.mi;
+
+import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
+import net.mograsim.machine.mi.parameters.Mnemonic;
+
+public interface MicroInstruction {
+
+ public MicroInstructionParameter getParameter(int index);
+ public void setParameter(int index, MicroInstructionParameter param);
+
+ /**
+ * @return The amount of {@link Mnemonic}s, the instruction is composed of
+ */
+ public int getSize();
+
+ public static MicroInstruction create(MicroInstructionParameter... parameters)
+ {
+ return new StandardMicroInstruction(parameters);
+ }
+}
--- /dev/null
+package net.mograsim.machine.mi;
+
+import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
+import net.mograsim.machine.mi.parameters.ParameterClassification;
+
+public interface MicroInstructionDefinition
+{
+ /**
+ * @return The {@link ParameterClassification}s of which a MicroInstruction is composed.
+ */
+ public ParameterClassification[] getParameterClassifications();
+
+ /**
+ * @throws IndexOutOfBoundsException
+ */
+ public ParameterClassification getParameterClassification(int index);
+
+
+ /**
+ * @return The amount of {@link MicroInstructionParameter}s in a {@link MicroInstruction} that follows this definition.
+ */
+ public default int size()
+ {
+ return getParameterClassifications().length;
+ }
+
+ public static MicroInstructionDefinition create(ParameterClassification... classes)
+ {
+ return new StandardMicroInstructionDefinition(classes);
+ }
+}
\ No newline at end of file
--- /dev/null
+package net.mograsim.machine.mi;
+
+import net.mograsim.machine.Memory;
+import net.mograsim.machine.MemoryDefinition;
+
+public interface MicroprogramMemory extends Memory<MicroInstruction>
+{
+ public static MicroprogramMemory create(MemoryDefinition def)
+ {
+ return new StandardMicroprogramMemory(def);
+ }
+}
--- /dev/null
+package net.mograsim.machine.mi;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.math.BigInteger;
+
+import net.mograsim.logic.core.types.BitVector;
+import net.mograsim.machine.MemoryDefinition;
+import net.mograsim.machine.mi.parameters.BooleanClassification;
+import net.mograsim.machine.mi.parameters.BooleanImmediate;
+import net.mograsim.machine.mi.parameters.IntegerClassification;
+import net.mograsim.machine.mi.parameters.IntegerImmediate;
+import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
+import net.mograsim.machine.mi.parameters.MnemonicFamily;
+import net.mograsim.machine.mi.parameters.MnemonicFamily.MnemonicPair;
+import net.mograsim.machine.mi.parameters.ParameterClassification;
+
+public class MicroprogramMemoryParser
+{
+ public static void parse(MicroprogramMemory memory, long startAddress, MicroInstructionDefinition definition, String input) throws IOException
+ {
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(input))))
+ {
+ parse(memory, startAddress, definition, reader);
+ }
+ }
+
+ public static void parse(MicroprogramMemory memory, long startAddress, MicroInstructionDefinition definition,
+ BufferedReader input)
+ {
+ MemoryDefinition def = memory.getDefinition();
+ long minAddress = Long.max(startAddress, def.getMinimalAddress()), maxAddress = def.getMaximalAddress();
+ try
+ {
+ String line;
+ for (long i = minAddress; i < maxAddress && input.ready() && !"".equals((line = input.readLine())); i++)
+ memory.setCell(i, parse(definition, line));
+ } catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public static MicroInstruction parse(MicroInstructionDefinition definition, String toParse)
+ {
+ int size = definition.size();
+ String[] strings = toParse.split(",");
+ if (size != strings.length)
+ throw new IllegalArgumentException(
+ "String does not match definition! The number of parameters does not match.");
+ MicroInstructionParameter[] params = new MicroInstructionParameter[size];
+ ParameterClassification[] classes = definition.getParameterClassifications();
+ for (int i = 0; i < size; i++)
+ {
+ params[i] = classes[i].parse(strings[i]);
+ }
+ return new StandardMicroInstruction(params);
+ }
+
+ public static void write(MicroprogramMemory memory, long startAddress, long endAddress, String output) throws IOException
+ {
+ try(OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(output)))
+ {
+ write(memory, startAddress, endAddress, writer);
+ }
+ }
+
+ public static void write(MicroprogramMemory memory, long startAddress, long endAddress, OutputStreamWriter output) throws IOException
+ {
+ MemoryDefinition def = memory.getDefinition();
+ long min = Long.max(def.getMinimalAddress(), startAddress), max = Long.min(def.getMaximalAddress(), endAddress) + 1;
+ for(long i = min; i < max; i++)
+ {
+ output.write(toCSV(memory.getCell(i)) + "\n");
+ }
+ }
+
+ private static String toCSV(MicroInstruction inst)
+ {
+ int max = inst.getSize() - 1;
+ StringBuilder sb = new StringBuilder();
+ for(int i = 0; i < max; i++)
+ {
+ sb.append(inst.getParameter(i).toString());
+ sb.append(",");
+ }
+ sb.append(inst.getParameter(max).toString());
+ return sb.toString();
+ }
+}
--- /dev/null
+package net.mograsim.machine.mi;
+
+import net.mograsim.machine.mi.parameters.MicroInstructionParameter;
+
+class StandardMicroInstruction implements MicroInstruction
+{
+ private MicroInstructionParameter[] parameters;
+
+ StandardMicroInstruction(MicroInstructionParameter... parameters)
+ {
+ this.parameters = parameters;
+ }
+
+ /**
+ * @throws IndexOutOfBoundsException
+ */
+ @Override
+ public MicroInstructionParameter getParameter(int index)
+ {
+ return parameters[index];
+ }
+
+ @Override
+ public int getSize()
+ {
+ return parameters.length;
+ }
+
+ /**
+ * @throws IndexOutOfBoundsException
+ */
+ @Override
+ public void setParameter(int index, MicroInstructionParameter param)
+ {
+ parameters[index] = param;
+ }
+
+}
--- /dev/null
+package net.mograsim.machine.mi;
+
+import net.mograsim.machine.mi.parameters.ParameterClassification;
+
+class StandardMicroInstructionDefinition implements MicroInstructionDefinition
+{
+ private ParameterClassification[] classes;
+
+ public StandardMicroInstructionDefinition(ParameterClassification... classes)
+ {
+ this.classes = classes;
+ }
+
+ @Override
+ public ParameterClassification[] getParameterClassifications()
+ {
+ return classes.clone();
+ }
+
+ @Override
+ public ParameterClassification getParameterClassification(int index)
+ {
+ return classes[index];
+ }
+
+}
--- /dev/null
+package net.mograsim.machine.mi;
+
+import java.util.HashSet;
+
+import net.mograsim.machine.MemoryDefinition;
+import net.mograsim.machine.MemoryObserver;
+import net.mograsim.machine.standard.memory.MemoryException;
+
+class StandardMicroprogramMemory implements MicroprogramMemory
+{
+ private MicroInstruction[] data;
+ private MemoryDefinition definition;
+ private HashSet<MemoryObserver> observers;
+
+ StandardMicroprogramMemory(MemoryDefinition definition)
+ {
+ if(definition.size() > Integer.MAX_VALUE)
+ throw new MemoryException("Size of MicroprogramMemory must be an int, not a long");
+ this.definition = definition;
+ data = new MicroInstruction[(int) definition.size()];
+ }
+
+ private int translate(long address)
+ {
+ return (int) (address - definition.getMinimalAddress());
+ }
+
+ @Override
+ public MicroInstruction getCell(long address)
+ {
+ return data[translate(address)];
+ }
+
+ @Override
+ public void setCell(long address, MicroInstruction data)
+ {
+ this.data[translate(address)] = data;
+ }
+
+ @Override
+ public void registerObserver(MemoryObserver ob)
+ {
+ observers.add(ob);
+ }
+
+ @Override
+ public void deregisterObserver(MemoryObserver ob)
+ {
+ observers.remove(ob);
+ }
+
+ @Override
+ public void notifyObservers(long address)
+ {
+ observers.forEach(ob -> ob.update(address));
+ }
+
+ @Override
+ public MemoryDefinition getDefinition()
+ {
+ return definition;
+ }
+
+}
{
return 1;
}
+
+ @Override
+ public BooleanImmediate parse(String toParse)
+ {
+ return new BooleanImmediate("H".equals(toParse));
+ }
}
package net.mograsim.machine.mi.parameters;
+import java.math.BigInteger;
+
import net.mograsim.machine.mi.parameters.MicroInstructionParameter.ParameterType;
public class IntegerClassification implements ParameterClassification
{
return bits;
}
+
+ @Override
+ public IntegerImmediate parse(String toParse)
+ {
+ return new IntegerImmediate(new BigInteger(toParse), bits);
+ }
}
return stringValues.clone();
}
-
-
@Override
public int hashCode()
{
{
return this == obj;
}
-
-
+
+ @Override
+ public Mnemonic parse(String toParse)
+ {
+ Mnemonic parsed = get(toParse);
+ if(parsed == null)
+ throw new UnknownMnemonicException(toParse);
+ return parsed;
+ }
public static class MnemonicPair
{
* @return The number of bits of the parameters in this classification.
*/
public int getExpectedBits();
+
+ public MicroInstructionParameter parse(String toParse);
}
--- /dev/null
+package net.mograsim.machine.mi.parameters;
+
+import net.mograsim.machine.MachineException;
+
+public class UnknownMnemonicException extends MachineException
+{
+ /**
+ *
+ */
+ private static final long serialVersionUID = 701558899889830975L;
+
+ public UnknownMnemonicException()
+ {
+ super();
+ }
+
+ public UnknownMnemonicException(String message)
+ {
+ super(message);
+ }
+
+ public UnknownMnemonicException(Throwable cause)
+ {
+ super(cause);
+ }
+}
import org.eclipse.swt.graphics.Color;
-import com.google.gson.Gson;
import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
import net.haspamelodica.swt.helper.gcs.GeneralGC;
import net.haspamelodica.swt.helper.swtobjectwrappers.Font;
import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter;
import net.mograsim.logic.model.serializing.IdentifierGetter;
import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
-import net.mograsim.machine.DefaultMainMemoryDefinition;
import net.mograsim.machine.MainMemoryDefinition;
import net.mograsim.machine.standard.memory.WordAddressableMemoryComponent;
import net.mograsim.preferences.Preferences;
private final Pin addrPin, dataPin, rWPin;
private WordAddressableMemoryComponent memory;
private final static int width = 100, height = 300;
+
+ private final static String addrKey = "addrBits", cellWidthKey = "cellWidth", minAddrKey = "minAddr", maxAddrKey = "maxAddr";
public GUIMemoryWA(ViewModelModifiable model, MainMemoryDefinition definition, String name)
{
@Override
public JsonElement getParamsForSerializing(IdentifierGetter idGetter)
{
- return new Gson().toJsonTree(new DefaultMainMemoryDefinition(definition));
+ JsonObject o = new JsonObject();
+ o.addProperty(addrKey, definition.getMemoryAddressBits());
+ o.addProperty(cellWidthKey, definition.getCellWidth());
+ o.addProperty(maxAddrKey, definition.getMaximalAddress());
+ o.addProperty(minAddrKey, definition.getMinimalAddress());
+ return o;
}
static
ViewLogicModelAdapter.addComponentAdapter(new WordAddressableMemoryAdapter());
IndirectGUIComponentCreator.setComponentSupplier(GUIAndGate.class.getCanonicalName(), (m, p, n) ->
{
- return new GUIMemoryWA(m, new Gson().fromJson(p, DefaultMainMemoryDefinition.class), n);
+ JsonObject o = (JsonObject) p;
+ int addressBits = o.get(addrKey).getAsInt();
+ int cellWidth = o.get(cellWidthKey).getAsInt();
+ long maxAddr = o.get(maxAddrKey).getAsLong();
+ long minAddr = o.get(minAddrKey).getAsLong();
+ return new GUIMemoryWA(m, MainMemoryDefinition.create(addressBits, cellWidth, minAddr, maxAddr), n);
});
}
}
package net.mograsim.machine.standard.memory;
import java.math.BigInteger;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Set;
import net.mograsim.logic.core.types.Bit;
import net.mograsim.logic.core.types.BitVector;
+import net.mograsim.machine.GenericMemory;
import net.mograsim.machine.MainMemory;
import net.mograsim.machine.MainMemoryDefinition;
-import net.mograsim.machine.MemoryObserver;
-public class WordAddressableMemory implements MainMemory
+public class WordAddressableMemory extends GenericMemory<BitVector> implements MainMemory
{
private final int cellWidth;
- private final long minimalAddress, maximalAddress;
private final MainMemoryDefinition definition;
- private final int pageSize = 64;
- private Set<MemoryObserver> observers = new HashSet<>();
-
- private HashMap<Long, Page> pages;
public WordAddressableMemory(MainMemoryDefinition definition)
{
- super();
+ super(definition);
this.cellWidth = definition.getCellWidth();
- this.minimalAddress = definition.getMinimalAddress();
- this.maximalAddress = definition.getMaximalAddress();
this.definition = definition;
- this.pages = new HashMap<>();
- }
-
- private void inBoundsCheck(long address)
- {
- if (address < minimalAddress || address > maximalAddress)
- throw new IndexOutOfBoundsException(String.format("Memory address out of bounds! Minimum: %d Maximum: %d Actual: %d",
- minimalAddress, maximalAddress, address));
- }
-
- private long page(long address)
- {
- return address / pageSize;
- }
-
- private int offset(long address)
- {
- return (int) (address % pageSize);
- }
-
- @Override
- public void setCell(long address, BitVector b)
- {
- inBoundsCheck(address);
- long page = page(address);
- int offset = offset(address);
- Page p = pages.get(Long.valueOf(page));
- if (p == null)
- pages.put(page, p = new Page());
- p.setCell(offset, b);
- notifyObservers(address);
}
@Override
public BitVector getCell(long address)
{
- inBoundsCheck(address);
- long page = page(address);
- int offset = offset(address);
- Page p = pages.get(Long.valueOf(page));
- if (p == null)
- return BitVector.of(Bit.ZERO, cellWidth);
- return p.getCell(offset);
+ BitVector data = super.getCell(address);
+ return data == null ? BitVector.of(Bit.ZERO, cellWidth) : data;
}
@Override
public BigInteger getCellAsBigInteger(long address)
{
- inBoundsCheck(address);
- long page = page(address);
- int offset = offset(address);
- Page p = pages.get(Long.valueOf(page));
- if (p == null)
- return BigInteger.valueOf(0L);
- return p.getCellAsBigInteger(offset);
+ BitVector data = getCell(address);
+ return data == null ? BigInteger.valueOf(0) : data.getUnsignedValue();
}
@Override
- public void setCellAsBigInteger(long address, BigInteger word)
- {
- inBoundsCheck(address);
- long page = page(address);
- int offset = offset(address);
- Page p = pages.get(Long.valueOf(page));
- if (p == null)
- pages.put(page, p = new Page());
- p.setCellAsBigInteger(offset, word);
- notifyObservers(address);
- }
-
- private class Page
+ public void setCellAsBigInteger(long address, BigInteger data)
{
- private BitVector[] memory;
-
- public Page()
- {
- memory = new BitVector[pageSize];
- }
-
- public BitVector getCell(int index)
- {
- BitVector b = memory[index];
- if (b == null)
- return BitVector.of(Bit.ZERO, cellWidth);
- return memory[index];
- }
-
- public void setCell(int index, BitVector bits)
- {
- if (bits.length() != cellWidth)
- throw new IllegalArgumentException(String.format(
- "BitVector to be saved in memory cell has unexpected width. Expected: %d Actual: %d", cellWidth, bits.length()));
- memory[index] = bits;
- }
-
- public void setCellAsBigInteger(int index, BigInteger bits)
- {
- setCell(index, BitVector.from(bits, cellWidth));
- }
-
- public BigInteger getCellAsBigInteger(int index)
- {
- try {
- return getCell(index).getUnsignedValue();
- }
- catch(NumberFormatException e)
- {
- throw new MemoryException(e);
- }
- }
-
- @Override
- public String toString()
- {
- return Arrays.deepToString(memory);
- }
+ setCell(address, BitVector.from(data, cellWidth));
}
@Override
{
return definition;
}
-
- @Override
- public void registerObserver(MemoryObserver ob)
- {
- observers.add(ob);
- }
-
- @Override
- public void deregisterObserver(MemoryObserver ob)
- {
- observers.remove(ob);
- }
-
- @Override
- public void notifyObservers(long address)
- {
- observers.forEach(ob -> ob.update(address));
- }
}
import net.mograsim.logic.core.types.BitVector;
import net.mograsim.logic.core.wires.Wire;
import net.mograsim.logic.core.wires.Wire.ReadWriteEnd;
-import net.mograsim.machine.DefaultMainMemoryDefinition;
+import net.mograsim.machine.MainMemoryDefinition;
class WordAddressableMemoryTest {
ReadWriteEnd dataI = data.createReadWriteEnd();
ReadWriteEnd addressI = address.createReadWriteEnd();
- WordAddressableMemoryComponent memory = new WordAddressableMemoryComponent(t, 4, new DefaultMainMemoryDefinition(64, 16, 4096L, Long.MAX_VALUE), data.createReadWriteEnd(),
+ @SuppressWarnings("unused")
+ WordAddressableMemoryComponent memory = new WordAddressableMemoryComponent(t, 4, MainMemoryDefinition.create(64, 16, 4096L, Long.MAX_VALUE), data.createReadWriteEnd(),
rW.createReadOnlyEnd(), address.createReadOnlyEnd());
Random r = new Random();
+++ /dev/null
-package net.mograsim.plugin.memory;
-
-import java.math.BigInteger;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.EditingSupport;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-
-import net.mograsim.plugin.asm.AsmNumberUtil;
-import net.mograsim.plugin.memory.MemoryView.DisplaySettings;
-
-public class MemoryCellEditingSupport extends EditingSupport
-{
- private final TableViewer viewer;
- private final CellEditor editor;
- private final DisplaySettings displaySettings;
-
- public MemoryCellEditingSupport(TableViewer viewer, DisplaySettings displaySettings)
- {
- super(viewer);
- this.viewer = viewer;
- this.displaySettings = displaySettings;
- editor = new TextCellEditor(viewer.getTable());
- editor.setValidator(new NumberCellEditorValidator());
- }
-
- @Override
- protected boolean canEdit(Object element)
- {
- return true;
- }
-
- @Override
- protected CellEditor getCellEditor(Object element)
- {
- return editor;
- }
-
- @Override
- protected Object getValue(Object element)
- {
- MemoryTableRow row = (MemoryTableRow) element;
- return AsmNumberUtil.toString(row.getMemory().getCellAsBigInteger(row.address), displaySettings.getDataNumberType());
- }
-
- @Override
- protected void setValue(Object element, Object userInput)
- {
- MemoryTableRow row = (MemoryTableRow) element;
- try
- {
- row.getMemory().setCellAsBigInteger(row.address, AsmNumberUtil.valueOf((String) userInput));
- }
- catch (@SuppressWarnings("unused") NumberFormatException e)
- {
- row.getMemory().setCellAsBigInteger(row.address, BigInteger.valueOf(0));
- }
- viewer.update(element, null);
- }
-}
\ No newline at end of file
+++ /dev/null
-package net.mograsim.plugin.memory;
-
-import org.eclipse.jface.viewers.ILazyContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-
-import net.mograsim.machine.MainMemory;
-import net.mograsim.machine.MemoryObserver;
-
-public class MemoryTableContentProvider implements ILazyContentProvider, MemoryObserver
-{
- private long lower;
- private TableViewer viewer;
- private final static int limit = 10_000;
- private int amount = 0;
- private MainMemory memory;
-
- public void setLowerBound(long lower)
- {
- if (memory != null)
- this.lower = Long.min(memory.getDefinition().getMaximalAddress(), Long.max(memory.getDefinition().getMinimalAddress(), lower));
- else
- this.lower = lower;
- updateItemCount();
- }
-
- public void updateItemCount()
- {
- if (memory != null)
- {
- long size = memory.getDefinition().getMaximalAddress() - lower;
- viewer.setItemCount(size > amount ? amount : (int) size);
- } else
- viewer.setItemCount(0);
- }
-
- public long getLowerBound()
- {
- return lower;
- }
-
- public void setAmount(int amount)
- {
- this.amount = Integer.min(amount, limit);
- updateItemCount();
- }
-
- public int getAmount()
- {
- return amount;
- }
-
- @Override
- public void updateElement(int index)
- {
- long address = lower + index;
- if (address <= memory.getDefinition().getMaximalAddress())
- viewer.replace(new MemoryTableRow(address, memory), index);
- }
-
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
- {
- this.viewer = (TableViewer) viewer;
- this.memory = (MainMemory) newInput;
- if (oldInput != null)
- ((MainMemory) oldInput).deregisterObserver(this);
- if (memory != null)
- memory.registerObserver(this);
- setLowerBound(0L);
- }
-
- @Override
- public void update(long address)
- {
- Display.getDefault().asyncExec(() -> updateElement((int) (address - lower)));
- }
-}
+++ /dev/null
-package net.mograsim.plugin.memory;
-
-import net.mograsim.machine.MainMemory;
-
-public class MemoryTableRow
-{
- public final long address;
- private final MainMemory memory;
-
- public MemoryTableRow(long address, MainMemory memory)
- {
- this.address = address;
- this.memory = memory;
- }
-
- public MainMemory getMemory()
- {
- return memory;
- }
-}
+++ /dev/null
-package net.mograsim.plugin.memory;
-
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-import net.mograsim.machine.DefaultMainMemoryDefinition;
-import net.mograsim.machine.MainMemory;
-import net.mograsim.machine.standard.memory.WordAddressableMemory;
-import net.mograsim.plugin.asm.AsmNumberUtil;
-import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
-
-public class MemoryView extends ViewPart
-{
- private TableViewer viewer;
- private MemoryTableContentProvider provider;
- private DisplaySettings displaySettings;
- private String addressFormat;
-
- @Override
- public void createPartControl(Composite parent)
- {
- provider = new MemoryTableContentProvider();
- displaySettings = new DisplaySettings();
- displaySettings.setDataNumberType(NumberType.HEXADECIMAL);
-
- GridLayout layout = new GridLayout(6, false);
- parent.setLayout(layout);
- Label fromLabel = new Label(parent, SWT.NONE);
- fromLabel.setText("Address: ");
- Text fromText = new Text(parent, SWT.BORDER | SWT.SEARCH);
- fromText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
- VerifyListener vl = new NumberVerifyListener();
- fromText.addVerifyListener(vl);
- fromText.setText("0");
- fromText.addModifyListener(e ->
- {
- try
- {
- provider.setLowerBound(AsmNumberUtil.valueOf(fromText.getText()).longValue());
- viewer.refresh();
- }
- catch (@SuppressWarnings("unused") NumberFormatException ex)
- {
- // Nothing to do here
- }
- });
-
- Label amountLabel = new Label(parent, SWT.NONE);
- amountLabel.setText("Number of cells: ");
- Text amountText = new Text(parent, SWT.BORDER | SWT.SEARCH);
- amountText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
- amountText.addVerifyListener(vl);
- amountText.setText("0");
- amountText.addModifyListener(e ->
- {
- try
- {
- provider.setAmount(AsmNumberUtil.valueOf(amountText.getText()).intValue());
- viewer.refresh();
- }
- catch (@SuppressWarnings("unused") NumberFormatException ex)
- {
- // Nothing to do here
- }
- });
-
- setupRadixSelector(parent);
-
- createViewer(parent);
- }
-
- private void setupRadixSelector(Composite parent)
- {
- Label radixLabel = new Label(parent, SWT.NONE);
- radixLabel.setText("Radix: ");
- Combo selectRadix = new Combo(parent, SWT.READ_ONLY);
-
- String entries[] = new String[] { "Binary", "Octal", "Decimal", "Hexadecimal" };
- NumberType corTypes[] = new NumberType[] { NumberType.BINARY, NumberType.OCTAL, NumberType.DECIMAL, NumberType.HEXADECIMAL };
- selectRadix.setItems(entries);
- selectRadix.addSelectionListener(new SelectionListener()
- {
- @Override
- public void widgetSelected(SelectionEvent e)
- {
- int index = selectRadix.getSelectionIndex();
- if (index == -1)
- displaySettings.setDataNumberType(NumberType.HEXADECIMAL);
- else
- {
- displaySettings.setDataNumberType(corTypes[index]);
- }
- viewer.refresh();
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e)
- {
- widgetSelected(e);
- }
- });
- }
-
- private void createViewer(Composite parent)
- {
- viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
- createColumns();
- Table table = viewer.getTable();
- table.setHeaderVisible(true);
- table.setLinesVisible(true);
- viewer.setUseHashlookup(true);
- viewer.setContentProvider(provider);
- setMemoryBinding(new WordAddressableMemory(new DefaultMainMemoryDefinition(8, 8, 8L, Long.MAX_VALUE)));
- getSite().setSelectionProvider(viewer);
-
- GridData gd = new GridData();
- gd.verticalAlignment = GridData.FILL;
- gd.horizontalSpan = 6;
- gd.grabExcessHorizontalSpace = true;
- gd.grabExcessVerticalSpace = true;
- gd.horizontalAlignment = GridData.FILL;
- viewer.getControl().setLayoutData(gd);
- }
-
- private void createColumns()
- {
- String[] titles = { "Address", "Data" };
- int[] bounds = { 100, 100 };
-
- TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0]);
- col.setLabelProvider(new ColumnLabelProvider()
- {
- @Override
- public String getText(Object element)
- {
- MemoryTableRow row = (MemoryTableRow) element;
- return String.format(addressFormat, row.address);// TODO: make the string length dependent on memory address length
- }
- });
-
- col = createTableViewerColumn(titles[1], bounds[1]);
- col.setLabelProvider(new ColumnLabelProvider()
- {
- @Override
- public String getText(Object element)
- {
- MemoryTableRow row = (MemoryTableRow) element;
- return AsmNumberUtil.toString(row.getMemory().getCellAsBigInteger(row.address), displaySettings.getDataNumberType());
- }
- });
- col.setEditingSupport(new MemoryCellEditingSupport(viewer, displaySettings));
- }
-
- private TableViewerColumn createTableViewerColumn(String title, int bound)
- {
- TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE);
- TableColumn column = viewerColumn.getColumn();
- column.setText(title);
- column.setWidth(bound);
- column.setResizable(true);
- column.setMoveable(false);
- return viewerColumn;
- }
-
- @Override
- public void setFocus()
- {
- viewer.getControl().setFocus();
- }
-
- public void setMemoryBinding(MainMemory m)
- {
- int hexAddressLength = Long.toUnsignedString(m.getDefinition().getMaximalAddress(), 16).length();
- addressFormat = "0x%0" + hexAddressLength + "X";
- viewer.setInput(m);
- }
-
- public static class DisplaySettings
- {
- private AsmNumberUtil.NumberType dataNumberType;
-
- public AsmNumberUtil.NumberType getDataNumberType()
- {
- return dataNumberType;
- }
-
- public void setDataNumberType(AsmNumberUtil.NumberType dataNumberType)
- {
- this.dataNumberType = dataNumberType;
- }
- }
-}
+++ /dev/null
-package net.mograsim.plugin.memory;
-
-import org.eclipse.jface.viewers.ICellEditorValidator;
-
-import net.mograsim.plugin.asm.AsmNumberUtil;
-
-public class NumberCellEditorValidator implements ICellEditorValidator
-{
-
- @Override
- public String isValid(Object value)
- {
- return AsmNumberUtil.NumberType.NONE.equals(AsmNumberUtil.getType((String) value)) ? (String) value + "is not a valid number"
- : null;
- }
-
-}
+++ /dev/null
-package net.mograsim.plugin.memory;
-
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.events.VerifyListener;
-import org.eclipse.swt.widgets.Text;
-
-import net.mograsim.plugin.asm.AsmNumberUtil;
-import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
-
-public class NumberVerifyListener implements VerifyListener
-{
-
- @Override
- public void verifyText(VerifyEvent e)
- {
- String text = computeModifiedText(e);
- e.doit = !NumberType.NONE.equals(AsmNumberUtil.prefixOfType(text));
- }
-
- private static String computeModifiedText(VerifyEvent e)
- {
- String modifiedText = ((Text) e.getSource()).getText();
- modifiedText = modifiedText.substring(0, e.start).concat(e.text).concat(modifiedText.substring(e.end));
- return modifiedText;
- }
-}
--- /dev/null
+package net.mograsim.plugin.tables;
+
+import java.math.BigInteger;
+
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.EditingSupport;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TextCellEditor;
+
+import net.mograsim.plugin.asm.AsmNumberUtil;
+import net.mograsim.plugin.tables.memory.DisplaySettings;
+
+public abstract class NumberCellEditingSupport extends EditingSupport
+{
+ private final TableViewer viewer;
+ private final CellEditor editor;
+ private final DisplaySettings displaySettings;
+
+ public NumberCellEditingSupport(TableViewer viewer, DisplaySettings displaySettings)
+ {
+ super(viewer);
+ this.viewer = viewer;
+ this.displaySettings = displaySettings;
+ editor = new TextCellEditor(viewer.getTable());
+ editor.setValidator(new NumberCellEditorValidator());
+ }
+
+ @Override
+ final protected boolean canEdit(Object element)
+ {
+ return true;
+ }
+
+ @Override
+ final protected CellEditor getCellEditor(Object element)
+ {
+ return editor;
+ }
+
+ @Override
+ final protected Object getValue(Object element)
+ {
+ return AsmNumberUtil.toString(getAsBigInteger(element), displaySettings.getDataNumberType());
+ }
+
+ @Override
+ final protected void setValue(Object element, Object userInput)
+ {
+ try
+ {
+ setAsBigInteger(element, AsmNumberUtil.valueOf((String) userInput));
+ }
+ catch (@SuppressWarnings("unused") NumberFormatException e)
+ {
+ setAsBigInteger(element, BigInteger.valueOf(0));
+ }
+ viewer.update(element, null);
+ }
+
+ protected abstract void setAsBigInteger(Object element, BigInteger value);
+
+ protected abstract BigInteger getAsBigInteger(Object element);
+}
--- /dev/null
+package net.mograsim.plugin.tables;
+
+import org.eclipse.jface.viewers.ICellEditorValidator;
+
+import net.mograsim.plugin.asm.AsmNumberUtil;
+
+public class NumberCellEditorValidator implements ICellEditorValidator
+{
+
+ @Override
+ public String isValid(Object value)
+ {
+ return AsmNumberUtil.NumberType.NONE.equals(AsmNumberUtil.getType((String) value)) ? (String) value + "is not a valid number"
+ : null;
+ }
+
+}
--- /dev/null
+package net.mograsim.plugin.tables;
+
+import java.math.BigInteger;
+
+import org.eclipse.jface.viewers.ColumnLabelProvider;
+
+import net.mograsim.plugin.asm.AsmNumberUtil;
+import net.mograsim.plugin.tables.memory.DisplaySettings;
+
+public abstract class NumberColumnLabelProvider extends ColumnLabelProvider
+{
+ private DisplaySettings displaySettings;
+
+ public NumberColumnLabelProvider(DisplaySettings displaySettings)
+ {
+ this.displaySettings = displaySettings;
+ }
+
+ @Override
+ public String getText(Object element)
+ {
+ return AsmNumberUtil.toString(getAsBigInteger(element), displaySettings.getDataNumberType());
+ }
+
+ public abstract BigInteger getAsBigInteger(Object element);
+}
\ No newline at end of file
--- /dev/null
+package net.mograsim.plugin.tables.memory;
+
+import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
+
+public class DisplaySettings
+{
+ private NumberType dataNumberType;
+
+ public DisplaySettings(NumberType dataNumberType)
+ {
+ this.dataNumberType = dataNumberType;
+ }
+
+ public NumberType getDataNumberType()
+ {
+ return dataNumberType;
+ }
+
+ public void setDataNumberType(NumberType dataNumberType)
+ {
+ this.dataNumberType = dataNumberType;
+ }
+}
\ No newline at end of file
--- /dev/null
+package net.mograsim.plugin.tables.memory;
+
+import java.math.BigInteger;
+
+import org.eclipse.jface.viewers.TableViewer;
+
+import net.mograsim.plugin.tables.NumberCellEditingSupport;
+
+public class MemoryCellEditingSupport extends NumberCellEditingSupport
+{
+ public MemoryCellEditingSupport(TableViewer viewer, DisplaySettings displaySettings)
+ {
+ super(viewer, displaySettings);
+ }
+
+ @Override
+ protected void setAsBigInteger(Object element, BigInteger value)
+ {
+ MemoryTableRow row = (MemoryTableRow) element;
+ row.getMemory().setCellAsBigInteger(row.address, value);
+ }
+
+ @Override
+ protected BigInteger getAsBigInteger(Object element)
+ {
+ MemoryTableRow row = (MemoryTableRow) element;
+ return row.getMemory().getCellAsBigInteger(row.address);
+ }
+}
\ No newline at end of file
--- /dev/null
+package net.mograsim.plugin.tables.memory;
+
+import org.eclipse.jface.viewers.ILazyContentProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Display;
+
+import net.mograsim.machine.MainMemory;
+import net.mograsim.machine.MemoryObserver;
+
+public class MemoryTableContentProvider implements ILazyContentProvider, MemoryObserver
+{
+ private long lower;
+ private TableViewer viewer;
+ private final static int limit = 10_000;
+ private int amount = 0;
+ private MainMemory memory;
+
+ public void setLowerBound(long lower)
+ {
+ if (memory != null)
+ this.lower = Long.min(memory.getDefinition().getMaximalAddress(), Long.max(memory.getDefinition().getMinimalAddress(), lower));
+ else
+ this.lower = lower;
+ updateItemCount();
+ }
+
+ public void updateItemCount()
+ {
+ if (memory != null)
+ {
+ long size = memory.getDefinition().getMaximalAddress() - lower;
+ viewer.setItemCount(size > amount ? amount : (int) size);
+ } else
+ viewer.setItemCount(0);
+ }
+
+ public long getLowerBound()
+ {
+ return lower;
+ }
+
+ public void setAmount(int amount)
+ {
+ this.amount = Integer.min(amount, limit);
+ updateItemCount();
+ }
+
+ public int getAmount()
+ {
+ return amount;
+ }
+
+ @Override
+ public void updateElement(int index)
+ {
+ long address = lower + index;
+ if (address <= memory.getDefinition().getMaximalAddress())
+ viewer.replace(new MemoryTableRow(address, memory), index);
+ }
+
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
+ {
+ this.viewer = (TableViewer) viewer;
+ this.memory = (MainMemory) newInput;
+ if (oldInput != null)
+ ((MainMemory) oldInput).deregisterObserver(this);
+ if (memory != null)
+ memory.registerObserver(this);
+ setLowerBound(0L);
+ }
+
+ @Override
+ public void update(long address)
+ {
+ Display.getDefault().asyncExec(() -> updateElement((int) (address - lower)));
+ }
+}
--- /dev/null
+package net.mograsim.plugin.tables.memory;
+
+import net.mograsim.machine.MainMemory;
+
+public class MemoryTableRow
+{
+ public final long address;
+ private final MainMemory memory;
+
+ public MemoryTableRow(long address, MainMemory memory)
+ {
+ this.address = address;
+ this.memory = memory;
+ }
+
+ public MainMemory getMemory()
+ {
+ return memory;
+ }
+}
--- /dev/null
+package net.mograsim.plugin.tables.memory;
+
+import java.math.BigInteger;
+
+import org.eclipse.jface.viewers.ColumnLabelProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TableViewerColumn;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.events.VerifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.part.ViewPart;
+
+import net.mograsim.machine.MainMemory;
+import net.mograsim.machine.MainMemoryDefinition;
+import net.mograsim.machine.standard.memory.WordAddressableMemory;
+import net.mograsim.plugin.asm.AsmNumberUtil;
+import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
+import net.mograsim.plugin.tables.NumberColumnLabelProvider;
+
+public class MemoryView extends ViewPart
+{
+ private TableViewer viewer;
+ private MemoryTableContentProvider provider;
+ private DisplaySettings displaySettings;
+ private String addressFormat;
+
+ @Override
+ public void createPartControl(Composite parent)
+ {
+ provider = new MemoryTableContentProvider();
+ displaySettings = new DisplaySettings(NumberType.HEXADECIMAL);
+
+ GridLayout layout = new GridLayout(6, false);
+ parent.setLayout(layout);
+ Label fromLabel = new Label(parent, SWT.NONE);
+ fromLabel.setText("Address: ");
+ Text fromText = new Text(parent, SWT.BORDER | SWT.SEARCH);
+ fromText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
+ VerifyListener vl = new NumberVerifyListener();
+ fromText.addVerifyListener(vl);
+ fromText.setText("0");
+ fromText.addModifyListener(e ->
+ {
+ try
+ {
+ provider.setLowerBound(AsmNumberUtil.valueOf(fromText.getText()).longValue());
+ viewer.refresh();
+ }
+ catch (@SuppressWarnings("unused") NumberFormatException ex)
+ {
+ // Nothing to do here
+ }
+ });
+
+ Label amountLabel = new Label(parent, SWT.NONE);
+ amountLabel.setText("Number of cells: ");
+ Text amountText = new Text(parent, SWT.BORDER | SWT.SEARCH);
+ amountText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
+ amountText.addVerifyListener(vl);
+ amountText.setText("0");
+ amountText.addModifyListener(e ->
+ {
+ try
+ {
+ provider.setAmount(AsmNumberUtil.valueOf(amountText.getText()).intValue());
+ viewer.refresh();
+ }
+ catch (@SuppressWarnings("unused") NumberFormatException ex)
+ {
+ // Nothing to do here
+ }
+ });
+
+ setupRadixSelector(parent);
+
+ createViewer(parent);
+ }
+
+ private void setupRadixSelector(Composite parent)
+ {
+ Label radixLabel = new Label(parent, SWT.NONE);
+ radixLabel.setText("Radix: ");
+ Combo selectRadix = new Combo(parent, SWT.READ_ONLY);
+
+ String entries[] = new String[] { "Binary", "Octal", "Decimal", "Hexadecimal" };
+ NumberType corTypes[] = new NumberType[] { NumberType.BINARY, NumberType.OCTAL, NumberType.DECIMAL, NumberType.HEXADECIMAL };
+ selectRadix.setItems(entries);
+ selectRadix.addSelectionListener(new SelectionListener()
+ {
+ @Override
+ public void widgetSelected(SelectionEvent e)
+ {
+ int index = selectRadix.getSelectionIndex();
+ if (index == -1)
+ displaySettings.setDataNumberType(NumberType.HEXADECIMAL);
+ else
+ {
+ displaySettings.setDataNumberType(corTypes[index]);
+ }
+ viewer.refresh();
+ }
+
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e)
+ {
+ widgetSelected(e);
+ }
+ });
+ }
+
+ private void createViewer(Composite parent)
+ {
+ viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
+ createColumns();
+ Table table = viewer.getTable();
+ table.setHeaderVisible(true);
+ table.setLinesVisible(true);
+ viewer.setUseHashlookup(true);
+ viewer.setContentProvider(provider);
+ setMemoryBinding(new WordAddressableMemory(MainMemoryDefinition.create(8, 8, 8L, Long.MAX_VALUE)));
+ getSite().setSelectionProvider(viewer);
+
+ GridData gd = new GridData();
+ gd.verticalAlignment = GridData.FILL;
+ gd.horizontalSpan = 6;
+ gd.grabExcessHorizontalSpace = true;
+ gd.grabExcessVerticalSpace = true;
+ gd.horizontalAlignment = GridData.FILL;
+ viewer.getControl().setLayoutData(gd);
+ }
+
+ private void createColumns()
+ {
+ String[] titles = { "Address", "Data" };
+ int[] bounds = { 100, 100 };
+
+ TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0]);
+ col.setLabelProvider(new ColumnLabelProvider()
+ {
+ @Override
+ public String getText(Object element)
+ {
+ MemoryTableRow row = (MemoryTableRow) element;
+ return String.format(addressFormat, row.address);
+ }
+ });
+
+ col = createTableViewerColumn(titles[1], bounds[1]);
+ col.setLabelProvider(new NumberColumnLabelProvider(displaySettings)
+ {
+ @Override
+ public BigInteger getAsBigInteger(Object element)
+ {
+ MemoryTableRow row = (MemoryTableRow) element;
+ return row.getMemory().getCellAsBigInteger(row.address);
+ }
+
+ });
+ col.setEditingSupport(new MemoryCellEditingSupport(viewer, displaySettings));
+ }
+
+ private TableViewerColumn createTableViewerColumn(String title, int bound)
+ {
+ TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE);
+ TableColumn column = viewerColumn.getColumn();
+ column.setText(title);
+ column.setWidth(bound);
+ column.setResizable(true);
+ column.setMoveable(false);
+ return viewerColumn;
+ }
+
+ @Override
+ public void setFocus()
+ {
+ viewer.getControl().setFocus();
+ }
+
+ public void setMemoryBinding(MainMemory m)
+ {
+ int hexAddressLength = Long.toUnsignedString(m.getDefinition().getMaximalAddress(), 16).length();
+ addressFormat = "0x%0" + hexAddressLength + "X";
+ viewer.setInput(m);
+ }
+}
--- /dev/null
+package net.mograsim.plugin.tables.memory;
+
+import org.eclipse.swt.events.VerifyEvent;
+import org.eclipse.swt.events.VerifyListener;
+import org.eclipse.swt.widgets.Text;
+
+import net.mograsim.plugin.asm.AsmNumberUtil;
+import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
+
+public class NumberVerifyListener implements VerifyListener
+{
+
+ @Override
+ public void verifyText(VerifyEvent e)
+ {
+ String text = computeModifiedText(e);
+ e.doit = !NumberType.NONE.equals(AsmNumberUtil.prefixOfType(text));
+ }
+
+ private static String computeModifiedText(VerifyEvent e)
+ {
+ String modifiedText = ((Text) e.getSource()).getText();
+ modifiedText = modifiedText.substring(0, e.start).concat(e.text).concat(modifiedText.substring(e.end));
+ return modifiedText;
+ }
+}