{
- "width": 35.0,
- "height": 90.0,
+ "width": 50.0,
+ "height": 80.0,
"interfacePins": [
{
"location": {
"x": 0.0,
- "y": 15.0
+ "y": 20.0
},
- "name": "I0_1",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 25.0
- },
- "name": "I0_2",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 35.0
- },
- "name": "I0_3",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 45.0
- },
- "name": "I0_4",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 55.0
- },
- "name": "I1_1",
- "logicWidth": 1,
+ "name": "I0",
+ "logicWidth": 4,
"usage": "INPUT"
},
{
"location": {
"x": 0.0,
- "y": 65.0
+ "y": 50.0
},
- "name": "I1_2",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 75.0
- },
- "name": "I1_3",
- "logicWidth": 1,
- "usage": "INPUT"
- },
- {
- "location": {
- "x": 0.0,
- "y": 85.0
- },
- "name": "I1_4",
- "logicWidth": 1,
+ "name": "I1",
+ "logicWidth": 4,
"usage": "INPUT"
},
{
},
{
"location": {
- "x": 35.0,
- "y": 5.0
+ "x": 50.0,
+ "y": 20.0
},
- "name": "Y1",
- "logicWidth": 1,
- "usage": "OUTPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 15.0
- },
- "name": "Y2",
- "logicWidth": 1,
- "usage": "OUTPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 25.0
- },
- "name": "Y3",
- "logicWidth": 1,
- "usage": "OUTPUT"
- },
- {
- "location": {
- "x": 35.0,
- "y": 35.0
- },
- "name": "Y4",
- "logicWidth": 1,
+ "name": "Y",
+ "logicWidth": 4,
"usage": "OUTPUT"
}
],
"innerScale": 0.4,
"submodel": {
"components": [
+ {
+ "id": "NandGate",
+ "name": "NandGate#0",
+ "pos": {
+ "x": 20.0,
+ "y": 7.5
+ },
+ "params": 1
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#0",
+ "pos": {
+ "x": 5.0,
+ "y": 35.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#1",
+ "pos": {
+ "x": 110.0,
+ "y": 35.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "LEFT"
+ }
+ },
+ {
+ "id": "Splitter",
+ "name": "Splitter#2",
+ "pos": {
+ "x": 5.0,
+ "y": 110.0
+ },
+ "params": {
+ "logicWidth": 4,
+ "orientation": "RIGHT"
+ }
+ },
{
"id": "WireCrossPoint",
"name": "WireCrossPoint#0",
"pos": {
- "x": 24.0,
+ "x": 14.0,
"y": 11.5
},
"params": 1
"id": "WireCrossPoint",
"name": "WireCrossPoint#1",
"pos": {
- "x": 24.0,
- "y": 46.5
+ "x": 44.0,
+ "y": 19.0
},
"params": 1
},
"id": "WireCrossPoint",
"name": "WireCrossPoint#2",
"pos": {
- "x": 24.0,
- "y": 81.5
+ "x": 44.0,
+ "y": 64.0
},
"params": 1
},
{
- "id": "mux1",
- "name": "mux1#0",
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#3",
"pos": {
- "x": 30.0,
- "y": 7.5
+ "x": 44.0,
+ "y": 109.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#4",
+ "pos": {
+ "x": 49.0,
+ "y": 29.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#5",
+ "pos": {
+ "x": 49.0,
+ "y": 74.0
+ },
+ "params": 1
+ },
+ {
+ "id": "WireCrossPoint",
+ "name": "WireCrossPoint#6",
+ "pos": {
+ "x": 49.0,
+ "y": 119.0
+ },
+ "params": 1
+ },
+ {
+ "id": "sel1",
+ "name": "sel1#0",
+ "pos": {
+ "x": 55.0,
+ "y": 15.0
}
},
{
- "id": "mux1",
- "name": "mux1#1",
+ "id": "sel1",
+ "name": "sel1#1",
"pos": {
- "x": 30.0,
- "y": 42.5
+ "x": 55.0,
+ "y": 60.0
}
},
{
- "id": "mux1",
- "name": "mux1#2",
+ "id": "sel1",
+ "name": "sel1#2",
"pos": {
- "x": 30.0,
- "y": 77.5
+ "x": 55.0,
+ "y": 105.0
}
},
{
- "id": "mux1",
- "name": "mux1#3",
+ "id": "sel1",
+ "name": "sel1#3",
"pos": {
- "x": 30.0,
- "y": 112.5
+ "x": 55.0,
+ "y": 150.0
}
}
],
"pinName": ""
},
"pin2": {
- "compName": "mux1#0",
- "pinName": "S0"
+ "compName": "NandGate#0",
+ "pinName": "A"
},
"name": "unnamedWire#1",
"path": []
{
"pin1": {
"compName": "_submodelinterface",
- "pinName": "I0_1"
+ "pinName": "I0"
},
"pin2": {
- "compName": "mux1#0",
- "pinName": "I0"
+ "compName": "Splitter#0",
+ "pinName": "I"
},
"name": "unnamedWire#2",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#2",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "I1"
+ },
+ "name": "unnamedWire#3",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "I"
+ },
+ "pin2": {
+ "compName": "_submodelinterface",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#4",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "NandGate#0",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "name": "unnamedWire#5",
"path": [
{
- "x": 5.0,
- "y": 37.5
- },
- {
- "x": 5.0,
- "y": 22.5
+ "x": 45.0,
+ "y": 17.5
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I1_1"
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
},
"pin2": {
- "compName": "mux1#0",
- "pinName": "I1"
+ "compName": "sel1#0",
+ "pinName": "S1"
},
- "name": "unnamedWire#3",
+ "name": "unnamedWire#6",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#1",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "name": "unnamedWire#7",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#1",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#8",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#2",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "name": "unnamedWire#9",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#2",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#10",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#3",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#3",
+ "pinName": "S1"
+ },
+ "name": "unnamedWire#11",
"path": [
{
- "x": 10.0,
- "y": 137.5
- },
- {
- "x": 10.0,
- "y": 32.5
+ "x": 45.0,
+ "y": 155.0
}
]
},
{
"pin1": {
- "compName": "mux1#0",
- "pinName": "Y"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y1"
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
},
- "name": "unnamedWire#4",
+ "name": "unnamedWire#12",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#0",
+ "compName": "WireCrossPoint#4",
"pinName": ""
},
"pin2": {
- "compName": "WireCrossPoint#1",
+ "compName": "sel1#0",
+ "pinName": "S2"
+ },
+ "name": "unnamedWire#13",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
"pinName": ""
},
- "name": "unnamedWire#5",
+ "pin2": {
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
+ },
+ "name": "unnamedWire#14",
"path": []
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
+ "compName": "WireCrossPoint#6",
"pinName": ""
},
"pin2": {
- "compName": "mux1#1",
- "pinName": "S0"
+ "compName": "sel1#2",
+ "pinName": "S2"
},
- "name": "unnamedWire#6",
+ "name": "unnamedWire#15",
"path": []
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I0_2"
+ "compName": "WireCrossPoint#6",
+ "pinName": ""
},
"pin2": {
- "compName": "mux1#1",
- "pinName": "I0"
+ "compName": "sel1#3",
+ "pinName": "S2"
},
- "name": "unnamedWire#7",
+ "name": "unnamedWire#16",
"path": [
{
- "x": 5.0,
- "y": 62.5
- },
+ "x": 50.0,
+ "y": 165.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#5",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "sel1#1",
+ "pinName": "S2"
+ },
+ "name": "unnamedWire#17",
+ "path": []
+ },
+ {
+ "pin1": {
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
+ },
+ "pin2": {
+ "compName": "NandGate#0",
+ "pinName": "B"
+ },
+ "name": "unnamedWire#18",
+ "path": [
{
- "x": 5.0,
- "y": 57.5
+ "x": 15.0,
+ "y": 22.5
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I1_2"
+ "compName": "WireCrossPoint#0",
+ "pinName": ""
},
"pin2": {
- "compName": "mux1#1",
- "pinName": "I1"
+ "compName": "WireCrossPoint#4",
+ "pinName": ""
},
- "name": "unnamedWire#8",
+ "name": "unnamedWire#19",
"path": [
{
"x": 15.0,
- "y": 162.5
+ "y": 5.0
},
{
- "x": 15.0,
- "y": 67.5
+ "x": 50.0,
+ "y": 5.0
}
]
},
{
"pin1": {
- "compName": "mux1#1",
- "pinName": "Y"
+ "compName": "Splitter#0",
+ "pinName": "O3"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y2"
+ "compName": "sel1#0",
+ "pinName": "I1"
},
- "name": "unnamedWire#9"
+ "name": "unnamedWire#20",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 35.0
+ },
+ {
+ "x": 40.0,
+ "y": 40.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#1",
- "pinName": ""
+ "compName": "Splitter#0",
+ "pinName": "O2"
},
"pin2": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "sel1#1",
+ "pinName": "I1"
},
- "name": "unnamedWire#10",
- "path": []
+ "name": "unnamedWire#21",
+ "path": [
+ {
+ "x": 40.0,
+ "y": 45.0
+ },
+ {
+ "x": 40.0,
+ "y": 85.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "Splitter#0",
+ "pinName": "O1"
},
"pin2": {
- "compName": "mux1#2",
- "pinName": "S0"
+ "compName": "sel1#2",
+ "pinName": "I1"
},
- "name": "unnamedWire#11",
- "path": []
+ "name": "unnamedWire#22",
+ "path": [
+ {
+ "x": 35.0,
+ "y": 55.0
+ },
+ {
+ "x": 35.0,
+ "y": 130.0
+ }
+ ]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I0_3"
+ "compName": "Splitter#0",
+ "pinName": "O0"
},
"pin2": {
- "compName": "mux1#2",
- "pinName": "I0"
+ "compName": "sel1#3",
+ "pinName": "I1"
},
- "name": "unnamedWire#12",
+ "name": "unnamedWire#23",
"path": [
{
- "x": 5.0,
- "y": 87.5
+ "x": 30.0,
+ "y": 65.0
},
{
- "x": 5.0,
- "y": 92.5
+ "x": 30.0,
+ "y": 175.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I1_3"
+ "compName": "sel1#3",
+ "pinName": "I2"
},
"pin2": {
- "compName": "mux1#2",
- "pinName": "I1"
+ "compName": "Splitter#2",
+ "pinName": "O0"
},
- "name": "unnamedWire#13",
+ "name": "unnamedWire#24",
"path": [
{
"x": 20.0,
- "y": 187.5
+ "y": 185.0
},
{
"x": 20.0,
- "y": 102.5
+ "y": 140.0
}
]
},
{
"pin1": {
- "compName": "mux1#2",
- "pinName": "Y"
+ "compName": "Splitter#2",
+ "pinName": "O1"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y3"
+ "compName": "sel1#2",
+ "pinName": "I2"
},
- "name": "unnamedWire#14"
+ "name": "unnamedWire#25",
+ "path": [
+ {
+ "x": 25.0,
+ "y": 130.0
+ },
+ {
+ "x": 25.0,
+ "y": 140.0
+ }
+ ]
},
{
"pin1": {
- "compName": "WireCrossPoint#2",
- "pinName": ""
+ "compName": "sel1#1",
+ "pinName": "I2"
},
"pin2": {
- "compName": "mux1#3",
- "pinName": "S0"
+ "compName": "Splitter#2",
+ "pinName": "O2"
},
- "name": "unnamedWire#15",
+ "name": "unnamedWire#26",
"path": [
{
"x": 25.0,
- "y": 117.5
+ "y": 95.0
+ },
+ {
+ "x": 25.0,
+ "y": 120.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I0_4"
+ "compName": "Splitter#2",
+ "pinName": "O3"
},
"pin2": {
- "compName": "mux1#3",
- "pinName": "I0"
+ "compName": "sel1#0",
+ "pinName": "I2"
},
- "name": "unnamedWire#16",
+ "name": "unnamedWire#27",
"path": [
{
- "x": 5.0,
- "y": 112.5
+ "x": 20.0,
+ "y": 110.0
},
{
- "x": 5.0,
- "y": 127.5
+ "x": 20.0,
+ "y": 50.0
}
]
},
{
"pin1": {
- "compName": "_submodelinterface",
- "pinName": "I1_4"
+ "compName": "Splitter#1",
+ "pinName": "O3"
},
"pin2": {
- "compName": "mux1#3",
- "pinName": "I1"
+ "compName": "sel1#0",
+ "pinName": "Y"
},
- "name": "unnamedWire#17",
+ "name": "unnamedWire#28",
"path": [
{
- "x": 25.0,
- "y": 212.5
+ "x": 95.0,
+ "y": 35.0
},
{
- "x": 25.0,
- "y": 137.5
+ "x": 95.0,
+ "y": 20.0
}
]
},
{
"pin1": {
- "compName": "mux1#3",
+ "compName": "sel1#2",
"pinName": "Y"
},
"pin2": {
- "compName": "_submodelinterface",
- "pinName": "Y4"
+ "compName": "Splitter#1",
+ "pinName": "O1"
+ },
+ "name": "unnamedWire#29",
+ "path": [
+ {
+ "x": 100.0,
+ "y": 110.0
+ },
+ {
+ "x": 100.0,
+ "y": 55.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "Splitter#1",
+ "pinName": "O2"
},
- "name": "unnamedWire#18"
+ "pin2": {
+ "compName": "sel1#1",
+ "pinName": "Y"
+ },
+ "name": "unnamedWire#30",
+ "path": [
+ {
+ "x": 95.0,
+ "y": 45.0
+ },
+ {
+ "x": 95.0,
+ "y": 65.0
+ }
+ ]
+ },
+ {
+ "pin1": {
+ "compName": "sel1#3",
+ "pinName": "Y"
+ },
+ "pin2": {
+ "compName": "Splitter#1",
+ "pinName": "O0"
+ },
+ "name": "unnamedWire#31",
+ "path": [
+ {
+ "x": 105.0,
+ "y": 155.0
+ },
+ {
+ "x": 105.0,
+ "y": 65.0
+ }
+ ]
}
],
"version": "0.1.1"