--- /dev/null
+{
+ "width": 60.0,
+ "height": 80.0,
+ "interfacePins": [
+ {
+ "location": {
+ "x": 0.0,
+ "y": 25.0
+ },
+ "name": "I",
+ "logicWidth": 5,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 75.0
+ },
+ "name": "MC_EN",
+ "logicWidth": 1,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 65.0
+ },
+ "name": "MC_MUX",
+ "logicWidth": 2,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 55.0
+ },
+ "name": "OE0",
+ "logicWidth": 1,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 45.0
+ },
+ "name": "OEn",
+ "logicWidth": 1,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 25.0
+ },
+ "name": "QIO0_MUX",
+ "logicWidth": 3,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 35.0
+ },
+ "name": "QIOn_MUX",
+ "logicWidth": 3,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 5.0
+ },
+ "name": "SIO0_MUX",
+ "logicWidth": 3,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 60.0,
+ "y": 15.0
+ },
+ "name": "SIOn_MUX",
+ "logicWidth": 3,
+ "usage": "OUTPUT"
+ },
+ {
+ "location": {
+ "x": 0.0,
+ "y": 55.0
+ },
+ "name": "_SE",
+ "logicWidth": 1,
+ "usage": "OUTPUT"
+ }
+ ],
+ "innerScale": 0.1,
+ "submodel": {
+ "components": [
+ {
+ "id": "NandGate",
+ "name": "NandGate#0",
+ "pos": {
+ "x": 50.0,
+ "y": 225.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#1",
+ "pos": {
+ "x": 50.0,
+ "y": 250.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#2",
+ "pos": {
+ "x": 50.0,
+ "y": 275.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#3",
+ "pos": {
+ "x": 50.0,
+ "y": 300.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#4",
+ "pos": {
+ "x": 45.0,
+ "y": 535.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#5",
+ "pos": {
+ "x": 50.0,
+ "y": 350.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#6",
+ "pos": {
+ "x": 50.0,
+ "y": 375.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#7",
+ "pos": {
+ "x": 555.0,
+ "y": 30.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#8",
+ "pos": {
+ "x": 525.0,
+ "y": 25.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#9",
+ "pos": {
+ "x": 500.0,
+ "y": 170.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#10",
+ "pos": {
+ "x": 470.0,
+ "y": 160.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#11",
+ "pos": {
+ "x": 450.0,
+ "y": 185.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#12",
+ "pos": {
+ "x": 440.0,
+ "y": 150.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#13",
+ "pos": {
+ "x": 415.0,
+ "y": 180.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#14",
+ "pos": {
+ "x": 515.0,
+ "y": 115.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#15",
+ "pos": {
+ "x": 485.0,
+ "y": 125.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#16",
+ "pos": {
+ "x": 295.0,
+ "y": 65.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#17",
+ "pos": {
+ "x": 265.0,
+ "y": 85.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#18",
+ "pos": {
+ "x": 265.0,
+ "y": 60.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#19",
+ "pos": {
+ "x": 225.0,
+ "y": 60.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#20",
+ "pos": {
+ "x": 195.0,
+ "y": 50.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#21",
+ "pos": {
+ "x": 190.0,
+ "y": 75.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#22",
+ "pos": {
+ "x": 555.0,
+ "y": 205.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#23",
+ "pos": {
+ "x": 525.0,
+ "y": 200.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#24",
+ "pos": {
+ "x": 525.0,
+ "y": 225.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#25",
+ "pos": {
+ "x": 495.0,
+ "y": 220.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#26",
+ "pos": {
+ "x": 555.0,
+ "y": 340.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#27",
+ "pos": {
+ "x": 525.0,
+ "y": 340.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#28",
+ "pos": {
+ "x": 490.0,
+ "y": 345.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#29",
+ "pos": {
+ "x": 520.0,
+ "y": 315.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#30",
+ "pos": {
+ "x": 490.0,
+ "y": 285.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#31",
+ "pos": {
+ "x": 490.0,
+ "y": 315.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#32",
+ "pos": {
+ "x": 505.0,
+ "y": 760.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#33",
+ "pos": {
+ "x": 505.0,
+ "y": 735.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#34",
+ "pos": {
+ "x": 470.0,
+ "y": 715.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#35",
+ "pos": {
+ "x": 410.0,
+ "y": 745.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#36",
+ "pos": {
+ "x": 440.0,
+ "y": 750.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#37",
+ "pos": {
+ "x": 435.0,
+ "y": 725.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#38",
+ "pos": {
+ "x": 535.0,
+ "y": 755.0
+ },
+ "params": 1
+ },
+ {
+ "id": "NandGate",
+ "name": "NandGate#39",
+ "pos": {
+ "x": 515.0,
+ "y": 270.0
+ },
+ "params": 1
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 5.0,
+ "y": 230.0
+ },
+ "params": {
+ "logicWidth": 5,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 580.0,
+ "y": 645.0
+ },
+ "params": {
+ "logicWidth": 2,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": 585.0,
+ "y": 340.0
+ },
+ "params": {
+ "logicWidth": 3,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#3",
+ "pos": {
+ "x": 585.0,
+ "y": 240.0
+ },
+ "params": {
+ "logicWidth": 3,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#4",
+ "pos": {
+ "x": 585.0,
+ "y": 140.0
+ },
+ "params": {
+ "logicWidth": 3,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#5",
+ "pos": {
+ "x": 585.0,
+ "y": 40.0
+ },
+ "params": {
+ "logicWidth": 3,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#0",
+ "pos": {
+ "x": 434.0,
+ "y": 764.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#1",
+ "pos": {
+ "x": 544.0,
+ "y": 559.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#2",
+ "pos": {
+ "x": 29.0,
+ "y": 254.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
+ "pos": {
+ "x": 34.0,
+ "y": 279.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 39.0,
+ "y": 304.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 39.0,
+ "y": 549.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 474.0,
+ "y": 289.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#7",
+ "pos": {
+ "x": 29.0,
+ "y": 264.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#8",
+ "pos": {
+ "x": 479.0,
+ "y": 239.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#9",
+ "pos": {
+ "x": 39.0,
+ "y": 314.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#10",
+ "pos": {
+ "x": 29.0,
+ "y": 339.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#11",
+ "pos": {
+ "x": 84.0,
+ "y": 259.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#12",
+ "pos": {
+ "x": 429.0,
+ "y": 164.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#13",
+ "pos": {
+ "x": 29.0,
+ "y": 249.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#14",
+ "pos": {
+ "x": 24.0,
+ "y": 239.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#15",
+ "pos": {
+ "x": 519.0,
+ "y": 59.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#16",
+ "pos": {
+ "x": 469.0,
+ "y": 309.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#17",
+ "pos": {
+ "x": 539.0,
+ "y": 549.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#18",
+ "pos": {
+ "x": 539.0,
+ "y": 544.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#19",
+ "pos": {
+ "x": 29.0,
+ "y": 354.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#20",
+ "pos": {
+ "x": 479.0,
+ "y": 329.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#21",
+ "pos": {
+ "x": 339.0,
+ "y": 259.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#22",
+ "pos": {
+ "x": 179.0,
+ "y": 209.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#23",
+ "pos": {
+ "x": 484.0,
+ "y": 319.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#24",
+ "pos": {
+ "x": 214.0,
+ "y": 224.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#25",
+ "pos": {
+ "x": 104.0,
+ "y": 359.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#26",
+ "pos": {
+ "x": 19.0,
+ "y": 389.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#27",
+ "pos": {
+ "x": 19.0,
+ "y": 379.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#28",
+ "pos": {
+ "x": 379.0,
+ "y": 254.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#29",
+ "pos": {
+ "x": 94.0,
+ "y": 309.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#30",
+ "pos": {
+ "x": 399.0,
+ "y": 459.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#31",
+ "pos": {
+ "x": 434.0,
+ "y": 754.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#32",
+ "pos": {
+ "x": 509.0,
+ "y": 279.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#33",
+ "pos": {
+ "x": 24.0,
+ "y": 229.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#34",
+ "pos": {
+ "x": 34.0,
+ "y": 259.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#35",
+ "pos": {
+ "x": 39.0,
+ "y": 269.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#36",
+ "pos": {
+ "x": 109.0,
+ "y": 204.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#37",
+ "pos": {
+ "x": 34.0,
+ "y": 289.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#38",
+ "pos": {
+ "x": 89.0,
+ "y": 284.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#39",
+ "pos": {
+ "x": 79.0,
+ "y": 234.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#40",
+ "pos": {
+ "x": 84.0,
+ "y": 269.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#41",
+ "pos": {
+ "x": 184.0,
+ "y": 239.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#42",
+ "pos": {
+ "x": 219.0,
+ "y": 234.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#43",
+ "pos": {
+ "x": 169.0,
+ "y": 229.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#44",
+ "pos": {
+ "x": 174.0,
+ "y": 219.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#45",
+ "pos": {
+ "x": 179.0,
+ "y": 109.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#46",
+ "pos": {
+ "x": 259.0,
+ "y": 204.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#47",
+ "pos": {
+ "x": 329.0,
+ "y": 204.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#48",
+ "pos": {
+ "x": 344.0,
+ "y": 219.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#49",
+ "pos": {
+ "x": 354.0,
+ "y": 124.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#50",
+ "pos": {
+ "x": 514.0,
+ "y": 89.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#51",
+ "pos": {
+ "x": 344.0,
+ "y": 209.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#52",
+ "pos": {
+ "x": 354.0,
+ "y": 229.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#53",
+ "pos": {
+ "x": 359.0,
+ "y": 234.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#54",
+ "pos": {
+ "x": 429.0,
+ "y": 134.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#55",
+ "pos": {
+ "x": 339.0,
+ "y": 214.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#56",
+ "pos": {
+ "x": 434.0,
+ "y": 154.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#57",
+ "pos": {
+ "x": 364.0,
+ "y": 239.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#58",
+ "pos": {
+ "x": 369.0,
+ "y": 244.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#59",
+ "pos": {
+ "x": 369.0,
+ "y": 234.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#60",
+ "pos": {
+ "x": 344.0,
+ "y": 264.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#61",
+ "pos": {
+ "x": 489.0,
+ "y": 264.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#62",
+ "pos": {
+ "x": 474.0,
+ "y": 279.0
+ },
+ "params": 1
+ },
+ {
+ "id": "and",
+ "name": "and#0",
+ "pos": {
+ "x": 50.0,
+ "y": 325.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#1",
+ "pos": {
+ "x": 115.0,
+ "y": 255.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#2",
+ "pos": {
+ "x": 550.0,
+ "y": 545.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#3",
+ "pos": {
+ "x": 550.0,
+ "y": 445.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#4",
+ "pos": {
+ "x": 415.0,
+ "y": 205.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#5",
+ "pos": {
+ "x": 545.0,
+ "y": 110.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#6",
+ "pos": {
+ "x": 480.0,
+ "y": 100.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#7",
+ "pos": {
+ "x": 225.0,
+ "y": 85.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#8",
+ "pos": {
+ "x": 550.0,
+ "y": 315.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#9",
+ "pos": {
+ "x": 470.0,
+ "y": 745.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#10",
+ "pos": {
+ "x": 565.0,
+ "y": 745.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#11",
+ "pos": {
+ "x": 550.0,
+ "y": 270.0
+ }
+ },
+ {
+ "id": "and",
+ "name": "and#12",
+ "pos": {
+ "x": 450.0,
+ "y": 120.0
+ }
+ }
+ ],
+ "wires": [
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "I"
+ },
+ "name": "unnamedWire#0",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
+ },
+ "name": "unnamedWire#1",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#6",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#2",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#2",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#3",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O3"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "name": "unnamedWire#4",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "MC_MUX"
+ },
+ "name": "unnamedWire#5",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "QIOn_MUX"
+ },
+ "name": "unnamedWire#6",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#3",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "QIO0_MUX"
+ },
+ "name": "unnamedWire#7",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#4",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "SIOn_MUX"
+ },
+ "name": "unnamedWire#8",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#5",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "SIO0_MUX"
+ },
+ "name": "unnamedWire#9",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#31",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "name": "unnamedWire#10",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "name": "unnamedWire#11",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
+ },
+ "name": "unnamedWire#12",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 210.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#33",
+ "pinName": ""
+ },
+ "name": "unnamedWire#13",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O1"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#34",
+ "pinName": ""
+ },
+ "name": "unnamedWire#14",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#0",
+ "pinName": "O0"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#35",
+ "pinName": ""
+ },
+ "name": "unnamedWire#15",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#32",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#16",
+ "path": [
+ {
+ "x": 435.0,
+ "y": 775.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#1",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#17",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "name": "unnamedWire#18",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#2",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#19",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#37",
+ "pinName": ""
+ },
+ "name": "unnamedWire#20",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#3",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#21",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "name": "unnamedWire#22",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "_submodelinterface",
+ "pinName": "_SE"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "name": "unnamedWire#23",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#4",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#24",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#4",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#25",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 540.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#0",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#26",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 330.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#1",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#27",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#7",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "name": "unnamedWire#28",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#35",
+ "pinName": ""
+ },
+ "name": "unnamedWire#29",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#48",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#51",
+ "pinName": ""
+ },
+ "name": "unnamedWire#30",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#3",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#31",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#9",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#5",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#32",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 365.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#0",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#33",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#10",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "name": "unnamedWire#34",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#1",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "name": "unnamedWire#35",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#40",
+ "pinName": ""
+ },
+ "name": "unnamedWire#36",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#2",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#38",
+ "pinName": ""
+ },
+ "name": "unnamedWire#37",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "and#12",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#15",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#38",
+ "path": [
+ {
+ "x": 480.0,
+ "y": 125.0
+ },
+ {
+ "x": 480.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#11",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#43",
+ "pinName": ""
+ },
+ "name": "unnamedWire#39",
+ "path": [
+ {
+ "x": 85.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#33",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#0",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#40",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#13",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#41",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#36",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#1",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#42",
+ "path": [
+ {
+ "x": 110.0,
+ "y": 260.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#7",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#5",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#43",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#8",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#7",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#44",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#7",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#49",
+ "pinName": ""
+ },
+ "name": "unnamedWire#45",
+ "path": [
+ {
+ "x": 550.0,
+ "y": 45.0
+ },
+ {
+ "x": 550.0,
+ "y": 50.0
+ },
+ {
+ "x": 355.0,
+ "y": 50.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#35",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#39",
+ "pinName": ""
+ },
+ "name": "unnamedWire#46",
+ "path": [
+ {
+ "x": 405.0,
+ "y": 760.0
+ },
+ {
+ "x": 405.0,
+ "y": 465.0
+ },
+ {
+ "x": 80.0,
+ "y": 465.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#50",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#5",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#47",
+ "path": [
+ {
+ "x": 540.0,
+ "y": 90.0
+ },
+ {
+ "x": 540.0,
+ "y": 115.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#5",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#48",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#8",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#49",
+ "path": [
+ {
+ "x": 520.0,
+ "y": 40.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#12",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#49",
+ "pinName": ""
+ },
+ "name": "unnamedWire#50",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "and#3",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "OEn"
+ },
+ "name": "unnamedWire#51",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "and#2",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "OE0"
+ },
+ "name": "unnamedWire#52",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#4",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#53",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
+ },
+ "name": "unnamedWire#54",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#2",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#55",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#6",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#30",
+ "pinName": ""
+ },
+ "name": "unnamedWire#56",
+ "path": [
+ {
+ "x": 75.0,
+ "y": 385.0
+ },
+ {
+ "x": 75.0,
+ "y": 460.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#36",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#57",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#58",
+ "path": [
+ {
+ "x": 545.0,
+ "y": 645.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#5",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#59",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#19",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#60",
+ "path": [
+ {
+ "x": 30.0,
+ "y": 450.0
+ },
+ {
+ "x": 390.0,
+ "y": 450.0
+ },
+ {
+ "x": 390.0,
+ "y": 655.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#9",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#4",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#61",
+ "path": [
+ {
+ "x": 575.0,
+ "y": 180.0
+ },
+ {
+ "x": 575.0,
+ "y": 160.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#10",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#9",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#62",
+ "path": [
+ {
+ "x": 495.0,
+ "y": 170.0
+ },
+ {
+ "x": 495.0,
+ "y": 175.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#11",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#9",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#63",
+ "path": [
+ {
+ "x": 475.0,
+ "y": 195.0
+ },
+ {
+ "x": 475.0,
+ "y": 185.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#12",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#10",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#64",
+ "path": [
+ {
+ "x": 465.0,
+ "y": 160.0
+ },
+ {
+ "x": 465.0,
+ "y": 165.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#3",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#29",
+ "pinName": ""
+ },
+ "name": "unnamedWire#65",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#12",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#56",
+ "pinName": ""
+ },
+ "name": "unnamedWire#66",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#12",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#67",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "and#0",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#58",
+ "pinName": ""
+ },
+ "name": "unnamedWire#68",
+ "path": [
+ {
+ "x": 100.0,
+ "y": 330.0
+ },
+ {
+ "x": 100.0,
+ "y": 245.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#58",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#59",
+ "pinName": ""
+ },
+ "name": "unnamedWire#69",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#13",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#11",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#70",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "and#4",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#11",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#71",
+ "path": [
+ {
+ "x": 445.0,
+ "y": 210.0
+ },
+ {
+ "x": 445.0,
+ "y": 200.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#34",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#55",
+ "pinName": ""
+ },
+ "name": "unnamedWire#72",
+ "path": [
+ {
+ "x": 35.0,
+ "y": 215.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#73",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 445.0
+ },
+ {
+ "x": 385.0,
+ "y": 445.0
+ },
+ {
+ "x": 385.0,
+ "y": 560.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#34",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#74",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#13",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#55",
+ "pinName": ""
+ },
+ "name": "unnamedWire#75",
+ "path": [
+ {
+ "x": 340.0,
+ "y": 195.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#51",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#4",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#76",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#0",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#39",
+ "pinName": ""
+ },
+ "name": "unnamedWire#77",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#24",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#4",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#78",
+ "path": [
+ {
+ "x": 350.0,
+ "y": 225.0
+ },
+ {
+ "x": 350.0,
+ "y": 220.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#5",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#4",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#79",
+ "path": [
+ {
+ "x": 575.0,
+ "y": 115.0
+ },
+ {
+ "x": 575.0,
+ "y": 150.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#14",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "and#5",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#80",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#15",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#14",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#81",
+ "path": [
+ {
+ "x": 510.0,
+ "y": 135.0
+ },
+ {
+ "x": 510.0,
+ "y": 130.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#6",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#14",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#82",
+ "path": [
+ {
+ "x": 510.0,
+ "y": 105.0
+ },
+ {
+ "x": 510.0,
+ "y": 120.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#15",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#56",
+ "pinName": ""
+ },
+ "name": "unnamedWire#83",
+ "path": [
+ {
+ "x": 480.0,
+ "y": 140.0
+ },
+ {
+ "x": 480.0,
+ "y": 145.0
+ },
+ {
+ "x": 435.0,
+ "y": 145.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#5",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#25",
+ "pinName": ""
+ },
+ "name": "unnamedWire#84",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#25",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#6",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#85",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 250.0
+ },
+ {
+ "x": 375.0,
+ "y": 250.0
+ },
+ {
+ "x": 375.0,
+ "y": 115.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#18",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#3",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#86",
+ "path": [
+ {
+ "x": 540.0,
+ "y": 450.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#13",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#87",
+ "path": [
+ {
+ "x": 335.0,
+ "y": 210.0
+ },
+ {
+ "x": 335.0,
+ "y": 185.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#7",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#17",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#88",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#36",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "and#9",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#89",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#27",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#0",
+ "pinName": "O4"
+ },
+ "name": "unnamedWire#90",
+ "path": [
+ {
+ "x": 20.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#54",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#6",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#91",
+ "path": [
+ {
+ "x": 430.0,
+ "y": 105.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#54",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#12",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#92",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#33",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#36",
+ "pinName": ""
+ },
+ "name": "unnamedWire#93",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 205.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#16",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#4",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#94",
+ "path": [
+ {
+ "x": 580.0,
+ "y": 75.0
+ },
+ {
+ "x": 580.0,
+ "y": 140.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#16",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "NandGate#17",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#95",
+ "path": [
+ {
+ "x": 290.0,
+ "y": 80.0
+ },
+ {
+ "x": 290.0,
+ "y": 95.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#18",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#16",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#96",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#26",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#6",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#97",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#46",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#18",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#98",
+ "path": [
+ {
+ "x": 260.0,
+ "y": 65.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#9",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#37",
+ "pinName": ""
+ },
+ "name": "unnamedWire#99",
+ "path": [
+ {
+ "x": 465.0,
+ "y": 750.0
+ },
+ {
+ "x": 465.0,
+ "y": 715.0
+ },
+ {
+ "x": 395.0,
+ "y": 715.0
+ },
+ {
+ "x": 395.0,
+ "y": 455.0
+ },
+ {
+ "x": 35.0,
+ "y": 455.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#7",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#24",
+ "pinName": ""
+ },
+ "name": "unnamedWire#100",
+ "path": [
+ {
+ "x": 215.0,
+ "y": 90.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#7",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#42",
+ "pinName": ""
+ },
+ "name": "unnamedWire#101",
+ "path": [
+ {
+ "x": 220.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#19",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#18",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#102",
+ "path": [
+ {
+ "x": 255.0,
+ "y": 70.0
+ },
+ {
+ "x": 255.0,
+ "y": 75.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#20",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#19",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#103",
+ "path": [
+ {
+ "x": 220.0,
+ "y": 60.0
+ },
+ {
+ "x": 220.0,
+ "y": 65.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#21",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#19",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#104",
+ "path": [
+ {
+ "x": 220.0,
+ "y": 85.0
+ },
+ {
+ "x": 220.0,
+ "y": 75.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#20",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#43",
+ "pinName": ""
+ },
+ "name": "unnamedWire#105",
+ "path": [
+ {
+ "x": 170.0,
+ "y": 55.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#20",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#44",
+ "pinName": ""
+ },
+ "name": "unnamedWire#106",
+ "path": [
+ {
+ "x": 175.0,
+ "y": 65.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#22",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#45",
+ "pinName": ""
+ },
+ "name": "unnamedWire#107",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#21",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#41",
+ "pinName": ""
+ },
+ "name": "unnamedWire#108",
+ "path": [
+ {
+ "x": 185.0,
+ "y": 90.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#39",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "and#11",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#109",
+ "path": [
+ {
+ "x": 540.0,
+ "y": 280.0
+ },
+ {
+ "x": 540.0,
+ "y": 275.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#58",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#3",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#110",
+ "path": [
+ {
+ "x": 390.0,
+ "y": 245.0
+ },
+ {
+ "x": 390.0,
+ "y": 250.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#5",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#111",
+ "path": [
+ {
+ "x": 380.0,
+ "y": 55.0
+ },
+ {
+ "x": 580.0,
+ "y": 55.0
+ },
+ {
+ "x": 580.0,
+ "y": 50.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#22",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#3",
+ "pinName": "O2"
+ },
+ "name": "unnamedWire#112",
+ "path": [
+ {
+ "x": 580.0,
+ "y": 215.0
+ },
+ {
+ "x": 580.0,
+ "y": 240.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#23",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#22",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#113",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#24",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#22",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#114",
+ "path": [
+ {
+ "x": 550.0,
+ "y": 235.0
+ },
+ {
+ "x": 550.0,
+ "y": 220.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#25",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#24",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#115",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#59",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#23",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#116",
+ "path": [
+ {
+ "x": 475.0,
+ "y": 235.0
+ },
+ {
+ "x": 475.0,
+ "y": 205.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#23",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#117",
+ "path": [
+ {
+ "x": 480.0,
+ "y": 215.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#24",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
+ },
+ "name": "unnamedWire#118",
+ "path": [
+ {
+ "x": 520.0,
+ "y": 240.0
+ },
+ {
+ "x": 520.0,
+ "y": 255.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#25",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#119",
+ "path": [
+ {
+ "x": 485.0,
+ "y": 260.0
+ },
+ {
+ "x": 485.0,
+ "y": 225.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#60",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#61",
+ "pinName": ""
+ },
+ "name": "unnamedWire#120",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#60",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#121",
+ "path": [
+ {
+ "x": 345.0,
+ "y": 375.0
+ },
+ {
+ "x": 580.0,
+ "y": 375.0
+ },
+ {
+ "x": 580.0,
+ "y": 360.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#26",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#2",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#122",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#26",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "name": "unnamedWire#123",
+ "path": [
+ {
+ "x": 550.0,
+ "y": 355.0
+ },
+ {
+ "x": 550.0,
+ "y": 370.0
+ },
+ {
+ "x": 470.0,
+ "y": 370.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#27",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#26",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#124",
+ "path": [
+ {
+ "x": 550.0,
+ "y": 350.0
+ },
+ {
+ "x": 550.0,
+ "y": 345.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#27",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
+ },
+ "name": "unnamedWire#125",
+ "path": [
+ {
+ "x": 520.0,
+ "y": 355.0
+ },
+ {
+ "x": 520.0,
+ "y": 340.0
+ },
+ {
+ "x": 485.0,
+ "y": 340.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#28",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#126",
+ "path": [
+ {
+ "x": 475.0,
+ "y": 360.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#28",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
+ },
+ "name": "unnamedWire#127",
+ "path": [
+ {
+ "x": 480.0,
+ "y": 350.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "O2"
+ },
+ "pin2": {
+ "compName": "and#8",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#128",
+ "path": [
+ {
+ "x": 580.0,
+ "y": 340.0
+ },
+ {
+ "x": 580.0,
+ "y": 320.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#45",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#17",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#129",
+ "path": [
+ {
+ "x": 255.0,
+ "y": 110.0
+ },
+ {
+ "x": 255.0,
+ "y": 100.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#29",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "and#8",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#130",
+ "path": [
+ {
+ "x": 545.0,
+ "y": 325.0
+ },
+ {
+ "x": 545.0,
+ "y": 330.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#30",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#29",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#131",
+ "path": [
+ {
+ "x": 515.0,
+ "y": 295.0
+ },
+ {
+ "x": 515.0,
+ "y": 320.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#31",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#29",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#132",
+ "path": [
+ {
+ "x": 515.0,
+ "y": 325.0
+ },
+ {
+ "x": 515.0,
+ "y": 330.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#30",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#133",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#53",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#30",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#134",
+ "path": [
+ {
+ "x": 360.0,
+ "y": 300.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#31",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
+ },
+ "name": "unnamedWire#135",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#31",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#136",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#33",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#38",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#137",
+ "path": [
+ {
+ "x": 530.0,
+ "y": 745.0
+ },
+ {
+ "x": 530.0,
+ "y": 760.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#38",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "NandGate#32",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#138",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#37",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#34",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#139",
+ "path": [
+ {
+ "x": 460.0,
+ "y": 735.0
+ },
+ {
+ "x": 460.0,
+ "y": 730.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#32",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#38",
+ "pinName": ""
+ },
+ "name": "unnamedWire#140",
+ "path": [
+ {
+ "x": 500.0,
+ "y": 765.0
+ },
+ {
+ "x": 500.0,
+ "y": 710.0
+ },
+ {
+ "x": 415.0,
+ "y": 710.0
+ },
+ {
+ "x": 415.0,
+ "y": 475.0
+ },
+ {
+ "x": 90.0,
+ "y": 475.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#38",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "and#10",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#141",
+ "path": [
+ {
+ "x": 560.0,
+ "y": 765.0
+ },
+ {
+ "x": 560.0,
+ "y": 760.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#9",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#33",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#142",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#25",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#34",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#143",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 485.0
+ },
+ {
+ "x": 425.0,
+ "y": 485.0
+ },
+ {
+ "x": 425.0,
+ "y": 720.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#34",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#33",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#144",
+ "path": [
+ {
+ "x": 495.0,
+ "y": 725.0
+ },
+ {
+ "x": 495.0,
+ "y": 740.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#8",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#145",
+ "path": [
+ {
+ "x": 545.0,
+ "y": 310.0
+ },
+ {
+ "x": 545.0,
+ "y": 320.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#30",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#3",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#146",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#35",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#30",
+ "pinName": ""
+ },
+ "name": "unnamedWire#147",
+ "path": [
+ {
+ "x": 400.0,
+ "y": 750.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#35",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#31",
+ "pinName": ""
+ },
+ "name": "unnamedWire#148",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#31",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#36",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#149",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#29",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#41",
+ "pinName": ""
+ },
+ "name": "unnamedWire#150",
+ "path": [
+ {
+ "x": 95.0,
+ "y": 240.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#1",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#28",
+ "pinName": ""
+ },
+ "name": "unnamedWire#151",
+ "path": [
+ {
+ "x": 145.0,
+ "y": 260.0
+ },
+ {
+ "x": 145.0,
+ "y": 255.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#37",
+ "pinName": "B"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#29",
+ "pinName": ""
+ },
+ "name": "unnamedWire#152",
+ "path": [
+ {
+ "x": 420.0,
+ "y": 740.0
+ },
+ {
+ "x": 420.0,
+ "y": 480.0
+ },
+ {
+ "x": 95.0,
+ "y": 480.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#37",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#2",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#153",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#37",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#40",
+ "pinName": ""
+ },
+ "name": "unnamedWire#154",
+ "path": [
+ {
+ "x": 410.0,
+ "y": 730.0
+ },
+ {
+ "x": 410.0,
+ "y": 470.0
+ },
+ {
+ "x": 85.0,
+ "y": 470.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#38",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#42",
+ "pinName": ""
+ },
+ "name": "unnamedWire#155",
+ "path": [
+ {
+ "x": 90.0,
+ "y": 235.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#28",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "NandGate#27",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#156",
+ "path": [
+ {
+ "x": 515.0,
+ "y": 355.0
+ },
+ {
+ "x": 515.0,
+ "y": 345.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#10",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "MC_EN"
+ },
+ "name": "unnamedWire#157",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "and#10",
+ "pinName": "A"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#17",
+ "pinName": ""
+ },
+ "name": "unnamedWire#158",
+ "path": [
+ {
+ "x": 540.0,
+ "y": 750.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#61",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#11",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#159",
+ "path": [
+ {
+ "x": 545.0,
+ "y": 265.0
+ },
+ {
+ "x": 545.0,
+ "y": 285.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "and#11",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#3",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#160",
+ "path": [
+ {
+ "x": 580.0,
+ "y": 275.0
+ },
+ {
+ "x": 580.0,
+ "y": 260.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#39",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#161",
+ "path": [
+ {
+ "x": 510.0,
+ "y": 275.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#39",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#162",
+ "path": [
+ {
+ "x": 510.0,
+ "y": 285.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#62",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#32",
+ "pinName": ""
+ },
+ "name": "unnamedWire#163",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#50",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#8",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#164",
+ "path": [
+ {
+ "x": 515.0,
+ "y": 30.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#14",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#0",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#165",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#44",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#48",
+ "pinName": ""
+ },
+ "name": "unnamedWire#166",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#36",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#46",
+ "pinName": ""
+ },
+ "name": "unnamedWire#167",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#39",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#24",
+ "pinName": ""
+ },
+ "name": "unnamedWire#168",
+ "path": [
+ {
+ "x": 80.0,
+ "y": 225.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#40",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "and#1",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#169",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#41",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#57",
+ "pinName": ""
+ },
+ "name": "unnamedWire#170",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#42",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#53",
+ "pinName": ""
+ },
+ "name": "unnamedWire#171",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#43",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#52",
+ "pinName": ""
+ },
+ "name": "unnamedWire#172",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#35",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#44",
+ "pinName": ""
+ },
+ "name": "unnamedWire#173",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 220.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#45",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#21",
+ "pinName": "A"
+ },
+ "name": "unnamedWire#174",
+ "path": [
+ {
+ "x": 180.0,
+ "y": 80.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#46",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#47",
+ "pinName": ""
+ },
+ "name": "unnamedWire#175",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#47",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#62",
+ "pinName": ""
+ },
+ "name": "unnamedWire#176",
+ "path": [
+ {
+ "x": 330.0,
+ "y": 280.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#48",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#60",
+ "pinName": ""
+ },
+ "name": "unnamedWire#177",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#52",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#16",
+ "pinName": ""
+ },
+ "name": "unnamedWire#178",
+ "path": [
+ {
+ "x": 470.0,
+ "y": 230.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#47",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#50",
+ "pinName": ""
+ },
+ "name": "unnamedWire#179",
+ "path": [
+ {
+ "x": 330.0,
+ "y": 90.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#51",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#15",
+ "pinName": ""
+ },
+ "name": "unnamedWire#180",
+ "path": [
+ {
+ "x": 345.0,
+ "y": 60.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#52",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#49",
+ "pinName": ""
+ },
+ "name": "unnamedWire#181",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#53",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "name": "unnamedWire#182",
+ "path": [
+ {
+ "x": 360.0,
+ "y": 165.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#12",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#54",
+ "pinName": ""
+ },
+ "name": "unnamedWire#183",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#55",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
+ },
+ "name": "unnamedWire#184",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#57",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "name": "unnamedWire#185",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#56",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#57",
+ "pinName": ""
+ },
+ "name": "unnamedWire#186",
+ "path": [
+ {
+ "x": 365.0,
+ "y": 155.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#21",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#23",
+ "pinName": ""
+ },
+ "name": "unnamedWire#187",
+ "path": [
+ {
+ "x": 340.0,
+ "y": 320.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#59",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#10",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#188",
+ "path": [
+ {
+ "x": 370.0,
+ "y": 175.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#8",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#20",
+ "pinName": ""
+ },
+ "name": "unnamedWire#189",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#61",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#25",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#190",
+ "path": [
+ {
+ "x": 490.0,
+ "y": 235.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#62",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#191",
+ "path": []
+ }
+ ],
+ "version": "0.1.1"
+ },
+ "symbolRendererSnippetID": "simpleRectangularLike",
+ "symbolRendererParams": {
+ "centerText": "Shift\nInstruction\ndecode",
+ "centerTextHeight": 5.0,
+ "horizontalComponentCenter": 30.0,
+ "pinLabelHeight": 3.5,
+ "pinLabelMargin": 0.5
+ },
+ "outlineRendererSnippetID": "default",
+ "highLevelStateHandlerSnippetID": "default",
+ "version": "0.1.5"
+}
\ No newline at end of file
+++ /dev/null
-package net.mograsim.logic.model.am2900.components.am2904;
-
-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;
-
-import net.mograsim.logic.core.types.Bit;
-import net.mograsim.logic.core.types.BitVector;
-import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
-import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd;
-import net.mograsim.logic.model.model.LogicModelModifiable;
-import net.mograsim.logic.model.model.components.atomic.SimpleRectangularHardcodedModelComponent;
-import net.mograsim.logic.model.model.wires.Pin;
-import net.mograsim.logic.model.model.wires.PinUsage;
-import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
-import net.mograsim.logic.model.snippets.symbolrenderers.PinNamesSymbolRenderer.PinNamesParams.Position;
-
-public class ModelAm2904ShiftInstrDecode extends SimpleRectangularHardcodedModelComponent
-{
- public ModelAm2904ShiftInstrDecode(LogicModelModifiable model, String name)
- {
- super(model, "Am2904ShiftInstrDecode", name, "Shift \ninstruction\ndecode", false);
- setSize(60, 80);
- addPin(new Pin(model, this, "I", 5, PinUsage.INPUT, 0, 25), Position.RIGHT);
- addPin(new Pin(model, this, "_SE", 1, PinUsage.INPUT, 0, 55), Position.RIGHT);
- // SIO0 MUX:
- // 000: 0
- // 001: 1
- // 01x: SIOn
- // 10x: QIOn
- // 11x: MC
- addPin(new Pin(model, this, "SIO0_MUX", 3, PinUsage.OUTPUT, 60, 5), Position.LEFT);
- // SIOn MUX:
- // 000: 0
- // 001: 1
- // 010: SIO0
- // 011: QIO0
- // 100: MC
- // 101: MN
- // 110: IC
- // 111: IN xor IVOR
- addPin(new Pin(model, this, "SIOn_MUX", 3, PinUsage.OUTPUT, 60, 15), Position.LEFT);
- // QIO0 MUX:
- // 000: 0
- // 001: 1
- // 01x: SIOn
- // 10x: QIOn
- // 11x: MC
- addPin(new Pin(model, this, "QIO0_MUX", 3, PinUsage.OUTPUT, 60, 25), Position.LEFT);
- // QIOn MUX:
- // 000: 0
- // 001: 1
- // 01x: SIO0
- // 10x: QIO0
- // 11x: MN
- addPin(new Pin(model, this, "QIOn_MUX", 3, PinUsage.OUTPUT, 60, 35), Position.LEFT);
- addPin(new Pin(model, this, "OEn", 1, PinUsage.OUTPUT, 60, 45), Position.LEFT);
- addPin(new Pin(model, this, "OE0", 1, PinUsage.OUTPUT, 60, 55), Position.LEFT);
- // 00: SIO0
- // 01: QIO0
- // 1x: SIOn
- addPin(new Pin(model, this, "MC_MUX", 2, PinUsage.OUTPUT, 60, 65), Position.LEFT);
- addPin(new Pin(model, this, "MC_EN", 1, PinUsage.OUTPUT, 60, 75), Position.LEFT);
-
- init();
- }
-
- @Override
- public Object recalculate(Object lastState, Map<String, ReadEnd> readEnds, Map<String, ReadWriteEnd> readWriteEnds)
- {
- Bit _SE = readEnds.get("_SE").getValue();
- BitVector I = readEnds.get("I").getValues();
- readWriteEnds.get("OEn").feedSignals(I.getMSBit(0).not().and(_SE.not()));
- readWriteEnds.get("OE0").feedSignals(I.getMSBit(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;
- }
- if (!I.isBinary())
- {
- Bit val = null;
- for (Bit b : I.getBits())
- if (!b.isBinary())
- {
- val = b;
- break;
- }
- readWriteEnds.get("SIO0_MUX").feedSignals(val, val, val);
- readWriteEnds.get("SIOn_MUX").feedSignals(val, val, val);
- readWriteEnds.get("QIO0_MUX").feedSignals(val, val, val);
- readWriteEnds.get("QIOn_MUX").feedSignals(val, val, val);
- readWriteEnds.get("MC_MUX").feedSignals(val, val);
- readWriteEnds.get("MC_EN").feedSignals(val);
- return null;
- }
- int IAsInt = I.getUnsignedValue().intValue();
- if (IAsInt < 16)
- {
- readWriteEnds.get("SIO0_MUX").feedSignals(X, X, X);
- readWriteEnds.get("QIO0_MUX").feedSignals(X, X, X);
- switch (IAsInt)
- {
- case 0:
- case 2:
- case 6:
- case 7:
- readWriteEnds.get("SIOn_MUX").feedSignals(ZERO, ZERO, ZERO);
- break;
- case 1:
- case 3:
- readWriteEnds.get("SIOn_MUX").feedSignals(ZERO, ZERO, ONE);
- break;
- case 4:
- case 9:
- case 12:
- readWriteEnds.get("SIOn_MUX").feedSignals(ONE, ZERO, ZERO);
- break;
- case 5:
- readWriteEnds.get("SIOn_MUX").feedSignals(ONE, ZERO, ONE);
- break;
- case 8:
- case 10:
- readWriteEnds.get("SIOn_MUX").feedSignals(ZERO, ONE, ZERO);
- break;
- case 11:
- readWriteEnds.get("SIOn_MUX").feedSignals(ONE, ONE, ZERO);
- break;
- case 13:
- case 15:
- readWriteEnds.get("SIOn_MUX").feedSignals(ZERO, ONE, ONE);
- break;
- case 14:
- readWriteEnds.get("SIOn_MUX").feedSignals(ONE, ONE, ONE);
- break;
- default:
- throw new IllegalStateException("can't happen");
- }
- switch (IAsInt)
- {
- case 0:
- readWriteEnds.get("QIOn_MUX").feedSignals(ZERO, ZERO, ZERO);
- break;
- case 1:
- readWriteEnds.get("QIOn_MUX").feedSignals(ZERO, ZERO, ONE);
- break;
- case 2:
- readWriteEnds.get("QIOn_MUX").feedSignals(ONE, ONE, X);
- break;
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- readWriteEnds.get("QIOn_MUX").feedSignals(ZERO, ONE, X);
- break;
- case 8:
- case 9:
- case 10:
- readWriteEnds.get("QIOn_MUX").feedSignals(ONE, ZERO, X);
- break;
- default:
- throw new IllegalStateException("can't happen");
- }
- } else
- {
- readWriteEnds.get("SIOn_MUX").feedSignals(X, X, X);
- readWriteEnds.get("QIOn_MUX").feedSignals(X, X, X);
- switch (IAsInt)
- {
- case 16:
- case 18:
- readWriteEnds.get("SIO0_MUX").feedSignals(ZERO, ZERO, ZERO);
- break;
- case 17:
- case 19:
- readWriteEnds.get("SIO0_MUX").feedSignals(ZERO, ZERO, ONE);
- break;
- case 20:
- case 21:
- case 22:
- case 23:
- case 28:
- case 29:
- case 30:
- case 31:
- readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ZERO, X);
- break;
- case 24:
- case 26:
- readWriteEnds.get("SIO0_MUX").feedSignals(ZERO, ONE, X);
- break;
- case 25:
- case 27:
- readWriteEnds.get("SIO0_MUX").feedSignals(ONE, ONE, X);
- break;
- default:
- throw new IllegalStateException("can't happen");
- }
- switch (IAsInt)
- {
- case 16:
- case 18:
- case 20:
- case 22:
- case 27:
- readWriteEnds.get("QIO0_MUX").feedSignals(ZERO, ZERO, ZERO);
- break;
- case 17:
- case 19:
- case 21:
- case 23:
- readWriteEnds.get("QIO0_MUX").feedSignals(ZERO, ZERO, ONE);
- break;
- case 24:
- case 25:
- case 26:
- readWriteEnds.get("QIO0_MUX").feedSignals(ONE, ZERO, X);
- break;
- case 28:
- case 30:
- readWriteEnds.get("QIO0_MUX").feedSignals(ONE, ONE, X);
- break;
- case 29:
- case 31:
- readWriteEnds.get("QIO0_MUX").feedSignals(ZERO, ONE, X);
- break;
- default:
- throw new IllegalStateException("can't happen");
- }
- }
- // MC
- switch (IAsInt)
- {
- case 0:
- case 1:
- case 3:
- case 4:
- case 5:
- case 6:
- case 10:
- case 11:
- case 14:
- case 15:
- case 18:
- case 19:
- case 22:
- case 23:
- case 26:
- case 27:
- case 30:
- case 31:
- readWriteEnds.get("MC_EN").feedSignals(ZERO);
- readWriteEnds.get("MC_MUX").feedSignals(X, X);
- break;
- case 2:
- case 8:
- case 9:
- readWriteEnds.get("MC_EN").feedSignals(ONE);
- readWriteEnds.get("MC_MUX").feedSignals(ZERO, ZERO);
- break;
- case 7:
- case 12:
- case 13:
- readWriteEnds.get("MC_EN").feedSignals(ONE);
- readWriteEnds.get("MC_MUX").feedSignals(ZERO, ONE);
- break;
- case 16:
- case 17:
- case 20:
- case 21:
- case 24:
- case 25:
- case 28:
- case 29:
- readWriteEnds.get("MC_EN").feedSignals(ONE);
- readWriteEnds.get("MC_MUX").feedSignals(ONE, X);
- break;
- default:
- throw new IllegalStateException("can't happen");
- }
- return null;
- }
-
- static
- {
- IndirectModelComponentCreator.setComponentSupplier(ModelAm2904ShiftInstrDecode.class.getCanonicalName(),
- (m, p, n) -> new ModelAm2904ShiftInstrDecode(m, n));
- }
-}
\ No newline at end of file