diff --git "a/routing/routing.json" "b/routing/routing.json" new file mode 100644--- /dev/null +++ "b/routing/routing.json" @@ -0,0 +1,16639 @@ +{ + "version": 1, + "description": "Routing information for 8-bit threshold computer", + "circuits": { + "boolean.and": { + "inputs": [ + "$a", + "$b" + ], + "type": "single_layer" + }, + "boolean.or": { + "inputs": [ + "$a", + "$b" + ], + "type": "single_layer" + }, + "boolean.nand": { + "inputs": [ + "$a", + "$b" + ], + "type": "single_layer" + }, + "boolean.nor": { + "inputs": [ + "$a", + "$b" + ], + "type": "single_layer" + }, + "boolean.implies": { + "inputs": [ + "$a", + "$b" + ], + "type": "single_layer" + }, + "boolean.not": { + "inputs": [ + "$a" + ], + "type": "single_layer" + }, + "boolean.xor": { + "inputs": [ + "$a", + "$b" + ], + "type": "two_layer_neuron", + "internal": { + "layer1.neuron1": [ + "$a", + "$b" + ], + "layer1.neuron2": [ + "$a", + "$b" + ], + "layer2": [ + "layer1.neuron1", + "layer1.neuron2" + ] + }, + "output": "layer2" + }, + "boolean.xnor": { + "inputs": [ + "$a", + "$b" + ], + "type": "two_layer_neuron", + "internal": { + "layer1.neuron1": [ + "$a", + "$b" + ], + "layer1.neuron2": [ + "$a", + "$b" + ], + "layer2": [ + "layer1.neuron1", + "layer1.neuron2" + ] + }, + "output": "layer2" + }, + "boolean.biimplies": { + "inputs": [ + "$a", + "$b" + ], + "type": "two_layer_neuron", + "internal": { + "layer1.neuron1": [ + "$a", + "$b" + ], + "layer1.neuron2": [ + "$a", + "$b" + ], + "layer2": [ + "layer1.neuron1", + "layer1.neuron2" + ] + }, + "output": "layer2" + }, + "arithmetic.halfadder": { + "inputs": [ + "$a", + "$b" + ], + "type": "composite", + "internal": { + "sum.layer1.or": [ + "$a", + "$b" + ], + "sum.layer1.nand": [ + "$a", + "$b" + ], + "sum.layer2": [ + "sum.layer1.or", + "sum.layer1.nand" + ], + "carry": [ + "$a", + "$b" + ] + }, + "outputs": { + "sum": "sum.layer2", + "carry": "carry" + } + }, + "arithmetic.fulladder": { + "inputs": [ + "$a", + "$b", + "$cin" + ], + "type": "composite", + "internal": { + "ha1.sum.layer1.or": [ + "$a", + "$b" + ], + "ha1.sum.layer1.nand": [ + "$a", + "$b" + ], + "ha1.sum.layer2": [ + "ha1.sum.layer1.or", + "ha1.sum.layer1.nand" + ], + "ha1.carry": [ + "$a", + "$b" + ], + "ha2.sum.layer1.or": [ + "ha1.sum.layer2", + "$cin" + ], + "ha2.sum.layer1.nand": [ + "ha1.sum.layer2", + "$cin" + ], + "ha2.sum.layer2": [ + "ha2.sum.layer1.or", + "ha2.sum.layer1.nand" + ], + "ha2.carry": [ + "ha1.sum.layer2", + "$cin" + ], + "carry_or": [ + "ha1.carry", + "ha2.carry" + ] + }, + "outputs": { + "sum": "ha2.sum.layer2", + "cout": "carry_or" + } + }, + "arithmetic.ripplecarry2bit": { + "inputs": [ + "$a[0:1]", + "$b[0:1]" + ], + "type": "ripple_carry", + "internal": { + "fa0.ha1.sum.layer1.or": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha1.sum.layer1.nand": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha1.sum.layer2": [ + "fa0.ha1.sum.layer1.or", + "fa0.ha1.sum.layer1.nand" + ], + "fa0.ha1.carry": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha2.sum.layer1.or": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer1.nand": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer2": [ + "fa0.ha2.sum.layer1.or", + "fa0.ha2.sum.layer1.nand" + ], + "fa0.ha2.carry": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.carry_or": [ + "fa0.ha1.carry", + "fa0.ha2.carry" + ], + "fa1.ha1.sum.layer1.or": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha1.sum.layer1.nand": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha1.sum.layer2": [ + "fa1.ha1.sum.layer1.or", + "fa1.ha1.sum.layer1.nand" + ], + "fa1.ha1.carry": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha2.sum.layer1.or": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.ha2.sum.layer1.nand": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.ha2.sum.layer2": [ + "fa1.ha2.sum.layer1.or", + "fa1.ha2.sum.layer1.nand" + ], + "fa1.ha2.carry": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.carry_or": [ + "fa1.ha1.carry", + "fa1.ha2.carry" + ] + }, + "outputs": { + "sum[0]": "fa0.ha2.sum.layer2", + "sum[1]": "fa1.ha2.sum.layer2", + "cout": "fa1.carry_or" + } + }, + "arithmetic.ripplecarry4bit": { + "inputs": [ + "$a[0:3]", + "$b[0:3]" + ], + "type": "ripple_carry", + "internal": { + "fa0.ha1.sum.layer1.or": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha1.sum.layer1.nand": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha1.sum.layer2": [ + "fa0.ha1.sum.layer1.or", + "fa0.ha1.sum.layer1.nand" + ], + "fa0.ha1.carry": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha2.sum.layer1.or": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer1.nand": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer2": [ + "fa0.ha2.sum.layer1.or", + "fa0.ha2.sum.layer1.nand" + ], + "fa0.ha2.carry": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.carry_or": [ + "fa0.ha1.carry", + "fa0.ha2.carry" + ], + "fa1.ha1.sum.layer1.or": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha1.sum.layer1.nand": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha1.sum.layer2": [ + "fa1.ha1.sum.layer1.or", + "fa1.ha1.sum.layer1.nand" + ], + "fa1.ha1.carry": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha2.sum.layer1.or": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.ha2.sum.layer1.nand": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.ha2.sum.layer2": [ + "fa1.ha2.sum.layer1.or", + "fa1.ha2.sum.layer1.nand" + ], + "fa1.ha2.carry": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.carry_or": [ + "fa1.ha1.carry", + "fa1.ha2.carry" + ], + "fa2.ha1.sum.layer1.or": [ + "$a[2]", + "$b[2]" + ], + "fa2.ha1.sum.layer1.nand": [ + "$a[2]", + "$b[2]" + ], + "fa2.ha1.sum.layer2": [ + "fa2.ha1.sum.layer1.or", + "fa2.ha1.sum.layer1.nand" + ], + "fa2.ha1.carry": [ + "$a[2]", + "$b[2]" + ], + "fa2.ha2.sum.layer1.or": [ + "fa2.ha1.sum.layer2", + "fa1.carry_or" + ], + "fa2.ha2.sum.layer1.nand": [ + "fa2.ha1.sum.layer2", + "fa1.carry_or" + ], + "fa2.ha2.sum.layer2": [ + "fa2.ha2.sum.layer1.or", + "fa2.ha2.sum.layer1.nand" + ], + "fa2.ha2.carry": [ + "fa2.ha1.sum.layer2", + "fa1.carry_or" + ], + "fa2.carry_or": [ + "fa2.ha1.carry", + "fa2.ha2.carry" + ], + "fa3.ha1.sum.layer1.or": [ + "$a[3]", + "$b[3]" + ], + "fa3.ha1.sum.layer1.nand": [ + "$a[3]", + "$b[3]" + ], + "fa3.ha1.sum.layer2": [ + "fa3.ha1.sum.layer1.or", + "fa3.ha1.sum.layer1.nand" + ], + "fa3.ha1.carry": [ + "$a[3]", + "$b[3]" + ], + "fa3.ha2.sum.layer1.or": [ + "fa3.ha1.sum.layer2", + "fa2.carry_or" + ], + "fa3.ha2.sum.layer1.nand": [ + "fa3.ha1.sum.layer2", + "fa2.carry_or" + ], + "fa3.ha2.sum.layer2": [ + "fa3.ha2.sum.layer1.or", + "fa3.ha2.sum.layer1.nand" + ], + "fa3.ha2.carry": [ + "fa3.ha1.sum.layer2", + "fa2.carry_or" + ], + "fa3.carry_or": [ + "fa3.ha1.carry", + "fa3.ha2.carry" + ] + }, + "outputs": { + "sum[0]": "fa0.ha2.sum.layer2", + "sum[1]": "fa1.ha2.sum.layer2", + "sum[2]": "fa2.ha2.sum.layer2", + "sum[3]": "fa3.ha2.sum.layer2", + "cout": "fa3.carry_or" + } + }, + "arithmetic.ripplecarry8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "ripple_carry", + "internal": { + "fa0.ha1.sum.layer1.or": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha1.sum.layer1.nand": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha1.sum.layer2": [ + "fa0.ha1.sum.layer1.or", + "fa0.ha1.sum.layer1.nand" + ], + "fa0.ha1.carry": [ + "$a[0]", + "$b[0]" + ], + "fa0.ha2.sum.layer1.or": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer1.nand": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer2": [ + "fa0.ha2.sum.layer1.or", + "fa0.ha2.sum.layer1.nand" + ], + "fa0.ha2.carry": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.carry_or": [ + "fa0.ha1.carry", + "fa0.ha2.carry" + ], + "fa1.ha1.sum.layer1.or": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha1.sum.layer1.nand": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha1.sum.layer2": [ + "fa1.ha1.sum.layer1.or", + "fa1.ha1.sum.layer1.nand" + ], + "fa1.ha1.carry": [ + "$a[1]", + "$b[1]" + ], + "fa1.ha2.sum.layer1.or": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.ha2.sum.layer1.nand": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.ha2.sum.layer2": [ + "fa1.ha2.sum.layer1.or", + "fa1.ha2.sum.layer1.nand" + ], + "fa1.ha2.carry": [ + "fa1.ha1.sum.layer2", + "fa0.carry_or" + ], + "fa1.carry_or": [ + "fa1.ha1.carry", + "fa1.ha2.carry" + ], + "fa2.ha1.sum.layer1.or": [ + "$a[2]", + "$b[2]" + ], + "fa2.ha1.sum.layer1.nand": [ + "$a[2]", + "$b[2]" + ], + "fa2.ha1.sum.layer2": [ + "fa2.ha1.sum.layer1.or", + "fa2.ha1.sum.layer1.nand" + ], + "fa2.ha1.carry": [ + "$a[2]", + "$b[2]" + ], + "fa2.ha2.sum.layer1.or": [ + "fa2.ha1.sum.layer2", + "fa1.carry_or" + ], + "fa2.ha2.sum.layer1.nand": [ + "fa2.ha1.sum.layer2", + "fa1.carry_or" + ], + "fa2.ha2.sum.layer2": [ + "fa2.ha2.sum.layer1.or", + "fa2.ha2.sum.layer1.nand" + ], + "fa2.ha2.carry": [ + "fa2.ha1.sum.layer2", + "fa1.carry_or" + ], + "fa2.carry_or": [ + "fa2.ha1.carry", + "fa2.ha2.carry" + ], + "fa3.ha1.sum.layer1.or": [ + "$a[3]", + "$b[3]" + ], + "fa3.ha1.sum.layer1.nand": [ + "$a[3]", + "$b[3]" + ], + "fa3.ha1.sum.layer2": [ + "fa3.ha1.sum.layer1.or", + "fa3.ha1.sum.layer1.nand" + ], + "fa3.ha1.carry": [ + "$a[3]", + "$b[3]" + ], + "fa3.ha2.sum.layer1.or": [ + "fa3.ha1.sum.layer2", + "fa2.carry_or" + ], + "fa3.ha2.sum.layer1.nand": [ + "fa3.ha1.sum.layer2", + "fa2.carry_or" + ], + "fa3.ha2.sum.layer2": [ + "fa3.ha2.sum.layer1.or", + "fa3.ha2.sum.layer1.nand" + ], + "fa3.ha2.carry": [ + "fa3.ha1.sum.layer2", + "fa2.carry_or" + ], + "fa3.carry_or": [ + "fa3.ha1.carry", + "fa3.ha2.carry" + ], + "fa4.ha1.sum.layer1.or": [ + "$a[4]", + "$b[4]" + ], + "fa4.ha1.sum.layer1.nand": [ + "$a[4]", + "$b[4]" + ], + "fa4.ha1.sum.layer2": [ + "fa4.ha1.sum.layer1.or", + "fa4.ha1.sum.layer1.nand" + ], + "fa4.ha1.carry": [ + "$a[4]", + "$b[4]" + ], + "fa4.ha2.sum.layer1.or": [ + "fa4.ha1.sum.layer2", + "fa3.carry_or" + ], + "fa4.ha2.sum.layer1.nand": [ + "fa4.ha1.sum.layer2", + "fa3.carry_or" + ], + "fa4.ha2.sum.layer2": [ + "fa4.ha2.sum.layer1.or", + "fa4.ha2.sum.layer1.nand" + ], + "fa4.ha2.carry": [ + "fa4.ha1.sum.layer2", + "fa3.carry_or" + ], + "fa4.carry_or": [ + "fa4.ha1.carry", + "fa4.ha2.carry" + ], + "fa5.ha1.sum.layer1.or": [ + "$a[5]", + "$b[5]" + ], + "fa5.ha1.sum.layer1.nand": [ + "$a[5]", + "$b[5]" + ], + "fa5.ha1.sum.layer2": [ + "fa5.ha1.sum.layer1.or", + "fa5.ha1.sum.layer1.nand" + ], + "fa5.ha1.carry": [ + "$a[5]", + "$b[5]" + ], + "fa5.ha2.sum.layer1.or": [ + "fa5.ha1.sum.layer2", + "fa4.carry_or" + ], + "fa5.ha2.sum.layer1.nand": [ + "fa5.ha1.sum.layer2", + "fa4.carry_or" + ], + "fa5.ha2.sum.layer2": [ + "fa5.ha2.sum.layer1.or", + "fa5.ha2.sum.layer1.nand" + ], + "fa5.ha2.carry": [ + "fa5.ha1.sum.layer2", + "fa4.carry_or" + ], + "fa5.carry_or": [ + "fa5.ha1.carry", + "fa5.ha2.carry" + ], + "fa6.ha1.sum.layer1.or": [ + "$a[6]", + "$b[6]" + ], + "fa6.ha1.sum.layer1.nand": [ + "$a[6]", + "$b[6]" + ], + "fa6.ha1.sum.layer2": [ + "fa6.ha1.sum.layer1.or", + "fa6.ha1.sum.layer1.nand" + ], + "fa6.ha1.carry": [ + "$a[6]", + "$b[6]" + ], + "fa6.ha2.sum.layer1.or": [ + "fa6.ha1.sum.layer2", + "fa5.carry_or" + ], + "fa6.ha2.sum.layer1.nand": [ + "fa6.ha1.sum.layer2", + "fa5.carry_or" + ], + "fa6.ha2.sum.layer2": [ + "fa6.ha2.sum.layer1.or", + "fa6.ha2.sum.layer1.nand" + ], + "fa6.ha2.carry": [ + "fa6.ha1.sum.layer2", + "fa5.carry_or" + ], + "fa6.carry_or": [ + "fa6.ha1.carry", + "fa6.ha2.carry" + ], + "fa7.ha1.sum.layer1.or": [ + "$a[7]", + "$b[7]" + ], + "fa7.ha1.sum.layer1.nand": [ + "$a[7]", + "$b[7]" + ], + "fa7.ha1.sum.layer2": [ + "fa7.ha1.sum.layer1.or", + "fa7.ha1.sum.layer1.nand" + ], + "fa7.ha1.carry": [ + "$a[7]", + "$b[7]" + ], + "fa7.ha2.sum.layer1.or": [ + "fa7.ha1.sum.layer2", + "fa6.carry_or" + ], + "fa7.ha2.sum.layer1.nand": [ + "fa7.ha1.sum.layer2", + "fa6.carry_or" + ], + "fa7.ha2.sum.layer2": [ + "fa7.ha2.sum.layer1.or", + "fa7.ha2.sum.layer1.nand" + ], + "fa7.ha2.carry": [ + "fa7.ha1.sum.layer2", + "fa6.carry_or" + ], + "fa7.carry_or": [ + "fa7.ha1.carry", + "fa7.ha2.carry" + ] + }, + "outputs": { + "sum[0]": "fa0.ha2.sum.layer2", + "sum[1]": "fa1.ha2.sum.layer2", + "sum[2]": "fa2.ha2.sum.layer2", + "sum[3]": "fa3.ha2.sum.layer2", + "sum[4]": "fa4.ha2.sum.layer2", + "sum[5]": "fa5.ha2.sum.layer2", + "sum[6]": "fa6.ha2.sum.layer2", + "sum[7]": "fa7.ha2.sum.layer2", + "cout": "fa7.carry_or" + } + }, + "arithmetic.greaterthan8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "weighted_comparator", + "internal": { + "comparator": [ + "$a[0:7]", + "$b[0:7]" + ] + }, + "output": "comparator" + }, + "arithmetic.lessthan8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "weighted_comparator", + "internal": { + "comparator": [ + "$a[0:7]", + "$b[0:7]" + ] + }, + "output": "comparator" + }, + "arithmetic.greaterorequal8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "weighted_comparator", + "internal": { + "comparator": [ + "$a[0:7]", + "$b[0:7]" + ] + }, + "output": "comparator" + }, + "arithmetic.lessorequal8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "weighted_comparator", + "internal": { + "comparator": [ + "$a[0:7]", + "$b[0:7]" + ] + }, + "output": "comparator" + }, + "arithmetic.equality8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "equality", + "internal": { + "xnor0.layer1.and": [ + "$a[0]", + "$b[0]" + ], + "xnor0.layer1.nor": [ + "$a[0]", + "$b[0]" + ], + "xnor0.layer2": [ + "xnor0.layer1.and", + "xnor0.layer1.nor" + ], + "xnor1.layer1.and": [ + "$a[1]", + "$b[1]" + ], + "xnor1.layer1.nor": [ + "$a[1]", + "$b[1]" + ], + "xnor1.layer2": [ + "xnor1.layer1.and", + "xnor1.layer1.nor" + ], + "xnor2.layer1.and": [ + "$a[2]", + "$b[2]" + ], + "xnor2.layer1.nor": [ + "$a[2]", + "$b[2]" + ], + "xnor2.layer2": [ + "xnor2.layer1.and", + "xnor2.layer1.nor" + ], + "xnor3.layer1.and": [ + "$a[3]", + "$b[3]" + ], + "xnor3.layer1.nor": [ + "$a[3]", + "$b[3]" + ], + "xnor3.layer2": [ + "xnor3.layer1.and", + "xnor3.layer1.nor" + ], + "xnor4.layer1.and": [ + "$a[4]", + "$b[4]" + ], + "xnor4.layer1.nor": [ + "$a[4]", + "$b[4]" + ], + "xnor4.layer2": [ + "xnor4.layer1.and", + "xnor4.layer1.nor" + ], + "xnor5.layer1.and": [ + "$a[5]", + "$b[5]" + ], + "xnor5.layer1.nor": [ + "$a[5]", + "$b[5]" + ], + "xnor5.layer2": [ + "xnor5.layer1.and", + "xnor5.layer1.nor" + ], + "xnor6.layer1.and": [ + "$a[6]", + "$b[6]" + ], + "xnor6.layer1.nor": [ + "$a[6]", + "$b[6]" + ], + "xnor6.layer2": [ + "xnor6.layer1.and", + "xnor6.layer1.nor" + ], + "xnor7.layer1.and": [ + "$a[7]", + "$b[7]" + ], + "xnor7.layer1.nor": [ + "$a[7]", + "$b[7]" + ], + "xnor7.layer2": [ + "xnor7.layer1.and", + "xnor7.layer1.nor" + ], + "and": [ + "xnor0.layer2", + "xnor1.layer2", + "xnor2.layer2", + "xnor3.layer2", + "xnor4.layer2", + "xnor5.layer2", + "xnor6.layer2", + "xnor7.layer2" + ] + }, + "output": "and" + }, + "arithmetic.neg8bit": { + "inputs": [ + "$x[0:7]" + ], + "type": "negation", + "internal": { + "not0": [ + "$x[0]" + ], + "not1": [ + "$x[1]" + ], + "not2": [ + "$x[2]" + ], + "not3": [ + "$x[3]" + ], + "not4": [ + "$x[4]" + ], + "not5": [ + "$x[5]" + ], + "not6": [ + "$x[6]" + ], + "not7": [ + "$x[7]" + ], + "sum0": [ + "not0" + ], + "carry0": [ + "not0" + ], + "xor1.layer1.nand": [ + "not1", + "carry0" + ], + "xor1.layer1.or": [ + "not1", + "carry0" + ], + "xor1.layer2": [ + "xor1.layer1.nand", + "xor1.layer1.or" + ], + "and1": [ + "not1", + "carry0" + ], + "xor2.layer1.nand": [ + "not2", + "carry1" + ], + "xor2.layer1.or": [ + "not2", + "carry1" + ], + "xor2.layer2": [ + "xor2.layer1.nand", + "xor2.layer1.or" + ], + "and2": [ + "not2", + "carry1" + ], + "xor3.layer1.nand": [ + "not3", + "carry2" + ], + "xor3.layer1.or": [ + "not3", + "carry2" + ], + "xor3.layer2": [ + "xor3.layer1.nand", + "xor3.layer1.or" + ], + "and3": [ + "not3", + "carry2" + ], + "xor4.layer1.nand": [ + "not4", + "carry3" + ], + "xor4.layer1.or": [ + "not4", + "carry3" + ], + "xor4.layer2": [ + "xor4.layer1.nand", + "xor4.layer1.or" + ], + "and4": [ + "not4", + "carry3" + ], + "xor5.layer1.nand": [ + "not5", + "carry4" + ], + "xor5.layer1.or": [ + "not5", + "carry4" + ], + "xor5.layer2": [ + "xor5.layer1.nand", + "xor5.layer1.or" + ], + "and5": [ + "not5", + "carry4" + ], + "xor6.layer1.nand": [ + "not6", + "carry5" + ], + "xor6.layer1.or": [ + "not6", + "carry5" + ], + "xor6.layer2": [ + "xor6.layer1.nand", + "xor6.layer1.or" + ], + "and6": [ + "not6", + "carry5" + ], + "xor7.layer1.nand": [ + "not7", + "carry6" + ], + "xor7.layer1.or": [ + "not7", + "carry6" + ], + "xor7.layer2": [ + "xor7.layer1.nand", + "xor7.layer1.or" + ], + "and7": [ + "not7", + "carry6" + ], + "overflow": [ + "not7", + "carry6" + ] + }, + "outputs": { + "out[0]": "sum0", + "out[1]": "xor1.layer2", + "out[2]": "xor2.layer2", + "out[3]": "xor3.layer2", + "out[4]": "xor4.layer2", + "out[5]": "xor5.layer2", + "out[6]": "xor6.layer2", + "out[7]": "xor7.layer2" + } + }, + "arithmetic.multiplier2x2": { + "inputs": [ + "$a[0:1]", + "$b[0:1]" + ], + "type": "multiplier", + "internal": { + "and00": [ + "$a[0]", + "$b[0]" + ], + "and01": [ + "$a[0]", + "$b[1]" + ], + "and10": [ + "$a[1]", + "$b[0]" + ], + "and11": [ + "$a[1]", + "$b[1]" + ], + "ha0.sum.layer1.or": [ + "and10", + "and01" + ], + "ha0.sum.layer1.nand": [ + "and10", + "and01" + ], + "ha0.sum.layer2": [ + "ha0.sum.layer1.or", + "ha0.sum.layer1.nand" + ], + "ha0.carry": [ + "and10", + "and01" + ], + "fa0.ha1.sum.layer1.or": [ + "and11", + "ha0.carry" + ], + "fa0.ha1.sum.layer1.nand": [ + "and11", + "ha0.carry" + ], + "fa0.ha1.sum.layer2": [ + "fa0.ha1.sum.layer1.or", + "fa0.ha1.sum.layer1.nand" + ], + "fa0.ha1.carry": [ + "and11", + "ha0.carry" + ], + "fa0.ha2.sum.layer1.or": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer1.nand": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.ha2.sum.layer2": [ + "fa0.ha2.sum.layer1.or", + "fa0.ha2.sum.layer1.nand" + ], + "fa0.ha2.carry": [ + "fa0.ha1.sum.layer2", + "#0" + ], + "fa0.carry_or": [ + "fa0.ha1.carry", + "fa0.ha2.carry" + ] + }, + "outputs": { + "p[0]": "and00", + "p[1]": "ha0.sum.layer2", + "p[2]": "fa0.ha2.sum.layer2", + "p[3]": "fa0.carry_or" + } + }, + "arithmetic.multiplier8x8": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "multiplier", + "internal": { + "pp.r0.c0": [ + "$a[0]", + "$b[0]" + ], + "pp.r0.c1": [ + "$a[1]", + "$b[0]" + ], + "pp.r0.c2": [ + "$a[2]", + "$b[0]" + ], + "pp.r0.c3": [ + "$a[3]", + "$b[0]" + ], + "pp.r0.c4": [ + "$a[4]", + "$b[0]" + ], + "pp.r0.c5": [ + "$a[5]", + "$b[0]" + ], + "pp.r0.c6": [ + "$a[6]", + "$b[0]" + ], + "pp.r0.c7": [ + "$a[7]", + "$b[0]" + ], + "pp.r1.c0": [ + "$a[0]", + "$b[1]" + ], + "pp.r1.c1": [ + "$a[1]", + "$b[1]" + ], + "pp.r1.c2": [ + "$a[2]", + "$b[1]" + ], + "pp.r1.c3": [ + "$a[3]", + "$b[1]" + ], + "pp.r1.c4": [ + "$a[4]", + "$b[1]" + ], + "pp.r1.c5": [ + "$a[5]", + "$b[1]" + ], + "pp.r1.c6": [ + "$a[6]", + "$b[1]" + ], + "pp.r1.c7": [ + "$a[7]", + "$b[1]" + ], + "pp.r2.c0": [ + "$a[0]", + "$b[2]" + ], + "pp.r2.c1": [ + "$a[1]", + "$b[2]" + ], + "pp.r2.c2": [ + "$a[2]", + "$b[2]" + ], + "pp.r2.c3": [ + "$a[3]", + "$b[2]" + ], + "pp.r2.c4": [ + "$a[4]", + "$b[2]" + ], + "pp.r2.c5": [ + "$a[5]", + "$b[2]" + ], + "pp.r2.c6": [ + "$a[6]", + "$b[2]" + ], + "pp.r2.c7": [ + "$a[7]", + "$b[2]" + ], + "pp.r3.c0": [ + "$a[0]", + "$b[3]" + ], + "pp.r3.c1": [ + "$a[1]", + "$b[3]" + ], + "pp.r3.c2": [ + "$a[2]", + "$b[3]" + ], + "pp.r3.c3": [ + "$a[3]", + "$b[3]" + ], + "pp.r3.c4": [ + "$a[4]", + "$b[3]" + ], + "pp.r3.c5": [ + "$a[5]", + "$b[3]" + ], + "pp.r3.c6": [ + "$a[6]", + "$b[3]" + ], + "pp.r3.c7": [ + "$a[7]", + "$b[3]" + ], + "pp.r4.c0": [ + "$a[0]", + "$b[4]" + ], + "pp.r4.c1": [ + "$a[1]", + "$b[4]" + ], + "pp.r4.c2": [ + "$a[2]", + "$b[4]" + ], + "pp.r4.c3": [ + "$a[3]", + "$b[4]" + ], + "pp.r4.c4": [ + "$a[4]", + "$b[4]" + ], + "pp.r4.c5": [ + "$a[5]", + "$b[4]" + ], + "pp.r4.c6": [ + "$a[6]", + "$b[4]" + ], + "pp.r4.c7": [ + "$a[7]", + "$b[4]" + ], + "pp.r5.c0": [ + "$a[0]", + "$b[5]" + ], + "pp.r5.c1": [ + "$a[1]", + "$b[5]" + ], + "pp.r5.c2": [ + "$a[2]", + "$b[5]" + ], + "pp.r5.c3": [ + "$a[3]", + "$b[5]" + ], + "pp.r5.c4": [ + "$a[4]", + "$b[5]" + ], + "pp.r5.c5": [ + "$a[5]", + "$b[5]" + ], + "pp.r5.c6": [ + "$a[6]", + "$b[5]" + ], + "pp.r5.c7": [ + "$a[7]", + "$b[5]" + ], + "pp.r6.c0": [ + "$a[0]", + "$b[6]" + ], + "pp.r6.c1": [ + "$a[1]", + "$b[6]" + ], + "pp.r6.c2": [ + "$a[2]", + "$b[6]" + ], + "pp.r6.c3": [ + "$a[3]", + "$b[6]" + ], + "pp.r6.c4": [ + "$a[4]", + "$b[6]" + ], + "pp.r6.c5": [ + "$a[5]", + "$b[6]" + ], + "pp.r6.c6": [ + "$a[6]", + "$b[6]" + ], + "pp.r6.c7": [ + "$a[7]", + "$b[6]" + ], + "pp.r7.c0": [ + "$a[0]", + "$b[7]" + ], + "pp.r7.c1": [ + "$a[1]", + "$b[7]" + ], + "pp.r7.c2": [ + "$a[2]", + "$b[7]" + ], + "pp.r7.c3": [ + "$a[3]", + "$b[7]" + ], + "pp.r7.c4": [ + "$a[4]", + "$b[7]" + ], + "pp.r7.c5": [ + "$a[5]", + "$b[7]" + ], + "pp.r7.c6": [ + "$a[6]", + "$b[7]" + ], + "pp.r7.c7": [ + "$a[7]", + "$b[7]" + ], + "stage0.bit0.ha1.sum.layer1.or": [ + "pp.r0.c0", + "#0" + ], + "stage0.bit0.ha1.sum.layer1.nand": [ + "pp.r0.c0", + "#0" + ], + "stage0.bit0.ha1.sum.layer2": [ + "stage0.bit0.ha1.sum.layer1.or", + "stage0.bit0.ha1.sum.layer1.nand" + ], + "stage0.bit0.ha1.carry": [ + "pp.r0.c0", + "#0" + ], + "stage0.bit0.ha2.sum.layer1.or": [ + "stage0.bit0.ha1.sum.layer2", + "#0" + ], + "stage0.bit0.ha2.sum.layer1.nand": [ + "stage0.bit0.ha1.sum.layer2", + "#0" + ], + "stage0.bit0.ha2.sum.layer2": [ + "stage0.bit0.ha2.sum.layer1.or", + "stage0.bit0.ha2.sum.layer1.nand" + ], + "stage0.bit0.ha2.carry": [ + "stage0.bit0.ha1.sum.layer2", + "#0" + ], + "stage0.bit0.carry_or": [ + "stage0.bit0.ha1.carry", + "stage0.bit0.ha2.carry" + ], + "stage0.bit1.ha1.sum.layer1.or": [ + "pp.r0.c1", + "pp.r1.c0" + ], + "stage0.bit1.ha1.sum.layer1.nand": [ + "pp.r0.c1", + "pp.r1.c0" + ], + "stage0.bit1.ha1.sum.layer2": [ + "stage0.bit1.ha1.sum.layer1.or", + "stage0.bit1.ha1.sum.layer1.nand" + ], + "stage0.bit1.ha1.carry": [ + "pp.r0.c1", + "pp.r1.c0" + ], + "stage0.bit1.ha2.sum.layer1.or": [ + "stage0.bit1.ha1.sum.layer2", + "stage0.bit0.carry_or" + ], + "stage0.bit1.ha2.sum.layer1.nand": [ + "stage0.bit1.ha1.sum.layer2", + "stage0.bit0.carry_or" + ], + "stage0.bit1.ha2.sum.layer2": [ + "stage0.bit1.ha2.sum.layer1.or", + "stage0.bit1.ha2.sum.layer1.nand" + ], + "stage0.bit1.ha2.carry": [ + "stage0.bit1.ha1.sum.layer2", + "stage0.bit0.carry_or" + ], + "stage0.bit1.carry_or": [ + "stage0.bit1.ha1.carry", + "stage0.bit1.ha2.carry" + ], + "stage0.bit2.ha1.sum.layer1.or": [ + "pp.r0.c2", + "pp.r1.c1" + ], + "stage0.bit2.ha1.sum.layer1.nand": [ + "pp.r0.c2", + "pp.r1.c1" + ], + "stage0.bit2.ha1.sum.layer2": [ + "stage0.bit2.ha1.sum.layer1.or", + "stage0.bit2.ha1.sum.layer1.nand" + ], + "stage0.bit2.ha1.carry": [ + "pp.r0.c2", + "pp.r1.c1" + ], + "stage0.bit2.ha2.sum.layer1.or": [ + "stage0.bit2.ha1.sum.layer2", + "stage0.bit1.carry_or" + ], + "stage0.bit2.ha2.sum.layer1.nand": [ + "stage0.bit2.ha1.sum.layer2", + "stage0.bit1.carry_or" + ], + "stage0.bit2.ha2.sum.layer2": [ + "stage0.bit2.ha2.sum.layer1.or", + "stage0.bit2.ha2.sum.layer1.nand" + ], + "stage0.bit2.ha2.carry": [ + "stage0.bit2.ha1.sum.layer2", + "stage0.bit1.carry_or" + ], + "stage0.bit2.carry_or": [ + "stage0.bit2.ha1.carry", + "stage0.bit2.ha2.carry" + ], + "stage0.bit3.ha1.sum.layer1.or": [ + "pp.r0.c3", + "pp.r1.c2" + ], + "stage0.bit3.ha1.sum.layer1.nand": [ + "pp.r0.c3", + "pp.r1.c2" + ], + "stage0.bit3.ha1.sum.layer2": [ + "stage0.bit3.ha1.sum.layer1.or", + "stage0.bit3.ha1.sum.layer1.nand" + ], + "stage0.bit3.ha1.carry": [ + "pp.r0.c3", + "pp.r1.c2" + ], + "stage0.bit3.ha2.sum.layer1.or": [ + "stage0.bit3.ha1.sum.layer2", + "stage0.bit2.carry_or" + ], + "stage0.bit3.ha2.sum.layer1.nand": [ + "stage0.bit3.ha1.sum.layer2", + "stage0.bit2.carry_or" + ], + "stage0.bit3.ha2.sum.layer2": [ + "stage0.bit3.ha2.sum.layer1.or", + "stage0.bit3.ha2.sum.layer1.nand" + ], + "stage0.bit3.ha2.carry": [ + "stage0.bit3.ha1.sum.layer2", + "stage0.bit2.carry_or" + ], + "stage0.bit3.carry_or": [ + "stage0.bit3.ha1.carry", + "stage0.bit3.ha2.carry" + ], + "stage0.bit4.ha1.sum.layer1.or": [ + "pp.r0.c4", + "pp.r1.c3" + ], + "stage0.bit4.ha1.sum.layer1.nand": [ + "pp.r0.c4", + "pp.r1.c3" + ], + "stage0.bit4.ha1.sum.layer2": [ + "stage0.bit4.ha1.sum.layer1.or", + "stage0.bit4.ha1.sum.layer1.nand" + ], + "stage0.bit4.ha1.carry": [ + "pp.r0.c4", + "pp.r1.c3" + ], + "stage0.bit4.ha2.sum.layer1.or": [ + "stage0.bit4.ha1.sum.layer2", + "stage0.bit3.carry_or" + ], + "stage0.bit4.ha2.sum.layer1.nand": [ + "stage0.bit4.ha1.sum.layer2", + "stage0.bit3.carry_or" + ], + "stage0.bit4.ha2.sum.layer2": [ + "stage0.bit4.ha2.sum.layer1.or", + "stage0.bit4.ha2.sum.layer1.nand" + ], + "stage0.bit4.ha2.carry": [ + "stage0.bit4.ha1.sum.layer2", + "stage0.bit3.carry_or" + ], + "stage0.bit4.carry_or": [ + "stage0.bit4.ha1.carry", + "stage0.bit4.ha2.carry" + ], + "stage0.bit5.ha1.sum.layer1.or": [ + "pp.r0.c5", + "pp.r1.c4" + ], + "stage0.bit5.ha1.sum.layer1.nand": [ + "pp.r0.c5", + "pp.r1.c4" + ], + "stage0.bit5.ha1.sum.layer2": [ + "stage0.bit5.ha1.sum.layer1.or", + "stage0.bit5.ha1.sum.layer1.nand" + ], + "stage0.bit5.ha1.carry": [ + "pp.r0.c5", + "pp.r1.c4" + ], + "stage0.bit5.ha2.sum.layer1.or": [ + "stage0.bit5.ha1.sum.layer2", + "stage0.bit4.carry_or" + ], + "stage0.bit5.ha2.sum.layer1.nand": [ + "stage0.bit5.ha1.sum.layer2", + "stage0.bit4.carry_or" + ], + "stage0.bit5.ha2.sum.layer2": [ + "stage0.bit5.ha2.sum.layer1.or", + "stage0.bit5.ha2.sum.layer1.nand" + ], + "stage0.bit5.ha2.carry": [ + "stage0.bit5.ha1.sum.layer2", + "stage0.bit4.carry_or" + ], + "stage0.bit5.carry_or": [ + "stage0.bit5.ha1.carry", + "stage0.bit5.ha2.carry" + ], + "stage0.bit6.ha1.sum.layer1.or": [ + "pp.r0.c6", + "pp.r1.c5" + ], + "stage0.bit6.ha1.sum.layer1.nand": [ + "pp.r0.c6", + "pp.r1.c5" + ], + "stage0.bit6.ha1.sum.layer2": [ + "stage0.bit6.ha1.sum.layer1.or", + "stage0.bit6.ha1.sum.layer1.nand" + ], + "stage0.bit6.ha1.carry": [ + "pp.r0.c6", + "pp.r1.c5" + ], + "stage0.bit6.ha2.sum.layer1.or": [ + "stage0.bit6.ha1.sum.layer2", + "stage0.bit5.carry_or" + ], + "stage0.bit6.ha2.sum.layer1.nand": [ + "stage0.bit6.ha1.sum.layer2", + "stage0.bit5.carry_or" + ], + "stage0.bit6.ha2.sum.layer2": [ + "stage0.bit6.ha2.sum.layer1.or", + "stage0.bit6.ha2.sum.layer1.nand" + ], + "stage0.bit6.ha2.carry": [ + "stage0.bit6.ha1.sum.layer2", + "stage0.bit5.carry_or" + ], + "stage0.bit6.carry_or": [ + "stage0.bit6.ha1.carry", + "stage0.bit6.ha2.carry" + ], + "stage0.bit7.ha1.sum.layer1.or": [ + "pp.r0.c7", + "pp.r1.c6" + ], + "stage0.bit7.ha1.sum.layer1.nand": [ + "pp.r0.c7", + "pp.r1.c6" + ], + "stage0.bit7.ha1.sum.layer2": [ + "stage0.bit7.ha1.sum.layer1.or", + "stage0.bit7.ha1.sum.layer1.nand" + ], + "stage0.bit7.ha1.carry": [ + "pp.r0.c7", + "pp.r1.c6" + ], + "stage0.bit7.ha2.sum.layer1.or": [ + "stage0.bit7.ha1.sum.layer2", + "stage0.bit6.carry_or" + ], + "stage0.bit7.ha2.sum.layer1.nand": [ + "stage0.bit7.ha1.sum.layer2", + "stage0.bit6.carry_or" + ], + "stage0.bit7.ha2.sum.layer2": [ + "stage0.bit7.ha2.sum.layer1.or", + "stage0.bit7.ha2.sum.layer1.nand" + ], + "stage0.bit7.ha2.carry": [ + "stage0.bit7.ha1.sum.layer2", + "stage0.bit6.carry_or" + ], + "stage0.bit7.carry_or": [ + "stage0.bit7.ha1.carry", + "stage0.bit7.ha2.carry" + ], + "stage0.bit8.ha1.sum.layer1.or": [ + "#0", + "pp.r1.c7" + ], + "stage0.bit8.ha1.sum.layer1.nand": [ + "#0", + "pp.r1.c7" + ], + "stage0.bit8.ha1.sum.layer2": [ + "stage0.bit8.ha1.sum.layer1.or", + "stage0.bit8.ha1.sum.layer1.nand" + ], + "stage0.bit8.ha1.carry": [ + "#0", + "pp.r1.c7" + ], + "stage0.bit8.ha2.sum.layer1.or": [ + "stage0.bit8.ha1.sum.layer2", + "stage0.bit7.carry_or" + ], + "stage0.bit8.ha2.sum.layer1.nand": [ + "stage0.bit8.ha1.sum.layer2", + "stage0.bit7.carry_or" + ], + "stage0.bit8.ha2.sum.layer2": [ + "stage0.bit8.ha2.sum.layer1.or", + "stage0.bit8.ha2.sum.layer1.nand" + ], + "stage0.bit8.ha2.carry": [ + "stage0.bit8.ha1.sum.layer2", + "stage0.bit7.carry_or" + ], + "stage0.bit8.carry_or": [ + "stage0.bit8.ha1.carry", + "stage0.bit8.ha2.carry" + ], + "stage1.bit0.ha1.sum.layer1.or": [ + "stage0.bit0.ha2.sum", + "#0" + ], + "stage1.bit0.ha1.sum.layer1.nand": [ + "stage0.bit0.ha2.sum", + "#0" + ], + "stage1.bit0.ha1.sum.layer2": [ + "stage1.bit0.ha1.sum.layer1.or", + "stage1.bit0.ha1.sum.layer1.nand" + ], + "stage1.bit0.ha1.carry": [ + "stage0.bit0.ha2.sum", + "#0" + ], + "stage1.bit0.ha2.sum.layer1.or": [ + "stage1.bit0.ha1.sum.layer2", + "#0" + ], + "stage1.bit0.ha2.sum.layer1.nand": [ + "stage1.bit0.ha1.sum.layer2", + "#0" + ], + "stage1.bit0.ha2.sum.layer2": [ + "stage1.bit0.ha2.sum.layer1.or", + "stage1.bit0.ha2.sum.layer1.nand" + ], + "stage1.bit0.ha2.carry": [ + "stage1.bit0.ha1.sum.layer2", + "#0" + ], + "stage1.bit0.carry_or": [ + "stage1.bit0.ha1.carry", + "stage1.bit0.ha2.carry" + ], + "stage1.bit1.ha1.sum.layer1.or": [ + "stage0.bit1.ha2.sum", + "#0" + ], + "stage1.bit1.ha1.sum.layer1.nand": [ + "stage0.bit1.ha2.sum", + "#0" + ], + "stage1.bit1.ha1.sum.layer2": [ + "stage1.bit1.ha1.sum.layer1.or", + "stage1.bit1.ha1.sum.layer1.nand" + ], + "stage1.bit1.ha1.carry": [ + "stage0.bit1.ha2.sum", + "#0" + ], + "stage1.bit1.ha2.sum.layer1.or": [ + "stage1.bit1.ha1.sum.layer2", + "stage1.bit0.carry_or" + ], + "stage1.bit1.ha2.sum.layer1.nand": [ + "stage1.bit1.ha1.sum.layer2", + "stage1.bit0.carry_or" + ], + "stage1.bit1.ha2.sum.layer2": [ + "stage1.bit1.ha2.sum.layer1.or", + "stage1.bit1.ha2.sum.layer1.nand" + ], + "stage1.bit1.ha2.carry": [ + "stage1.bit1.ha1.sum.layer2", + "stage1.bit0.carry_or" + ], + "stage1.bit1.carry_or": [ + "stage1.bit1.ha1.carry", + "stage1.bit1.ha2.carry" + ], + "stage1.bit2.ha1.sum.layer1.or": [ + "stage0.bit2.ha2.sum", + "pp.r2.c0" + ], + "stage1.bit2.ha1.sum.layer1.nand": [ + "stage0.bit2.ha2.sum", + "pp.r2.c0" + ], + "stage1.bit2.ha1.sum.layer2": [ + "stage1.bit2.ha1.sum.layer1.or", + "stage1.bit2.ha1.sum.layer1.nand" + ], + "stage1.bit2.ha1.carry": [ + "stage0.bit2.ha2.sum", + "pp.r2.c0" + ], + "stage1.bit2.ha2.sum.layer1.or": [ + "stage1.bit2.ha1.sum.layer2", + "stage1.bit1.carry_or" + ], + "stage1.bit2.ha2.sum.layer1.nand": [ + "stage1.bit2.ha1.sum.layer2", + "stage1.bit1.carry_or" + ], + "stage1.bit2.ha2.sum.layer2": [ + "stage1.bit2.ha2.sum.layer1.or", + "stage1.bit2.ha2.sum.layer1.nand" + ], + "stage1.bit2.ha2.carry": [ + "stage1.bit2.ha1.sum.layer2", + "stage1.bit1.carry_or" + ], + "stage1.bit2.carry_or": [ + "stage1.bit2.ha1.carry", + "stage1.bit2.ha2.carry" + ], + "stage1.bit3.ha1.sum.layer1.or": [ + "stage0.bit3.ha2.sum", + "pp.r2.c1" + ], + "stage1.bit3.ha1.sum.layer1.nand": [ + "stage0.bit3.ha2.sum", + "pp.r2.c1" + ], + "stage1.bit3.ha1.sum.layer2": [ + "stage1.bit3.ha1.sum.layer1.or", + "stage1.bit3.ha1.sum.layer1.nand" + ], + "stage1.bit3.ha1.carry": [ + "stage0.bit3.ha2.sum", + "pp.r2.c1" + ], + "stage1.bit3.ha2.sum.layer1.or": [ + "stage1.bit3.ha1.sum.layer2", + "stage1.bit2.carry_or" + ], + "stage1.bit3.ha2.sum.layer1.nand": [ + "stage1.bit3.ha1.sum.layer2", + "stage1.bit2.carry_or" + ], + "stage1.bit3.ha2.sum.layer2": [ + "stage1.bit3.ha2.sum.layer1.or", + "stage1.bit3.ha2.sum.layer1.nand" + ], + "stage1.bit3.ha2.carry": [ + "stage1.bit3.ha1.sum.layer2", + "stage1.bit2.carry_or" + ], + "stage1.bit3.carry_or": [ + "stage1.bit3.ha1.carry", + "stage1.bit3.ha2.carry" + ], + "stage1.bit4.ha1.sum.layer1.or": [ + "stage0.bit4.ha2.sum", + "pp.r2.c2" + ], + "stage1.bit4.ha1.sum.layer1.nand": [ + "stage0.bit4.ha2.sum", + "pp.r2.c2" + ], + "stage1.bit4.ha1.sum.layer2": [ + "stage1.bit4.ha1.sum.layer1.or", + "stage1.bit4.ha1.sum.layer1.nand" + ], + "stage1.bit4.ha1.carry": [ + "stage0.bit4.ha2.sum", + "pp.r2.c2" + ], + "stage1.bit4.ha2.sum.layer1.or": [ + "stage1.bit4.ha1.sum.layer2", + "stage1.bit3.carry_or" + ], + "stage1.bit4.ha2.sum.layer1.nand": [ + "stage1.bit4.ha1.sum.layer2", + "stage1.bit3.carry_or" + ], + "stage1.bit4.ha2.sum.layer2": [ + "stage1.bit4.ha2.sum.layer1.or", + "stage1.bit4.ha2.sum.layer1.nand" + ], + "stage1.bit4.ha2.carry": [ + "stage1.bit4.ha1.sum.layer2", + "stage1.bit3.carry_or" + ], + "stage1.bit4.carry_or": [ + "stage1.bit4.ha1.carry", + "stage1.bit4.ha2.carry" + ], + "stage1.bit5.ha1.sum.layer1.or": [ + "stage0.bit5.ha2.sum", + "pp.r2.c3" + ], + "stage1.bit5.ha1.sum.layer1.nand": [ + "stage0.bit5.ha2.sum", + "pp.r2.c3" + ], + "stage1.bit5.ha1.sum.layer2": [ + "stage1.bit5.ha1.sum.layer1.or", + "stage1.bit5.ha1.sum.layer1.nand" + ], + "stage1.bit5.ha1.carry": [ + "stage0.bit5.ha2.sum", + "pp.r2.c3" + ], + "stage1.bit5.ha2.sum.layer1.or": [ + "stage1.bit5.ha1.sum.layer2", + "stage1.bit4.carry_or" + ], + "stage1.bit5.ha2.sum.layer1.nand": [ + "stage1.bit5.ha1.sum.layer2", + "stage1.bit4.carry_or" + ], + "stage1.bit5.ha2.sum.layer2": [ + "stage1.bit5.ha2.sum.layer1.or", + "stage1.bit5.ha2.sum.layer1.nand" + ], + "stage1.bit5.ha2.carry": [ + "stage1.bit5.ha1.sum.layer2", + "stage1.bit4.carry_or" + ], + "stage1.bit5.carry_or": [ + "stage1.bit5.ha1.carry", + "stage1.bit5.ha2.carry" + ], + "stage1.bit6.ha1.sum.layer1.or": [ + "stage0.bit6.ha2.sum", + "pp.r2.c4" + ], + "stage1.bit6.ha1.sum.layer1.nand": [ + "stage0.bit6.ha2.sum", + "pp.r2.c4" + ], + "stage1.bit6.ha1.sum.layer2": [ + "stage1.bit6.ha1.sum.layer1.or", + "stage1.bit6.ha1.sum.layer1.nand" + ], + "stage1.bit6.ha1.carry": [ + "stage0.bit6.ha2.sum", + "pp.r2.c4" + ], + "stage1.bit6.ha2.sum.layer1.or": [ + "stage1.bit6.ha1.sum.layer2", + "stage1.bit5.carry_or" + ], + "stage1.bit6.ha2.sum.layer1.nand": [ + "stage1.bit6.ha1.sum.layer2", + "stage1.bit5.carry_or" + ], + "stage1.bit6.ha2.sum.layer2": [ + "stage1.bit6.ha2.sum.layer1.or", + "stage1.bit6.ha2.sum.layer1.nand" + ], + "stage1.bit6.ha2.carry": [ + "stage1.bit6.ha1.sum.layer2", + "stage1.bit5.carry_or" + ], + "stage1.bit6.carry_or": [ + "stage1.bit6.ha1.carry", + "stage1.bit6.ha2.carry" + ], + "stage1.bit7.ha1.sum.layer1.or": [ + "stage0.bit7.ha2.sum", + "pp.r2.c5" + ], + "stage1.bit7.ha1.sum.layer1.nand": [ + "stage0.bit7.ha2.sum", + "pp.r2.c5" + ], + "stage1.bit7.ha1.sum.layer2": [ + "stage1.bit7.ha1.sum.layer1.or", + "stage1.bit7.ha1.sum.layer1.nand" + ], + "stage1.bit7.ha1.carry": [ + "stage0.bit7.ha2.sum", + "pp.r2.c5" + ], + "stage1.bit7.ha2.sum.layer1.or": [ + "stage1.bit7.ha1.sum.layer2", + "stage1.bit6.carry_or" + ], + "stage1.bit7.ha2.sum.layer1.nand": [ + "stage1.bit7.ha1.sum.layer2", + "stage1.bit6.carry_or" + ], + "stage1.bit7.ha2.sum.layer2": [ + "stage1.bit7.ha2.sum.layer1.or", + "stage1.bit7.ha2.sum.layer1.nand" + ], + "stage1.bit7.ha2.carry": [ + "stage1.bit7.ha1.sum.layer2", + "stage1.bit6.carry_or" + ], + "stage1.bit7.carry_or": [ + "stage1.bit7.ha1.carry", + "stage1.bit7.ha2.carry" + ], + "stage1.bit8.ha1.sum.layer1.or": [ + "stage0.bit8.ha2.sum", + "pp.r2.c6" + ], + "stage1.bit8.ha1.sum.layer1.nand": [ + "stage0.bit8.ha2.sum", + "pp.r2.c6" + ], + "stage1.bit8.ha1.sum.layer2": [ + "stage1.bit8.ha1.sum.layer1.or", + "stage1.bit8.ha1.sum.layer1.nand" + ], + "stage1.bit8.ha1.carry": [ + "stage0.bit8.ha2.sum", + "pp.r2.c6" + ], + "stage1.bit8.ha2.sum.layer1.or": [ + "stage1.bit8.ha1.sum.layer2", + "stage1.bit7.carry_or" + ], + "stage1.bit8.ha2.sum.layer1.nand": [ + "stage1.bit8.ha1.sum.layer2", + "stage1.bit7.carry_or" + ], + "stage1.bit8.ha2.sum.layer2": [ + "stage1.bit8.ha2.sum.layer1.or", + "stage1.bit8.ha2.sum.layer1.nand" + ], + "stage1.bit8.ha2.carry": [ + "stage1.bit8.ha1.sum.layer2", + "stage1.bit7.carry_or" + ], + "stage1.bit8.carry_or": [ + "stage1.bit8.ha1.carry", + "stage1.bit8.ha2.carry" + ], + "stage1.bit9.ha1.sum.layer1.or": [ + "stage0.bit8.carry_or", + "pp.r2.c7" + ], + "stage1.bit9.ha1.sum.layer1.nand": [ + "stage0.bit8.carry_or", + "pp.r2.c7" + ], + "stage1.bit9.ha1.sum.layer2": [ + "stage1.bit9.ha1.sum.layer1.or", + "stage1.bit9.ha1.sum.layer1.nand" + ], + "stage1.bit9.ha1.carry": [ + "stage0.bit8.carry_or", + "pp.r2.c7" + ], + "stage1.bit9.ha2.sum.layer1.or": [ + "stage1.bit9.ha1.sum.layer2", + "stage1.bit8.carry_or" + ], + "stage1.bit9.ha2.sum.layer1.nand": [ + "stage1.bit9.ha1.sum.layer2", + "stage1.bit8.carry_or" + ], + "stage1.bit9.ha2.sum.layer2": [ + "stage1.bit9.ha2.sum.layer1.or", + "stage1.bit9.ha2.sum.layer1.nand" + ], + "stage1.bit9.ha2.carry": [ + "stage1.bit9.ha1.sum.layer2", + "stage1.bit8.carry_or" + ], + "stage1.bit9.carry_or": [ + "stage1.bit9.ha1.carry", + "stage1.bit9.ha2.carry" + ], + "stage2.bit0.ha1.sum.layer1.or": [ + "stage1.bit0.ha2.sum", + "#0" + ], + "stage2.bit0.ha1.sum.layer1.nand": [ + "stage1.bit0.ha2.sum", + "#0" + ], + "stage2.bit0.ha1.sum.layer2": [ + "stage2.bit0.ha1.sum.layer1.or", + "stage2.bit0.ha1.sum.layer1.nand" + ], + "stage2.bit0.ha1.carry": [ + "stage1.bit0.ha2.sum", + "#0" + ], + "stage2.bit0.ha2.sum.layer1.or": [ + "stage2.bit0.ha1.sum.layer2", + "#0" + ], + "stage2.bit0.ha2.sum.layer1.nand": [ + "stage2.bit0.ha1.sum.layer2", + "#0" + ], + "stage2.bit0.ha2.sum.layer2": [ + "stage2.bit0.ha2.sum.layer1.or", + "stage2.bit0.ha2.sum.layer1.nand" + ], + "stage2.bit0.ha2.carry": [ + "stage2.bit0.ha1.sum.layer2", + "#0" + ], + "stage2.bit0.carry_or": [ + "stage2.bit0.ha1.carry", + "stage2.bit0.ha2.carry" + ], + "stage2.bit1.ha1.sum.layer1.or": [ + "stage1.bit1.ha2.sum", + "#0" + ], + "stage2.bit1.ha1.sum.layer1.nand": [ + "stage1.bit1.ha2.sum", + "#0" + ], + "stage2.bit1.ha1.sum.layer2": [ + "stage2.bit1.ha1.sum.layer1.or", + "stage2.bit1.ha1.sum.layer1.nand" + ], + "stage2.bit1.ha1.carry": [ + "stage1.bit1.ha2.sum", + "#0" + ], + "stage2.bit1.ha2.sum.layer1.or": [ + "stage2.bit1.ha1.sum.layer2", + "stage2.bit0.carry_or" + ], + "stage2.bit1.ha2.sum.layer1.nand": [ + "stage2.bit1.ha1.sum.layer2", + "stage2.bit0.carry_or" + ], + "stage2.bit1.ha2.sum.layer2": [ + "stage2.bit1.ha2.sum.layer1.or", + "stage2.bit1.ha2.sum.layer1.nand" + ], + "stage2.bit1.ha2.carry": [ + "stage2.bit1.ha1.sum.layer2", + "stage2.bit0.carry_or" + ], + "stage2.bit1.carry_or": [ + "stage2.bit1.ha1.carry", + "stage2.bit1.ha2.carry" + ], + "stage2.bit2.ha1.sum.layer1.or": [ + "stage1.bit2.ha2.sum", + "#0" + ], + "stage2.bit2.ha1.sum.layer1.nand": [ + "stage1.bit2.ha2.sum", + "#0" + ], + "stage2.bit2.ha1.sum.layer2": [ + "stage2.bit2.ha1.sum.layer1.or", + "stage2.bit2.ha1.sum.layer1.nand" + ], + "stage2.bit2.ha1.carry": [ + "stage1.bit2.ha2.sum", + "#0" + ], + "stage2.bit2.ha2.sum.layer1.or": [ + "stage2.bit2.ha1.sum.layer2", + "stage2.bit1.carry_or" + ], + "stage2.bit2.ha2.sum.layer1.nand": [ + "stage2.bit2.ha1.sum.layer2", + "stage2.bit1.carry_or" + ], + "stage2.bit2.ha2.sum.layer2": [ + "stage2.bit2.ha2.sum.layer1.or", + "stage2.bit2.ha2.sum.layer1.nand" + ], + "stage2.bit2.ha2.carry": [ + "stage2.bit2.ha1.sum.layer2", + "stage2.bit1.carry_or" + ], + "stage2.bit2.carry_or": [ + "stage2.bit2.ha1.carry", + "stage2.bit2.ha2.carry" + ], + "stage2.bit3.ha1.sum.layer1.or": [ + "stage1.bit3.ha2.sum", + "pp.r3.c0" + ], + "stage2.bit3.ha1.sum.layer1.nand": [ + "stage1.bit3.ha2.sum", + "pp.r3.c0" + ], + "stage2.bit3.ha1.sum.layer2": [ + "stage2.bit3.ha1.sum.layer1.or", + "stage2.bit3.ha1.sum.layer1.nand" + ], + "stage2.bit3.ha1.carry": [ + "stage1.bit3.ha2.sum", + "pp.r3.c0" + ], + "stage2.bit3.ha2.sum.layer1.or": [ + "stage2.bit3.ha1.sum.layer2", + "stage2.bit2.carry_or" + ], + "stage2.bit3.ha2.sum.layer1.nand": [ + "stage2.bit3.ha1.sum.layer2", + "stage2.bit2.carry_or" + ], + "stage2.bit3.ha2.sum.layer2": [ + "stage2.bit3.ha2.sum.layer1.or", + "stage2.bit3.ha2.sum.layer1.nand" + ], + "stage2.bit3.ha2.carry": [ + "stage2.bit3.ha1.sum.layer2", + "stage2.bit2.carry_or" + ], + "stage2.bit3.carry_or": [ + "stage2.bit3.ha1.carry", + "stage2.bit3.ha2.carry" + ], + "stage2.bit4.ha1.sum.layer1.or": [ + "stage1.bit4.ha2.sum", + "pp.r3.c1" + ], + "stage2.bit4.ha1.sum.layer1.nand": [ + "stage1.bit4.ha2.sum", + "pp.r3.c1" + ], + "stage2.bit4.ha1.sum.layer2": [ + "stage2.bit4.ha1.sum.layer1.or", + "stage2.bit4.ha1.sum.layer1.nand" + ], + "stage2.bit4.ha1.carry": [ + "stage1.bit4.ha2.sum", + "pp.r3.c1" + ], + "stage2.bit4.ha2.sum.layer1.or": [ + "stage2.bit4.ha1.sum.layer2", + "stage2.bit3.carry_or" + ], + "stage2.bit4.ha2.sum.layer1.nand": [ + "stage2.bit4.ha1.sum.layer2", + "stage2.bit3.carry_or" + ], + "stage2.bit4.ha2.sum.layer2": [ + "stage2.bit4.ha2.sum.layer1.or", + "stage2.bit4.ha2.sum.layer1.nand" + ], + "stage2.bit4.ha2.carry": [ + "stage2.bit4.ha1.sum.layer2", + "stage2.bit3.carry_or" + ], + "stage2.bit4.carry_or": [ + "stage2.bit4.ha1.carry", + "stage2.bit4.ha2.carry" + ], + "stage2.bit5.ha1.sum.layer1.or": [ + "stage1.bit5.ha2.sum", + "pp.r3.c2" + ], + "stage2.bit5.ha1.sum.layer1.nand": [ + "stage1.bit5.ha2.sum", + "pp.r3.c2" + ], + "stage2.bit5.ha1.sum.layer2": [ + "stage2.bit5.ha1.sum.layer1.or", + "stage2.bit5.ha1.sum.layer1.nand" + ], + "stage2.bit5.ha1.carry": [ + "stage1.bit5.ha2.sum", + "pp.r3.c2" + ], + "stage2.bit5.ha2.sum.layer1.or": [ + "stage2.bit5.ha1.sum.layer2", + "stage2.bit4.carry_or" + ], + "stage2.bit5.ha2.sum.layer1.nand": [ + "stage2.bit5.ha1.sum.layer2", + "stage2.bit4.carry_or" + ], + "stage2.bit5.ha2.sum.layer2": [ + "stage2.bit5.ha2.sum.layer1.or", + "stage2.bit5.ha2.sum.layer1.nand" + ], + "stage2.bit5.ha2.carry": [ + "stage2.bit5.ha1.sum.layer2", + "stage2.bit4.carry_or" + ], + "stage2.bit5.carry_or": [ + "stage2.bit5.ha1.carry", + "stage2.bit5.ha2.carry" + ], + "stage2.bit6.ha1.sum.layer1.or": [ + "stage1.bit6.ha2.sum", + "pp.r3.c3" + ], + "stage2.bit6.ha1.sum.layer1.nand": [ + "stage1.bit6.ha2.sum", + "pp.r3.c3" + ], + "stage2.bit6.ha1.sum.layer2": [ + "stage2.bit6.ha1.sum.layer1.or", + "stage2.bit6.ha1.sum.layer1.nand" + ], + "stage2.bit6.ha1.carry": [ + "stage1.bit6.ha2.sum", + "pp.r3.c3" + ], + "stage2.bit6.ha2.sum.layer1.or": [ + "stage2.bit6.ha1.sum.layer2", + "stage2.bit5.carry_or" + ], + "stage2.bit6.ha2.sum.layer1.nand": [ + "stage2.bit6.ha1.sum.layer2", + "stage2.bit5.carry_or" + ], + "stage2.bit6.ha2.sum.layer2": [ + "stage2.bit6.ha2.sum.layer1.or", + "stage2.bit6.ha2.sum.layer1.nand" + ], + "stage2.bit6.ha2.carry": [ + "stage2.bit6.ha1.sum.layer2", + "stage2.bit5.carry_or" + ], + "stage2.bit6.carry_or": [ + "stage2.bit6.ha1.carry", + "stage2.bit6.ha2.carry" + ], + "stage2.bit7.ha1.sum.layer1.or": [ + "stage1.bit7.ha2.sum", + "pp.r3.c4" + ], + "stage2.bit7.ha1.sum.layer1.nand": [ + "stage1.bit7.ha2.sum", + "pp.r3.c4" + ], + "stage2.bit7.ha1.sum.layer2": [ + "stage2.bit7.ha1.sum.layer1.or", + "stage2.bit7.ha1.sum.layer1.nand" + ], + "stage2.bit7.ha1.carry": [ + "stage1.bit7.ha2.sum", + "pp.r3.c4" + ], + "stage2.bit7.ha2.sum.layer1.or": [ + "stage2.bit7.ha1.sum.layer2", + "stage2.bit6.carry_or" + ], + "stage2.bit7.ha2.sum.layer1.nand": [ + "stage2.bit7.ha1.sum.layer2", + "stage2.bit6.carry_or" + ], + "stage2.bit7.ha2.sum.layer2": [ + "stage2.bit7.ha2.sum.layer1.or", + "stage2.bit7.ha2.sum.layer1.nand" + ], + "stage2.bit7.ha2.carry": [ + "stage2.bit7.ha1.sum.layer2", + "stage2.bit6.carry_or" + ], + "stage2.bit7.carry_or": [ + "stage2.bit7.ha1.carry", + "stage2.bit7.ha2.carry" + ], + "stage2.bit8.ha1.sum.layer1.or": [ + "stage1.bit8.ha2.sum", + "pp.r3.c5" + ], + "stage2.bit8.ha1.sum.layer1.nand": [ + "stage1.bit8.ha2.sum", + "pp.r3.c5" + ], + "stage2.bit8.ha1.sum.layer2": [ + "stage2.bit8.ha1.sum.layer1.or", + "stage2.bit8.ha1.sum.layer1.nand" + ], + "stage2.bit8.ha1.carry": [ + "stage1.bit8.ha2.sum", + "pp.r3.c5" + ], + "stage2.bit8.ha2.sum.layer1.or": [ + "stage2.bit8.ha1.sum.layer2", + "stage2.bit7.carry_or" + ], + "stage2.bit8.ha2.sum.layer1.nand": [ + "stage2.bit8.ha1.sum.layer2", + "stage2.bit7.carry_or" + ], + "stage2.bit8.ha2.sum.layer2": [ + "stage2.bit8.ha2.sum.layer1.or", + "stage2.bit8.ha2.sum.layer1.nand" + ], + "stage2.bit8.ha2.carry": [ + "stage2.bit8.ha1.sum.layer2", + "stage2.bit7.carry_or" + ], + "stage2.bit8.carry_or": [ + "stage2.bit8.ha1.carry", + "stage2.bit8.ha2.carry" + ], + "stage2.bit9.ha1.sum.layer1.or": [ + "stage1.bit9.ha2.sum", + "pp.r3.c6" + ], + "stage2.bit9.ha1.sum.layer1.nand": [ + "stage1.bit9.ha2.sum", + "pp.r3.c6" + ], + "stage2.bit9.ha1.sum.layer2": [ + "stage2.bit9.ha1.sum.layer1.or", + "stage2.bit9.ha1.sum.layer1.nand" + ], + "stage2.bit9.ha1.carry": [ + "stage1.bit9.ha2.sum", + "pp.r3.c6" + ], + "stage2.bit9.ha2.sum.layer1.or": [ + "stage2.bit9.ha1.sum.layer2", + "stage2.bit8.carry_or" + ], + "stage2.bit9.ha2.sum.layer1.nand": [ + "stage2.bit9.ha1.sum.layer2", + "stage2.bit8.carry_or" + ], + "stage2.bit9.ha2.sum.layer2": [ + "stage2.bit9.ha2.sum.layer1.or", + "stage2.bit9.ha2.sum.layer1.nand" + ], + "stage2.bit9.ha2.carry": [ + "stage2.bit9.ha1.sum.layer2", + "stage2.bit8.carry_or" + ], + "stage2.bit9.carry_or": [ + "stage2.bit9.ha1.carry", + "stage2.bit9.ha2.carry" + ], + "stage2.bit10.ha1.sum.layer1.or": [ + "stage1.bit9.carry_or", + "pp.r3.c7" + ], + "stage2.bit10.ha1.sum.layer1.nand": [ + "stage1.bit9.carry_or", + "pp.r3.c7" + ], + "stage2.bit10.ha1.sum.layer2": [ + "stage2.bit10.ha1.sum.layer1.or", + "stage2.bit10.ha1.sum.layer1.nand" + ], + "stage2.bit10.ha1.carry": [ + "stage1.bit9.carry_or", + "pp.r3.c7" + ], + "stage2.bit10.ha2.sum.layer1.or": [ + "stage2.bit10.ha1.sum.layer2", + "stage2.bit9.carry_or" + ], + "stage2.bit10.ha2.sum.layer1.nand": [ + "stage2.bit10.ha1.sum.layer2", + "stage2.bit9.carry_or" + ], + "stage2.bit10.ha2.sum.layer2": [ + "stage2.bit10.ha2.sum.layer1.or", + "stage2.bit10.ha2.sum.layer1.nand" + ], + "stage2.bit10.ha2.carry": [ + "stage2.bit10.ha1.sum.layer2", + "stage2.bit9.carry_or" + ], + "stage2.bit10.carry_or": [ + "stage2.bit10.ha1.carry", + "stage2.bit10.ha2.carry" + ], + "stage3.bit0.ha1.sum.layer1.or": [ + "stage2.bit0.ha2.sum", + "#0" + ], + "stage3.bit0.ha1.sum.layer1.nand": [ + "stage2.bit0.ha2.sum", + "#0" + ], + "stage3.bit0.ha1.sum.layer2": [ + "stage3.bit0.ha1.sum.layer1.or", + "stage3.bit0.ha1.sum.layer1.nand" + ], + "stage3.bit0.ha1.carry": [ + "stage2.bit0.ha2.sum", + "#0" + ], + "stage3.bit0.ha2.sum.layer1.or": [ + "stage3.bit0.ha1.sum.layer2", + "#0" + ], + "stage3.bit0.ha2.sum.layer1.nand": [ + "stage3.bit0.ha1.sum.layer2", + "#0" + ], + "stage3.bit0.ha2.sum.layer2": [ + "stage3.bit0.ha2.sum.layer1.or", + "stage3.bit0.ha2.sum.layer1.nand" + ], + "stage3.bit0.ha2.carry": [ + "stage3.bit0.ha1.sum.layer2", + "#0" + ], + "stage3.bit0.carry_or": [ + "stage3.bit0.ha1.carry", + "stage3.bit0.ha2.carry" + ], + "stage3.bit1.ha1.sum.layer1.or": [ + "stage2.bit1.ha2.sum", + "#0" + ], + "stage3.bit1.ha1.sum.layer1.nand": [ + "stage2.bit1.ha2.sum", + "#0" + ], + "stage3.bit1.ha1.sum.layer2": [ + "stage3.bit1.ha1.sum.layer1.or", + "stage3.bit1.ha1.sum.layer1.nand" + ], + "stage3.bit1.ha1.carry": [ + "stage2.bit1.ha2.sum", + "#0" + ], + "stage3.bit1.ha2.sum.layer1.or": [ + "stage3.bit1.ha1.sum.layer2", + "stage3.bit0.carry_or" + ], + "stage3.bit1.ha2.sum.layer1.nand": [ + "stage3.bit1.ha1.sum.layer2", + "stage3.bit0.carry_or" + ], + "stage3.bit1.ha2.sum.layer2": [ + "stage3.bit1.ha2.sum.layer1.or", + "stage3.bit1.ha2.sum.layer1.nand" + ], + "stage3.bit1.ha2.carry": [ + "stage3.bit1.ha1.sum.layer2", + "stage3.bit0.carry_or" + ], + "stage3.bit1.carry_or": [ + "stage3.bit1.ha1.carry", + "stage3.bit1.ha2.carry" + ], + "stage3.bit2.ha1.sum.layer1.or": [ + "stage2.bit2.ha2.sum", + "#0" + ], + "stage3.bit2.ha1.sum.layer1.nand": [ + "stage2.bit2.ha2.sum", + "#0" + ], + "stage3.bit2.ha1.sum.layer2": [ + "stage3.bit2.ha1.sum.layer1.or", + "stage3.bit2.ha1.sum.layer1.nand" + ], + "stage3.bit2.ha1.carry": [ + "stage2.bit2.ha2.sum", + "#0" + ], + "stage3.bit2.ha2.sum.layer1.or": [ + "stage3.bit2.ha1.sum.layer2", + "stage3.bit1.carry_or" + ], + "stage3.bit2.ha2.sum.layer1.nand": [ + "stage3.bit2.ha1.sum.layer2", + "stage3.bit1.carry_or" + ], + "stage3.bit2.ha2.sum.layer2": [ + "stage3.bit2.ha2.sum.layer1.or", + "stage3.bit2.ha2.sum.layer1.nand" + ], + "stage3.bit2.ha2.carry": [ + "stage3.bit2.ha1.sum.layer2", + "stage3.bit1.carry_or" + ], + "stage3.bit2.carry_or": [ + "stage3.bit2.ha1.carry", + "stage3.bit2.ha2.carry" + ], + "stage3.bit3.ha1.sum.layer1.or": [ + "stage2.bit3.ha2.sum", + "#0" + ], + "stage3.bit3.ha1.sum.layer1.nand": [ + "stage2.bit3.ha2.sum", + "#0" + ], + "stage3.bit3.ha1.sum.layer2": [ + "stage3.bit3.ha1.sum.layer1.or", + "stage3.bit3.ha1.sum.layer1.nand" + ], + "stage3.bit3.ha1.carry": [ + "stage2.bit3.ha2.sum", + "#0" + ], + "stage3.bit3.ha2.sum.layer1.or": [ + "stage3.bit3.ha1.sum.layer2", + "stage3.bit2.carry_or" + ], + "stage3.bit3.ha2.sum.layer1.nand": [ + "stage3.bit3.ha1.sum.layer2", + "stage3.bit2.carry_or" + ], + "stage3.bit3.ha2.sum.layer2": [ + "stage3.bit3.ha2.sum.layer1.or", + "stage3.bit3.ha2.sum.layer1.nand" + ], + "stage3.bit3.ha2.carry": [ + "stage3.bit3.ha1.sum.layer2", + "stage3.bit2.carry_or" + ], + "stage3.bit3.carry_or": [ + "stage3.bit3.ha1.carry", + "stage3.bit3.ha2.carry" + ], + "stage3.bit4.ha1.sum.layer1.or": [ + "stage2.bit4.ha2.sum", + "pp.r4.c0" + ], + "stage3.bit4.ha1.sum.layer1.nand": [ + "stage2.bit4.ha2.sum", + "pp.r4.c0" + ], + "stage3.bit4.ha1.sum.layer2": [ + "stage3.bit4.ha1.sum.layer1.or", + "stage3.bit4.ha1.sum.layer1.nand" + ], + "stage3.bit4.ha1.carry": [ + "stage2.bit4.ha2.sum", + "pp.r4.c0" + ], + "stage3.bit4.ha2.sum.layer1.or": [ + "stage3.bit4.ha1.sum.layer2", + "stage3.bit3.carry_or" + ], + "stage3.bit4.ha2.sum.layer1.nand": [ + "stage3.bit4.ha1.sum.layer2", + "stage3.bit3.carry_or" + ], + "stage3.bit4.ha2.sum.layer2": [ + "stage3.bit4.ha2.sum.layer1.or", + "stage3.bit4.ha2.sum.layer1.nand" + ], + "stage3.bit4.ha2.carry": [ + "stage3.bit4.ha1.sum.layer2", + "stage3.bit3.carry_or" + ], + "stage3.bit4.carry_or": [ + "stage3.bit4.ha1.carry", + "stage3.bit4.ha2.carry" + ], + "stage3.bit5.ha1.sum.layer1.or": [ + "stage2.bit5.ha2.sum", + "pp.r4.c1" + ], + "stage3.bit5.ha1.sum.layer1.nand": [ + "stage2.bit5.ha2.sum", + "pp.r4.c1" + ], + "stage3.bit5.ha1.sum.layer2": [ + "stage3.bit5.ha1.sum.layer1.or", + "stage3.bit5.ha1.sum.layer1.nand" + ], + "stage3.bit5.ha1.carry": [ + "stage2.bit5.ha2.sum", + "pp.r4.c1" + ], + "stage3.bit5.ha2.sum.layer1.or": [ + "stage3.bit5.ha1.sum.layer2", + "stage3.bit4.carry_or" + ], + "stage3.bit5.ha2.sum.layer1.nand": [ + "stage3.bit5.ha1.sum.layer2", + "stage3.bit4.carry_or" + ], + "stage3.bit5.ha2.sum.layer2": [ + "stage3.bit5.ha2.sum.layer1.or", + "stage3.bit5.ha2.sum.layer1.nand" + ], + "stage3.bit5.ha2.carry": [ + "stage3.bit5.ha1.sum.layer2", + "stage3.bit4.carry_or" + ], + "stage3.bit5.carry_or": [ + "stage3.bit5.ha1.carry", + "stage3.bit5.ha2.carry" + ], + "stage3.bit6.ha1.sum.layer1.or": [ + "stage2.bit6.ha2.sum", + "pp.r4.c2" + ], + "stage3.bit6.ha1.sum.layer1.nand": [ + "stage2.bit6.ha2.sum", + "pp.r4.c2" + ], + "stage3.bit6.ha1.sum.layer2": [ + "stage3.bit6.ha1.sum.layer1.or", + "stage3.bit6.ha1.sum.layer1.nand" + ], + "stage3.bit6.ha1.carry": [ + "stage2.bit6.ha2.sum", + "pp.r4.c2" + ], + "stage3.bit6.ha2.sum.layer1.or": [ + "stage3.bit6.ha1.sum.layer2", + "stage3.bit5.carry_or" + ], + "stage3.bit6.ha2.sum.layer1.nand": [ + "stage3.bit6.ha1.sum.layer2", + "stage3.bit5.carry_or" + ], + "stage3.bit6.ha2.sum.layer2": [ + "stage3.bit6.ha2.sum.layer1.or", + "stage3.bit6.ha2.sum.layer1.nand" + ], + "stage3.bit6.ha2.carry": [ + "stage3.bit6.ha1.sum.layer2", + "stage3.bit5.carry_or" + ], + "stage3.bit6.carry_or": [ + "stage3.bit6.ha1.carry", + "stage3.bit6.ha2.carry" + ], + "stage3.bit7.ha1.sum.layer1.or": [ + "stage2.bit7.ha2.sum", + "pp.r4.c3" + ], + "stage3.bit7.ha1.sum.layer1.nand": [ + "stage2.bit7.ha2.sum", + "pp.r4.c3" + ], + "stage3.bit7.ha1.sum.layer2": [ + "stage3.bit7.ha1.sum.layer1.or", + "stage3.bit7.ha1.sum.layer1.nand" + ], + "stage3.bit7.ha1.carry": [ + "stage2.bit7.ha2.sum", + "pp.r4.c3" + ], + "stage3.bit7.ha2.sum.layer1.or": [ + "stage3.bit7.ha1.sum.layer2", + "stage3.bit6.carry_or" + ], + "stage3.bit7.ha2.sum.layer1.nand": [ + "stage3.bit7.ha1.sum.layer2", + "stage3.bit6.carry_or" + ], + "stage3.bit7.ha2.sum.layer2": [ + "stage3.bit7.ha2.sum.layer1.or", + "stage3.bit7.ha2.sum.layer1.nand" + ], + "stage3.bit7.ha2.carry": [ + "stage3.bit7.ha1.sum.layer2", + "stage3.bit6.carry_or" + ], + "stage3.bit7.carry_or": [ + "stage3.bit7.ha1.carry", + "stage3.bit7.ha2.carry" + ], + "stage3.bit8.ha1.sum.layer1.or": [ + "stage2.bit8.ha2.sum", + "pp.r4.c4" + ], + "stage3.bit8.ha1.sum.layer1.nand": [ + "stage2.bit8.ha2.sum", + "pp.r4.c4" + ], + "stage3.bit8.ha1.sum.layer2": [ + "stage3.bit8.ha1.sum.layer1.or", + "stage3.bit8.ha1.sum.layer1.nand" + ], + "stage3.bit8.ha1.carry": [ + "stage2.bit8.ha2.sum", + "pp.r4.c4" + ], + "stage3.bit8.ha2.sum.layer1.or": [ + "stage3.bit8.ha1.sum.layer2", + "stage3.bit7.carry_or" + ], + "stage3.bit8.ha2.sum.layer1.nand": [ + "stage3.bit8.ha1.sum.layer2", + "stage3.bit7.carry_or" + ], + "stage3.bit8.ha2.sum.layer2": [ + "stage3.bit8.ha2.sum.layer1.or", + "stage3.bit8.ha2.sum.layer1.nand" + ], + "stage3.bit8.ha2.carry": [ + "stage3.bit8.ha1.sum.layer2", + "stage3.bit7.carry_or" + ], + "stage3.bit8.carry_or": [ + "stage3.bit8.ha1.carry", + "stage3.bit8.ha2.carry" + ], + "stage3.bit9.ha1.sum.layer1.or": [ + "stage2.bit9.ha2.sum", + "pp.r4.c5" + ], + "stage3.bit9.ha1.sum.layer1.nand": [ + "stage2.bit9.ha2.sum", + "pp.r4.c5" + ], + "stage3.bit9.ha1.sum.layer2": [ + "stage3.bit9.ha1.sum.layer1.or", + "stage3.bit9.ha1.sum.layer1.nand" + ], + "stage3.bit9.ha1.carry": [ + "stage2.bit9.ha2.sum", + "pp.r4.c5" + ], + "stage3.bit9.ha2.sum.layer1.or": [ + "stage3.bit9.ha1.sum.layer2", + "stage3.bit8.carry_or" + ], + "stage3.bit9.ha2.sum.layer1.nand": [ + "stage3.bit9.ha1.sum.layer2", + "stage3.bit8.carry_or" + ], + "stage3.bit9.ha2.sum.layer2": [ + "stage3.bit9.ha2.sum.layer1.or", + "stage3.bit9.ha2.sum.layer1.nand" + ], + "stage3.bit9.ha2.carry": [ + "stage3.bit9.ha1.sum.layer2", + "stage3.bit8.carry_or" + ], + "stage3.bit9.carry_or": [ + "stage3.bit9.ha1.carry", + "stage3.bit9.ha2.carry" + ], + "stage3.bit10.ha1.sum.layer1.or": [ + "stage2.bit10.ha2.sum", + "pp.r4.c6" + ], + "stage3.bit10.ha1.sum.layer1.nand": [ + "stage2.bit10.ha2.sum", + "pp.r4.c6" + ], + "stage3.bit10.ha1.sum.layer2": [ + "stage3.bit10.ha1.sum.layer1.or", + "stage3.bit10.ha1.sum.layer1.nand" + ], + "stage3.bit10.ha1.carry": [ + "stage2.bit10.ha2.sum", + "pp.r4.c6" + ], + "stage3.bit10.ha2.sum.layer1.or": [ + "stage3.bit10.ha1.sum.layer2", + "stage3.bit9.carry_or" + ], + "stage3.bit10.ha2.sum.layer1.nand": [ + "stage3.bit10.ha1.sum.layer2", + "stage3.bit9.carry_or" + ], + "stage3.bit10.ha2.sum.layer2": [ + "stage3.bit10.ha2.sum.layer1.or", + "stage3.bit10.ha2.sum.layer1.nand" + ], + "stage3.bit10.ha2.carry": [ + "stage3.bit10.ha1.sum.layer2", + "stage3.bit9.carry_or" + ], + "stage3.bit10.carry_or": [ + "stage3.bit10.ha1.carry", + "stage3.bit10.ha2.carry" + ], + "stage3.bit11.ha1.sum.layer1.or": [ + "stage2.bit10.carry_or", + "pp.r4.c7" + ], + "stage3.bit11.ha1.sum.layer1.nand": [ + "stage2.bit10.carry_or", + "pp.r4.c7" + ], + "stage3.bit11.ha1.sum.layer2": [ + "stage3.bit11.ha1.sum.layer1.or", + "stage3.bit11.ha1.sum.layer1.nand" + ], + "stage3.bit11.ha1.carry": [ + "stage2.bit10.carry_or", + "pp.r4.c7" + ], + "stage3.bit11.ha2.sum.layer1.or": [ + "stage3.bit11.ha1.sum.layer2", + "stage3.bit10.carry_or" + ], + "stage3.bit11.ha2.sum.layer1.nand": [ + "stage3.bit11.ha1.sum.layer2", + "stage3.bit10.carry_or" + ], + "stage3.bit11.ha2.sum.layer2": [ + "stage3.bit11.ha2.sum.layer1.or", + "stage3.bit11.ha2.sum.layer1.nand" + ], + "stage3.bit11.ha2.carry": [ + "stage3.bit11.ha1.sum.layer2", + "stage3.bit10.carry_or" + ], + "stage3.bit11.carry_or": [ + "stage3.bit11.ha1.carry", + "stage3.bit11.ha2.carry" + ], + "stage4.bit0.ha1.sum.layer1.or": [ + "stage3.bit0.ha2.sum", + "#0" + ], + "stage4.bit0.ha1.sum.layer1.nand": [ + "stage3.bit0.ha2.sum", + "#0" + ], + "stage4.bit0.ha1.sum.layer2": [ + "stage4.bit0.ha1.sum.layer1.or", + "stage4.bit0.ha1.sum.layer1.nand" + ], + "stage4.bit0.ha1.carry": [ + "stage3.bit0.ha2.sum", + "#0" + ], + "stage4.bit0.ha2.sum.layer1.or": [ + "stage4.bit0.ha1.sum.layer2", + "#0" + ], + "stage4.bit0.ha2.sum.layer1.nand": [ + "stage4.bit0.ha1.sum.layer2", + "#0" + ], + "stage4.bit0.ha2.sum.layer2": [ + "stage4.bit0.ha2.sum.layer1.or", + "stage4.bit0.ha2.sum.layer1.nand" + ], + "stage4.bit0.ha2.carry": [ + "stage4.bit0.ha1.sum.layer2", + "#0" + ], + "stage4.bit0.carry_or": [ + "stage4.bit0.ha1.carry", + "stage4.bit0.ha2.carry" + ], + "stage4.bit1.ha1.sum.layer1.or": [ + "stage3.bit1.ha2.sum", + "#0" + ], + "stage4.bit1.ha1.sum.layer1.nand": [ + "stage3.bit1.ha2.sum", + "#0" + ], + "stage4.bit1.ha1.sum.layer2": [ + "stage4.bit1.ha1.sum.layer1.or", + "stage4.bit1.ha1.sum.layer1.nand" + ], + "stage4.bit1.ha1.carry": [ + "stage3.bit1.ha2.sum", + "#0" + ], + "stage4.bit1.ha2.sum.layer1.or": [ + "stage4.bit1.ha1.sum.layer2", + "stage4.bit0.carry_or" + ], + "stage4.bit1.ha2.sum.layer1.nand": [ + "stage4.bit1.ha1.sum.layer2", + "stage4.bit0.carry_or" + ], + "stage4.bit1.ha2.sum.layer2": [ + "stage4.bit1.ha2.sum.layer1.or", + "stage4.bit1.ha2.sum.layer1.nand" + ], + "stage4.bit1.ha2.carry": [ + "stage4.bit1.ha1.sum.layer2", + "stage4.bit0.carry_or" + ], + "stage4.bit1.carry_or": [ + "stage4.bit1.ha1.carry", + "stage4.bit1.ha2.carry" + ], + "stage4.bit2.ha1.sum.layer1.or": [ + "stage3.bit2.ha2.sum", + "#0" + ], + "stage4.bit2.ha1.sum.layer1.nand": [ + "stage3.bit2.ha2.sum", + "#0" + ], + "stage4.bit2.ha1.sum.layer2": [ + "stage4.bit2.ha1.sum.layer1.or", + "stage4.bit2.ha1.sum.layer1.nand" + ], + "stage4.bit2.ha1.carry": [ + "stage3.bit2.ha2.sum", + "#0" + ], + "stage4.bit2.ha2.sum.layer1.or": [ + "stage4.bit2.ha1.sum.layer2", + "stage4.bit1.carry_or" + ], + "stage4.bit2.ha2.sum.layer1.nand": [ + "stage4.bit2.ha1.sum.layer2", + "stage4.bit1.carry_or" + ], + "stage4.bit2.ha2.sum.layer2": [ + "stage4.bit2.ha2.sum.layer1.or", + "stage4.bit2.ha2.sum.layer1.nand" + ], + "stage4.bit2.ha2.carry": [ + "stage4.bit2.ha1.sum.layer2", + "stage4.bit1.carry_or" + ], + "stage4.bit2.carry_or": [ + "stage4.bit2.ha1.carry", + "stage4.bit2.ha2.carry" + ], + "stage4.bit3.ha1.sum.layer1.or": [ + "stage3.bit3.ha2.sum", + "#0" + ], + "stage4.bit3.ha1.sum.layer1.nand": [ + "stage3.bit3.ha2.sum", + "#0" + ], + "stage4.bit3.ha1.sum.layer2": [ + "stage4.bit3.ha1.sum.layer1.or", + "stage4.bit3.ha1.sum.layer1.nand" + ], + "stage4.bit3.ha1.carry": [ + "stage3.bit3.ha2.sum", + "#0" + ], + "stage4.bit3.ha2.sum.layer1.or": [ + "stage4.bit3.ha1.sum.layer2", + "stage4.bit2.carry_or" + ], + "stage4.bit3.ha2.sum.layer1.nand": [ + "stage4.bit3.ha1.sum.layer2", + "stage4.bit2.carry_or" + ], + "stage4.bit3.ha2.sum.layer2": [ + "stage4.bit3.ha2.sum.layer1.or", + "stage4.bit3.ha2.sum.layer1.nand" + ], + "stage4.bit3.ha2.carry": [ + "stage4.bit3.ha1.sum.layer2", + "stage4.bit2.carry_or" + ], + "stage4.bit3.carry_or": [ + "stage4.bit3.ha1.carry", + "stage4.bit3.ha2.carry" + ], + "stage4.bit4.ha1.sum.layer1.or": [ + "stage3.bit4.ha2.sum", + "#0" + ], + "stage4.bit4.ha1.sum.layer1.nand": [ + "stage3.bit4.ha2.sum", + "#0" + ], + "stage4.bit4.ha1.sum.layer2": [ + "stage4.bit4.ha1.sum.layer1.or", + "stage4.bit4.ha1.sum.layer1.nand" + ], + "stage4.bit4.ha1.carry": [ + "stage3.bit4.ha2.sum", + "#0" + ], + "stage4.bit4.ha2.sum.layer1.or": [ + "stage4.bit4.ha1.sum.layer2", + "stage4.bit3.carry_or" + ], + "stage4.bit4.ha2.sum.layer1.nand": [ + "stage4.bit4.ha1.sum.layer2", + "stage4.bit3.carry_or" + ], + "stage4.bit4.ha2.sum.layer2": [ + "stage4.bit4.ha2.sum.layer1.or", + "stage4.bit4.ha2.sum.layer1.nand" + ], + "stage4.bit4.ha2.carry": [ + "stage4.bit4.ha1.sum.layer2", + "stage4.bit3.carry_or" + ], + "stage4.bit4.carry_or": [ + "stage4.bit4.ha1.carry", + "stage4.bit4.ha2.carry" + ], + "stage4.bit5.ha1.sum.layer1.or": [ + "stage3.bit5.ha2.sum", + "pp.r5.c0" + ], + "stage4.bit5.ha1.sum.layer1.nand": [ + "stage3.bit5.ha2.sum", + "pp.r5.c0" + ], + "stage4.bit5.ha1.sum.layer2": [ + "stage4.bit5.ha1.sum.layer1.or", + "stage4.bit5.ha1.sum.layer1.nand" + ], + "stage4.bit5.ha1.carry": [ + "stage3.bit5.ha2.sum", + "pp.r5.c0" + ], + "stage4.bit5.ha2.sum.layer1.or": [ + "stage4.bit5.ha1.sum.layer2", + "stage4.bit4.carry_or" + ], + "stage4.bit5.ha2.sum.layer1.nand": [ + "stage4.bit5.ha1.sum.layer2", + "stage4.bit4.carry_or" + ], + "stage4.bit5.ha2.sum.layer2": [ + "stage4.bit5.ha2.sum.layer1.or", + "stage4.bit5.ha2.sum.layer1.nand" + ], + "stage4.bit5.ha2.carry": [ + "stage4.bit5.ha1.sum.layer2", + "stage4.bit4.carry_or" + ], + "stage4.bit5.carry_or": [ + "stage4.bit5.ha1.carry", + "stage4.bit5.ha2.carry" + ], + "stage4.bit6.ha1.sum.layer1.or": [ + "stage3.bit6.ha2.sum", + "pp.r5.c1" + ], + "stage4.bit6.ha1.sum.layer1.nand": [ + "stage3.bit6.ha2.sum", + "pp.r5.c1" + ], + "stage4.bit6.ha1.sum.layer2": [ + "stage4.bit6.ha1.sum.layer1.or", + "stage4.bit6.ha1.sum.layer1.nand" + ], + "stage4.bit6.ha1.carry": [ + "stage3.bit6.ha2.sum", + "pp.r5.c1" + ], + "stage4.bit6.ha2.sum.layer1.or": [ + "stage4.bit6.ha1.sum.layer2", + "stage4.bit5.carry_or" + ], + "stage4.bit6.ha2.sum.layer1.nand": [ + "stage4.bit6.ha1.sum.layer2", + "stage4.bit5.carry_or" + ], + "stage4.bit6.ha2.sum.layer2": [ + "stage4.bit6.ha2.sum.layer1.or", + "stage4.bit6.ha2.sum.layer1.nand" + ], + "stage4.bit6.ha2.carry": [ + "stage4.bit6.ha1.sum.layer2", + "stage4.bit5.carry_or" + ], + "stage4.bit6.carry_or": [ + "stage4.bit6.ha1.carry", + "stage4.bit6.ha2.carry" + ], + "stage4.bit7.ha1.sum.layer1.or": [ + "stage3.bit7.ha2.sum", + "pp.r5.c2" + ], + "stage4.bit7.ha1.sum.layer1.nand": [ + "stage3.bit7.ha2.sum", + "pp.r5.c2" + ], + "stage4.bit7.ha1.sum.layer2": [ + "stage4.bit7.ha1.sum.layer1.or", + "stage4.bit7.ha1.sum.layer1.nand" + ], + "stage4.bit7.ha1.carry": [ + "stage3.bit7.ha2.sum", + "pp.r5.c2" + ], + "stage4.bit7.ha2.sum.layer1.or": [ + "stage4.bit7.ha1.sum.layer2", + "stage4.bit6.carry_or" + ], + "stage4.bit7.ha2.sum.layer1.nand": [ + "stage4.bit7.ha1.sum.layer2", + "stage4.bit6.carry_or" + ], + "stage4.bit7.ha2.sum.layer2": [ + "stage4.bit7.ha2.sum.layer1.or", + "stage4.bit7.ha2.sum.layer1.nand" + ], + "stage4.bit7.ha2.carry": [ + "stage4.bit7.ha1.sum.layer2", + "stage4.bit6.carry_or" + ], + "stage4.bit7.carry_or": [ + "stage4.bit7.ha1.carry", + "stage4.bit7.ha2.carry" + ], + "stage4.bit8.ha1.sum.layer1.or": [ + "stage3.bit8.ha2.sum", + "pp.r5.c3" + ], + "stage4.bit8.ha1.sum.layer1.nand": [ + "stage3.bit8.ha2.sum", + "pp.r5.c3" + ], + "stage4.bit8.ha1.sum.layer2": [ + "stage4.bit8.ha1.sum.layer1.or", + "stage4.bit8.ha1.sum.layer1.nand" + ], + "stage4.bit8.ha1.carry": [ + "stage3.bit8.ha2.sum", + "pp.r5.c3" + ], + "stage4.bit8.ha2.sum.layer1.or": [ + "stage4.bit8.ha1.sum.layer2", + "stage4.bit7.carry_or" + ], + "stage4.bit8.ha2.sum.layer1.nand": [ + "stage4.bit8.ha1.sum.layer2", + "stage4.bit7.carry_or" + ], + "stage4.bit8.ha2.sum.layer2": [ + "stage4.bit8.ha2.sum.layer1.or", + "stage4.bit8.ha2.sum.layer1.nand" + ], + "stage4.bit8.ha2.carry": [ + "stage4.bit8.ha1.sum.layer2", + "stage4.bit7.carry_or" + ], + "stage4.bit8.carry_or": [ + "stage4.bit8.ha1.carry", + "stage4.bit8.ha2.carry" + ], + "stage4.bit9.ha1.sum.layer1.or": [ + "stage3.bit9.ha2.sum", + "pp.r5.c4" + ], + "stage4.bit9.ha1.sum.layer1.nand": [ + "stage3.bit9.ha2.sum", + "pp.r5.c4" + ], + "stage4.bit9.ha1.sum.layer2": [ + "stage4.bit9.ha1.sum.layer1.or", + "stage4.bit9.ha1.sum.layer1.nand" + ], + "stage4.bit9.ha1.carry": [ + "stage3.bit9.ha2.sum", + "pp.r5.c4" + ], + "stage4.bit9.ha2.sum.layer1.or": [ + "stage4.bit9.ha1.sum.layer2", + "stage4.bit8.carry_or" + ], + "stage4.bit9.ha2.sum.layer1.nand": [ + "stage4.bit9.ha1.sum.layer2", + "stage4.bit8.carry_or" + ], + "stage4.bit9.ha2.sum.layer2": [ + "stage4.bit9.ha2.sum.layer1.or", + "stage4.bit9.ha2.sum.layer1.nand" + ], + "stage4.bit9.ha2.carry": [ + "stage4.bit9.ha1.sum.layer2", + "stage4.bit8.carry_or" + ], + "stage4.bit9.carry_or": [ + "stage4.bit9.ha1.carry", + "stage4.bit9.ha2.carry" + ], + "stage4.bit10.ha1.sum.layer1.or": [ + "stage3.bit10.ha2.sum", + "pp.r5.c5" + ], + "stage4.bit10.ha1.sum.layer1.nand": [ + "stage3.bit10.ha2.sum", + "pp.r5.c5" + ], + "stage4.bit10.ha1.sum.layer2": [ + "stage4.bit10.ha1.sum.layer1.or", + "stage4.bit10.ha1.sum.layer1.nand" + ], + "stage4.bit10.ha1.carry": [ + "stage3.bit10.ha2.sum", + "pp.r5.c5" + ], + "stage4.bit10.ha2.sum.layer1.or": [ + "stage4.bit10.ha1.sum.layer2", + "stage4.bit9.carry_or" + ], + "stage4.bit10.ha2.sum.layer1.nand": [ + "stage4.bit10.ha1.sum.layer2", + "stage4.bit9.carry_or" + ], + "stage4.bit10.ha2.sum.layer2": [ + "stage4.bit10.ha2.sum.layer1.or", + "stage4.bit10.ha2.sum.layer1.nand" + ], + "stage4.bit10.ha2.carry": [ + "stage4.bit10.ha1.sum.layer2", + "stage4.bit9.carry_or" + ], + "stage4.bit10.carry_or": [ + "stage4.bit10.ha1.carry", + "stage4.bit10.ha2.carry" + ], + "stage4.bit11.ha1.sum.layer1.or": [ + "stage3.bit11.ha2.sum", + "pp.r5.c6" + ], + "stage4.bit11.ha1.sum.layer1.nand": [ + "stage3.bit11.ha2.sum", + "pp.r5.c6" + ], + "stage4.bit11.ha1.sum.layer2": [ + "stage4.bit11.ha1.sum.layer1.or", + "stage4.bit11.ha1.sum.layer1.nand" + ], + "stage4.bit11.ha1.carry": [ + "stage3.bit11.ha2.sum", + "pp.r5.c6" + ], + "stage4.bit11.ha2.sum.layer1.or": [ + "stage4.bit11.ha1.sum.layer2", + "stage4.bit10.carry_or" + ], + "stage4.bit11.ha2.sum.layer1.nand": [ + "stage4.bit11.ha1.sum.layer2", + "stage4.bit10.carry_or" + ], + "stage4.bit11.ha2.sum.layer2": [ + "stage4.bit11.ha2.sum.layer1.or", + "stage4.bit11.ha2.sum.layer1.nand" + ], + "stage4.bit11.ha2.carry": [ + "stage4.bit11.ha1.sum.layer2", + "stage4.bit10.carry_or" + ], + "stage4.bit11.carry_or": [ + "stage4.bit11.ha1.carry", + "stage4.bit11.ha2.carry" + ], + "stage4.bit12.ha1.sum.layer1.or": [ + "stage3.bit11.carry_or", + "pp.r5.c7" + ], + "stage4.bit12.ha1.sum.layer1.nand": [ + "stage3.bit11.carry_or", + "pp.r5.c7" + ], + "stage4.bit12.ha1.sum.layer2": [ + "stage4.bit12.ha1.sum.layer1.or", + "stage4.bit12.ha1.sum.layer1.nand" + ], + "stage4.bit12.ha1.carry": [ + "stage3.bit11.carry_or", + "pp.r5.c7" + ], + "stage4.bit12.ha2.sum.layer1.or": [ + "stage4.bit12.ha1.sum.layer2", + "stage4.bit11.carry_or" + ], + "stage4.bit12.ha2.sum.layer1.nand": [ + "stage4.bit12.ha1.sum.layer2", + "stage4.bit11.carry_or" + ], + "stage4.bit12.ha2.sum.layer2": [ + "stage4.bit12.ha2.sum.layer1.or", + "stage4.bit12.ha2.sum.layer1.nand" + ], + "stage4.bit12.ha2.carry": [ + "stage4.bit12.ha1.sum.layer2", + "stage4.bit11.carry_or" + ], + "stage4.bit12.carry_or": [ + "stage4.bit12.ha1.carry", + "stage4.bit12.ha2.carry" + ], + "stage5.bit0.ha1.sum.layer1.or": [ + "stage4.bit0.ha2.sum", + "#0" + ], + "stage5.bit0.ha1.sum.layer1.nand": [ + "stage4.bit0.ha2.sum", + "#0" + ], + "stage5.bit0.ha1.sum.layer2": [ + "stage5.bit0.ha1.sum.layer1.or", + "stage5.bit0.ha1.sum.layer1.nand" + ], + "stage5.bit0.ha1.carry": [ + "stage4.bit0.ha2.sum", + "#0" + ], + "stage5.bit0.ha2.sum.layer1.or": [ + "stage5.bit0.ha1.sum.layer2", + "#0" + ], + "stage5.bit0.ha2.sum.layer1.nand": [ + "stage5.bit0.ha1.sum.layer2", + "#0" + ], + "stage5.bit0.ha2.sum.layer2": [ + "stage5.bit0.ha2.sum.layer1.or", + "stage5.bit0.ha2.sum.layer1.nand" + ], + "stage5.bit0.ha2.carry": [ + "stage5.bit0.ha1.sum.layer2", + "#0" + ], + "stage5.bit0.carry_or": [ + "stage5.bit0.ha1.carry", + "stage5.bit0.ha2.carry" + ], + "stage5.bit1.ha1.sum.layer1.or": [ + "stage4.bit1.ha2.sum", + "#0" + ], + "stage5.bit1.ha1.sum.layer1.nand": [ + "stage4.bit1.ha2.sum", + "#0" + ], + "stage5.bit1.ha1.sum.layer2": [ + "stage5.bit1.ha1.sum.layer1.or", + "stage5.bit1.ha1.sum.layer1.nand" + ], + "stage5.bit1.ha1.carry": [ + "stage4.bit1.ha2.sum", + "#0" + ], + "stage5.bit1.ha2.sum.layer1.or": [ + "stage5.bit1.ha1.sum.layer2", + "stage5.bit0.carry_or" + ], + "stage5.bit1.ha2.sum.layer1.nand": [ + "stage5.bit1.ha1.sum.layer2", + "stage5.bit0.carry_or" + ], + "stage5.bit1.ha2.sum.layer2": [ + "stage5.bit1.ha2.sum.layer1.or", + "stage5.bit1.ha2.sum.layer1.nand" + ], + "stage5.bit1.ha2.carry": [ + "stage5.bit1.ha1.sum.layer2", + "stage5.bit0.carry_or" + ], + "stage5.bit1.carry_or": [ + "stage5.bit1.ha1.carry", + "stage5.bit1.ha2.carry" + ], + "stage5.bit2.ha1.sum.layer1.or": [ + "stage4.bit2.ha2.sum", + "#0" + ], + "stage5.bit2.ha1.sum.layer1.nand": [ + "stage4.bit2.ha2.sum", + "#0" + ], + "stage5.bit2.ha1.sum.layer2": [ + "stage5.bit2.ha1.sum.layer1.or", + "stage5.bit2.ha1.sum.layer1.nand" + ], + "stage5.bit2.ha1.carry": [ + "stage4.bit2.ha2.sum", + "#0" + ], + "stage5.bit2.ha2.sum.layer1.or": [ + "stage5.bit2.ha1.sum.layer2", + "stage5.bit1.carry_or" + ], + "stage5.bit2.ha2.sum.layer1.nand": [ + "stage5.bit2.ha1.sum.layer2", + "stage5.bit1.carry_or" + ], + "stage5.bit2.ha2.sum.layer2": [ + "stage5.bit2.ha2.sum.layer1.or", + "stage5.bit2.ha2.sum.layer1.nand" + ], + "stage5.bit2.ha2.carry": [ + "stage5.bit2.ha1.sum.layer2", + "stage5.bit1.carry_or" + ], + "stage5.bit2.carry_or": [ + "stage5.bit2.ha1.carry", + "stage5.bit2.ha2.carry" + ], + "stage5.bit3.ha1.sum.layer1.or": [ + "stage4.bit3.ha2.sum", + "#0" + ], + "stage5.bit3.ha1.sum.layer1.nand": [ + "stage4.bit3.ha2.sum", + "#0" + ], + "stage5.bit3.ha1.sum.layer2": [ + "stage5.bit3.ha1.sum.layer1.or", + "stage5.bit3.ha1.sum.layer1.nand" + ], + "stage5.bit3.ha1.carry": [ + "stage4.bit3.ha2.sum", + "#0" + ], + "stage5.bit3.ha2.sum.layer1.or": [ + "stage5.bit3.ha1.sum.layer2", + "stage5.bit2.carry_or" + ], + "stage5.bit3.ha2.sum.layer1.nand": [ + "stage5.bit3.ha1.sum.layer2", + "stage5.bit2.carry_or" + ], + "stage5.bit3.ha2.sum.layer2": [ + "stage5.bit3.ha2.sum.layer1.or", + "stage5.bit3.ha2.sum.layer1.nand" + ], + "stage5.bit3.ha2.carry": [ + "stage5.bit3.ha1.sum.layer2", + "stage5.bit2.carry_or" + ], + "stage5.bit3.carry_or": [ + "stage5.bit3.ha1.carry", + "stage5.bit3.ha2.carry" + ], + "stage5.bit4.ha1.sum.layer1.or": [ + "stage4.bit4.ha2.sum", + "#0" + ], + "stage5.bit4.ha1.sum.layer1.nand": [ + "stage4.bit4.ha2.sum", + "#0" + ], + "stage5.bit4.ha1.sum.layer2": [ + "stage5.bit4.ha1.sum.layer1.or", + "stage5.bit4.ha1.sum.layer1.nand" + ], + "stage5.bit4.ha1.carry": [ + "stage4.bit4.ha2.sum", + "#0" + ], + "stage5.bit4.ha2.sum.layer1.or": [ + "stage5.bit4.ha1.sum.layer2", + "stage5.bit3.carry_or" + ], + "stage5.bit4.ha2.sum.layer1.nand": [ + "stage5.bit4.ha1.sum.layer2", + "stage5.bit3.carry_or" + ], + "stage5.bit4.ha2.sum.layer2": [ + "stage5.bit4.ha2.sum.layer1.or", + "stage5.bit4.ha2.sum.layer1.nand" + ], + "stage5.bit4.ha2.carry": [ + "stage5.bit4.ha1.sum.layer2", + "stage5.bit3.carry_or" + ], + "stage5.bit4.carry_or": [ + "stage5.bit4.ha1.carry", + "stage5.bit4.ha2.carry" + ], + "stage5.bit5.ha1.sum.layer1.or": [ + "stage4.bit5.ha2.sum", + "#0" + ], + "stage5.bit5.ha1.sum.layer1.nand": [ + "stage4.bit5.ha2.sum", + "#0" + ], + "stage5.bit5.ha1.sum.layer2": [ + "stage5.bit5.ha1.sum.layer1.or", + "stage5.bit5.ha1.sum.layer1.nand" + ], + "stage5.bit5.ha1.carry": [ + "stage4.bit5.ha2.sum", + "#0" + ], + "stage5.bit5.ha2.sum.layer1.or": [ + "stage5.bit5.ha1.sum.layer2", + "stage5.bit4.carry_or" + ], + "stage5.bit5.ha2.sum.layer1.nand": [ + "stage5.bit5.ha1.sum.layer2", + "stage5.bit4.carry_or" + ], + "stage5.bit5.ha2.sum.layer2": [ + "stage5.bit5.ha2.sum.layer1.or", + "stage5.bit5.ha2.sum.layer1.nand" + ], + "stage5.bit5.ha2.carry": [ + "stage5.bit5.ha1.sum.layer2", + "stage5.bit4.carry_or" + ], + "stage5.bit5.carry_or": [ + "stage5.bit5.ha1.carry", + "stage5.bit5.ha2.carry" + ], + "stage5.bit6.ha1.sum.layer1.or": [ + "stage4.bit6.ha2.sum", + "pp.r6.c0" + ], + "stage5.bit6.ha1.sum.layer1.nand": [ + "stage4.bit6.ha2.sum", + "pp.r6.c0" + ], + "stage5.bit6.ha1.sum.layer2": [ + "stage5.bit6.ha1.sum.layer1.or", + "stage5.bit6.ha1.sum.layer1.nand" + ], + "stage5.bit6.ha1.carry": [ + "stage4.bit6.ha2.sum", + "pp.r6.c0" + ], + "stage5.bit6.ha2.sum.layer1.or": [ + "stage5.bit6.ha1.sum.layer2", + "stage5.bit5.carry_or" + ], + "stage5.bit6.ha2.sum.layer1.nand": [ + "stage5.bit6.ha1.sum.layer2", + "stage5.bit5.carry_or" + ], + "stage5.bit6.ha2.sum.layer2": [ + "stage5.bit6.ha2.sum.layer1.or", + "stage5.bit6.ha2.sum.layer1.nand" + ], + "stage5.bit6.ha2.carry": [ + "stage5.bit6.ha1.sum.layer2", + "stage5.bit5.carry_or" + ], + "stage5.bit6.carry_or": [ + "stage5.bit6.ha1.carry", + "stage5.bit6.ha2.carry" + ], + "stage5.bit7.ha1.sum.layer1.or": [ + "stage4.bit7.ha2.sum", + "pp.r6.c1" + ], + "stage5.bit7.ha1.sum.layer1.nand": [ + "stage4.bit7.ha2.sum", + "pp.r6.c1" + ], + "stage5.bit7.ha1.sum.layer2": [ + "stage5.bit7.ha1.sum.layer1.or", + "stage5.bit7.ha1.sum.layer1.nand" + ], + "stage5.bit7.ha1.carry": [ + "stage4.bit7.ha2.sum", + "pp.r6.c1" + ], + "stage5.bit7.ha2.sum.layer1.or": [ + "stage5.bit7.ha1.sum.layer2", + "stage5.bit6.carry_or" + ], + "stage5.bit7.ha2.sum.layer1.nand": [ + "stage5.bit7.ha1.sum.layer2", + "stage5.bit6.carry_or" + ], + "stage5.bit7.ha2.sum.layer2": [ + "stage5.bit7.ha2.sum.layer1.or", + "stage5.bit7.ha2.sum.layer1.nand" + ], + "stage5.bit7.ha2.carry": [ + "stage5.bit7.ha1.sum.layer2", + "stage5.bit6.carry_or" + ], + "stage5.bit7.carry_or": [ + "stage5.bit7.ha1.carry", + "stage5.bit7.ha2.carry" + ], + "stage5.bit8.ha1.sum.layer1.or": [ + "stage4.bit8.ha2.sum", + "pp.r6.c2" + ], + "stage5.bit8.ha1.sum.layer1.nand": [ + "stage4.bit8.ha2.sum", + "pp.r6.c2" + ], + "stage5.bit8.ha1.sum.layer2": [ + "stage5.bit8.ha1.sum.layer1.or", + "stage5.bit8.ha1.sum.layer1.nand" + ], + "stage5.bit8.ha1.carry": [ + "stage4.bit8.ha2.sum", + "pp.r6.c2" + ], + "stage5.bit8.ha2.sum.layer1.or": [ + "stage5.bit8.ha1.sum.layer2", + "stage5.bit7.carry_or" + ], + "stage5.bit8.ha2.sum.layer1.nand": [ + "stage5.bit8.ha1.sum.layer2", + "stage5.bit7.carry_or" + ], + "stage5.bit8.ha2.sum.layer2": [ + "stage5.bit8.ha2.sum.layer1.or", + "stage5.bit8.ha2.sum.layer1.nand" + ], + "stage5.bit8.ha2.carry": [ + "stage5.bit8.ha1.sum.layer2", + "stage5.bit7.carry_or" + ], + "stage5.bit8.carry_or": [ + "stage5.bit8.ha1.carry", + "stage5.bit8.ha2.carry" + ], + "stage5.bit9.ha1.sum.layer1.or": [ + "stage4.bit9.ha2.sum", + "pp.r6.c3" + ], + "stage5.bit9.ha1.sum.layer1.nand": [ + "stage4.bit9.ha2.sum", + "pp.r6.c3" + ], + "stage5.bit9.ha1.sum.layer2": [ + "stage5.bit9.ha1.sum.layer1.or", + "stage5.bit9.ha1.sum.layer1.nand" + ], + "stage5.bit9.ha1.carry": [ + "stage4.bit9.ha2.sum", + "pp.r6.c3" + ], + "stage5.bit9.ha2.sum.layer1.or": [ + "stage5.bit9.ha1.sum.layer2", + "stage5.bit8.carry_or" + ], + "stage5.bit9.ha2.sum.layer1.nand": [ + "stage5.bit9.ha1.sum.layer2", + "stage5.bit8.carry_or" + ], + "stage5.bit9.ha2.sum.layer2": [ + "stage5.bit9.ha2.sum.layer1.or", + "stage5.bit9.ha2.sum.layer1.nand" + ], + "stage5.bit9.ha2.carry": [ + "stage5.bit9.ha1.sum.layer2", + "stage5.bit8.carry_or" + ], + "stage5.bit9.carry_or": [ + "stage5.bit9.ha1.carry", + "stage5.bit9.ha2.carry" + ], + "stage5.bit10.ha1.sum.layer1.or": [ + "stage4.bit10.ha2.sum", + "pp.r6.c4" + ], + "stage5.bit10.ha1.sum.layer1.nand": [ + "stage4.bit10.ha2.sum", + "pp.r6.c4" + ], + "stage5.bit10.ha1.sum.layer2": [ + "stage5.bit10.ha1.sum.layer1.or", + "stage5.bit10.ha1.sum.layer1.nand" + ], + "stage5.bit10.ha1.carry": [ + "stage4.bit10.ha2.sum", + "pp.r6.c4" + ], + "stage5.bit10.ha2.sum.layer1.or": [ + "stage5.bit10.ha1.sum.layer2", + "stage5.bit9.carry_or" + ], + "stage5.bit10.ha2.sum.layer1.nand": [ + "stage5.bit10.ha1.sum.layer2", + "stage5.bit9.carry_or" + ], + "stage5.bit10.ha2.sum.layer2": [ + "stage5.bit10.ha2.sum.layer1.or", + "stage5.bit10.ha2.sum.layer1.nand" + ], + "stage5.bit10.ha2.carry": [ + "stage5.bit10.ha1.sum.layer2", + "stage5.bit9.carry_or" + ], + "stage5.bit10.carry_or": [ + "stage5.bit10.ha1.carry", + "stage5.bit10.ha2.carry" + ], + "stage5.bit11.ha1.sum.layer1.or": [ + "stage4.bit11.ha2.sum", + "pp.r6.c5" + ], + "stage5.bit11.ha1.sum.layer1.nand": [ + "stage4.bit11.ha2.sum", + "pp.r6.c5" + ], + "stage5.bit11.ha1.sum.layer2": [ + "stage5.bit11.ha1.sum.layer1.or", + "stage5.bit11.ha1.sum.layer1.nand" + ], + "stage5.bit11.ha1.carry": [ + "stage4.bit11.ha2.sum", + "pp.r6.c5" + ], + "stage5.bit11.ha2.sum.layer1.or": [ + "stage5.bit11.ha1.sum.layer2", + "stage5.bit10.carry_or" + ], + "stage5.bit11.ha2.sum.layer1.nand": [ + "stage5.bit11.ha1.sum.layer2", + "stage5.bit10.carry_or" + ], + "stage5.bit11.ha2.sum.layer2": [ + "stage5.bit11.ha2.sum.layer1.or", + "stage5.bit11.ha2.sum.layer1.nand" + ], + "stage5.bit11.ha2.carry": [ + "stage5.bit11.ha1.sum.layer2", + "stage5.bit10.carry_or" + ], + "stage5.bit11.carry_or": [ + "stage5.bit11.ha1.carry", + "stage5.bit11.ha2.carry" + ], + "stage5.bit12.ha1.sum.layer1.or": [ + "stage4.bit12.ha2.sum", + "pp.r6.c6" + ], + "stage5.bit12.ha1.sum.layer1.nand": [ + "stage4.bit12.ha2.sum", + "pp.r6.c6" + ], + "stage5.bit12.ha1.sum.layer2": [ + "stage5.bit12.ha1.sum.layer1.or", + "stage5.bit12.ha1.sum.layer1.nand" + ], + "stage5.bit12.ha1.carry": [ + "stage4.bit12.ha2.sum", + "pp.r6.c6" + ], + "stage5.bit12.ha2.sum.layer1.or": [ + "stage5.bit12.ha1.sum.layer2", + "stage5.bit11.carry_or" + ], + "stage5.bit12.ha2.sum.layer1.nand": [ + "stage5.bit12.ha1.sum.layer2", + "stage5.bit11.carry_or" + ], + "stage5.bit12.ha2.sum.layer2": [ + "stage5.bit12.ha2.sum.layer1.or", + "stage5.bit12.ha2.sum.layer1.nand" + ], + "stage5.bit12.ha2.carry": [ + "stage5.bit12.ha1.sum.layer2", + "stage5.bit11.carry_or" + ], + "stage5.bit12.carry_or": [ + "stage5.bit12.ha1.carry", + "stage5.bit12.ha2.carry" + ], + "stage5.bit13.ha1.sum.layer1.or": [ + "stage4.bit12.carry_or", + "pp.r6.c7" + ], + "stage5.bit13.ha1.sum.layer1.nand": [ + "stage4.bit12.carry_or", + "pp.r6.c7" + ], + "stage5.bit13.ha1.sum.layer2": [ + "stage5.bit13.ha1.sum.layer1.or", + "stage5.bit13.ha1.sum.layer1.nand" + ], + "stage5.bit13.ha1.carry": [ + "stage4.bit12.carry_or", + "pp.r6.c7" + ], + "stage5.bit13.ha2.sum.layer1.or": [ + "stage5.bit13.ha1.sum.layer2", + "stage5.bit12.carry_or" + ], + "stage5.bit13.ha2.sum.layer1.nand": [ + "stage5.bit13.ha1.sum.layer2", + "stage5.bit12.carry_or" + ], + "stage5.bit13.ha2.sum.layer2": [ + "stage5.bit13.ha2.sum.layer1.or", + "stage5.bit13.ha2.sum.layer1.nand" + ], + "stage5.bit13.ha2.carry": [ + "stage5.bit13.ha1.sum.layer2", + "stage5.bit12.carry_or" + ], + "stage5.bit13.carry_or": [ + "stage5.bit13.ha1.carry", + "stage5.bit13.ha2.carry" + ], + "stage6.bit0.ha1.sum.layer1.or": [ + "stage5.bit0.ha2.sum", + "#0" + ], + "stage6.bit0.ha1.sum.layer1.nand": [ + "stage5.bit0.ha2.sum", + "#0" + ], + "stage6.bit0.ha1.sum.layer2": [ + "stage6.bit0.ha1.sum.layer1.or", + "stage6.bit0.ha1.sum.layer1.nand" + ], + "stage6.bit0.ha1.carry": [ + "stage5.bit0.ha2.sum", + "#0" + ], + "stage6.bit0.ha2.sum.layer1.or": [ + "stage6.bit0.ha1.sum.layer2", + "#0" + ], + "stage6.bit0.ha2.sum.layer1.nand": [ + "stage6.bit0.ha1.sum.layer2", + "#0" + ], + "stage6.bit0.ha2.sum.layer2": [ + "stage6.bit0.ha2.sum.layer1.or", + "stage6.bit0.ha2.sum.layer1.nand" + ], + "stage6.bit0.ha2.carry": [ + "stage6.bit0.ha1.sum.layer2", + "#0" + ], + "stage6.bit0.carry_or": [ + "stage6.bit0.ha1.carry", + "stage6.bit0.ha2.carry" + ], + "stage6.bit1.ha1.sum.layer1.or": [ + "stage5.bit1.ha2.sum", + "#0" + ], + "stage6.bit1.ha1.sum.layer1.nand": [ + "stage5.bit1.ha2.sum", + "#0" + ], + "stage6.bit1.ha1.sum.layer2": [ + "stage6.bit1.ha1.sum.layer1.or", + "stage6.bit1.ha1.sum.layer1.nand" + ], + "stage6.bit1.ha1.carry": [ + "stage5.bit1.ha2.sum", + "#0" + ], + "stage6.bit1.ha2.sum.layer1.or": [ + "stage6.bit1.ha1.sum.layer2", + "stage6.bit0.carry_or" + ], + "stage6.bit1.ha2.sum.layer1.nand": [ + "stage6.bit1.ha1.sum.layer2", + "stage6.bit0.carry_or" + ], + "stage6.bit1.ha2.sum.layer2": [ + "stage6.bit1.ha2.sum.layer1.or", + "stage6.bit1.ha2.sum.layer1.nand" + ], + "stage6.bit1.ha2.carry": [ + "stage6.bit1.ha1.sum.layer2", + "stage6.bit0.carry_or" + ], + "stage6.bit1.carry_or": [ + "stage6.bit1.ha1.carry", + "stage6.bit1.ha2.carry" + ], + "stage6.bit2.ha1.sum.layer1.or": [ + "stage5.bit2.ha2.sum", + "#0" + ], + "stage6.bit2.ha1.sum.layer1.nand": [ + "stage5.bit2.ha2.sum", + "#0" + ], + "stage6.bit2.ha1.sum.layer2": [ + "stage6.bit2.ha1.sum.layer1.or", + "stage6.bit2.ha1.sum.layer1.nand" + ], + "stage6.bit2.ha1.carry": [ + "stage5.bit2.ha2.sum", + "#0" + ], + "stage6.bit2.ha2.sum.layer1.or": [ + "stage6.bit2.ha1.sum.layer2", + "stage6.bit1.carry_or" + ], + "stage6.bit2.ha2.sum.layer1.nand": [ + "stage6.bit2.ha1.sum.layer2", + "stage6.bit1.carry_or" + ], + "stage6.bit2.ha2.sum.layer2": [ + "stage6.bit2.ha2.sum.layer1.or", + "stage6.bit2.ha2.sum.layer1.nand" + ], + "stage6.bit2.ha2.carry": [ + "stage6.bit2.ha1.sum.layer2", + "stage6.bit1.carry_or" + ], + "stage6.bit2.carry_or": [ + "stage6.bit2.ha1.carry", + "stage6.bit2.ha2.carry" + ], + "stage6.bit3.ha1.sum.layer1.or": [ + "stage5.bit3.ha2.sum", + "#0" + ], + "stage6.bit3.ha1.sum.layer1.nand": [ + "stage5.bit3.ha2.sum", + "#0" + ], + "stage6.bit3.ha1.sum.layer2": [ + "stage6.bit3.ha1.sum.layer1.or", + "stage6.bit3.ha1.sum.layer1.nand" + ], + "stage6.bit3.ha1.carry": [ + "stage5.bit3.ha2.sum", + "#0" + ], + "stage6.bit3.ha2.sum.layer1.or": [ + "stage6.bit3.ha1.sum.layer2", + "stage6.bit2.carry_or" + ], + "stage6.bit3.ha2.sum.layer1.nand": [ + "stage6.bit3.ha1.sum.layer2", + "stage6.bit2.carry_or" + ], + "stage6.bit3.ha2.sum.layer2": [ + "stage6.bit3.ha2.sum.layer1.or", + "stage6.bit3.ha2.sum.layer1.nand" + ], + "stage6.bit3.ha2.carry": [ + "stage6.bit3.ha1.sum.layer2", + "stage6.bit2.carry_or" + ], + "stage6.bit3.carry_or": [ + "stage6.bit3.ha1.carry", + "stage6.bit3.ha2.carry" + ], + "stage6.bit4.ha1.sum.layer1.or": [ + "stage5.bit4.ha2.sum", + "#0" + ], + "stage6.bit4.ha1.sum.layer1.nand": [ + "stage5.bit4.ha2.sum", + "#0" + ], + "stage6.bit4.ha1.sum.layer2": [ + "stage6.bit4.ha1.sum.layer1.or", + "stage6.bit4.ha1.sum.layer1.nand" + ], + "stage6.bit4.ha1.carry": [ + "stage5.bit4.ha2.sum", + "#0" + ], + "stage6.bit4.ha2.sum.layer1.or": [ + "stage6.bit4.ha1.sum.layer2", + "stage6.bit3.carry_or" + ], + "stage6.bit4.ha2.sum.layer1.nand": [ + "stage6.bit4.ha1.sum.layer2", + "stage6.bit3.carry_or" + ], + "stage6.bit4.ha2.sum.layer2": [ + "stage6.bit4.ha2.sum.layer1.or", + "stage6.bit4.ha2.sum.layer1.nand" + ], + "stage6.bit4.ha2.carry": [ + "stage6.bit4.ha1.sum.layer2", + "stage6.bit3.carry_or" + ], + "stage6.bit4.carry_or": [ + "stage6.bit4.ha1.carry", + "stage6.bit4.ha2.carry" + ], + "stage6.bit5.ha1.sum.layer1.or": [ + "stage5.bit5.ha2.sum", + "#0" + ], + "stage6.bit5.ha1.sum.layer1.nand": [ + "stage5.bit5.ha2.sum", + "#0" + ], + "stage6.bit5.ha1.sum.layer2": [ + "stage6.bit5.ha1.sum.layer1.or", + "stage6.bit5.ha1.sum.layer1.nand" + ], + "stage6.bit5.ha1.carry": [ + "stage5.bit5.ha2.sum", + "#0" + ], + "stage6.bit5.ha2.sum.layer1.or": [ + "stage6.bit5.ha1.sum.layer2", + "stage6.bit4.carry_or" + ], + "stage6.bit5.ha2.sum.layer1.nand": [ + "stage6.bit5.ha1.sum.layer2", + "stage6.bit4.carry_or" + ], + "stage6.bit5.ha2.sum.layer2": [ + "stage6.bit5.ha2.sum.layer1.or", + "stage6.bit5.ha2.sum.layer1.nand" + ], + "stage6.bit5.ha2.carry": [ + "stage6.bit5.ha1.sum.layer2", + "stage6.bit4.carry_or" + ], + "stage6.bit5.carry_or": [ + "stage6.bit5.ha1.carry", + "stage6.bit5.ha2.carry" + ], + "stage6.bit6.ha1.sum.layer1.or": [ + "stage5.bit6.ha2.sum", + "#0" + ], + "stage6.bit6.ha1.sum.layer1.nand": [ + "stage5.bit6.ha2.sum", + "#0" + ], + "stage6.bit6.ha1.sum.layer2": [ + "stage6.bit6.ha1.sum.layer1.or", + "stage6.bit6.ha1.sum.layer1.nand" + ], + "stage6.bit6.ha1.carry": [ + "stage5.bit6.ha2.sum", + "#0" + ], + "stage6.bit6.ha2.sum.layer1.or": [ + "stage6.bit6.ha1.sum.layer2", + "stage6.bit5.carry_or" + ], + "stage6.bit6.ha2.sum.layer1.nand": [ + "stage6.bit6.ha1.sum.layer2", + "stage6.bit5.carry_or" + ], + "stage6.bit6.ha2.sum.layer2": [ + "stage6.bit6.ha2.sum.layer1.or", + "stage6.bit6.ha2.sum.layer1.nand" + ], + "stage6.bit6.ha2.carry": [ + "stage6.bit6.ha1.sum.layer2", + "stage6.bit5.carry_or" + ], + "stage6.bit6.carry_or": [ + "stage6.bit6.ha1.carry", + "stage6.bit6.ha2.carry" + ], + "stage6.bit7.ha1.sum.layer1.or": [ + "stage5.bit7.ha2.sum", + "pp.r7.c0" + ], + "stage6.bit7.ha1.sum.layer1.nand": [ + "stage5.bit7.ha2.sum", + "pp.r7.c0" + ], + "stage6.bit7.ha1.sum.layer2": [ + "stage6.bit7.ha1.sum.layer1.or", + "stage6.bit7.ha1.sum.layer1.nand" + ], + "stage6.bit7.ha1.carry": [ + "stage5.bit7.ha2.sum", + "pp.r7.c0" + ], + "stage6.bit7.ha2.sum.layer1.or": [ + "stage6.bit7.ha1.sum.layer2", + "stage6.bit6.carry_or" + ], + "stage6.bit7.ha2.sum.layer1.nand": [ + "stage6.bit7.ha1.sum.layer2", + "stage6.bit6.carry_or" + ], + "stage6.bit7.ha2.sum.layer2": [ + "stage6.bit7.ha2.sum.layer1.or", + "stage6.bit7.ha2.sum.layer1.nand" + ], + "stage6.bit7.ha2.carry": [ + "stage6.bit7.ha1.sum.layer2", + "stage6.bit6.carry_or" + ], + "stage6.bit7.carry_or": [ + "stage6.bit7.ha1.carry", + "stage6.bit7.ha2.carry" + ], + "stage6.bit8.ha1.sum.layer1.or": [ + "stage5.bit8.ha2.sum", + "pp.r7.c1" + ], + "stage6.bit8.ha1.sum.layer1.nand": [ + "stage5.bit8.ha2.sum", + "pp.r7.c1" + ], + "stage6.bit8.ha1.sum.layer2": [ + "stage6.bit8.ha1.sum.layer1.or", + "stage6.bit8.ha1.sum.layer1.nand" + ], + "stage6.bit8.ha1.carry": [ + "stage5.bit8.ha2.sum", + "pp.r7.c1" + ], + "stage6.bit8.ha2.sum.layer1.or": [ + "stage6.bit8.ha1.sum.layer2", + "stage6.bit7.carry_or" + ], + "stage6.bit8.ha2.sum.layer1.nand": [ + "stage6.bit8.ha1.sum.layer2", + "stage6.bit7.carry_or" + ], + "stage6.bit8.ha2.sum.layer2": [ + "stage6.bit8.ha2.sum.layer1.or", + "stage6.bit8.ha2.sum.layer1.nand" + ], + "stage6.bit8.ha2.carry": [ + "stage6.bit8.ha1.sum.layer2", + "stage6.bit7.carry_or" + ], + "stage6.bit8.carry_or": [ + "stage6.bit8.ha1.carry", + "stage6.bit8.ha2.carry" + ], + "stage6.bit9.ha1.sum.layer1.or": [ + "stage5.bit9.ha2.sum", + "pp.r7.c2" + ], + "stage6.bit9.ha1.sum.layer1.nand": [ + "stage5.bit9.ha2.sum", + "pp.r7.c2" + ], + "stage6.bit9.ha1.sum.layer2": [ + "stage6.bit9.ha1.sum.layer1.or", + "stage6.bit9.ha1.sum.layer1.nand" + ], + "stage6.bit9.ha1.carry": [ + "stage5.bit9.ha2.sum", + "pp.r7.c2" + ], + "stage6.bit9.ha2.sum.layer1.or": [ + "stage6.bit9.ha1.sum.layer2", + "stage6.bit8.carry_or" + ], + "stage6.bit9.ha2.sum.layer1.nand": [ + "stage6.bit9.ha1.sum.layer2", + "stage6.bit8.carry_or" + ], + "stage6.bit9.ha2.sum.layer2": [ + "stage6.bit9.ha2.sum.layer1.or", + "stage6.bit9.ha2.sum.layer1.nand" + ], + "stage6.bit9.ha2.carry": [ + "stage6.bit9.ha1.sum.layer2", + "stage6.bit8.carry_or" + ], + "stage6.bit9.carry_or": [ + "stage6.bit9.ha1.carry", + "stage6.bit9.ha2.carry" + ], + "stage6.bit10.ha1.sum.layer1.or": [ + "stage5.bit10.ha2.sum", + "pp.r7.c3" + ], + "stage6.bit10.ha1.sum.layer1.nand": [ + "stage5.bit10.ha2.sum", + "pp.r7.c3" + ], + "stage6.bit10.ha1.sum.layer2": [ + "stage6.bit10.ha1.sum.layer1.or", + "stage6.bit10.ha1.sum.layer1.nand" + ], + "stage6.bit10.ha1.carry": [ + "stage5.bit10.ha2.sum", + "pp.r7.c3" + ], + "stage6.bit10.ha2.sum.layer1.or": [ + "stage6.bit10.ha1.sum.layer2", + "stage6.bit9.carry_or" + ], + "stage6.bit10.ha2.sum.layer1.nand": [ + "stage6.bit10.ha1.sum.layer2", + "stage6.bit9.carry_or" + ], + "stage6.bit10.ha2.sum.layer2": [ + "stage6.bit10.ha2.sum.layer1.or", + "stage6.bit10.ha2.sum.layer1.nand" + ], + "stage6.bit10.ha2.carry": [ + "stage6.bit10.ha1.sum.layer2", + "stage6.bit9.carry_or" + ], + "stage6.bit10.carry_or": [ + "stage6.bit10.ha1.carry", + "stage6.bit10.ha2.carry" + ], + "stage6.bit11.ha1.sum.layer1.or": [ + "stage5.bit11.ha2.sum", + "pp.r7.c4" + ], + "stage6.bit11.ha1.sum.layer1.nand": [ + "stage5.bit11.ha2.sum", + "pp.r7.c4" + ], + "stage6.bit11.ha1.sum.layer2": [ + "stage6.bit11.ha1.sum.layer1.or", + "stage6.bit11.ha1.sum.layer1.nand" + ], + "stage6.bit11.ha1.carry": [ + "stage5.bit11.ha2.sum", + "pp.r7.c4" + ], + "stage6.bit11.ha2.sum.layer1.or": [ + "stage6.bit11.ha1.sum.layer2", + "stage6.bit10.carry_or" + ], + "stage6.bit11.ha2.sum.layer1.nand": [ + "stage6.bit11.ha1.sum.layer2", + "stage6.bit10.carry_or" + ], + "stage6.bit11.ha2.sum.layer2": [ + "stage6.bit11.ha2.sum.layer1.or", + "stage6.bit11.ha2.sum.layer1.nand" + ], + "stage6.bit11.ha2.carry": [ + "stage6.bit11.ha1.sum.layer2", + "stage6.bit10.carry_or" + ], + "stage6.bit11.carry_or": [ + "stage6.bit11.ha1.carry", + "stage6.bit11.ha2.carry" + ], + "stage6.bit12.ha1.sum.layer1.or": [ + "stage5.bit12.ha2.sum", + "pp.r7.c5" + ], + "stage6.bit12.ha1.sum.layer1.nand": [ + "stage5.bit12.ha2.sum", + "pp.r7.c5" + ], + "stage6.bit12.ha1.sum.layer2": [ + "stage6.bit12.ha1.sum.layer1.or", + "stage6.bit12.ha1.sum.layer1.nand" + ], + "stage6.bit12.ha1.carry": [ + "stage5.bit12.ha2.sum", + "pp.r7.c5" + ], + "stage6.bit12.ha2.sum.layer1.or": [ + "stage6.bit12.ha1.sum.layer2", + "stage6.bit11.carry_or" + ], + "stage6.bit12.ha2.sum.layer1.nand": [ + "stage6.bit12.ha1.sum.layer2", + "stage6.bit11.carry_or" + ], + "stage6.bit12.ha2.sum.layer2": [ + "stage6.bit12.ha2.sum.layer1.or", + "stage6.bit12.ha2.sum.layer1.nand" + ], + "stage6.bit12.ha2.carry": [ + "stage6.bit12.ha1.sum.layer2", + "stage6.bit11.carry_or" + ], + "stage6.bit12.carry_or": [ + "stage6.bit12.ha1.carry", + "stage6.bit12.ha2.carry" + ], + "stage6.bit13.ha1.sum.layer1.or": [ + "stage5.bit13.ha2.sum", + "pp.r7.c6" + ], + "stage6.bit13.ha1.sum.layer1.nand": [ + "stage5.bit13.ha2.sum", + "pp.r7.c6" + ], + "stage6.bit13.ha1.sum.layer2": [ + "stage6.bit13.ha1.sum.layer1.or", + "stage6.bit13.ha1.sum.layer1.nand" + ], + "stage6.bit13.ha1.carry": [ + "stage5.bit13.ha2.sum", + "pp.r7.c6" + ], + "stage6.bit13.ha2.sum.layer1.or": [ + "stage6.bit13.ha1.sum.layer2", + "stage6.bit12.carry_or" + ], + "stage6.bit13.ha2.sum.layer1.nand": [ + "stage6.bit13.ha1.sum.layer2", + "stage6.bit12.carry_or" + ], + "stage6.bit13.ha2.sum.layer2": [ + "stage6.bit13.ha2.sum.layer1.or", + "stage6.bit13.ha2.sum.layer1.nand" + ], + "stage6.bit13.ha2.carry": [ + "stage6.bit13.ha1.sum.layer2", + "stage6.bit12.carry_or" + ], + "stage6.bit13.carry_or": [ + "stage6.bit13.ha1.carry", + "stage6.bit13.ha2.carry" + ], + "stage6.bit14.ha1.sum.layer1.or": [ + "stage5.bit13.carry_or", + "pp.r7.c7" + ], + "stage6.bit14.ha1.sum.layer1.nand": [ + "stage5.bit13.carry_or", + "pp.r7.c7" + ], + "stage6.bit14.ha1.sum.layer2": [ + "stage6.bit14.ha1.sum.layer1.or", + "stage6.bit14.ha1.sum.layer1.nand" + ], + "stage6.bit14.ha1.carry": [ + "stage5.bit13.carry_or", + "pp.r7.c7" + ], + "stage6.bit14.ha2.sum.layer1.or": [ + "stage6.bit14.ha1.sum.layer2", + "stage6.bit13.carry_or" + ], + "stage6.bit14.ha2.sum.layer1.nand": [ + "stage6.bit14.ha1.sum.layer2", + "stage6.bit13.carry_or" + ], + "stage6.bit14.ha2.sum.layer2": [ + "stage6.bit14.ha2.sum.layer1.or", + "stage6.bit14.ha2.sum.layer1.nand" + ], + "stage6.bit14.ha2.carry": [ + "stage6.bit14.ha1.sum.layer2", + "stage6.bit13.carry_or" + ], + "stage6.bit14.carry_or": [ + "stage6.bit14.ha1.carry", + "stage6.bit14.ha2.carry" + ] + }, + "outputs": { + "p[0]": "pp.r0.c0", + "p[1]": "pp.r0.c1", + "p[2]": "pp.r0.c2", + "p[3]": "pp.r0.c3", + "p[4]": "pp.r0.c4", + "p[5]": "pp.r0.c5", + "p[6]": "pp.r0.c6", + "p[7]": "pp.r0.c7", + "p[8]": "stage6.bit8.ha2.sum.layer2", + "p[9]": "stage6.bit9.ha2.sum.layer2", + "p[10]": "stage6.bit10.ha2.sum.layer2", + "p[11]": "stage6.bit11.ha2.sum.layer2", + "p[12]": "stage6.bit12.ha2.sum.layer2", + "p[13]": "stage6.bit13.ha2.sum.layer2", + "p[14]": "stage6.bit14.ha2.sum.layer2", + "p[15]": "stage6.bit14.carry_or" + } + }, + "arithmetic.div8bit": { + "inputs": [ + "$dividend[0:7]", + "$divisor[0:7]" + ], + "type": "restoring_division", + "internal": { + "stage0.shift.bit0": [ + "$dividend[7]" + ], + "stage0.shift.bit1": [ + "#0" + ], + "stage0.shift.bit2": [ + "#0" + ], + "stage0.shift.bit3": [ + "#0" + ], + "stage0.shift.bit4": [ + "#0" + ], + "stage0.shift.bit5": [ + "#0" + ], + "stage0.shift.bit6": [ + "#0" + ], + "stage0.shift.bit7": [ + "#0" + ], + "stage0.sub.notd0": [ + "$divisor[0]" + ], + "stage0.sub.notd1": [ + "$divisor[1]" + ], + "stage0.sub.notd2": [ + "$divisor[2]" + ], + "stage0.sub.notd3": [ + "$divisor[3]" + ], + "stage0.sub.notd4": [ + "$divisor[4]" + ], + "stage0.sub.notd5": [ + "$divisor[5]" + ], + "stage0.sub.notd6": [ + "$divisor[6]" + ], + "stage0.sub.notd7": [ + "$divisor[7]" + ], + "stage0.sub.fa0.xor1.layer1.or": [ + "stage0.shift.bit0", + "stage0.sub.notd0" + ], + "stage0.sub.fa0.xor1.layer1.nand": [ + "stage0.shift.bit0", + "stage0.sub.notd0" + ], + "stage0.sub.fa0.xor1.layer2": [ + "stage0.sub.fa0.xor1.layer1.or", + "stage0.sub.fa0.xor1.layer1.nand" + ], + "stage0.sub.fa0.xor2.layer1.or": [ + "stage0.sub.fa0.xor1.layer2", + "#1" + ], + "stage0.sub.fa0.xor2.layer1.nand": [ + "stage0.sub.fa0.xor1.layer2", + "#1" + ], + "stage0.sub.fa0.xor2.layer2": [ + "stage0.sub.fa0.xor2.layer1.or", + "stage0.sub.fa0.xor2.layer1.nand" + ], + "stage0.sub.fa0.and1": [ + "stage0.shift.bit0", + "stage0.sub.notd0" + ], + "stage0.sub.fa0.and2": [ + "stage0.sub.fa0.xor1.layer2", + "#1" + ], + "stage0.sub.fa0.or_carry": [ + "stage0.sub.fa0.and1", + "stage0.sub.fa0.and2" + ], + "stage0.sub.fa1.xor1.layer1.or": [ + "stage0.shift.bit1", + "stage0.sub.notd1" + ], + "stage0.sub.fa1.xor1.layer1.nand": [ + "stage0.shift.bit1", + "stage0.sub.notd1" + ], + "stage0.sub.fa1.xor1.layer2": [ + "stage0.sub.fa1.xor1.layer1.or", + "stage0.sub.fa1.xor1.layer1.nand" + ], + "stage0.sub.fa1.xor2.layer1.or": [ + "stage0.sub.fa1.xor1.layer2", + "stage0.sub.fa0.or_carry" + ], + "stage0.sub.fa1.xor2.layer1.nand": [ + "stage0.sub.fa1.xor1.layer2", + "stage0.sub.fa0.or_carry" + ], + "stage0.sub.fa1.xor2.layer2": [ + "stage0.sub.fa1.xor2.layer1.or", + "stage0.sub.fa1.xor2.layer1.nand" + ], + "stage0.sub.fa1.and1": [ + "stage0.shift.bit1", + "stage0.sub.notd1" + ], + "stage0.sub.fa1.and2": [ + "stage0.sub.fa1.xor1.layer2", + "stage0.sub.fa0.or_carry" + ], + "stage0.sub.fa1.or_carry": [ + "stage0.sub.fa1.and1", + "stage0.sub.fa1.and2" + ], + "stage0.sub.fa2.xor1.layer1.or": [ + "stage0.shift.bit2", + "stage0.sub.notd2" + ], + "stage0.sub.fa2.xor1.layer1.nand": [ + "stage0.shift.bit2", + "stage0.sub.notd2" + ], + "stage0.sub.fa2.xor1.layer2": [ + "stage0.sub.fa2.xor1.layer1.or", + "stage0.sub.fa2.xor1.layer1.nand" + ], + "stage0.sub.fa2.xor2.layer1.or": [ + "stage0.sub.fa2.xor1.layer2", + "stage0.sub.fa1.or_carry" + ], + "stage0.sub.fa2.xor2.layer1.nand": [ + "stage0.sub.fa2.xor1.layer2", + "stage0.sub.fa1.or_carry" + ], + "stage0.sub.fa2.xor2.layer2": [ + "stage0.sub.fa2.xor2.layer1.or", + "stage0.sub.fa2.xor2.layer1.nand" + ], + "stage0.sub.fa2.and1": [ + "stage0.shift.bit2", + "stage0.sub.notd2" + ], + "stage0.sub.fa2.and2": [ + "stage0.sub.fa2.xor1.layer2", + "stage0.sub.fa1.or_carry" + ], + "stage0.sub.fa2.or_carry": [ + "stage0.sub.fa2.and1", + "stage0.sub.fa2.and2" + ], + "stage0.sub.fa3.xor1.layer1.or": [ + "stage0.shift.bit3", + "stage0.sub.notd3" + ], + "stage0.sub.fa3.xor1.layer1.nand": [ + "stage0.shift.bit3", + "stage0.sub.notd3" + ], + "stage0.sub.fa3.xor1.layer2": [ + "stage0.sub.fa3.xor1.layer1.or", + "stage0.sub.fa3.xor1.layer1.nand" + ], + "stage0.sub.fa3.xor2.layer1.or": [ + "stage0.sub.fa3.xor1.layer2", + "stage0.sub.fa2.or_carry" + ], + "stage0.sub.fa3.xor2.layer1.nand": [ + "stage0.sub.fa3.xor1.layer2", + "stage0.sub.fa2.or_carry" + ], + "stage0.sub.fa3.xor2.layer2": [ + "stage0.sub.fa3.xor2.layer1.or", + "stage0.sub.fa3.xor2.layer1.nand" + ], + "stage0.sub.fa3.and1": [ + "stage0.shift.bit3", + "stage0.sub.notd3" + ], + "stage0.sub.fa3.and2": [ + "stage0.sub.fa3.xor1.layer2", + "stage0.sub.fa2.or_carry" + ], + "stage0.sub.fa3.or_carry": [ + "stage0.sub.fa3.and1", + "stage0.sub.fa3.and2" + ], + "stage0.sub.fa4.xor1.layer1.or": [ + "stage0.shift.bit4", + "stage0.sub.notd4" + ], + "stage0.sub.fa4.xor1.layer1.nand": [ + "stage0.shift.bit4", + "stage0.sub.notd4" + ], + "stage0.sub.fa4.xor1.layer2": [ + "stage0.sub.fa4.xor1.layer1.or", + "stage0.sub.fa4.xor1.layer1.nand" + ], + "stage0.sub.fa4.xor2.layer1.or": [ + "stage0.sub.fa4.xor1.layer2", + "stage0.sub.fa3.or_carry" + ], + "stage0.sub.fa4.xor2.layer1.nand": [ + "stage0.sub.fa4.xor1.layer2", + "stage0.sub.fa3.or_carry" + ], + "stage0.sub.fa4.xor2.layer2": [ + "stage0.sub.fa4.xor2.layer1.or", + "stage0.sub.fa4.xor2.layer1.nand" + ], + "stage0.sub.fa4.and1": [ + "stage0.shift.bit4", + "stage0.sub.notd4" + ], + "stage0.sub.fa4.and2": [ + "stage0.sub.fa4.xor1.layer2", + "stage0.sub.fa3.or_carry" + ], + "stage0.sub.fa4.or_carry": [ + "stage0.sub.fa4.and1", + "stage0.sub.fa4.and2" + ], + "stage0.sub.fa5.xor1.layer1.or": [ + "stage0.shift.bit5", + "stage0.sub.notd5" + ], + "stage0.sub.fa5.xor1.layer1.nand": [ + "stage0.shift.bit5", + "stage0.sub.notd5" + ], + "stage0.sub.fa5.xor1.layer2": [ + "stage0.sub.fa5.xor1.layer1.or", + "stage0.sub.fa5.xor1.layer1.nand" + ], + "stage0.sub.fa5.xor2.layer1.or": [ + "stage0.sub.fa5.xor1.layer2", + "stage0.sub.fa4.or_carry" + ], + "stage0.sub.fa5.xor2.layer1.nand": [ + "stage0.sub.fa5.xor1.layer2", + "stage0.sub.fa4.or_carry" + ], + "stage0.sub.fa5.xor2.layer2": [ + "stage0.sub.fa5.xor2.layer1.or", + "stage0.sub.fa5.xor2.layer1.nand" + ], + "stage0.sub.fa5.and1": [ + "stage0.shift.bit5", + "stage0.sub.notd5" + ], + "stage0.sub.fa5.and2": [ + "stage0.sub.fa5.xor1.layer2", + "stage0.sub.fa4.or_carry" + ], + "stage0.sub.fa5.or_carry": [ + "stage0.sub.fa5.and1", + "stage0.sub.fa5.and2" + ], + "stage0.sub.fa6.xor1.layer1.or": [ + "stage0.shift.bit6", + "stage0.sub.notd6" + ], + "stage0.sub.fa6.xor1.layer1.nand": [ + "stage0.shift.bit6", + "stage0.sub.notd6" + ], + "stage0.sub.fa6.xor1.layer2": [ + "stage0.sub.fa6.xor1.layer1.or", + "stage0.sub.fa6.xor1.layer1.nand" + ], + "stage0.sub.fa6.xor2.layer1.or": [ + "stage0.sub.fa6.xor1.layer2", + "stage0.sub.fa5.or_carry" + ], + "stage0.sub.fa6.xor2.layer1.nand": [ + "stage0.sub.fa6.xor1.layer2", + "stage0.sub.fa5.or_carry" + ], + "stage0.sub.fa6.xor2.layer2": [ + "stage0.sub.fa6.xor2.layer1.or", + "stage0.sub.fa6.xor2.layer1.nand" + ], + "stage0.sub.fa6.and1": [ + "stage0.shift.bit6", + "stage0.sub.notd6" + ], + "stage0.sub.fa6.and2": [ + "stage0.sub.fa6.xor1.layer2", + "stage0.sub.fa5.or_carry" + ], + "stage0.sub.fa6.or_carry": [ + "stage0.sub.fa6.and1", + "stage0.sub.fa6.and2" + ], + "stage0.sub.fa7.xor1.layer1.or": [ + "stage0.shift.bit7", + "stage0.sub.notd7" + ], + "stage0.sub.fa7.xor1.layer1.nand": [ + "stage0.shift.bit7", + "stage0.sub.notd7" + ], + "stage0.sub.fa7.xor1.layer2": [ + "stage0.sub.fa7.xor1.layer1.or", + "stage0.sub.fa7.xor1.layer1.nand" + ], + "stage0.sub.fa7.xor2.layer1.or": [ + "stage0.sub.fa7.xor1.layer2", + "stage0.sub.fa6.or_carry" + ], + "stage0.sub.fa7.xor2.layer1.nand": [ + "stage0.sub.fa7.xor1.layer2", + "stage0.sub.fa6.or_carry" + ], + "stage0.sub.fa7.xor2.layer2": [ + "stage0.sub.fa7.xor2.layer1.or", + "stage0.sub.fa7.xor2.layer1.nand" + ], + "stage0.sub.fa7.and1": [ + "stage0.shift.bit7", + "stage0.sub.notd7" + ], + "stage0.sub.fa7.and2": [ + "stage0.sub.fa7.xor1.layer2", + "stage0.sub.fa6.or_carry" + ], + "stage0.sub.fa7.or_carry": [ + "stage0.sub.fa7.and1", + "stage0.sub.fa7.and2" + ], + "stage0.cmp": [ + "stage0.sub.fa7.or_carry" + ], + "stage0.or_dividend": [ + "stage0.shift.bit7", + "$dividend[7]" + ], + "stage0.mux0.not_sel": [ + "stage0.cmp" + ], + "stage0.mux0.and0": [ + "stage0.shift.bit0", + "stage0.mux0.not_sel" + ], + "stage0.mux0.and1": [ + "stage0.sub.fa0.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux0.or": [ + "stage0.mux0.and0", + "stage0.mux0.and1" + ], + "stage0.mux1.not_sel": [ + "stage0.cmp" + ], + "stage0.mux1.and0": [ + "stage0.shift.bit1", + "stage0.mux1.not_sel" + ], + "stage0.mux1.and1": [ + "stage0.sub.fa1.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux1.or": [ + "stage0.mux1.and0", + "stage0.mux1.and1" + ], + "stage0.mux2.not_sel": [ + "stage0.cmp" + ], + "stage0.mux2.and0": [ + "stage0.shift.bit2", + "stage0.mux2.not_sel" + ], + "stage0.mux2.and1": [ + "stage0.sub.fa2.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux2.or": [ + "stage0.mux2.and0", + "stage0.mux2.and1" + ], + "stage0.mux3.not_sel": [ + "stage0.cmp" + ], + "stage0.mux3.and0": [ + "stage0.shift.bit3", + "stage0.mux3.not_sel" + ], + "stage0.mux3.and1": [ + "stage0.sub.fa3.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux3.or": [ + "stage0.mux3.and0", + "stage0.mux3.and1" + ], + "stage0.mux4.not_sel": [ + "stage0.cmp" + ], + "stage0.mux4.and0": [ + "stage0.shift.bit4", + "stage0.mux4.not_sel" + ], + "stage0.mux4.and1": [ + "stage0.sub.fa4.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux4.or": [ + "stage0.mux4.and0", + "stage0.mux4.and1" + ], + "stage0.mux5.not_sel": [ + "stage0.cmp" + ], + "stage0.mux5.and0": [ + "stage0.shift.bit5", + "stage0.mux5.not_sel" + ], + "stage0.mux5.and1": [ + "stage0.sub.fa5.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux5.or": [ + "stage0.mux5.and0", + "stage0.mux5.and1" + ], + "stage0.mux6.not_sel": [ + "stage0.cmp" + ], + "stage0.mux6.and0": [ + "stage0.shift.bit6", + "stage0.mux6.not_sel" + ], + "stage0.mux6.and1": [ + "stage0.sub.fa6.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux6.or": [ + "stage0.mux6.and0", + "stage0.mux6.and1" + ], + "stage0.mux7.not_sel": [ + "stage0.cmp" + ], + "stage0.mux7.and0": [ + "stage0.shift.bit7", + "stage0.mux7.not_sel" + ], + "stage0.mux7.and1": [ + "stage0.sub.fa7.xor2.layer2", + "stage0.cmp" + ], + "stage0.mux7.or": [ + "stage0.mux7.and0", + "stage0.mux7.and1" + ], + "stage1.shift.bit0": [ + "$dividend[6]" + ], + "stage1.shift.bit1": [ + "stage0.mux0.or" + ], + "stage1.shift.bit2": [ + "stage0.mux1.or" + ], + "stage1.shift.bit3": [ + "stage0.mux2.or" + ], + "stage1.shift.bit4": [ + "stage0.mux3.or" + ], + "stage1.shift.bit5": [ + "stage0.mux4.or" + ], + "stage1.shift.bit6": [ + "stage0.mux5.or" + ], + "stage1.shift.bit7": [ + "stage0.mux6.or" + ], + "stage1.sub.notd0": [ + "$divisor[0]" + ], + "stage1.sub.notd1": [ + "$divisor[1]" + ], + "stage1.sub.notd2": [ + "$divisor[2]" + ], + "stage1.sub.notd3": [ + "$divisor[3]" + ], + "stage1.sub.notd4": [ + "$divisor[4]" + ], + "stage1.sub.notd5": [ + "$divisor[5]" + ], + "stage1.sub.notd6": [ + "$divisor[6]" + ], + "stage1.sub.notd7": [ + "$divisor[7]" + ], + "stage1.sub.fa0.xor1.layer1.or": [ + "stage1.shift.bit0", + "stage1.sub.notd0" + ], + "stage1.sub.fa0.xor1.layer1.nand": [ + "stage1.shift.bit0", + "stage1.sub.notd0" + ], + "stage1.sub.fa0.xor1.layer2": [ + "stage1.sub.fa0.xor1.layer1.or", + "stage1.sub.fa0.xor1.layer1.nand" + ], + "stage1.sub.fa0.xor2.layer1.or": [ + "stage1.sub.fa0.xor1.layer2", + "#1" + ], + "stage1.sub.fa0.xor2.layer1.nand": [ + "stage1.sub.fa0.xor1.layer2", + "#1" + ], + "stage1.sub.fa0.xor2.layer2": [ + "stage1.sub.fa0.xor2.layer1.or", + "stage1.sub.fa0.xor2.layer1.nand" + ], + "stage1.sub.fa0.and1": [ + "stage1.shift.bit0", + "stage1.sub.notd0" + ], + "stage1.sub.fa0.and2": [ + "stage1.sub.fa0.xor1.layer2", + "#1" + ], + "stage1.sub.fa0.or_carry": [ + "stage1.sub.fa0.and1", + "stage1.sub.fa0.and2" + ], + "stage1.sub.fa1.xor1.layer1.or": [ + "stage1.shift.bit1", + "stage1.sub.notd1" + ], + "stage1.sub.fa1.xor1.layer1.nand": [ + "stage1.shift.bit1", + "stage1.sub.notd1" + ], + "stage1.sub.fa1.xor1.layer2": [ + "stage1.sub.fa1.xor1.layer1.or", + "stage1.sub.fa1.xor1.layer1.nand" + ], + "stage1.sub.fa1.xor2.layer1.or": [ + "stage1.sub.fa1.xor1.layer2", + "stage1.sub.fa0.or_carry" + ], + "stage1.sub.fa1.xor2.layer1.nand": [ + "stage1.sub.fa1.xor1.layer2", + "stage1.sub.fa0.or_carry" + ], + "stage1.sub.fa1.xor2.layer2": [ + "stage1.sub.fa1.xor2.layer1.or", + "stage1.sub.fa1.xor2.layer1.nand" + ], + "stage1.sub.fa1.and1": [ + "stage1.shift.bit1", + "stage1.sub.notd1" + ], + "stage1.sub.fa1.and2": [ + "stage1.sub.fa1.xor1.layer2", + "stage1.sub.fa0.or_carry" + ], + "stage1.sub.fa1.or_carry": [ + "stage1.sub.fa1.and1", + "stage1.sub.fa1.and2" + ], + "stage1.sub.fa2.xor1.layer1.or": [ + "stage1.shift.bit2", + "stage1.sub.notd2" + ], + "stage1.sub.fa2.xor1.layer1.nand": [ + "stage1.shift.bit2", + "stage1.sub.notd2" + ], + "stage1.sub.fa2.xor1.layer2": [ + "stage1.sub.fa2.xor1.layer1.or", + "stage1.sub.fa2.xor1.layer1.nand" + ], + "stage1.sub.fa2.xor2.layer1.or": [ + "stage1.sub.fa2.xor1.layer2", + "stage1.sub.fa1.or_carry" + ], + "stage1.sub.fa2.xor2.layer1.nand": [ + "stage1.sub.fa2.xor1.layer2", + "stage1.sub.fa1.or_carry" + ], + "stage1.sub.fa2.xor2.layer2": [ + "stage1.sub.fa2.xor2.layer1.or", + "stage1.sub.fa2.xor2.layer1.nand" + ], + "stage1.sub.fa2.and1": [ + "stage1.shift.bit2", + "stage1.sub.notd2" + ], + "stage1.sub.fa2.and2": [ + "stage1.sub.fa2.xor1.layer2", + "stage1.sub.fa1.or_carry" + ], + "stage1.sub.fa2.or_carry": [ + "stage1.sub.fa2.and1", + "stage1.sub.fa2.and2" + ], + "stage1.sub.fa3.xor1.layer1.or": [ + "stage1.shift.bit3", + "stage1.sub.notd3" + ], + "stage1.sub.fa3.xor1.layer1.nand": [ + "stage1.shift.bit3", + "stage1.sub.notd3" + ], + "stage1.sub.fa3.xor1.layer2": [ + "stage1.sub.fa3.xor1.layer1.or", + "stage1.sub.fa3.xor1.layer1.nand" + ], + "stage1.sub.fa3.xor2.layer1.or": [ + "stage1.sub.fa3.xor1.layer2", + "stage1.sub.fa2.or_carry" + ], + "stage1.sub.fa3.xor2.layer1.nand": [ + "stage1.sub.fa3.xor1.layer2", + "stage1.sub.fa2.or_carry" + ], + "stage1.sub.fa3.xor2.layer2": [ + "stage1.sub.fa3.xor2.layer1.or", + "stage1.sub.fa3.xor2.layer1.nand" + ], + "stage1.sub.fa3.and1": [ + "stage1.shift.bit3", + "stage1.sub.notd3" + ], + "stage1.sub.fa3.and2": [ + "stage1.sub.fa3.xor1.layer2", + "stage1.sub.fa2.or_carry" + ], + "stage1.sub.fa3.or_carry": [ + "stage1.sub.fa3.and1", + "stage1.sub.fa3.and2" + ], + "stage1.sub.fa4.xor1.layer1.or": [ + "stage1.shift.bit4", + "stage1.sub.notd4" + ], + "stage1.sub.fa4.xor1.layer1.nand": [ + "stage1.shift.bit4", + "stage1.sub.notd4" + ], + "stage1.sub.fa4.xor1.layer2": [ + "stage1.sub.fa4.xor1.layer1.or", + "stage1.sub.fa4.xor1.layer1.nand" + ], + "stage1.sub.fa4.xor2.layer1.or": [ + "stage1.sub.fa4.xor1.layer2", + "stage1.sub.fa3.or_carry" + ], + "stage1.sub.fa4.xor2.layer1.nand": [ + "stage1.sub.fa4.xor1.layer2", + "stage1.sub.fa3.or_carry" + ], + "stage1.sub.fa4.xor2.layer2": [ + "stage1.sub.fa4.xor2.layer1.or", + "stage1.sub.fa4.xor2.layer1.nand" + ], + "stage1.sub.fa4.and1": [ + "stage1.shift.bit4", + "stage1.sub.notd4" + ], + "stage1.sub.fa4.and2": [ + "stage1.sub.fa4.xor1.layer2", + "stage1.sub.fa3.or_carry" + ], + "stage1.sub.fa4.or_carry": [ + "stage1.sub.fa4.and1", + "stage1.sub.fa4.and2" + ], + "stage1.sub.fa5.xor1.layer1.or": [ + "stage1.shift.bit5", + "stage1.sub.notd5" + ], + "stage1.sub.fa5.xor1.layer1.nand": [ + "stage1.shift.bit5", + "stage1.sub.notd5" + ], + "stage1.sub.fa5.xor1.layer2": [ + "stage1.sub.fa5.xor1.layer1.or", + "stage1.sub.fa5.xor1.layer1.nand" + ], + "stage1.sub.fa5.xor2.layer1.or": [ + "stage1.sub.fa5.xor1.layer2", + "stage1.sub.fa4.or_carry" + ], + "stage1.sub.fa5.xor2.layer1.nand": [ + "stage1.sub.fa5.xor1.layer2", + "stage1.sub.fa4.or_carry" + ], + "stage1.sub.fa5.xor2.layer2": [ + "stage1.sub.fa5.xor2.layer1.or", + "stage1.sub.fa5.xor2.layer1.nand" + ], + "stage1.sub.fa5.and1": [ + "stage1.shift.bit5", + "stage1.sub.notd5" + ], + "stage1.sub.fa5.and2": [ + "stage1.sub.fa5.xor1.layer2", + "stage1.sub.fa4.or_carry" + ], + "stage1.sub.fa5.or_carry": [ + "stage1.sub.fa5.and1", + "stage1.sub.fa5.and2" + ], + "stage1.sub.fa6.xor1.layer1.or": [ + "stage1.shift.bit6", + "stage1.sub.notd6" + ], + "stage1.sub.fa6.xor1.layer1.nand": [ + "stage1.shift.bit6", + "stage1.sub.notd6" + ], + "stage1.sub.fa6.xor1.layer2": [ + "stage1.sub.fa6.xor1.layer1.or", + "stage1.sub.fa6.xor1.layer1.nand" + ], + "stage1.sub.fa6.xor2.layer1.or": [ + "stage1.sub.fa6.xor1.layer2", + "stage1.sub.fa5.or_carry" + ], + "stage1.sub.fa6.xor2.layer1.nand": [ + "stage1.sub.fa6.xor1.layer2", + "stage1.sub.fa5.or_carry" + ], + "stage1.sub.fa6.xor2.layer2": [ + "stage1.sub.fa6.xor2.layer1.or", + "stage1.sub.fa6.xor2.layer1.nand" + ], + "stage1.sub.fa6.and1": [ + "stage1.shift.bit6", + "stage1.sub.notd6" + ], + "stage1.sub.fa6.and2": [ + "stage1.sub.fa6.xor1.layer2", + "stage1.sub.fa5.or_carry" + ], + "stage1.sub.fa6.or_carry": [ + "stage1.sub.fa6.and1", + "stage1.sub.fa6.and2" + ], + "stage1.sub.fa7.xor1.layer1.or": [ + "stage1.shift.bit7", + "stage1.sub.notd7" + ], + "stage1.sub.fa7.xor1.layer1.nand": [ + "stage1.shift.bit7", + "stage1.sub.notd7" + ], + "stage1.sub.fa7.xor1.layer2": [ + "stage1.sub.fa7.xor1.layer1.or", + "stage1.sub.fa7.xor1.layer1.nand" + ], + "stage1.sub.fa7.xor2.layer1.or": [ + "stage1.sub.fa7.xor1.layer2", + "stage1.sub.fa6.or_carry" + ], + "stage1.sub.fa7.xor2.layer1.nand": [ + "stage1.sub.fa7.xor1.layer2", + "stage1.sub.fa6.or_carry" + ], + "stage1.sub.fa7.xor2.layer2": [ + "stage1.sub.fa7.xor2.layer1.or", + "stage1.sub.fa7.xor2.layer1.nand" + ], + "stage1.sub.fa7.and1": [ + "stage1.shift.bit7", + "stage1.sub.notd7" + ], + "stage1.sub.fa7.and2": [ + "stage1.sub.fa7.xor1.layer2", + "stage1.sub.fa6.or_carry" + ], + "stage1.sub.fa7.or_carry": [ + "stage1.sub.fa7.and1", + "stage1.sub.fa7.and2" + ], + "stage1.cmp": [ + "stage1.sub.fa7.or_carry" + ], + "stage1.or_dividend": [ + "stage1.shift.bit7", + "$dividend[6]" + ], + "stage1.mux0.not_sel": [ + "stage1.cmp" + ], + "stage1.mux0.and0": [ + "stage1.shift.bit0", + "stage1.mux0.not_sel" + ], + "stage1.mux0.and1": [ + "stage1.sub.fa0.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux0.or": [ + "stage1.mux0.and0", + "stage1.mux0.and1" + ], + "stage1.mux1.not_sel": [ + "stage1.cmp" + ], + "stage1.mux1.and0": [ + "stage1.shift.bit1", + "stage1.mux1.not_sel" + ], + "stage1.mux1.and1": [ + "stage1.sub.fa1.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux1.or": [ + "stage1.mux1.and0", + "stage1.mux1.and1" + ], + "stage1.mux2.not_sel": [ + "stage1.cmp" + ], + "stage1.mux2.and0": [ + "stage1.shift.bit2", + "stage1.mux2.not_sel" + ], + "stage1.mux2.and1": [ + "stage1.sub.fa2.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux2.or": [ + "stage1.mux2.and0", + "stage1.mux2.and1" + ], + "stage1.mux3.not_sel": [ + "stage1.cmp" + ], + "stage1.mux3.and0": [ + "stage1.shift.bit3", + "stage1.mux3.not_sel" + ], + "stage1.mux3.and1": [ + "stage1.sub.fa3.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux3.or": [ + "stage1.mux3.and0", + "stage1.mux3.and1" + ], + "stage1.mux4.not_sel": [ + "stage1.cmp" + ], + "stage1.mux4.and0": [ + "stage1.shift.bit4", + "stage1.mux4.not_sel" + ], + "stage1.mux4.and1": [ + "stage1.sub.fa4.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux4.or": [ + "stage1.mux4.and0", + "stage1.mux4.and1" + ], + "stage1.mux5.not_sel": [ + "stage1.cmp" + ], + "stage1.mux5.and0": [ + "stage1.shift.bit5", + "stage1.mux5.not_sel" + ], + "stage1.mux5.and1": [ + "stage1.sub.fa5.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux5.or": [ + "stage1.mux5.and0", + "stage1.mux5.and1" + ], + "stage1.mux6.not_sel": [ + "stage1.cmp" + ], + "stage1.mux6.and0": [ + "stage1.shift.bit6", + "stage1.mux6.not_sel" + ], + "stage1.mux6.and1": [ + "stage1.sub.fa6.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux6.or": [ + "stage1.mux6.and0", + "stage1.mux6.and1" + ], + "stage1.mux7.not_sel": [ + "stage1.cmp" + ], + "stage1.mux7.and0": [ + "stage1.shift.bit7", + "stage1.mux7.not_sel" + ], + "stage1.mux7.and1": [ + "stage1.sub.fa7.xor2.layer2", + "stage1.cmp" + ], + "stage1.mux7.or": [ + "stage1.mux7.and0", + "stage1.mux7.and1" + ], + "stage2.shift.bit0": [ + "$dividend[5]" + ], + "stage2.shift.bit1": [ + "stage1.mux0.or" + ], + "stage2.shift.bit2": [ + "stage1.mux1.or" + ], + "stage2.shift.bit3": [ + "stage1.mux2.or" + ], + "stage2.shift.bit4": [ + "stage1.mux3.or" + ], + "stage2.shift.bit5": [ + "stage1.mux4.or" + ], + "stage2.shift.bit6": [ + "stage1.mux5.or" + ], + "stage2.shift.bit7": [ + "stage1.mux6.or" + ], + "stage2.sub.notd0": [ + "$divisor[0]" + ], + "stage2.sub.notd1": [ + "$divisor[1]" + ], + "stage2.sub.notd2": [ + "$divisor[2]" + ], + "stage2.sub.notd3": [ + "$divisor[3]" + ], + "stage2.sub.notd4": [ + "$divisor[4]" + ], + "stage2.sub.notd5": [ + "$divisor[5]" + ], + "stage2.sub.notd6": [ + "$divisor[6]" + ], + "stage2.sub.notd7": [ + "$divisor[7]" + ], + "stage2.sub.fa0.xor1.layer1.or": [ + "stage2.shift.bit0", + "stage2.sub.notd0" + ], + "stage2.sub.fa0.xor1.layer1.nand": [ + "stage2.shift.bit0", + "stage2.sub.notd0" + ], + "stage2.sub.fa0.xor1.layer2": [ + "stage2.sub.fa0.xor1.layer1.or", + "stage2.sub.fa0.xor1.layer1.nand" + ], + "stage2.sub.fa0.xor2.layer1.or": [ + "stage2.sub.fa0.xor1.layer2", + "#1" + ], + "stage2.sub.fa0.xor2.layer1.nand": [ + "stage2.sub.fa0.xor1.layer2", + "#1" + ], + "stage2.sub.fa0.xor2.layer2": [ + "stage2.sub.fa0.xor2.layer1.or", + "stage2.sub.fa0.xor2.layer1.nand" + ], + "stage2.sub.fa0.and1": [ + "stage2.shift.bit0", + "stage2.sub.notd0" + ], + "stage2.sub.fa0.and2": [ + "stage2.sub.fa0.xor1.layer2", + "#1" + ], + "stage2.sub.fa0.or_carry": [ + "stage2.sub.fa0.and1", + "stage2.sub.fa0.and2" + ], + "stage2.sub.fa1.xor1.layer1.or": [ + "stage2.shift.bit1", + "stage2.sub.notd1" + ], + "stage2.sub.fa1.xor1.layer1.nand": [ + "stage2.shift.bit1", + "stage2.sub.notd1" + ], + "stage2.sub.fa1.xor1.layer2": [ + "stage2.sub.fa1.xor1.layer1.or", + "stage2.sub.fa1.xor1.layer1.nand" + ], + "stage2.sub.fa1.xor2.layer1.or": [ + "stage2.sub.fa1.xor1.layer2", + "stage2.sub.fa0.or_carry" + ], + "stage2.sub.fa1.xor2.layer1.nand": [ + "stage2.sub.fa1.xor1.layer2", + "stage2.sub.fa0.or_carry" + ], + "stage2.sub.fa1.xor2.layer2": [ + "stage2.sub.fa1.xor2.layer1.or", + "stage2.sub.fa1.xor2.layer1.nand" + ], + "stage2.sub.fa1.and1": [ + "stage2.shift.bit1", + "stage2.sub.notd1" + ], + "stage2.sub.fa1.and2": [ + "stage2.sub.fa1.xor1.layer2", + "stage2.sub.fa0.or_carry" + ], + "stage2.sub.fa1.or_carry": [ + "stage2.sub.fa1.and1", + "stage2.sub.fa1.and2" + ], + "stage2.sub.fa2.xor1.layer1.or": [ + "stage2.shift.bit2", + "stage2.sub.notd2" + ], + "stage2.sub.fa2.xor1.layer1.nand": [ + "stage2.shift.bit2", + "stage2.sub.notd2" + ], + "stage2.sub.fa2.xor1.layer2": [ + "stage2.sub.fa2.xor1.layer1.or", + "stage2.sub.fa2.xor1.layer1.nand" + ], + "stage2.sub.fa2.xor2.layer1.or": [ + "stage2.sub.fa2.xor1.layer2", + "stage2.sub.fa1.or_carry" + ], + "stage2.sub.fa2.xor2.layer1.nand": [ + "stage2.sub.fa2.xor1.layer2", + "stage2.sub.fa1.or_carry" + ], + "stage2.sub.fa2.xor2.layer2": [ + "stage2.sub.fa2.xor2.layer1.or", + "stage2.sub.fa2.xor2.layer1.nand" + ], + "stage2.sub.fa2.and1": [ + "stage2.shift.bit2", + "stage2.sub.notd2" + ], + "stage2.sub.fa2.and2": [ + "stage2.sub.fa2.xor1.layer2", + "stage2.sub.fa1.or_carry" + ], + "stage2.sub.fa2.or_carry": [ + "stage2.sub.fa2.and1", + "stage2.sub.fa2.and2" + ], + "stage2.sub.fa3.xor1.layer1.or": [ + "stage2.shift.bit3", + "stage2.sub.notd3" + ], + "stage2.sub.fa3.xor1.layer1.nand": [ + "stage2.shift.bit3", + "stage2.sub.notd3" + ], + "stage2.sub.fa3.xor1.layer2": [ + "stage2.sub.fa3.xor1.layer1.or", + "stage2.sub.fa3.xor1.layer1.nand" + ], + "stage2.sub.fa3.xor2.layer1.or": [ + "stage2.sub.fa3.xor1.layer2", + "stage2.sub.fa2.or_carry" + ], + "stage2.sub.fa3.xor2.layer1.nand": [ + "stage2.sub.fa3.xor1.layer2", + "stage2.sub.fa2.or_carry" + ], + "stage2.sub.fa3.xor2.layer2": [ + "stage2.sub.fa3.xor2.layer1.or", + "stage2.sub.fa3.xor2.layer1.nand" + ], + "stage2.sub.fa3.and1": [ + "stage2.shift.bit3", + "stage2.sub.notd3" + ], + "stage2.sub.fa3.and2": [ + "stage2.sub.fa3.xor1.layer2", + "stage2.sub.fa2.or_carry" + ], + "stage2.sub.fa3.or_carry": [ + "stage2.sub.fa3.and1", + "stage2.sub.fa3.and2" + ], + "stage2.sub.fa4.xor1.layer1.or": [ + "stage2.shift.bit4", + "stage2.sub.notd4" + ], + "stage2.sub.fa4.xor1.layer1.nand": [ + "stage2.shift.bit4", + "stage2.sub.notd4" + ], + "stage2.sub.fa4.xor1.layer2": [ + "stage2.sub.fa4.xor1.layer1.or", + "stage2.sub.fa4.xor1.layer1.nand" + ], + "stage2.sub.fa4.xor2.layer1.or": [ + "stage2.sub.fa4.xor1.layer2", + "stage2.sub.fa3.or_carry" + ], + "stage2.sub.fa4.xor2.layer1.nand": [ + "stage2.sub.fa4.xor1.layer2", + "stage2.sub.fa3.or_carry" + ], + "stage2.sub.fa4.xor2.layer2": [ + "stage2.sub.fa4.xor2.layer1.or", + "stage2.sub.fa4.xor2.layer1.nand" + ], + "stage2.sub.fa4.and1": [ + "stage2.shift.bit4", + "stage2.sub.notd4" + ], + "stage2.sub.fa4.and2": [ + "stage2.sub.fa4.xor1.layer2", + "stage2.sub.fa3.or_carry" + ], + "stage2.sub.fa4.or_carry": [ + "stage2.sub.fa4.and1", + "stage2.sub.fa4.and2" + ], + "stage2.sub.fa5.xor1.layer1.or": [ + "stage2.shift.bit5", + "stage2.sub.notd5" + ], + "stage2.sub.fa5.xor1.layer1.nand": [ + "stage2.shift.bit5", + "stage2.sub.notd5" + ], + "stage2.sub.fa5.xor1.layer2": [ + "stage2.sub.fa5.xor1.layer1.or", + "stage2.sub.fa5.xor1.layer1.nand" + ], + "stage2.sub.fa5.xor2.layer1.or": [ + "stage2.sub.fa5.xor1.layer2", + "stage2.sub.fa4.or_carry" + ], + "stage2.sub.fa5.xor2.layer1.nand": [ + "stage2.sub.fa5.xor1.layer2", + "stage2.sub.fa4.or_carry" + ], + "stage2.sub.fa5.xor2.layer2": [ + "stage2.sub.fa5.xor2.layer1.or", + "stage2.sub.fa5.xor2.layer1.nand" + ], + "stage2.sub.fa5.and1": [ + "stage2.shift.bit5", + "stage2.sub.notd5" + ], + "stage2.sub.fa5.and2": [ + "stage2.sub.fa5.xor1.layer2", + "stage2.sub.fa4.or_carry" + ], + "stage2.sub.fa5.or_carry": [ + "stage2.sub.fa5.and1", + "stage2.sub.fa5.and2" + ], + "stage2.sub.fa6.xor1.layer1.or": [ + "stage2.shift.bit6", + "stage2.sub.notd6" + ], + "stage2.sub.fa6.xor1.layer1.nand": [ + "stage2.shift.bit6", + "stage2.sub.notd6" + ], + "stage2.sub.fa6.xor1.layer2": [ + "stage2.sub.fa6.xor1.layer1.or", + "stage2.sub.fa6.xor1.layer1.nand" + ], + "stage2.sub.fa6.xor2.layer1.or": [ + "stage2.sub.fa6.xor1.layer2", + "stage2.sub.fa5.or_carry" + ], + "stage2.sub.fa6.xor2.layer1.nand": [ + "stage2.sub.fa6.xor1.layer2", + "stage2.sub.fa5.or_carry" + ], + "stage2.sub.fa6.xor2.layer2": [ + "stage2.sub.fa6.xor2.layer1.or", + "stage2.sub.fa6.xor2.layer1.nand" + ], + "stage2.sub.fa6.and1": [ + "stage2.shift.bit6", + "stage2.sub.notd6" + ], + "stage2.sub.fa6.and2": [ + "stage2.sub.fa6.xor1.layer2", + "stage2.sub.fa5.or_carry" + ], + "stage2.sub.fa6.or_carry": [ + "stage2.sub.fa6.and1", + "stage2.sub.fa6.and2" + ], + "stage2.sub.fa7.xor1.layer1.or": [ + "stage2.shift.bit7", + "stage2.sub.notd7" + ], + "stage2.sub.fa7.xor1.layer1.nand": [ + "stage2.shift.bit7", + "stage2.sub.notd7" + ], + "stage2.sub.fa7.xor1.layer2": [ + "stage2.sub.fa7.xor1.layer1.or", + "stage2.sub.fa7.xor1.layer1.nand" + ], + "stage2.sub.fa7.xor2.layer1.or": [ + "stage2.sub.fa7.xor1.layer2", + "stage2.sub.fa6.or_carry" + ], + "stage2.sub.fa7.xor2.layer1.nand": [ + "stage2.sub.fa7.xor1.layer2", + "stage2.sub.fa6.or_carry" + ], + "stage2.sub.fa7.xor2.layer2": [ + "stage2.sub.fa7.xor2.layer1.or", + "stage2.sub.fa7.xor2.layer1.nand" + ], + "stage2.sub.fa7.and1": [ + "stage2.shift.bit7", + "stage2.sub.notd7" + ], + "stage2.sub.fa7.and2": [ + "stage2.sub.fa7.xor1.layer2", + "stage2.sub.fa6.or_carry" + ], + "stage2.sub.fa7.or_carry": [ + "stage2.sub.fa7.and1", + "stage2.sub.fa7.and2" + ], + "stage2.cmp": [ + "stage2.sub.fa7.or_carry" + ], + "stage2.or_dividend": [ + "stage2.shift.bit7", + "$dividend[5]" + ], + "stage2.mux0.not_sel": [ + "stage2.cmp" + ], + "stage2.mux0.and0": [ + "stage2.shift.bit0", + "stage2.mux0.not_sel" + ], + "stage2.mux0.and1": [ + "stage2.sub.fa0.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux0.or": [ + "stage2.mux0.and0", + "stage2.mux0.and1" + ], + "stage2.mux1.not_sel": [ + "stage2.cmp" + ], + "stage2.mux1.and0": [ + "stage2.shift.bit1", + "stage2.mux1.not_sel" + ], + "stage2.mux1.and1": [ + "stage2.sub.fa1.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux1.or": [ + "stage2.mux1.and0", + "stage2.mux1.and1" + ], + "stage2.mux2.not_sel": [ + "stage2.cmp" + ], + "stage2.mux2.and0": [ + "stage2.shift.bit2", + "stage2.mux2.not_sel" + ], + "stage2.mux2.and1": [ + "stage2.sub.fa2.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux2.or": [ + "stage2.mux2.and0", + "stage2.mux2.and1" + ], + "stage2.mux3.not_sel": [ + "stage2.cmp" + ], + "stage2.mux3.and0": [ + "stage2.shift.bit3", + "stage2.mux3.not_sel" + ], + "stage2.mux3.and1": [ + "stage2.sub.fa3.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux3.or": [ + "stage2.mux3.and0", + "stage2.mux3.and1" + ], + "stage2.mux4.not_sel": [ + "stage2.cmp" + ], + "stage2.mux4.and0": [ + "stage2.shift.bit4", + "stage2.mux4.not_sel" + ], + "stage2.mux4.and1": [ + "stage2.sub.fa4.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux4.or": [ + "stage2.mux4.and0", + "stage2.mux4.and1" + ], + "stage2.mux5.not_sel": [ + "stage2.cmp" + ], + "stage2.mux5.and0": [ + "stage2.shift.bit5", + "stage2.mux5.not_sel" + ], + "stage2.mux5.and1": [ + "stage2.sub.fa5.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux5.or": [ + "stage2.mux5.and0", + "stage2.mux5.and1" + ], + "stage2.mux6.not_sel": [ + "stage2.cmp" + ], + "stage2.mux6.and0": [ + "stage2.shift.bit6", + "stage2.mux6.not_sel" + ], + "stage2.mux6.and1": [ + "stage2.sub.fa6.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux6.or": [ + "stage2.mux6.and0", + "stage2.mux6.and1" + ], + "stage2.mux7.not_sel": [ + "stage2.cmp" + ], + "stage2.mux7.and0": [ + "stage2.shift.bit7", + "stage2.mux7.not_sel" + ], + "stage2.mux7.and1": [ + "stage2.sub.fa7.xor2.layer2", + "stage2.cmp" + ], + "stage2.mux7.or": [ + "stage2.mux7.and0", + "stage2.mux7.and1" + ], + "stage3.shift.bit0": [ + "$dividend[4]" + ], + "stage3.shift.bit1": [ + "stage2.mux0.or" + ], + "stage3.shift.bit2": [ + "stage2.mux1.or" + ], + "stage3.shift.bit3": [ + "stage2.mux2.or" + ], + "stage3.shift.bit4": [ + "stage2.mux3.or" + ], + "stage3.shift.bit5": [ + "stage2.mux4.or" + ], + "stage3.shift.bit6": [ + "stage2.mux5.or" + ], + "stage3.shift.bit7": [ + "stage2.mux6.or" + ], + "stage3.sub.notd0": [ + "$divisor[0]" + ], + "stage3.sub.notd1": [ + "$divisor[1]" + ], + "stage3.sub.notd2": [ + "$divisor[2]" + ], + "stage3.sub.notd3": [ + "$divisor[3]" + ], + "stage3.sub.notd4": [ + "$divisor[4]" + ], + "stage3.sub.notd5": [ + "$divisor[5]" + ], + "stage3.sub.notd6": [ + "$divisor[6]" + ], + "stage3.sub.notd7": [ + "$divisor[7]" + ], + "stage3.sub.fa0.xor1.layer1.or": [ + "stage3.shift.bit0", + "stage3.sub.notd0" + ], + "stage3.sub.fa0.xor1.layer1.nand": [ + "stage3.shift.bit0", + "stage3.sub.notd0" + ], + "stage3.sub.fa0.xor1.layer2": [ + "stage3.sub.fa0.xor1.layer1.or", + "stage3.sub.fa0.xor1.layer1.nand" + ], + "stage3.sub.fa0.xor2.layer1.or": [ + "stage3.sub.fa0.xor1.layer2", + "#1" + ], + "stage3.sub.fa0.xor2.layer1.nand": [ + "stage3.sub.fa0.xor1.layer2", + "#1" + ], + "stage3.sub.fa0.xor2.layer2": [ + "stage3.sub.fa0.xor2.layer1.or", + "stage3.sub.fa0.xor2.layer1.nand" + ], + "stage3.sub.fa0.and1": [ + "stage3.shift.bit0", + "stage3.sub.notd0" + ], + "stage3.sub.fa0.and2": [ + "stage3.sub.fa0.xor1.layer2", + "#1" + ], + "stage3.sub.fa0.or_carry": [ + "stage3.sub.fa0.and1", + "stage3.sub.fa0.and2" + ], + "stage3.sub.fa1.xor1.layer1.or": [ + "stage3.shift.bit1", + "stage3.sub.notd1" + ], + "stage3.sub.fa1.xor1.layer1.nand": [ + "stage3.shift.bit1", + "stage3.sub.notd1" + ], + "stage3.sub.fa1.xor1.layer2": [ + "stage3.sub.fa1.xor1.layer1.or", + "stage3.sub.fa1.xor1.layer1.nand" + ], + "stage3.sub.fa1.xor2.layer1.or": [ + "stage3.sub.fa1.xor1.layer2", + "stage3.sub.fa0.or_carry" + ], + "stage3.sub.fa1.xor2.layer1.nand": [ + "stage3.sub.fa1.xor1.layer2", + "stage3.sub.fa0.or_carry" + ], + "stage3.sub.fa1.xor2.layer2": [ + "stage3.sub.fa1.xor2.layer1.or", + "stage3.sub.fa1.xor2.layer1.nand" + ], + "stage3.sub.fa1.and1": [ + "stage3.shift.bit1", + "stage3.sub.notd1" + ], + "stage3.sub.fa1.and2": [ + "stage3.sub.fa1.xor1.layer2", + "stage3.sub.fa0.or_carry" + ], + "stage3.sub.fa1.or_carry": [ + "stage3.sub.fa1.and1", + "stage3.sub.fa1.and2" + ], + "stage3.sub.fa2.xor1.layer1.or": [ + "stage3.shift.bit2", + "stage3.sub.notd2" + ], + "stage3.sub.fa2.xor1.layer1.nand": [ + "stage3.shift.bit2", + "stage3.sub.notd2" + ], + "stage3.sub.fa2.xor1.layer2": [ + "stage3.sub.fa2.xor1.layer1.or", + "stage3.sub.fa2.xor1.layer1.nand" + ], + "stage3.sub.fa2.xor2.layer1.or": [ + "stage3.sub.fa2.xor1.layer2", + "stage3.sub.fa1.or_carry" + ], + "stage3.sub.fa2.xor2.layer1.nand": [ + "stage3.sub.fa2.xor1.layer2", + "stage3.sub.fa1.or_carry" + ], + "stage3.sub.fa2.xor2.layer2": [ + "stage3.sub.fa2.xor2.layer1.or", + "stage3.sub.fa2.xor2.layer1.nand" + ], + "stage3.sub.fa2.and1": [ + "stage3.shift.bit2", + "stage3.sub.notd2" + ], + "stage3.sub.fa2.and2": [ + "stage3.sub.fa2.xor1.layer2", + "stage3.sub.fa1.or_carry" + ], + "stage3.sub.fa2.or_carry": [ + "stage3.sub.fa2.and1", + "stage3.sub.fa2.and2" + ], + "stage3.sub.fa3.xor1.layer1.or": [ + "stage3.shift.bit3", + "stage3.sub.notd3" + ], + "stage3.sub.fa3.xor1.layer1.nand": [ + "stage3.shift.bit3", + "stage3.sub.notd3" + ], + "stage3.sub.fa3.xor1.layer2": [ + "stage3.sub.fa3.xor1.layer1.or", + "stage3.sub.fa3.xor1.layer1.nand" + ], + "stage3.sub.fa3.xor2.layer1.or": [ + "stage3.sub.fa3.xor1.layer2", + "stage3.sub.fa2.or_carry" + ], + "stage3.sub.fa3.xor2.layer1.nand": [ + "stage3.sub.fa3.xor1.layer2", + "stage3.sub.fa2.or_carry" + ], + "stage3.sub.fa3.xor2.layer2": [ + "stage3.sub.fa3.xor2.layer1.or", + "stage3.sub.fa3.xor2.layer1.nand" + ], + "stage3.sub.fa3.and1": [ + "stage3.shift.bit3", + "stage3.sub.notd3" + ], + "stage3.sub.fa3.and2": [ + "stage3.sub.fa3.xor1.layer2", + "stage3.sub.fa2.or_carry" + ], + "stage3.sub.fa3.or_carry": [ + "stage3.sub.fa3.and1", + "stage3.sub.fa3.and2" + ], + "stage3.sub.fa4.xor1.layer1.or": [ + "stage3.shift.bit4", + "stage3.sub.notd4" + ], + "stage3.sub.fa4.xor1.layer1.nand": [ + "stage3.shift.bit4", + "stage3.sub.notd4" + ], + "stage3.sub.fa4.xor1.layer2": [ + "stage3.sub.fa4.xor1.layer1.or", + "stage3.sub.fa4.xor1.layer1.nand" + ], + "stage3.sub.fa4.xor2.layer1.or": [ + "stage3.sub.fa4.xor1.layer2", + "stage3.sub.fa3.or_carry" + ], + "stage3.sub.fa4.xor2.layer1.nand": [ + "stage3.sub.fa4.xor1.layer2", + "stage3.sub.fa3.or_carry" + ], + "stage3.sub.fa4.xor2.layer2": [ + "stage3.sub.fa4.xor2.layer1.or", + "stage3.sub.fa4.xor2.layer1.nand" + ], + "stage3.sub.fa4.and1": [ + "stage3.shift.bit4", + "stage3.sub.notd4" + ], + "stage3.sub.fa4.and2": [ + "stage3.sub.fa4.xor1.layer2", + "stage3.sub.fa3.or_carry" + ], + "stage3.sub.fa4.or_carry": [ + "stage3.sub.fa4.and1", + "stage3.sub.fa4.and2" + ], + "stage3.sub.fa5.xor1.layer1.or": [ + "stage3.shift.bit5", + "stage3.sub.notd5" + ], + "stage3.sub.fa5.xor1.layer1.nand": [ + "stage3.shift.bit5", + "stage3.sub.notd5" + ], + "stage3.sub.fa5.xor1.layer2": [ + "stage3.sub.fa5.xor1.layer1.or", + "stage3.sub.fa5.xor1.layer1.nand" + ], + "stage3.sub.fa5.xor2.layer1.or": [ + "stage3.sub.fa5.xor1.layer2", + "stage3.sub.fa4.or_carry" + ], + "stage3.sub.fa5.xor2.layer1.nand": [ + "stage3.sub.fa5.xor1.layer2", + "stage3.sub.fa4.or_carry" + ], + "stage3.sub.fa5.xor2.layer2": [ + "stage3.sub.fa5.xor2.layer1.or", + "stage3.sub.fa5.xor2.layer1.nand" + ], + "stage3.sub.fa5.and1": [ + "stage3.shift.bit5", + "stage3.sub.notd5" + ], + "stage3.sub.fa5.and2": [ + "stage3.sub.fa5.xor1.layer2", + "stage3.sub.fa4.or_carry" + ], + "stage3.sub.fa5.or_carry": [ + "stage3.sub.fa5.and1", + "stage3.sub.fa5.and2" + ], + "stage3.sub.fa6.xor1.layer1.or": [ + "stage3.shift.bit6", + "stage3.sub.notd6" + ], + "stage3.sub.fa6.xor1.layer1.nand": [ + "stage3.shift.bit6", + "stage3.sub.notd6" + ], + "stage3.sub.fa6.xor1.layer2": [ + "stage3.sub.fa6.xor1.layer1.or", + "stage3.sub.fa6.xor1.layer1.nand" + ], + "stage3.sub.fa6.xor2.layer1.or": [ + "stage3.sub.fa6.xor1.layer2", + "stage3.sub.fa5.or_carry" + ], + "stage3.sub.fa6.xor2.layer1.nand": [ + "stage3.sub.fa6.xor1.layer2", + "stage3.sub.fa5.or_carry" + ], + "stage3.sub.fa6.xor2.layer2": [ + "stage3.sub.fa6.xor2.layer1.or", + "stage3.sub.fa6.xor2.layer1.nand" + ], + "stage3.sub.fa6.and1": [ + "stage3.shift.bit6", + "stage3.sub.notd6" + ], + "stage3.sub.fa6.and2": [ + "stage3.sub.fa6.xor1.layer2", + "stage3.sub.fa5.or_carry" + ], + "stage3.sub.fa6.or_carry": [ + "stage3.sub.fa6.and1", + "stage3.sub.fa6.and2" + ], + "stage3.sub.fa7.xor1.layer1.or": [ + "stage3.shift.bit7", + "stage3.sub.notd7" + ], + "stage3.sub.fa7.xor1.layer1.nand": [ + "stage3.shift.bit7", + "stage3.sub.notd7" + ], + "stage3.sub.fa7.xor1.layer2": [ + "stage3.sub.fa7.xor1.layer1.or", + "stage3.sub.fa7.xor1.layer1.nand" + ], + "stage3.sub.fa7.xor2.layer1.or": [ + "stage3.sub.fa7.xor1.layer2", + "stage3.sub.fa6.or_carry" + ], + "stage3.sub.fa7.xor2.layer1.nand": [ + "stage3.sub.fa7.xor1.layer2", + "stage3.sub.fa6.or_carry" + ], + "stage3.sub.fa7.xor2.layer2": [ + "stage3.sub.fa7.xor2.layer1.or", + "stage3.sub.fa7.xor2.layer1.nand" + ], + "stage3.sub.fa7.and1": [ + "stage3.shift.bit7", + "stage3.sub.notd7" + ], + "stage3.sub.fa7.and2": [ + "stage3.sub.fa7.xor1.layer2", + "stage3.sub.fa6.or_carry" + ], + "stage3.sub.fa7.or_carry": [ + "stage3.sub.fa7.and1", + "stage3.sub.fa7.and2" + ], + "stage3.cmp": [ + "stage3.sub.fa7.or_carry" + ], + "stage3.or_dividend": [ + "stage3.shift.bit7", + "$dividend[4]" + ], + "stage3.mux0.not_sel": [ + "stage3.cmp" + ], + "stage3.mux0.and0": [ + "stage3.shift.bit0", + "stage3.mux0.not_sel" + ], + "stage3.mux0.and1": [ + "stage3.sub.fa0.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux0.or": [ + "stage3.mux0.and0", + "stage3.mux0.and1" + ], + "stage3.mux1.not_sel": [ + "stage3.cmp" + ], + "stage3.mux1.and0": [ + "stage3.shift.bit1", + "stage3.mux1.not_sel" + ], + "stage3.mux1.and1": [ + "stage3.sub.fa1.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux1.or": [ + "stage3.mux1.and0", + "stage3.mux1.and1" + ], + "stage3.mux2.not_sel": [ + "stage3.cmp" + ], + "stage3.mux2.and0": [ + "stage3.shift.bit2", + "stage3.mux2.not_sel" + ], + "stage3.mux2.and1": [ + "stage3.sub.fa2.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux2.or": [ + "stage3.mux2.and0", + "stage3.mux2.and1" + ], + "stage3.mux3.not_sel": [ + "stage3.cmp" + ], + "stage3.mux3.and0": [ + "stage3.shift.bit3", + "stage3.mux3.not_sel" + ], + "stage3.mux3.and1": [ + "stage3.sub.fa3.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux3.or": [ + "stage3.mux3.and0", + "stage3.mux3.and1" + ], + "stage3.mux4.not_sel": [ + "stage3.cmp" + ], + "stage3.mux4.and0": [ + "stage3.shift.bit4", + "stage3.mux4.not_sel" + ], + "stage3.mux4.and1": [ + "stage3.sub.fa4.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux4.or": [ + "stage3.mux4.and0", + "stage3.mux4.and1" + ], + "stage3.mux5.not_sel": [ + "stage3.cmp" + ], + "stage3.mux5.and0": [ + "stage3.shift.bit5", + "stage3.mux5.not_sel" + ], + "stage3.mux5.and1": [ + "stage3.sub.fa5.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux5.or": [ + "stage3.mux5.and0", + "stage3.mux5.and1" + ], + "stage3.mux6.not_sel": [ + "stage3.cmp" + ], + "stage3.mux6.and0": [ + "stage3.shift.bit6", + "stage3.mux6.not_sel" + ], + "stage3.mux6.and1": [ + "stage3.sub.fa6.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux6.or": [ + "stage3.mux6.and0", + "stage3.mux6.and1" + ], + "stage3.mux7.not_sel": [ + "stage3.cmp" + ], + "stage3.mux7.and0": [ + "stage3.shift.bit7", + "stage3.mux7.not_sel" + ], + "stage3.mux7.and1": [ + "stage3.sub.fa7.xor2.layer2", + "stage3.cmp" + ], + "stage3.mux7.or": [ + "stage3.mux7.and0", + "stage3.mux7.and1" + ], + "stage4.shift.bit0": [ + "$dividend[3]" + ], + "stage4.shift.bit1": [ + "stage3.mux0.or" + ], + "stage4.shift.bit2": [ + "stage3.mux1.or" + ], + "stage4.shift.bit3": [ + "stage3.mux2.or" + ], + "stage4.shift.bit4": [ + "stage3.mux3.or" + ], + "stage4.shift.bit5": [ + "stage3.mux4.or" + ], + "stage4.shift.bit6": [ + "stage3.mux5.or" + ], + "stage4.shift.bit7": [ + "stage3.mux6.or" + ], + "stage4.sub.notd0": [ + "$divisor[0]" + ], + "stage4.sub.notd1": [ + "$divisor[1]" + ], + "stage4.sub.notd2": [ + "$divisor[2]" + ], + "stage4.sub.notd3": [ + "$divisor[3]" + ], + "stage4.sub.notd4": [ + "$divisor[4]" + ], + "stage4.sub.notd5": [ + "$divisor[5]" + ], + "stage4.sub.notd6": [ + "$divisor[6]" + ], + "stage4.sub.notd7": [ + "$divisor[7]" + ], + "stage4.sub.fa0.xor1.layer1.or": [ + "stage4.shift.bit0", + "stage4.sub.notd0" + ], + "stage4.sub.fa0.xor1.layer1.nand": [ + "stage4.shift.bit0", + "stage4.sub.notd0" + ], + "stage4.sub.fa0.xor1.layer2": [ + "stage4.sub.fa0.xor1.layer1.or", + "stage4.sub.fa0.xor1.layer1.nand" + ], + "stage4.sub.fa0.xor2.layer1.or": [ + "stage4.sub.fa0.xor1.layer2", + "#1" + ], + "stage4.sub.fa0.xor2.layer1.nand": [ + "stage4.sub.fa0.xor1.layer2", + "#1" + ], + "stage4.sub.fa0.xor2.layer2": [ + "stage4.sub.fa0.xor2.layer1.or", + "stage4.sub.fa0.xor2.layer1.nand" + ], + "stage4.sub.fa0.and1": [ + "stage4.shift.bit0", + "stage4.sub.notd0" + ], + "stage4.sub.fa0.and2": [ + "stage4.sub.fa0.xor1.layer2", + "#1" + ], + "stage4.sub.fa0.or_carry": [ + "stage4.sub.fa0.and1", + "stage4.sub.fa0.and2" + ], + "stage4.sub.fa1.xor1.layer1.or": [ + "stage4.shift.bit1", + "stage4.sub.notd1" + ], + "stage4.sub.fa1.xor1.layer1.nand": [ + "stage4.shift.bit1", + "stage4.sub.notd1" + ], + "stage4.sub.fa1.xor1.layer2": [ + "stage4.sub.fa1.xor1.layer1.or", + "stage4.sub.fa1.xor1.layer1.nand" + ], + "stage4.sub.fa1.xor2.layer1.or": [ + "stage4.sub.fa1.xor1.layer2", + "stage4.sub.fa0.or_carry" + ], + "stage4.sub.fa1.xor2.layer1.nand": [ + "stage4.sub.fa1.xor1.layer2", + "stage4.sub.fa0.or_carry" + ], + "stage4.sub.fa1.xor2.layer2": [ + "stage4.sub.fa1.xor2.layer1.or", + "stage4.sub.fa1.xor2.layer1.nand" + ], + "stage4.sub.fa1.and1": [ + "stage4.shift.bit1", + "stage4.sub.notd1" + ], + "stage4.sub.fa1.and2": [ + "stage4.sub.fa1.xor1.layer2", + "stage4.sub.fa0.or_carry" + ], + "stage4.sub.fa1.or_carry": [ + "stage4.sub.fa1.and1", + "stage4.sub.fa1.and2" + ], + "stage4.sub.fa2.xor1.layer1.or": [ + "stage4.shift.bit2", + "stage4.sub.notd2" + ], + "stage4.sub.fa2.xor1.layer1.nand": [ + "stage4.shift.bit2", + "stage4.sub.notd2" + ], + "stage4.sub.fa2.xor1.layer2": [ + "stage4.sub.fa2.xor1.layer1.or", + "stage4.sub.fa2.xor1.layer1.nand" + ], + "stage4.sub.fa2.xor2.layer1.or": [ + "stage4.sub.fa2.xor1.layer2", + "stage4.sub.fa1.or_carry" + ], + "stage4.sub.fa2.xor2.layer1.nand": [ + "stage4.sub.fa2.xor1.layer2", + "stage4.sub.fa1.or_carry" + ], + "stage4.sub.fa2.xor2.layer2": [ + "stage4.sub.fa2.xor2.layer1.or", + "stage4.sub.fa2.xor2.layer1.nand" + ], + "stage4.sub.fa2.and1": [ + "stage4.shift.bit2", + "stage4.sub.notd2" + ], + "stage4.sub.fa2.and2": [ + "stage4.sub.fa2.xor1.layer2", + "stage4.sub.fa1.or_carry" + ], + "stage4.sub.fa2.or_carry": [ + "stage4.sub.fa2.and1", + "stage4.sub.fa2.and2" + ], + "stage4.sub.fa3.xor1.layer1.or": [ + "stage4.shift.bit3", + "stage4.sub.notd3" + ], + "stage4.sub.fa3.xor1.layer1.nand": [ + "stage4.shift.bit3", + "stage4.sub.notd3" + ], + "stage4.sub.fa3.xor1.layer2": [ + "stage4.sub.fa3.xor1.layer1.or", + "stage4.sub.fa3.xor1.layer1.nand" + ], + "stage4.sub.fa3.xor2.layer1.or": [ + "stage4.sub.fa3.xor1.layer2", + "stage4.sub.fa2.or_carry" + ], + "stage4.sub.fa3.xor2.layer1.nand": [ + "stage4.sub.fa3.xor1.layer2", + "stage4.sub.fa2.or_carry" + ], + "stage4.sub.fa3.xor2.layer2": [ + "stage4.sub.fa3.xor2.layer1.or", + "stage4.sub.fa3.xor2.layer1.nand" + ], + "stage4.sub.fa3.and1": [ + "stage4.shift.bit3", + "stage4.sub.notd3" + ], + "stage4.sub.fa3.and2": [ + "stage4.sub.fa3.xor1.layer2", + "stage4.sub.fa2.or_carry" + ], + "stage4.sub.fa3.or_carry": [ + "stage4.sub.fa3.and1", + "stage4.sub.fa3.and2" + ], + "stage4.sub.fa4.xor1.layer1.or": [ + "stage4.shift.bit4", + "stage4.sub.notd4" + ], + "stage4.sub.fa4.xor1.layer1.nand": [ + "stage4.shift.bit4", + "stage4.sub.notd4" + ], + "stage4.sub.fa4.xor1.layer2": [ + "stage4.sub.fa4.xor1.layer1.or", + "stage4.sub.fa4.xor1.layer1.nand" + ], + "stage4.sub.fa4.xor2.layer1.or": [ + "stage4.sub.fa4.xor1.layer2", + "stage4.sub.fa3.or_carry" + ], + "stage4.sub.fa4.xor2.layer1.nand": [ + "stage4.sub.fa4.xor1.layer2", + "stage4.sub.fa3.or_carry" + ], + "stage4.sub.fa4.xor2.layer2": [ + "stage4.sub.fa4.xor2.layer1.or", + "stage4.sub.fa4.xor2.layer1.nand" + ], + "stage4.sub.fa4.and1": [ + "stage4.shift.bit4", + "stage4.sub.notd4" + ], + "stage4.sub.fa4.and2": [ + "stage4.sub.fa4.xor1.layer2", + "stage4.sub.fa3.or_carry" + ], + "stage4.sub.fa4.or_carry": [ + "stage4.sub.fa4.and1", + "stage4.sub.fa4.and2" + ], + "stage4.sub.fa5.xor1.layer1.or": [ + "stage4.shift.bit5", + "stage4.sub.notd5" + ], + "stage4.sub.fa5.xor1.layer1.nand": [ + "stage4.shift.bit5", + "stage4.sub.notd5" + ], + "stage4.sub.fa5.xor1.layer2": [ + "stage4.sub.fa5.xor1.layer1.or", + "stage4.sub.fa5.xor1.layer1.nand" + ], + "stage4.sub.fa5.xor2.layer1.or": [ + "stage4.sub.fa5.xor1.layer2", + "stage4.sub.fa4.or_carry" + ], + "stage4.sub.fa5.xor2.layer1.nand": [ + "stage4.sub.fa5.xor1.layer2", + "stage4.sub.fa4.or_carry" + ], + "stage4.sub.fa5.xor2.layer2": [ + "stage4.sub.fa5.xor2.layer1.or", + "stage4.sub.fa5.xor2.layer1.nand" + ], + "stage4.sub.fa5.and1": [ + "stage4.shift.bit5", + "stage4.sub.notd5" + ], + "stage4.sub.fa5.and2": [ + "stage4.sub.fa5.xor1.layer2", + "stage4.sub.fa4.or_carry" + ], + "stage4.sub.fa5.or_carry": [ + "stage4.sub.fa5.and1", + "stage4.sub.fa5.and2" + ], + "stage4.sub.fa6.xor1.layer1.or": [ + "stage4.shift.bit6", + "stage4.sub.notd6" + ], + "stage4.sub.fa6.xor1.layer1.nand": [ + "stage4.shift.bit6", + "stage4.sub.notd6" + ], + "stage4.sub.fa6.xor1.layer2": [ + "stage4.sub.fa6.xor1.layer1.or", + "stage4.sub.fa6.xor1.layer1.nand" + ], + "stage4.sub.fa6.xor2.layer1.or": [ + "stage4.sub.fa6.xor1.layer2", + "stage4.sub.fa5.or_carry" + ], + "stage4.sub.fa6.xor2.layer1.nand": [ + "stage4.sub.fa6.xor1.layer2", + "stage4.sub.fa5.or_carry" + ], + "stage4.sub.fa6.xor2.layer2": [ + "stage4.sub.fa6.xor2.layer1.or", + "stage4.sub.fa6.xor2.layer1.nand" + ], + "stage4.sub.fa6.and1": [ + "stage4.shift.bit6", + "stage4.sub.notd6" + ], + "stage4.sub.fa6.and2": [ + "stage4.sub.fa6.xor1.layer2", + "stage4.sub.fa5.or_carry" + ], + "stage4.sub.fa6.or_carry": [ + "stage4.sub.fa6.and1", + "stage4.sub.fa6.and2" + ], + "stage4.sub.fa7.xor1.layer1.or": [ + "stage4.shift.bit7", + "stage4.sub.notd7" + ], + "stage4.sub.fa7.xor1.layer1.nand": [ + "stage4.shift.bit7", + "stage4.sub.notd7" + ], + "stage4.sub.fa7.xor1.layer2": [ + "stage4.sub.fa7.xor1.layer1.or", + "stage4.sub.fa7.xor1.layer1.nand" + ], + "stage4.sub.fa7.xor2.layer1.or": [ + "stage4.sub.fa7.xor1.layer2", + "stage4.sub.fa6.or_carry" + ], + "stage4.sub.fa7.xor2.layer1.nand": [ + "stage4.sub.fa7.xor1.layer2", + "stage4.sub.fa6.or_carry" + ], + "stage4.sub.fa7.xor2.layer2": [ + "stage4.sub.fa7.xor2.layer1.or", + "stage4.sub.fa7.xor2.layer1.nand" + ], + "stage4.sub.fa7.and1": [ + "stage4.shift.bit7", + "stage4.sub.notd7" + ], + "stage4.sub.fa7.and2": [ + "stage4.sub.fa7.xor1.layer2", + "stage4.sub.fa6.or_carry" + ], + "stage4.sub.fa7.or_carry": [ + "stage4.sub.fa7.and1", + "stage4.sub.fa7.and2" + ], + "stage4.cmp": [ + "stage4.sub.fa7.or_carry" + ], + "stage4.or_dividend": [ + "stage4.shift.bit7", + "$dividend[3]" + ], + "stage4.mux0.not_sel": [ + "stage4.cmp" + ], + "stage4.mux0.and0": [ + "stage4.shift.bit0", + "stage4.mux0.not_sel" + ], + "stage4.mux0.and1": [ + "stage4.sub.fa0.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux0.or": [ + "stage4.mux0.and0", + "stage4.mux0.and1" + ], + "stage4.mux1.not_sel": [ + "stage4.cmp" + ], + "stage4.mux1.and0": [ + "stage4.shift.bit1", + "stage4.mux1.not_sel" + ], + "stage4.mux1.and1": [ + "stage4.sub.fa1.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux1.or": [ + "stage4.mux1.and0", + "stage4.mux1.and1" + ], + "stage4.mux2.not_sel": [ + "stage4.cmp" + ], + "stage4.mux2.and0": [ + "stage4.shift.bit2", + "stage4.mux2.not_sel" + ], + "stage4.mux2.and1": [ + "stage4.sub.fa2.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux2.or": [ + "stage4.mux2.and0", + "stage4.mux2.and1" + ], + "stage4.mux3.not_sel": [ + "stage4.cmp" + ], + "stage4.mux3.and0": [ + "stage4.shift.bit3", + "stage4.mux3.not_sel" + ], + "stage4.mux3.and1": [ + "stage4.sub.fa3.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux3.or": [ + "stage4.mux3.and0", + "stage4.mux3.and1" + ], + "stage4.mux4.not_sel": [ + "stage4.cmp" + ], + "stage4.mux4.and0": [ + "stage4.shift.bit4", + "stage4.mux4.not_sel" + ], + "stage4.mux4.and1": [ + "stage4.sub.fa4.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux4.or": [ + "stage4.mux4.and0", + "stage4.mux4.and1" + ], + "stage4.mux5.not_sel": [ + "stage4.cmp" + ], + "stage4.mux5.and0": [ + "stage4.shift.bit5", + "stage4.mux5.not_sel" + ], + "stage4.mux5.and1": [ + "stage4.sub.fa5.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux5.or": [ + "stage4.mux5.and0", + "stage4.mux5.and1" + ], + "stage4.mux6.not_sel": [ + "stage4.cmp" + ], + "stage4.mux6.and0": [ + "stage4.shift.bit6", + "stage4.mux6.not_sel" + ], + "stage4.mux6.and1": [ + "stage4.sub.fa6.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux6.or": [ + "stage4.mux6.and0", + "stage4.mux6.and1" + ], + "stage4.mux7.not_sel": [ + "stage4.cmp" + ], + "stage4.mux7.and0": [ + "stage4.shift.bit7", + "stage4.mux7.not_sel" + ], + "stage4.mux7.and1": [ + "stage4.sub.fa7.xor2.layer2", + "stage4.cmp" + ], + "stage4.mux7.or": [ + "stage4.mux7.and0", + "stage4.mux7.and1" + ], + "stage5.shift.bit0": [ + "$dividend[2]" + ], + "stage5.shift.bit1": [ + "stage4.mux0.or" + ], + "stage5.shift.bit2": [ + "stage4.mux1.or" + ], + "stage5.shift.bit3": [ + "stage4.mux2.or" + ], + "stage5.shift.bit4": [ + "stage4.mux3.or" + ], + "stage5.shift.bit5": [ + "stage4.mux4.or" + ], + "stage5.shift.bit6": [ + "stage4.mux5.or" + ], + "stage5.shift.bit7": [ + "stage4.mux6.or" + ], + "stage5.sub.notd0": [ + "$divisor[0]" + ], + "stage5.sub.notd1": [ + "$divisor[1]" + ], + "stage5.sub.notd2": [ + "$divisor[2]" + ], + "stage5.sub.notd3": [ + "$divisor[3]" + ], + "stage5.sub.notd4": [ + "$divisor[4]" + ], + "stage5.sub.notd5": [ + "$divisor[5]" + ], + "stage5.sub.notd6": [ + "$divisor[6]" + ], + "stage5.sub.notd7": [ + "$divisor[7]" + ], + "stage5.sub.fa0.xor1.layer1.or": [ + "stage5.shift.bit0", + "stage5.sub.notd0" + ], + "stage5.sub.fa0.xor1.layer1.nand": [ + "stage5.shift.bit0", + "stage5.sub.notd0" + ], + "stage5.sub.fa0.xor1.layer2": [ + "stage5.sub.fa0.xor1.layer1.or", + "stage5.sub.fa0.xor1.layer1.nand" + ], + "stage5.sub.fa0.xor2.layer1.or": [ + "stage5.sub.fa0.xor1.layer2", + "#1" + ], + "stage5.sub.fa0.xor2.layer1.nand": [ + "stage5.sub.fa0.xor1.layer2", + "#1" + ], + "stage5.sub.fa0.xor2.layer2": [ + "stage5.sub.fa0.xor2.layer1.or", + "stage5.sub.fa0.xor2.layer1.nand" + ], + "stage5.sub.fa0.and1": [ + "stage5.shift.bit0", + "stage5.sub.notd0" + ], + "stage5.sub.fa0.and2": [ + "stage5.sub.fa0.xor1.layer2", + "#1" + ], + "stage5.sub.fa0.or_carry": [ + "stage5.sub.fa0.and1", + "stage5.sub.fa0.and2" + ], + "stage5.sub.fa1.xor1.layer1.or": [ + "stage5.shift.bit1", + "stage5.sub.notd1" + ], + "stage5.sub.fa1.xor1.layer1.nand": [ + "stage5.shift.bit1", + "stage5.sub.notd1" + ], + "stage5.sub.fa1.xor1.layer2": [ + "stage5.sub.fa1.xor1.layer1.or", + "stage5.sub.fa1.xor1.layer1.nand" + ], + "stage5.sub.fa1.xor2.layer1.or": [ + "stage5.sub.fa1.xor1.layer2", + "stage5.sub.fa0.or_carry" + ], + "stage5.sub.fa1.xor2.layer1.nand": [ + "stage5.sub.fa1.xor1.layer2", + "stage5.sub.fa0.or_carry" + ], + "stage5.sub.fa1.xor2.layer2": [ + "stage5.sub.fa1.xor2.layer1.or", + "stage5.sub.fa1.xor2.layer1.nand" + ], + "stage5.sub.fa1.and1": [ + "stage5.shift.bit1", + "stage5.sub.notd1" + ], + "stage5.sub.fa1.and2": [ + "stage5.sub.fa1.xor1.layer2", + "stage5.sub.fa0.or_carry" + ], + "stage5.sub.fa1.or_carry": [ + "stage5.sub.fa1.and1", + "stage5.sub.fa1.and2" + ], + "stage5.sub.fa2.xor1.layer1.or": [ + "stage5.shift.bit2", + "stage5.sub.notd2" + ], + "stage5.sub.fa2.xor1.layer1.nand": [ + "stage5.shift.bit2", + "stage5.sub.notd2" + ], + "stage5.sub.fa2.xor1.layer2": [ + "stage5.sub.fa2.xor1.layer1.or", + "stage5.sub.fa2.xor1.layer1.nand" + ], + "stage5.sub.fa2.xor2.layer1.or": [ + "stage5.sub.fa2.xor1.layer2", + "stage5.sub.fa1.or_carry" + ], + "stage5.sub.fa2.xor2.layer1.nand": [ + "stage5.sub.fa2.xor1.layer2", + "stage5.sub.fa1.or_carry" + ], + "stage5.sub.fa2.xor2.layer2": [ + "stage5.sub.fa2.xor2.layer1.or", + "stage5.sub.fa2.xor2.layer1.nand" + ], + "stage5.sub.fa2.and1": [ + "stage5.shift.bit2", + "stage5.sub.notd2" + ], + "stage5.sub.fa2.and2": [ + "stage5.sub.fa2.xor1.layer2", + "stage5.sub.fa1.or_carry" + ], + "stage5.sub.fa2.or_carry": [ + "stage5.sub.fa2.and1", + "stage5.sub.fa2.and2" + ], + "stage5.sub.fa3.xor1.layer1.or": [ + "stage5.shift.bit3", + "stage5.sub.notd3" + ], + "stage5.sub.fa3.xor1.layer1.nand": [ + "stage5.shift.bit3", + "stage5.sub.notd3" + ], + "stage5.sub.fa3.xor1.layer2": [ + "stage5.sub.fa3.xor1.layer1.or", + "stage5.sub.fa3.xor1.layer1.nand" + ], + "stage5.sub.fa3.xor2.layer1.or": [ + "stage5.sub.fa3.xor1.layer2", + "stage5.sub.fa2.or_carry" + ], + "stage5.sub.fa3.xor2.layer1.nand": [ + "stage5.sub.fa3.xor1.layer2", + "stage5.sub.fa2.or_carry" + ], + "stage5.sub.fa3.xor2.layer2": [ + "stage5.sub.fa3.xor2.layer1.or", + "stage5.sub.fa3.xor2.layer1.nand" + ], + "stage5.sub.fa3.and1": [ + "stage5.shift.bit3", + "stage5.sub.notd3" + ], + "stage5.sub.fa3.and2": [ + "stage5.sub.fa3.xor1.layer2", + "stage5.sub.fa2.or_carry" + ], + "stage5.sub.fa3.or_carry": [ + "stage5.sub.fa3.and1", + "stage5.sub.fa3.and2" + ], + "stage5.sub.fa4.xor1.layer1.or": [ + "stage5.shift.bit4", + "stage5.sub.notd4" + ], + "stage5.sub.fa4.xor1.layer1.nand": [ + "stage5.shift.bit4", + "stage5.sub.notd4" + ], + "stage5.sub.fa4.xor1.layer2": [ + "stage5.sub.fa4.xor1.layer1.or", + "stage5.sub.fa4.xor1.layer1.nand" + ], + "stage5.sub.fa4.xor2.layer1.or": [ + "stage5.sub.fa4.xor1.layer2", + "stage5.sub.fa3.or_carry" + ], + "stage5.sub.fa4.xor2.layer1.nand": [ + "stage5.sub.fa4.xor1.layer2", + "stage5.sub.fa3.or_carry" + ], + "stage5.sub.fa4.xor2.layer2": [ + "stage5.sub.fa4.xor2.layer1.or", + "stage5.sub.fa4.xor2.layer1.nand" + ], + "stage5.sub.fa4.and1": [ + "stage5.shift.bit4", + "stage5.sub.notd4" + ], + "stage5.sub.fa4.and2": [ + "stage5.sub.fa4.xor1.layer2", + "stage5.sub.fa3.or_carry" + ], + "stage5.sub.fa4.or_carry": [ + "stage5.sub.fa4.and1", + "stage5.sub.fa4.and2" + ], + "stage5.sub.fa5.xor1.layer1.or": [ + "stage5.shift.bit5", + "stage5.sub.notd5" + ], + "stage5.sub.fa5.xor1.layer1.nand": [ + "stage5.shift.bit5", + "stage5.sub.notd5" + ], + "stage5.sub.fa5.xor1.layer2": [ + "stage5.sub.fa5.xor1.layer1.or", + "stage5.sub.fa5.xor1.layer1.nand" + ], + "stage5.sub.fa5.xor2.layer1.or": [ + "stage5.sub.fa5.xor1.layer2", + "stage5.sub.fa4.or_carry" + ], + "stage5.sub.fa5.xor2.layer1.nand": [ + "stage5.sub.fa5.xor1.layer2", + "stage5.sub.fa4.or_carry" + ], + "stage5.sub.fa5.xor2.layer2": [ + "stage5.sub.fa5.xor2.layer1.or", + "stage5.sub.fa5.xor2.layer1.nand" + ], + "stage5.sub.fa5.and1": [ + "stage5.shift.bit5", + "stage5.sub.notd5" + ], + "stage5.sub.fa5.and2": [ + "stage5.sub.fa5.xor1.layer2", + "stage5.sub.fa4.or_carry" + ], + "stage5.sub.fa5.or_carry": [ + "stage5.sub.fa5.and1", + "stage5.sub.fa5.and2" + ], + "stage5.sub.fa6.xor1.layer1.or": [ + "stage5.shift.bit6", + "stage5.sub.notd6" + ], + "stage5.sub.fa6.xor1.layer1.nand": [ + "stage5.shift.bit6", + "stage5.sub.notd6" + ], + "stage5.sub.fa6.xor1.layer2": [ + "stage5.sub.fa6.xor1.layer1.or", + "stage5.sub.fa6.xor1.layer1.nand" + ], + "stage5.sub.fa6.xor2.layer1.or": [ + "stage5.sub.fa6.xor1.layer2", + "stage5.sub.fa5.or_carry" + ], + "stage5.sub.fa6.xor2.layer1.nand": [ + "stage5.sub.fa6.xor1.layer2", + "stage5.sub.fa5.or_carry" + ], + "stage5.sub.fa6.xor2.layer2": [ + "stage5.sub.fa6.xor2.layer1.or", + "stage5.sub.fa6.xor2.layer1.nand" + ], + "stage5.sub.fa6.and1": [ + "stage5.shift.bit6", + "stage5.sub.notd6" + ], + "stage5.sub.fa6.and2": [ + "stage5.sub.fa6.xor1.layer2", + "stage5.sub.fa5.or_carry" + ], + "stage5.sub.fa6.or_carry": [ + "stage5.sub.fa6.and1", + "stage5.sub.fa6.and2" + ], + "stage5.sub.fa7.xor1.layer1.or": [ + "stage5.shift.bit7", + "stage5.sub.notd7" + ], + "stage5.sub.fa7.xor1.layer1.nand": [ + "stage5.shift.bit7", + "stage5.sub.notd7" + ], + "stage5.sub.fa7.xor1.layer2": [ + "stage5.sub.fa7.xor1.layer1.or", + "stage5.sub.fa7.xor1.layer1.nand" + ], + "stage5.sub.fa7.xor2.layer1.or": [ + "stage5.sub.fa7.xor1.layer2", + "stage5.sub.fa6.or_carry" + ], + "stage5.sub.fa7.xor2.layer1.nand": [ + "stage5.sub.fa7.xor1.layer2", + "stage5.sub.fa6.or_carry" + ], + "stage5.sub.fa7.xor2.layer2": [ + "stage5.sub.fa7.xor2.layer1.or", + "stage5.sub.fa7.xor2.layer1.nand" + ], + "stage5.sub.fa7.and1": [ + "stage5.shift.bit7", + "stage5.sub.notd7" + ], + "stage5.sub.fa7.and2": [ + "stage5.sub.fa7.xor1.layer2", + "stage5.sub.fa6.or_carry" + ], + "stage5.sub.fa7.or_carry": [ + "stage5.sub.fa7.and1", + "stage5.sub.fa7.and2" + ], + "stage5.cmp": [ + "stage5.sub.fa7.or_carry" + ], + "stage5.or_dividend": [ + "stage5.shift.bit7", + "$dividend[2]" + ], + "stage5.mux0.not_sel": [ + "stage5.cmp" + ], + "stage5.mux0.and0": [ + "stage5.shift.bit0", + "stage5.mux0.not_sel" + ], + "stage5.mux0.and1": [ + "stage5.sub.fa0.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux0.or": [ + "stage5.mux0.and0", + "stage5.mux0.and1" + ], + "stage5.mux1.not_sel": [ + "stage5.cmp" + ], + "stage5.mux1.and0": [ + "stage5.shift.bit1", + "stage5.mux1.not_sel" + ], + "stage5.mux1.and1": [ + "stage5.sub.fa1.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux1.or": [ + "stage5.mux1.and0", + "stage5.mux1.and1" + ], + "stage5.mux2.not_sel": [ + "stage5.cmp" + ], + "stage5.mux2.and0": [ + "stage5.shift.bit2", + "stage5.mux2.not_sel" + ], + "stage5.mux2.and1": [ + "stage5.sub.fa2.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux2.or": [ + "stage5.mux2.and0", + "stage5.mux2.and1" + ], + "stage5.mux3.not_sel": [ + "stage5.cmp" + ], + "stage5.mux3.and0": [ + "stage5.shift.bit3", + "stage5.mux3.not_sel" + ], + "stage5.mux3.and1": [ + "stage5.sub.fa3.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux3.or": [ + "stage5.mux3.and0", + "stage5.mux3.and1" + ], + "stage5.mux4.not_sel": [ + "stage5.cmp" + ], + "stage5.mux4.and0": [ + "stage5.shift.bit4", + "stage5.mux4.not_sel" + ], + "stage5.mux4.and1": [ + "stage5.sub.fa4.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux4.or": [ + "stage5.mux4.and0", + "stage5.mux4.and1" + ], + "stage5.mux5.not_sel": [ + "stage5.cmp" + ], + "stage5.mux5.and0": [ + "stage5.shift.bit5", + "stage5.mux5.not_sel" + ], + "stage5.mux5.and1": [ + "stage5.sub.fa5.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux5.or": [ + "stage5.mux5.and0", + "stage5.mux5.and1" + ], + "stage5.mux6.not_sel": [ + "stage5.cmp" + ], + "stage5.mux6.and0": [ + "stage5.shift.bit6", + "stage5.mux6.not_sel" + ], + "stage5.mux6.and1": [ + "stage5.sub.fa6.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux6.or": [ + "stage5.mux6.and0", + "stage5.mux6.and1" + ], + "stage5.mux7.not_sel": [ + "stage5.cmp" + ], + "stage5.mux7.and0": [ + "stage5.shift.bit7", + "stage5.mux7.not_sel" + ], + "stage5.mux7.and1": [ + "stage5.sub.fa7.xor2.layer2", + "stage5.cmp" + ], + "stage5.mux7.or": [ + "stage5.mux7.and0", + "stage5.mux7.and1" + ], + "stage6.shift.bit0": [ + "$dividend[1]" + ], + "stage6.shift.bit1": [ + "stage5.mux0.or" + ], + "stage6.shift.bit2": [ + "stage5.mux1.or" + ], + "stage6.shift.bit3": [ + "stage5.mux2.or" + ], + "stage6.shift.bit4": [ + "stage5.mux3.or" + ], + "stage6.shift.bit5": [ + "stage5.mux4.or" + ], + "stage6.shift.bit6": [ + "stage5.mux5.or" + ], + "stage6.shift.bit7": [ + "stage5.mux6.or" + ], + "stage6.sub.notd0": [ + "$divisor[0]" + ], + "stage6.sub.notd1": [ + "$divisor[1]" + ], + "stage6.sub.notd2": [ + "$divisor[2]" + ], + "stage6.sub.notd3": [ + "$divisor[3]" + ], + "stage6.sub.notd4": [ + "$divisor[4]" + ], + "stage6.sub.notd5": [ + "$divisor[5]" + ], + "stage6.sub.notd6": [ + "$divisor[6]" + ], + "stage6.sub.notd7": [ + "$divisor[7]" + ], + "stage6.sub.fa0.xor1.layer1.or": [ + "stage6.shift.bit0", + "stage6.sub.notd0" + ], + "stage6.sub.fa0.xor1.layer1.nand": [ + "stage6.shift.bit0", + "stage6.sub.notd0" + ], + "stage6.sub.fa0.xor1.layer2": [ + "stage6.sub.fa0.xor1.layer1.or", + "stage6.sub.fa0.xor1.layer1.nand" + ], + "stage6.sub.fa0.xor2.layer1.or": [ + "stage6.sub.fa0.xor1.layer2", + "#1" + ], + "stage6.sub.fa0.xor2.layer1.nand": [ + "stage6.sub.fa0.xor1.layer2", + "#1" + ], + "stage6.sub.fa0.xor2.layer2": [ + "stage6.sub.fa0.xor2.layer1.or", + "stage6.sub.fa0.xor2.layer1.nand" + ], + "stage6.sub.fa0.and1": [ + "stage6.shift.bit0", + "stage6.sub.notd0" + ], + "stage6.sub.fa0.and2": [ + "stage6.sub.fa0.xor1.layer2", + "#1" + ], + "stage6.sub.fa0.or_carry": [ + "stage6.sub.fa0.and1", + "stage6.sub.fa0.and2" + ], + "stage6.sub.fa1.xor1.layer1.or": [ + "stage6.shift.bit1", + "stage6.sub.notd1" + ], + "stage6.sub.fa1.xor1.layer1.nand": [ + "stage6.shift.bit1", + "stage6.sub.notd1" + ], + "stage6.sub.fa1.xor1.layer2": [ + "stage6.sub.fa1.xor1.layer1.or", + "stage6.sub.fa1.xor1.layer1.nand" + ], + "stage6.sub.fa1.xor2.layer1.or": [ + "stage6.sub.fa1.xor1.layer2", + "stage6.sub.fa0.or_carry" + ], + "stage6.sub.fa1.xor2.layer1.nand": [ + "stage6.sub.fa1.xor1.layer2", + "stage6.sub.fa0.or_carry" + ], + "stage6.sub.fa1.xor2.layer2": [ + "stage6.sub.fa1.xor2.layer1.or", + "stage6.sub.fa1.xor2.layer1.nand" + ], + "stage6.sub.fa1.and1": [ + "stage6.shift.bit1", + "stage6.sub.notd1" + ], + "stage6.sub.fa1.and2": [ + "stage6.sub.fa1.xor1.layer2", + "stage6.sub.fa0.or_carry" + ], + "stage6.sub.fa1.or_carry": [ + "stage6.sub.fa1.and1", + "stage6.sub.fa1.and2" + ], + "stage6.sub.fa2.xor1.layer1.or": [ + "stage6.shift.bit2", + "stage6.sub.notd2" + ], + "stage6.sub.fa2.xor1.layer1.nand": [ + "stage6.shift.bit2", + "stage6.sub.notd2" + ], + "stage6.sub.fa2.xor1.layer2": [ + "stage6.sub.fa2.xor1.layer1.or", + "stage6.sub.fa2.xor1.layer1.nand" + ], + "stage6.sub.fa2.xor2.layer1.or": [ + "stage6.sub.fa2.xor1.layer2", + "stage6.sub.fa1.or_carry" + ], + "stage6.sub.fa2.xor2.layer1.nand": [ + "stage6.sub.fa2.xor1.layer2", + "stage6.sub.fa1.or_carry" + ], + "stage6.sub.fa2.xor2.layer2": [ + "stage6.sub.fa2.xor2.layer1.or", + "stage6.sub.fa2.xor2.layer1.nand" + ], + "stage6.sub.fa2.and1": [ + "stage6.shift.bit2", + "stage6.sub.notd2" + ], + "stage6.sub.fa2.and2": [ + "stage6.sub.fa2.xor1.layer2", + "stage6.sub.fa1.or_carry" + ], + "stage6.sub.fa2.or_carry": [ + "stage6.sub.fa2.and1", + "stage6.sub.fa2.and2" + ], + "stage6.sub.fa3.xor1.layer1.or": [ + "stage6.shift.bit3", + "stage6.sub.notd3" + ], + "stage6.sub.fa3.xor1.layer1.nand": [ + "stage6.shift.bit3", + "stage6.sub.notd3" + ], + "stage6.sub.fa3.xor1.layer2": [ + "stage6.sub.fa3.xor1.layer1.or", + "stage6.sub.fa3.xor1.layer1.nand" + ], + "stage6.sub.fa3.xor2.layer1.or": [ + "stage6.sub.fa3.xor1.layer2", + "stage6.sub.fa2.or_carry" + ], + "stage6.sub.fa3.xor2.layer1.nand": [ + "stage6.sub.fa3.xor1.layer2", + "stage6.sub.fa2.or_carry" + ], + "stage6.sub.fa3.xor2.layer2": [ + "stage6.sub.fa3.xor2.layer1.or", + "stage6.sub.fa3.xor2.layer1.nand" + ], + "stage6.sub.fa3.and1": [ + "stage6.shift.bit3", + "stage6.sub.notd3" + ], + "stage6.sub.fa3.and2": [ + "stage6.sub.fa3.xor1.layer2", + "stage6.sub.fa2.or_carry" + ], + "stage6.sub.fa3.or_carry": [ + "stage6.sub.fa3.and1", + "stage6.sub.fa3.and2" + ], + "stage6.sub.fa4.xor1.layer1.or": [ + "stage6.shift.bit4", + "stage6.sub.notd4" + ], + "stage6.sub.fa4.xor1.layer1.nand": [ + "stage6.shift.bit4", + "stage6.sub.notd4" + ], + "stage6.sub.fa4.xor1.layer2": [ + "stage6.sub.fa4.xor1.layer1.or", + "stage6.sub.fa4.xor1.layer1.nand" + ], + "stage6.sub.fa4.xor2.layer1.or": [ + "stage6.sub.fa4.xor1.layer2", + "stage6.sub.fa3.or_carry" + ], + "stage6.sub.fa4.xor2.layer1.nand": [ + "stage6.sub.fa4.xor1.layer2", + "stage6.sub.fa3.or_carry" + ], + "stage6.sub.fa4.xor2.layer2": [ + "stage6.sub.fa4.xor2.layer1.or", + "stage6.sub.fa4.xor2.layer1.nand" + ], + "stage6.sub.fa4.and1": [ + "stage6.shift.bit4", + "stage6.sub.notd4" + ], + "stage6.sub.fa4.and2": [ + "stage6.sub.fa4.xor1.layer2", + "stage6.sub.fa3.or_carry" + ], + "stage6.sub.fa4.or_carry": [ + "stage6.sub.fa4.and1", + "stage6.sub.fa4.and2" + ], + "stage6.sub.fa5.xor1.layer1.or": [ + "stage6.shift.bit5", + "stage6.sub.notd5" + ], + "stage6.sub.fa5.xor1.layer1.nand": [ + "stage6.shift.bit5", + "stage6.sub.notd5" + ], + "stage6.sub.fa5.xor1.layer2": [ + "stage6.sub.fa5.xor1.layer1.or", + "stage6.sub.fa5.xor1.layer1.nand" + ], + "stage6.sub.fa5.xor2.layer1.or": [ + "stage6.sub.fa5.xor1.layer2", + "stage6.sub.fa4.or_carry" + ], + "stage6.sub.fa5.xor2.layer1.nand": [ + "stage6.sub.fa5.xor1.layer2", + "stage6.sub.fa4.or_carry" + ], + "stage6.sub.fa5.xor2.layer2": [ + "stage6.sub.fa5.xor2.layer1.or", + "stage6.sub.fa5.xor2.layer1.nand" + ], + "stage6.sub.fa5.and1": [ + "stage6.shift.bit5", + "stage6.sub.notd5" + ], + "stage6.sub.fa5.and2": [ + "stage6.sub.fa5.xor1.layer2", + "stage6.sub.fa4.or_carry" + ], + "stage6.sub.fa5.or_carry": [ + "stage6.sub.fa5.and1", + "stage6.sub.fa5.and2" + ], + "stage6.sub.fa6.xor1.layer1.or": [ + "stage6.shift.bit6", + "stage6.sub.notd6" + ], + "stage6.sub.fa6.xor1.layer1.nand": [ + "stage6.shift.bit6", + "stage6.sub.notd6" + ], + "stage6.sub.fa6.xor1.layer2": [ + "stage6.sub.fa6.xor1.layer1.or", + "stage6.sub.fa6.xor1.layer1.nand" + ], + "stage6.sub.fa6.xor2.layer1.or": [ + "stage6.sub.fa6.xor1.layer2", + "stage6.sub.fa5.or_carry" + ], + "stage6.sub.fa6.xor2.layer1.nand": [ + "stage6.sub.fa6.xor1.layer2", + "stage6.sub.fa5.or_carry" + ], + "stage6.sub.fa6.xor2.layer2": [ + "stage6.sub.fa6.xor2.layer1.or", + "stage6.sub.fa6.xor2.layer1.nand" + ], + "stage6.sub.fa6.and1": [ + "stage6.shift.bit6", + "stage6.sub.notd6" + ], + "stage6.sub.fa6.and2": [ + "stage6.sub.fa6.xor1.layer2", + "stage6.sub.fa5.or_carry" + ], + "stage6.sub.fa6.or_carry": [ + "stage6.sub.fa6.and1", + "stage6.sub.fa6.and2" + ], + "stage6.sub.fa7.xor1.layer1.or": [ + "stage6.shift.bit7", + "stage6.sub.notd7" + ], + "stage6.sub.fa7.xor1.layer1.nand": [ + "stage6.shift.bit7", + "stage6.sub.notd7" + ], + "stage6.sub.fa7.xor1.layer2": [ + "stage6.sub.fa7.xor1.layer1.or", + "stage6.sub.fa7.xor1.layer1.nand" + ], + "stage6.sub.fa7.xor2.layer1.or": [ + "stage6.sub.fa7.xor1.layer2", + "stage6.sub.fa6.or_carry" + ], + "stage6.sub.fa7.xor2.layer1.nand": [ + "stage6.sub.fa7.xor1.layer2", + "stage6.sub.fa6.or_carry" + ], + "stage6.sub.fa7.xor2.layer2": [ + "stage6.sub.fa7.xor2.layer1.or", + "stage6.sub.fa7.xor2.layer1.nand" + ], + "stage6.sub.fa7.and1": [ + "stage6.shift.bit7", + "stage6.sub.notd7" + ], + "stage6.sub.fa7.and2": [ + "stage6.sub.fa7.xor1.layer2", + "stage6.sub.fa6.or_carry" + ], + "stage6.sub.fa7.or_carry": [ + "stage6.sub.fa7.and1", + "stage6.sub.fa7.and2" + ], + "stage6.cmp": [ + "stage6.sub.fa7.or_carry" + ], + "stage6.or_dividend": [ + "stage6.shift.bit7", + "$dividend[1]" + ], + "stage6.mux0.not_sel": [ + "stage6.cmp" + ], + "stage6.mux0.and0": [ + "stage6.shift.bit0", + "stage6.mux0.not_sel" + ], + "stage6.mux0.and1": [ + "stage6.sub.fa0.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux0.or": [ + "stage6.mux0.and0", + "stage6.mux0.and1" + ], + "stage6.mux1.not_sel": [ + "stage6.cmp" + ], + "stage6.mux1.and0": [ + "stage6.shift.bit1", + "stage6.mux1.not_sel" + ], + "stage6.mux1.and1": [ + "stage6.sub.fa1.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux1.or": [ + "stage6.mux1.and0", + "stage6.mux1.and1" + ], + "stage6.mux2.not_sel": [ + "stage6.cmp" + ], + "stage6.mux2.and0": [ + "stage6.shift.bit2", + "stage6.mux2.not_sel" + ], + "stage6.mux2.and1": [ + "stage6.sub.fa2.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux2.or": [ + "stage6.mux2.and0", + "stage6.mux2.and1" + ], + "stage6.mux3.not_sel": [ + "stage6.cmp" + ], + "stage6.mux3.and0": [ + "stage6.shift.bit3", + "stage6.mux3.not_sel" + ], + "stage6.mux3.and1": [ + "stage6.sub.fa3.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux3.or": [ + "stage6.mux3.and0", + "stage6.mux3.and1" + ], + "stage6.mux4.not_sel": [ + "stage6.cmp" + ], + "stage6.mux4.and0": [ + "stage6.shift.bit4", + "stage6.mux4.not_sel" + ], + "stage6.mux4.and1": [ + "stage6.sub.fa4.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux4.or": [ + "stage6.mux4.and0", + "stage6.mux4.and1" + ], + "stage6.mux5.not_sel": [ + "stage6.cmp" + ], + "stage6.mux5.and0": [ + "stage6.shift.bit5", + "stage6.mux5.not_sel" + ], + "stage6.mux5.and1": [ + "stage6.sub.fa5.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux5.or": [ + "stage6.mux5.and0", + "stage6.mux5.and1" + ], + "stage6.mux6.not_sel": [ + "stage6.cmp" + ], + "stage6.mux6.and0": [ + "stage6.shift.bit6", + "stage6.mux6.not_sel" + ], + "stage6.mux6.and1": [ + "stage6.sub.fa6.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux6.or": [ + "stage6.mux6.and0", + "stage6.mux6.and1" + ], + "stage6.mux7.not_sel": [ + "stage6.cmp" + ], + "stage6.mux7.and0": [ + "stage6.shift.bit7", + "stage6.mux7.not_sel" + ], + "stage6.mux7.and1": [ + "stage6.sub.fa7.xor2.layer2", + "stage6.cmp" + ], + "stage6.mux7.or": [ + "stage6.mux7.and0", + "stage6.mux7.and1" + ], + "stage7.shift.bit0": [ + "$dividend[0]" + ], + "stage7.shift.bit1": [ + "stage6.mux0.or" + ], + "stage7.shift.bit2": [ + "stage6.mux1.or" + ], + "stage7.shift.bit3": [ + "stage6.mux2.or" + ], + "stage7.shift.bit4": [ + "stage6.mux3.or" + ], + "stage7.shift.bit5": [ + "stage6.mux4.or" + ], + "stage7.shift.bit6": [ + "stage6.mux5.or" + ], + "stage7.shift.bit7": [ + "stage6.mux6.or" + ], + "stage7.sub.notd0": [ + "$divisor[0]" + ], + "stage7.sub.notd1": [ + "$divisor[1]" + ], + "stage7.sub.notd2": [ + "$divisor[2]" + ], + "stage7.sub.notd3": [ + "$divisor[3]" + ], + "stage7.sub.notd4": [ + "$divisor[4]" + ], + "stage7.sub.notd5": [ + "$divisor[5]" + ], + "stage7.sub.notd6": [ + "$divisor[6]" + ], + "stage7.sub.notd7": [ + "$divisor[7]" + ], + "stage7.sub.fa0.xor1.layer1.or": [ + "stage7.shift.bit0", + "stage7.sub.notd0" + ], + "stage7.sub.fa0.xor1.layer1.nand": [ + "stage7.shift.bit0", + "stage7.sub.notd0" + ], + "stage7.sub.fa0.xor1.layer2": [ + "stage7.sub.fa0.xor1.layer1.or", + "stage7.sub.fa0.xor1.layer1.nand" + ], + "stage7.sub.fa0.xor2.layer1.or": [ + "stage7.sub.fa0.xor1.layer2", + "#1" + ], + "stage7.sub.fa0.xor2.layer1.nand": [ + "stage7.sub.fa0.xor1.layer2", + "#1" + ], + "stage7.sub.fa0.xor2.layer2": [ + "stage7.sub.fa0.xor2.layer1.or", + "stage7.sub.fa0.xor2.layer1.nand" + ], + "stage7.sub.fa0.and1": [ + "stage7.shift.bit0", + "stage7.sub.notd0" + ], + "stage7.sub.fa0.and2": [ + "stage7.sub.fa0.xor1.layer2", + "#1" + ], + "stage7.sub.fa0.or_carry": [ + "stage7.sub.fa0.and1", + "stage7.sub.fa0.and2" + ], + "stage7.sub.fa1.xor1.layer1.or": [ + "stage7.shift.bit1", + "stage7.sub.notd1" + ], + "stage7.sub.fa1.xor1.layer1.nand": [ + "stage7.shift.bit1", + "stage7.sub.notd1" + ], + "stage7.sub.fa1.xor1.layer2": [ + "stage7.sub.fa1.xor1.layer1.or", + "stage7.sub.fa1.xor1.layer1.nand" + ], + "stage7.sub.fa1.xor2.layer1.or": [ + "stage7.sub.fa1.xor1.layer2", + "stage7.sub.fa0.or_carry" + ], + "stage7.sub.fa1.xor2.layer1.nand": [ + "stage7.sub.fa1.xor1.layer2", + "stage7.sub.fa0.or_carry" + ], + "stage7.sub.fa1.xor2.layer2": [ + "stage7.sub.fa1.xor2.layer1.or", + "stage7.sub.fa1.xor2.layer1.nand" + ], + "stage7.sub.fa1.and1": [ + "stage7.shift.bit1", + "stage7.sub.notd1" + ], + "stage7.sub.fa1.and2": [ + "stage7.sub.fa1.xor1.layer2", + "stage7.sub.fa0.or_carry" + ], + "stage7.sub.fa1.or_carry": [ + "stage7.sub.fa1.and1", + "stage7.sub.fa1.and2" + ], + "stage7.sub.fa2.xor1.layer1.or": [ + "stage7.shift.bit2", + "stage7.sub.notd2" + ], + "stage7.sub.fa2.xor1.layer1.nand": [ + "stage7.shift.bit2", + "stage7.sub.notd2" + ], + "stage7.sub.fa2.xor1.layer2": [ + "stage7.sub.fa2.xor1.layer1.or", + "stage7.sub.fa2.xor1.layer1.nand" + ], + "stage7.sub.fa2.xor2.layer1.or": [ + "stage7.sub.fa2.xor1.layer2", + "stage7.sub.fa1.or_carry" + ], + "stage7.sub.fa2.xor2.layer1.nand": [ + "stage7.sub.fa2.xor1.layer2", + "stage7.sub.fa1.or_carry" + ], + "stage7.sub.fa2.xor2.layer2": [ + "stage7.sub.fa2.xor2.layer1.or", + "stage7.sub.fa2.xor2.layer1.nand" + ], + "stage7.sub.fa2.and1": [ + "stage7.shift.bit2", + "stage7.sub.notd2" + ], + "stage7.sub.fa2.and2": [ + "stage7.sub.fa2.xor1.layer2", + "stage7.sub.fa1.or_carry" + ], + "stage7.sub.fa2.or_carry": [ + "stage7.sub.fa2.and1", + "stage7.sub.fa2.and2" + ], + "stage7.sub.fa3.xor1.layer1.or": [ + "stage7.shift.bit3", + "stage7.sub.notd3" + ], + "stage7.sub.fa3.xor1.layer1.nand": [ + "stage7.shift.bit3", + "stage7.sub.notd3" + ], + "stage7.sub.fa3.xor1.layer2": [ + "stage7.sub.fa3.xor1.layer1.or", + "stage7.sub.fa3.xor1.layer1.nand" + ], + "stage7.sub.fa3.xor2.layer1.or": [ + "stage7.sub.fa3.xor1.layer2", + "stage7.sub.fa2.or_carry" + ], + "stage7.sub.fa3.xor2.layer1.nand": [ + "stage7.sub.fa3.xor1.layer2", + "stage7.sub.fa2.or_carry" + ], + "stage7.sub.fa3.xor2.layer2": [ + "stage7.sub.fa3.xor2.layer1.or", + "stage7.sub.fa3.xor2.layer1.nand" + ], + "stage7.sub.fa3.and1": [ + "stage7.shift.bit3", + "stage7.sub.notd3" + ], + "stage7.sub.fa3.and2": [ + "stage7.sub.fa3.xor1.layer2", + "stage7.sub.fa2.or_carry" + ], + "stage7.sub.fa3.or_carry": [ + "stage7.sub.fa3.and1", + "stage7.sub.fa3.and2" + ], + "stage7.sub.fa4.xor1.layer1.or": [ + "stage7.shift.bit4", + "stage7.sub.notd4" + ], + "stage7.sub.fa4.xor1.layer1.nand": [ + "stage7.shift.bit4", + "stage7.sub.notd4" + ], + "stage7.sub.fa4.xor1.layer2": [ + "stage7.sub.fa4.xor1.layer1.or", + "stage7.sub.fa4.xor1.layer1.nand" + ], + "stage7.sub.fa4.xor2.layer1.or": [ + "stage7.sub.fa4.xor1.layer2", + "stage7.sub.fa3.or_carry" + ], + "stage7.sub.fa4.xor2.layer1.nand": [ + "stage7.sub.fa4.xor1.layer2", + "stage7.sub.fa3.or_carry" + ], + "stage7.sub.fa4.xor2.layer2": [ + "stage7.sub.fa4.xor2.layer1.or", + "stage7.sub.fa4.xor2.layer1.nand" + ], + "stage7.sub.fa4.and1": [ + "stage7.shift.bit4", + "stage7.sub.notd4" + ], + "stage7.sub.fa4.and2": [ + "stage7.sub.fa4.xor1.layer2", + "stage7.sub.fa3.or_carry" + ], + "stage7.sub.fa4.or_carry": [ + "stage7.sub.fa4.and1", + "stage7.sub.fa4.and2" + ], + "stage7.sub.fa5.xor1.layer1.or": [ + "stage7.shift.bit5", + "stage7.sub.notd5" + ], + "stage7.sub.fa5.xor1.layer1.nand": [ + "stage7.shift.bit5", + "stage7.sub.notd5" + ], + "stage7.sub.fa5.xor1.layer2": [ + "stage7.sub.fa5.xor1.layer1.or", + "stage7.sub.fa5.xor1.layer1.nand" + ], + "stage7.sub.fa5.xor2.layer1.or": [ + "stage7.sub.fa5.xor1.layer2", + "stage7.sub.fa4.or_carry" + ], + "stage7.sub.fa5.xor2.layer1.nand": [ + "stage7.sub.fa5.xor1.layer2", + "stage7.sub.fa4.or_carry" + ], + "stage7.sub.fa5.xor2.layer2": [ + "stage7.sub.fa5.xor2.layer1.or", + "stage7.sub.fa5.xor2.layer1.nand" + ], + "stage7.sub.fa5.and1": [ + "stage7.shift.bit5", + "stage7.sub.notd5" + ], + "stage7.sub.fa5.and2": [ + "stage7.sub.fa5.xor1.layer2", + "stage7.sub.fa4.or_carry" + ], + "stage7.sub.fa5.or_carry": [ + "stage7.sub.fa5.and1", + "stage7.sub.fa5.and2" + ], + "stage7.sub.fa6.xor1.layer1.or": [ + "stage7.shift.bit6", + "stage7.sub.notd6" + ], + "stage7.sub.fa6.xor1.layer1.nand": [ + "stage7.shift.bit6", + "stage7.sub.notd6" + ], + "stage7.sub.fa6.xor1.layer2": [ + "stage7.sub.fa6.xor1.layer1.or", + "stage7.sub.fa6.xor1.layer1.nand" + ], + "stage7.sub.fa6.xor2.layer1.or": [ + "stage7.sub.fa6.xor1.layer2", + "stage7.sub.fa5.or_carry" + ], + "stage7.sub.fa6.xor2.layer1.nand": [ + "stage7.sub.fa6.xor1.layer2", + "stage7.sub.fa5.or_carry" + ], + "stage7.sub.fa6.xor2.layer2": [ + "stage7.sub.fa6.xor2.layer1.or", + "stage7.sub.fa6.xor2.layer1.nand" + ], + "stage7.sub.fa6.and1": [ + "stage7.shift.bit6", + "stage7.sub.notd6" + ], + "stage7.sub.fa6.and2": [ + "stage7.sub.fa6.xor1.layer2", + "stage7.sub.fa5.or_carry" + ], + "stage7.sub.fa6.or_carry": [ + "stage7.sub.fa6.and1", + "stage7.sub.fa6.and2" + ], + "stage7.sub.fa7.xor1.layer1.or": [ + "stage7.shift.bit7", + "stage7.sub.notd7" + ], + "stage7.sub.fa7.xor1.layer1.nand": [ + "stage7.shift.bit7", + "stage7.sub.notd7" + ], + "stage7.sub.fa7.xor1.layer2": [ + "stage7.sub.fa7.xor1.layer1.or", + "stage7.sub.fa7.xor1.layer1.nand" + ], + "stage7.sub.fa7.xor2.layer1.or": [ + "stage7.sub.fa7.xor1.layer2", + "stage7.sub.fa6.or_carry" + ], + "stage7.sub.fa7.xor2.layer1.nand": [ + "stage7.sub.fa7.xor1.layer2", + "stage7.sub.fa6.or_carry" + ], + "stage7.sub.fa7.xor2.layer2": [ + "stage7.sub.fa7.xor2.layer1.or", + "stage7.sub.fa7.xor2.layer1.nand" + ], + "stage7.sub.fa7.and1": [ + "stage7.shift.bit7", + "stage7.sub.notd7" + ], + "stage7.sub.fa7.and2": [ + "stage7.sub.fa7.xor1.layer2", + "stage7.sub.fa6.or_carry" + ], + "stage7.sub.fa7.or_carry": [ + "stage7.sub.fa7.and1", + "stage7.sub.fa7.and2" + ], + "stage7.cmp": [ + "stage7.sub.fa7.or_carry" + ], + "stage7.or_dividend": [ + "stage7.shift.bit7", + "$dividend[0]" + ], + "stage7.mux0.not_sel": [ + "stage7.cmp" + ], + "stage7.mux0.and0": [ + "stage7.shift.bit0", + "stage7.mux0.not_sel" + ], + "stage7.mux0.and1": [ + "stage7.sub.fa0.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux0.or": [ + "stage7.mux0.and0", + "stage7.mux0.and1" + ], + "stage7.mux1.not_sel": [ + "stage7.cmp" + ], + "stage7.mux1.and0": [ + "stage7.shift.bit1", + "stage7.mux1.not_sel" + ], + "stage7.mux1.and1": [ + "stage7.sub.fa1.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux1.or": [ + "stage7.mux1.and0", + "stage7.mux1.and1" + ], + "stage7.mux2.not_sel": [ + "stage7.cmp" + ], + "stage7.mux2.and0": [ + "stage7.shift.bit2", + "stage7.mux2.not_sel" + ], + "stage7.mux2.and1": [ + "stage7.sub.fa2.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux2.or": [ + "stage7.mux2.and0", + "stage7.mux2.and1" + ], + "stage7.mux3.not_sel": [ + "stage7.cmp" + ], + "stage7.mux3.and0": [ + "stage7.shift.bit3", + "stage7.mux3.not_sel" + ], + "stage7.mux3.and1": [ + "stage7.sub.fa3.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux3.or": [ + "stage7.mux3.and0", + "stage7.mux3.and1" + ], + "stage7.mux4.not_sel": [ + "stage7.cmp" + ], + "stage7.mux4.and0": [ + "stage7.shift.bit4", + "stage7.mux4.not_sel" + ], + "stage7.mux4.and1": [ + "stage7.sub.fa4.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux4.or": [ + "stage7.mux4.and0", + "stage7.mux4.and1" + ], + "stage7.mux5.not_sel": [ + "stage7.cmp" + ], + "stage7.mux5.and0": [ + "stage7.shift.bit5", + "stage7.mux5.not_sel" + ], + "stage7.mux5.and1": [ + "stage7.sub.fa5.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux5.or": [ + "stage7.mux5.and0", + "stage7.mux5.and1" + ], + "stage7.mux6.not_sel": [ + "stage7.cmp" + ], + "stage7.mux6.and0": [ + "stage7.shift.bit6", + "stage7.mux6.not_sel" + ], + "stage7.mux6.and1": [ + "stage7.sub.fa6.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux6.or": [ + "stage7.mux6.and0", + "stage7.mux6.and1" + ], + "stage7.mux7.not_sel": [ + "stage7.cmp" + ], + "stage7.mux7.and0": [ + "stage7.shift.bit7", + "stage7.mux7.not_sel" + ], + "stage7.mux7.and1": [ + "stage7.sub.fa7.xor2.layer2", + "stage7.cmp" + ], + "stage7.mux7.or": [ + "stage7.mux7.and0", + "stage7.mux7.and1" + ], + "quotient0": [ + "stage0.cmp" + ], + "quotient1": [ + "stage1.cmp" + ], + "quotient2": [ + "stage2.cmp" + ], + "quotient3": [ + "stage3.cmp" + ], + "quotient4": [ + "stage4.cmp" + ], + "quotient5": [ + "stage5.cmp" + ], + "quotient6": [ + "stage6.cmp" + ], + "quotient7": [ + "stage7.cmp" + ], + "remainder0": [ + "stage7.mux0.or" + ], + "remainder1": [ + "stage7.mux1.or" + ], + "remainder2": [ + "stage7.mux2.or" + ], + "remainder3": [ + "stage7.mux3.or" + ], + "remainder4": [ + "stage7.mux4.or" + ], + "remainder5": [ + "stage7.mux5.or" + ], + "remainder6": [ + "stage7.mux6.or" + ], + "remainder7": [ + "stage7.mux7.or" + ] + }, + "outputs": { + "quotient[0]": "quotient0", + "quotient[1]": "quotient1", + "quotient[2]": "quotient2", + "quotient[3]": "quotient3", + "quotient[4]": "quotient4", + "quotient[5]": "quotient5", + "quotient[6]": "quotient6", + "quotient[7]": "quotient7", + "remainder[0]": "remainder0", + "remainder[1]": "remainder1", + "remainder[2]": "remainder2", + "remainder[3]": "remainder3", + "remainder[4]": "remainder4", + "remainder[5]": "remainder5", + "remainder[6]": "remainder6", + "remainder[7]": "remainder7" + } + }, + "arithmetic.adc8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]", + "$cin" + ], + "type": "adder_with_carry", + "internal": { + "fa0.xor1.layer1.nand": [ + "$a[0]", + "$b[0]" + ], + "fa0.xor1.layer1.or": [ + "$a[0]", + "$b[0]" + ], + "fa0.xor1.layer2": [ + "fa0.xor1.layer1.nand", + "fa0.xor1.layer1.or" + ], + "fa0.xor2.layer1.nand": [ + "fa0.xor1.layer2", + "$cin" + ], + "fa0.xor2.layer1.or": [ + "fa0.xor1.layer2", + "$cin" + ], + "fa0.xor2.layer2": [ + "fa0.xor2.layer1.nand", + "fa0.xor2.layer1.or" + ], + "fa0.and1": [ + "$a[0]", + "$b[0]" + ], + "fa0.and2": [ + "fa0.xor1.layer2", + "$cin" + ], + "fa0.or_carry": [ + "fa0.and1", + "fa0.and2" + ], + "fa1.xor1.layer1.nand": [ + "$a[1]", + "$b[1]" + ], + "fa1.xor1.layer1.or": [ + "$a[1]", + "$b[1]" + ], + "fa1.xor1.layer2": [ + "fa1.xor1.layer1.nand", + "fa1.xor1.layer1.or" + ], + "fa1.xor2.layer1.nand": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer1.or": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer2": [ + "fa1.xor2.layer1.nand", + "fa1.xor2.layer1.or" + ], + "fa1.and1": [ + "$a[1]", + "$b[1]" + ], + "fa1.and2": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.or_carry": [ + "fa1.and1", + "fa1.and2" + ], + "fa2.xor1.layer1.nand": [ + "$a[2]", + "$b[2]" + ], + "fa2.xor1.layer1.or": [ + "$a[2]", + "$b[2]" + ], + "fa2.xor1.layer2": [ + "fa2.xor1.layer1.nand", + "fa2.xor1.layer1.or" + ], + "fa2.xor2.layer1.nand": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer1.or": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer2": [ + "fa2.xor2.layer1.nand", + "fa2.xor2.layer1.or" + ], + "fa2.and1": [ + "$a[2]", + "$b[2]" + ], + "fa2.and2": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.or_carry": [ + "fa2.and1", + "fa2.and2" + ], + "fa3.xor1.layer1.nand": [ + "$a[3]", + "$b[3]" + ], + "fa3.xor1.layer1.or": [ + "$a[3]", + "$b[3]" + ], + "fa3.xor1.layer2": [ + "fa3.xor1.layer1.nand", + "fa3.xor1.layer1.or" + ], + "fa3.xor2.layer1.nand": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer1.or": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer2": [ + "fa3.xor2.layer1.nand", + "fa3.xor2.layer1.or" + ], + "fa3.and1": [ + "$a[3]", + "$b[3]" + ], + "fa3.and2": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.or_carry": [ + "fa3.and1", + "fa3.and2" + ], + "fa4.xor1.layer1.nand": [ + "$a[4]", + "$b[4]" + ], + "fa4.xor1.layer1.or": [ + "$a[4]", + "$b[4]" + ], + "fa4.xor1.layer2": [ + "fa4.xor1.layer1.nand", + "fa4.xor1.layer1.or" + ], + "fa4.xor2.layer1.nand": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer1.or": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer2": [ + "fa4.xor2.layer1.nand", + "fa4.xor2.layer1.or" + ], + "fa4.and1": [ + "$a[4]", + "$b[4]" + ], + "fa4.and2": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.or_carry": [ + "fa4.and1", + "fa4.and2" + ], + "fa5.xor1.layer1.nand": [ + "$a[5]", + "$b[5]" + ], + "fa5.xor1.layer1.or": [ + "$a[5]", + "$b[5]" + ], + "fa5.xor1.layer2": [ + "fa5.xor1.layer1.nand", + "fa5.xor1.layer1.or" + ], + "fa5.xor2.layer1.nand": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer1.or": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer2": [ + "fa5.xor2.layer1.nand", + "fa5.xor2.layer1.or" + ], + "fa5.and1": [ + "$a[5]", + "$b[5]" + ], + "fa5.and2": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.or_carry": [ + "fa5.and1", + "fa5.and2" + ], + "fa6.xor1.layer1.nand": [ + "$a[6]", + "$b[6]" + ], + "fa6.xor1.layer1.or": [ + "$a[6]", + "$b[6]" + ], + "fa6.xor1.layer2": [ + "fa6.xor1.layer1.nand", + "fa6.xor1.layer1.or" + ], + "fa6.xor2.layer1.nand": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer1.or": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer2": [ + "fa6.xor2.layer1.nand", + "fa6.xor2.layer1.or" + ], + "fa6.and1": [ + "$a[6]", + "$b[6]" + ], + "fa6.and2": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.or_carry": [ + "fa6.and1", + "fa6.and2" + ], + "fa7.xor1.layer1.nand": [ + "$a[7]", + "$b[7]" + ], + "fa7.xor1.layer1.or": [ + "$a[7]", + "$b[7]" + ], + "fa7.xor1.layer2": [ + "fa7.xor1.layer1.nand", + "fa7.xor1.layer1.or" + ], + "fa7.xor2.layer1.nand": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer1.or": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer2": [ + "fa7.xor2.layer1.nand", + "fa7.xor2.layer1.or" + ], + "fa7.and1": [ + "$a[7]", + "$b[7]" + ], + "fa7.and2": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.or_carry": [ + "fa7.and1", + "fa7.and2" + ] + } + }, + "arithmetic.sbc8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]", + "$cin" + ], + "type": "subtractor_with_carry", + "internal": { + "notb0": [ + "$b[0]" + ], + "notb1": [ + "$b[1]" + ], + "notb2": [ + "$b[2]" + ], + "notb3": [ + "$b[3]" + ], + "notb4": [ + "$b[4]" + ], + "notb5": [ + "$b[5]" + ], + "notb6": [ + "$b[6]" + ], + "notb7": [ + "$b[7]" + ], + "fa0.xor1.layer1.nand": [ + "$a[0]", + "notb0" + ], + "fa0.xor1.layer1.or": [ + "$a[0]", + "notb0" + ], + "fa0.xor1.layer2": [ + "fa0.xor1.layer1.nand", + "fa0.xor1.layer1.or" + ], + "fa0.xor2.layer1.nand": [ + "fa0.xor1.layer2", + "$cin" + ], + "fa0.xor2.layer1.or": [ + "fa0.xor1.layer2", + "$cin" + ], + "fa0.xor2.layer2": [ + "fa0.xor2.layer1.nand", + "fa0.xor2.layer1.or" + ], + "fa0.and1": [ + "$a[0]", + "notb0" + ], + "fa0.and2": [ + "fa0.xor1.layer2", + "$cin" + ], + "fa0.or_carry": [ + "fa0.and1", + "fa0.and2" + ], + "fa1.xor1.layer1.nand": [ + "$a[1]", + "notb1" + ], + "fa1.xor1.layer1.or": [ + "$a[1]", + "notb1" + ], + "fa1.xor1.layer2": [ + "fa1.xor1.layer1.nand", + "fa1.xor1.layer1.or" + ], + "fa1.xor2.layer1.nand": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer1.or": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer2": [ + "fa1.xor2.layer1.nand", + "fa1.xor2.layer1.or" + ], + "fa1.and1": [ + "$a[1]", + "notb1" + ], + "fa1.and2": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.or_carry": [ + "fa1.and1", + "fa1.and2" + ], + "fa2.xor1.layer1.nand": [ + "$a[2]", + "notb2" + ], + "fa2.xor1.layer1.or": [ + "$a[2]", + "notb2" + ], + "fa2.xor1.layer2": [ + "fa2.xor1.layer1.nand", + "fa2.xor1.layer1.or" + ], + "fa2.xor2.layer1.nand": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer1.or": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer2": [ + "fa2.xor2.layer1.nand", + "fa2.xor2.layer1.or" + ], + "fa2.and1": [ + "$a[2]", + "notb2" + ], + "fa2.and2": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.or_carry": [ + "fa2.and1", + "fa2.and2" + ], + "fa3.xor1.layer1.nand": [ + "$a[3]", + "notb3" + ], + "fa3.xor1.layer1.or": [ + "$a[3]", + "notb3" + ], + "fa3.xor1.layer2": [ + "fa3.xor1.layer1.nand", + "fa3.xor1.layer1.or" + ], + "fa3.xor2.layer1.nand": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer1.or": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer2": [ + "fa3.xor2.layer1.nand", + "fa3.xor2.layer1.or" + ], + "fa3.and1": [ + "$a[3]", + "notb3" + ], + "fa3.and2": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.or_carry": [ + "fa3.and1", + "fa3.and2" + ], + "fa4.xor1.layer1.nand": [ + "$a[4]", + "notb4" + ], + "fa4.xor1.layer1.or": [ + "$a[4]", + "notb4" + ], + "fa4.xor1.layer2": [ + "fa4.xor1.layer1.nand", + "fa4.xor1.layer1.or" + ], + "fa4.xor2.layer1.nand": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer1.or": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer2": [ + "fa4.xor2.layer1.nand", + "fa4.xor2.layer1.or" + ], + "fa4.and1": [ + "$a[4]", + "notb4" + ], + "fa4.and2": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.or_carry": [ + "fa4.and1", + "fa4.and2" + ], + "fa5.xor1.layer1.nand": [ + "$a[5]", + "notb5" + ], + "fa5.xor1.layer1.or": [ + "$a[5]", + "notb5" + ], + "fa5.xor1.layer2": [ + "fa5.xor1.layer1.nand", + "fa5.xor1.layer1.or" + ], + "fa5.xor2.layer1.nand": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer1.or": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer2": [ + "fa5.xor2.layer1.nand", + "fa5.xor2.layer1.or" + ], + "fa5.and1": [ + "$a[5]", + "notb5" + ], + "fa5.and2": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.or_carry": [ + "fa5.and1", + "fa5.and2" + ], + "fa6.xor1.layer1.nand": [ + "$a[6]", + "notb6" + ], + "fa6.xor1.layer1.or": [ + "$a[6]", + "notb6" + ], + "fa6.xor1.layer2": [ + "fa6.xor1.layer1.nand", + "fa6.xor1.layer1.or" + ], + "fa6.xor2.layer1.nand": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer1.or": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer2": [ + "fa6.xor2.layer1.nand", + "fa6.xor2.layer1.or" + ], + "fa6.and1": [ + "$a[6]", + "notb6" + ], + "fa6.and2": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.or_carry": [ + "fa6.and1", + "fa6.and2" + ], + "fa7.xor1.layer1.nand": [ + "$a[7]", + "notb7" + ], + "fa7.xor1.layer1.or": [ + "$a[7]", + "notb7" + ], + "fa7.xor1.layer2": [ + "fa7.xor1.layer1.nand", + "fa7.xor1.layer1.or" + ], + "fa7.xor2.layer1.nand": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer1.or": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer2": [ + "fa7.xor2.layer1.nand", + "fa7.xor2.layer1.or" + ], + "fa7.and1": [ + "$a[7]", + "notb7" + ], + "fa7.and2": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.or_carry": [ + "fa7.and1", + "fa7.and2" + ] + } + }, + "arithmetic.sub8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "subtractor", + "internal": { + "carry_in": [ + "#1" + ], + "notb0": [ + "$b[0]" + ], + "notb1": [ + "$b[1]" + ], + "notb2": [ + "$b[2]" + ], + "notb3": [ + "$b[3]" + ], + "notb4": [ + "$b[4]" + ], + "notb5": [ + "$b[5]" + ], + "notb6": [ + "$b[6]" + ], + "notb7": [ + "$b[7]" + ], + "fa0.xor1.layer1.nand": [ + "$a[0]", + "notb0" + ], + "fa0.xor1.layer1.or": [ + "$a[0]", + "notb0" + ], + "fa0.xor1.layer2": [ + "fa0.xor1.layer1.nand", + "fa0.xor1.layer1.or" + ], + "fa0.xor2.layer1.nand": [ + "fa0.xor1.layer2", + "carry_in" + ], + "fa0.xor2.layer1.or": [ + "fa0.xor1.layer2", + "carry_in" + ], + "fa0.xor2.layer2": [ + "fa0.xor2.layer1.nand", + "fa0.xor2.layer1.or" + ], + "fa0.and1": [ + "$a[0]", + "notb0" + ], + "fa0.and2": [ + "fa0.xor1.layer2", + "carry_in" + ], + "fa0.or_carry": [ + "fa0.and1", + "fa0.and2" + ], + "fa1.xor1.layer1.nand": [ + "$a[1]", + "notb1" + ], + "fa1.xor1.layer1.or": [ + "$a[1]", + "notb1" + ], + "fa1.xor1.layer2": [ + "fa1.xor1.layer1.nand", + "fa1.xor1.layer1.or" + ], + "fa1.xor2.layer1.nand": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer1.or": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer2": [ + "fa1.xor2.layer1.nand", + "fa1.xor2.layer1.or" + ], + "fa1.and1": [ + "$a[1]", + "notb1" + ], + "fa1.and2": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.or_carry": [ + "fa1.and1", + "fa1.and2" + ], + "fa2.xor1.layer1.nand": [ + "$a[2]", + "notb2" + ], + "fa2.xor1.layer1.or": [ + "$a[2]", + "notb2" + ], + "fa2.xor1.layer2": [ + "fa2.xor1.layer1.nand", + "fa2.xor1.layer1.or" + ], + "fa2.xor2.layer1.nand": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer1.or": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer2": [ + "fa2.xor2.layer1.nand", + "fa2.xor2.layer1.or" + ], + "fa2.and1": [ + "$a[2]", + "notb2" + ], + "fa2.and2": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.or_carry": [ + "fa2.and1", + "fa2.and2" + ], + "fa3.xor1.layer1.nand": [ + "$a[3]", + "notb3" + ], + "fa3.xor1.layer1.or": [ + "$a[3]", + "notb3" + ], + "fa3.xor1.layer2": [ + "fa3.xor1.layer1.nand", + "fa3.xor1.layer1.or" + ], + "fa3.xor2.layer1.nand": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer1.or": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer2": [ + "fa3.xor2.layer1.nand", + "fa3.xor2.layer1.or" + ], + "fa3.and1": [ + "$a[3]", + "notb3" + ], + "fa3.and2": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.or_carry": [ + "fa3.and1", + "fa3.and2" + ], + "fa4.xor1.layer1.nand": [ + "$a[4]", + "notb4" + ], + "fa4.xor1.layer1.or": [ + "$a[4]", + "notb4" + ], + "fa4.xor1.layer2": [ + "fa4.xor1.layer1.nand", + "fa4.xor1.layer1.or" + ], + "fa4.xor2.layer1.nand": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer1.or": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer2": [ + "fa4.xor2.layer1.nand", + "fa4.xor2.layer1.or" + ], + "fa4.and1": [ + "$a[4]", + "notb4" + ], + "fa4.and2": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.or_carry": [ + "fa4.and1", + "fa4.and2" + ], + "fa5.xor1.layer1.nand": [ + "$a[5]", + "notb5" + ], + "fa5.xor1.layer1.or": [ + "$a[5]", + "notb5" + ], + "fa5.xor1.layer2": [ + "fa5.xor1.layer1.nand", + "fa5.xor1.layer1.or" + ], + "fa5.xor2.layer1.nand": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer1.or": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer2": [ + "fa5.xor2.layer1.nand", + "fa5.xor2.layer1.or" + ], + "fa5.and1": [ + "$a[5]", + "notb5" + ], + "fa5.and2": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.or_carry": [ + "fa5.and1", + "fa5.and2" + ], + "fa6.xor1.layer1.nand": [ + "$a[6]", + "notb6" + ], + "fa6.xor1.layer1.or": [ + "$a[6]", + "notb6" + ], + "fa6.xor1.layer2": [ + "fa6.xor1.layer1.nand", + "fa6.xor1.layer1.or" + ], + "fa6.xor2.layer1.nand": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer1.or": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer2": [ + "fa6.xor2.layer1.nand", + "fa6.xor2.layer1.or" + ], + "fa6.and1": [ + "$a[6]", + "notb6" + ], + "fa6.and2": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.or_carry": [ + "fa6.and1", + "fa6.and2" + ], + "fa7.xor1.layer1.nand": [ + "$a[7]", + "notb7" + ], + "fa7.xor1.layer1.or": [ + "$a[7]", + "notb7" + ], + "fa7.xor1.layer2": [ + "fa7.xor1.layer1.nand", + "fa7.xor1.layer1.or" + ], + "fa7.xor2.layer1.nand": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer1.or": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer2": [ + "fa7.xor2.layer1.nand", + "fa7.xor2.layer1.or" + ], + "fa7.and1": [ + "$a[7]", + "notb7" + ], + "fa7.and2": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.or_carry": [ + "fa7.and1", + "fa7.and2" + ] + } + }, + "arithmetic.cmp8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "compare", + "internal": { + "notb0": [ + "$b[0]" + ], + "notb1": [ + "$b[1]" + ], + "notb2": [ + "$b[2]" + ], + "notb3": [ + "$b[3]" + ], + "notb4": [ + "$b[4]" + ], + "notb5": [ + "$b[5]" + ], + "notb6": [ + "$b[6]" + ], + "notb7": [ + "$b[7]" + ], + "fa0.xor1.layer1.nand": [ + "$a[0]", + "notb0" + ], + "fa0.xor1.layer1.or": [ + "$a[0]", + "notb0" + ], + "fa0.xor1.layer2": [ + "fa0.xor1.layer1.nand", + "fa0.xor1.layer1.or" + ], + "fa0.xor2.layer1.nand": [ + "fa0.xor1.layer2", + "#1" + ], + "fa0.xor2.layer1.or": [ + "fa0.xor1.layer2", + "#1" + ], + "fa0.xor2.layer2": [ + "fa0.xor2.layer1.nand", + "fa0.xor2.layer1.or" + ], + "fa0.and1": [ + "$a[0]", + "notb0" + ], + "fa0.and2": [ + "fa0.xor1.layer2", + "#1" + ], + "fa0.or_carry": [ + "fa0.and1", + "fa0.and2" + ], + "fa1.xor1.layer1.nand": [ + "$a[1]", + "notb1" + ], + "fa1.xor1.layer1.or": [ + "$a[1]", + "notb1" + ], + "fa1.xor1.layer2": [ + "fa1.xor1.layer1.nand", + "fa1.xor1.layer1.or" + ], + "fa1.xor2.layer1.nand": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer1.or": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.xor2.layer2": [ + "fa1.xor2.layer1.nand", + "fa1.xor2.layer1.or" + ], + "fa1.and1": [ + "$a[1]", + "notb1" + ], + "fa1.and2": [ + "fa1.xor1.layer2", + "fa0.or_carry" + ], + "fa1.or_carry": [ + "fa1.and1", + "fa1.and2" + ], + "fa2.xor1.layer1.nand": [ + "$a[2]", + "notb2" + ], + "fa2.xor1.layer1.or": [ + "$a[2]", + "notb2" + ], + "fa2.xor1.layer2": [ + "fa2.xor1.layer1.nand", + "fa2.xor1.layer1.or" + ], + "fa2.xor2.layer1.nand": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer1.or": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.xor2.layer2": [ + "fa2.xor2.layer1.nand", + "fa2.xor2.layer1.or" + ], + "fa2.and1": [ + "$a[2]", + "notb2" + ], + "fa2.and2": [ + "fa2.xor1.layer2", + "fa1.or_carry" + ], + "fa2.or_carry": [ + "fa2.and1", + "fa2.and2" + ], + "fa3.xor1.layer1.nand": [ + "$a[3]", + "notb3" + ], + "fa3.xor1.layer1.or": [ + "$a[3]", + "notb3" + ], + "fa3.xor1.layer2": [ + "fa3.xor1.layer1.nand", + "fa3.xor1.layer1.or" + ], + "fa3.xor2.layer1.nand": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer1.or": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.xor2.layer2": [ + "fa3.xor2.layer1.nand", + "fa3.xor2.layer1.or" + ], + "fa3.and1": [ + "$a[3]", + "notb3" + ], + "fa3.and2": [ + "fa3.xor1.layer2", + "fa2.or_carry" + ], + "fa3.or_carry": [ + "fa3.and1", + "fa3.and2" + ], + "fa4.xor1.layer1.nand": [ + "$a[4]", + "notb4" + ], + "fa4.xor1.layer1.or": [ + "$a[4]", + "notb4" + ], + "fa4.xor1.layer2": [ + "fa4.xor1.layer1.nand", + "fa4.xor1.layer1.or" + ], + "fa4.xor2.layer1.nand": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer1.or": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.xor2.layer2": [ + "fa4.xor2.layer1.nand", + "fa4.xor2.layer1.or" + ], + "fa4.and1": [ + "$a[4]", + "notb4" + ], + "fa4.and2": [ + "fa4.xor1.layer2", + "fa3.or_carry" + ], + "fa4.or_carry": [ + "fa4.and1", + "fa4.and2" + ], + "fa5.xor1.layer1.nand": [ + "$a[5]", + "notb5" + ], + "fa5.xor1.layer1.or": [ + "$a[5]", + "notb5" + ], + "fa5.xor1.layer2": [ + "fa5.xor1.layer1.nand", + "fa5.xor1.layer1.or" + ], + "fa5.xor2.layer1.nand": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer1.or": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.xor2.layer2": [ + "fa5.xor2.layer1.nand", + "fa5.xor2.layer1.or" + ], + "fa5.and1": [ + "$a[5]", + "notb5" + ], + "fa5.and2": [ + "fa5.xor1.layer2", + "fa4.or_carry" + ], + "fa5.or_carry": [ + "fa5.and1", + "fa5.and2" + ], + "fa6.xor1.layer1.nand": [ + "$a[6]", + "notb6" + ], + "fa6.xor1.layer1.or": [ + "$a[6]", + "notb6" + ], + "fa6.xor1.layer2": [ + "fa6.xor1.layer1.nand", + "fa6.xor1.layer1.or" + ], + "fa6.xor2.layer1.nand": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer1.or": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.xor2.layer2": [ + "fa6.xor2.layer1.nand", + "fa6.xor2.layer1.or" + ], + "fa6.and1": [ + "$a[6]", + "notb6" + ], + "fa6.and2": [ + "fa6.xor1.layer2", + "fa5.or_carry" + ], + "fa6.or_carry": [ + "fa6.and1", + "fa6.and2" + ], + "fa7.xor1.layer1.nand": [ + "$a[7]", + "notb7" + ], + "fa7.xor1.layer1.or": [ + "$a[7]", + "notb7" + ], + "fa7.xor1.layer2": [ + "fa7.xor1.layer1.nand", + "fa7.xor1.layer1.or" + ], + "fa7.xor2.layer1.nand": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer1.or": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.xor2.layer2": [ + "fa7.xor2.layer1.nand", + "fa7.xor2.layer1.or" + ], + "fa7.and1": [ + "$a[7]", + "notb7" + ], + "fa7.and2": [ + "fa7.xor1.layer2", + "fa6.or_carry" + ], + "fa7.or_carry": [ + "fa7.and1", + "fa7.and2" + ], + "flags.zero_or": [ + "fa0.xor2.layer2", + "fa1.xor2.layer2", + "fa2.xor2.layer2", + "fa3.xor2.layer2", + "fa4.xor2.layer2", + "fa5.xor2.layer2", + "fa6.xor2.layer2", + "fa7.xor2.layer2" + ], + "flags.zero": [ + "flags.zero_or" + ], + "flags.negative": [ + "fa7.xor2.layer2" + ], + "flags.carry": [ + "fa7.or_carry" + ] + } + }, + "arithmetic.rol8bit": { + "inputs": [ + "$x[0:7]", + "$cin" + ], + "type": "rotate", + "internal": { + "bit0": [ + "$cin" + ], + "bit1": [ + "$x[0]" + ], + "bit2": [ + "$x[1]" + ], + "bit3": [ + "$x[2]" + ], + "bit4": [ + "$x[3]" + ], + "bit5": [ + "$x[4]" + ], + "bit6": [ + "$x[5]" + ], + "bit7": [ + "$x[6]" + ], + "cout": [ + "$x[7]" + ] + } + }, + "arithmetic.ror8bit": { + "inputs": [ + "$x[0:7]", + "$cin" + ], + "type": "rotate", + "internal": { + "bit0": [ + "$x[1]" + ], + "bit1": [ + "$x[2]" + ], + "bit2": [ + "$x[3]" + ], + "bit3": [ + "$x[4]" + ], + "bit4": [ + "$x[5]" + ], + "bit5": [ + "$x[6]" + ], + "bit6": [ + "$x[7]" + ], + "bit7": [ + "$cin" + ], + "cout": [ + "$x[0]" + ] + } + }, + "combinational.decoder3to8": { + "inputs": [ + "$sel[0:2]" + ], + "type": "decoder", + "internal": { + "out0": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ], + "out1": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ], + "out2": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ], + "out3": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ], + "out4": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ], + "out5": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ], + "out6": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ], + "out7": [ + "$sel[0]", + "$sel[1]", + "$sel[2]" + ] + } + }, + "combinational.encoder8to3": { + "inputs": [ + "$x[0:7]" + ], + "type": "encoder", + "internal": { + "bit0": [ + "$x[0:7]" + ], + "bit1": [ + "$x[0:7]" + ], + "bit2": [ + "$x[0:7]" + ] + } + }, + "combinational.multiplexer2to1": { + "inputs": [ + "$a", + "$b", + "$sel" + ], + "type": "mux", + "internal": { + "not_s": [ + "$sel" + ], + "and0": [ + "$a", + "not_s" + ], + "and1": [ + "$b", + "$sel" + ], + "or": [ + "and0", + "and1" + ] + }, + "output": "or" + }, + "combinational.multiplexer4to1": { + "inputs": [ + "$x[0:3]", + "$sel[0:1]" + ], + "type": "mux", + "internal": { + "select": [ + "$x[0:3]", + "$sel[0:1]" + ] + } + }, + "combinational.multiplexer8to1": { + "inputs": [ + "$x[0:7]", + "$sel[0:2]" + ], + "type": "mux", + "internal": { + "select": [ + "$x[0:7]", + "$sel[0:2]" + ] + } + }, + "combinational.demultiplexer1to2": { + "inputs": [ + "$x", + "$sel" + ], + "type": "demux", + "internal": { + "and0": [ + "$x", + "$sel" + ], + "and1": [ + "$x", + "$sel" + ] + } + }, + "combinational.demultiplexer1to4": { + "inputs": [ + "$x", + "$sel[0:1]" + ], + "type": "demux", + "internal": { + "decode": [ + "$x", + "$sel[0:1]" + ] + } + }, + "combinational.demultiplexer1to8": { + "inputs": [ + "$x", + "$sel[0:2]" + ], + "type": "demux", + "internal": { + "decode": [ + "$x", + "$sel[0:2]" + ] + } + }, + "combinational.barrelshifter8bit": { + "inputs": [ + "$x[0:7]", + "$shift[0:2]" + ], + "type": "barrel_shifter", + "internal": { + "shift": [ + "$x[0:7]", + "$shift[0:2]" + ] + } + }, + "combinational.priorityencoder8bit": { + "inputs": [ + "$x[0:7]" + ], + "type": "priority_encoder", + "internal": { + "priority": [ + "$x[0:7]" + ] + } + }, + "combinational.regmux4to1": { + "inputs": [ + "$r0[0:7]", + "$r1[0:7]", + "$r2[0:7]", + "$r3[0:7]", + "$sel[0:1]" + ], + "type": "register_mux", + "internal": { + "not_s0": [ + "$sel[0]" + ], + "not_s1": [ + "$sel[1]" + ], + "bit0.and0": [ + "$r0[0]", + "not_s0", + "not_s1" + ], + "bit0.and1": [ + "$r1[0]", + "$sel[0]", + "not_s1" + ], + "bit0.and2": [ + "$r2[0]", + "not_s0", + "$sel[1]" + ], + "bit0.and3": [ + "$r3[0]", + "$sel[0]", + "$sel[1]" + ], + "bit0.or": [ + "bit0.and0", + "bit0.and1", + "bit0.and2", + "bit0.and3" + ], + "bit1.and0": [ + "$r0[1]", + "not_s0", + "not_s1" + ], + "bit1.and1": [ + "$r1[1]", + "$sel[0]", + "not_s1" + ], + "bit1.and2": [ + "$r2[1]", + "not_s0", + "$sel[1]" + ], + "bit1.and3": [ + "$r3[1]", + "$sel[0]", + "$sel[1]" + ], + "bit1.or": [ + "bit1.and0", + "bit1.and1", + "bit1.and2", + "bit1.and3" + ], + "bit2.and0": [ + "$r0[2]", + "not_s0", + "not_s1" + ], + "bit2.and1": [ + "$r1[2]", + "$sel[0]", + "not_s1" + ], + "bit2.and2": [ + "$r2[2]", + "not_s0", + "$sel[1]" + ], + "bit2.and3": [ + "$r3[2]", + "$sel[0]", + "$sel[1]" + ], + "bit2.or": [ + "bit2.and0", + "bit2.and1", + "bit2.and2", + "bit2.and3" + ], + "bit3.and0": [ + "$r0[3]", + "not_s0", + "not_s1" + ], + "bit3.and1": [ + "$r1[3]", + "$sel[0]", + "not_s1" + ], + "bit3.and2": [ + "$r2[3]", + "not_s0", + "$sel[1]" + ], + "bit3.and3": [ + "$r3[3]", + "$sel[0]", + "$sel[1]" + ], + "bit3.or": [ + "bit3.and0", + "bit3.and1", + "bit3.and2", + "bit3.and3" + ], + "bit4.and0": [ + "$r0[4]", + "not_s0", + "not_s1" + ], + "bit4.and1": [ + "$r1[4]", + "$sel[0]", + "not_s1" + ], + "bit4.and2": [ + "$r2[4]", + "not_s0", + "$sel[1]" + ], + "bit4.and3": [ + "$r3[4]", + "$sel[0]", + "$sel[1]" + ], + "bit4.or": [ + "bit4.and0", + "bit4.and1", + "bit4.and2", + "bit4.and3" + ], + "bit5.and0": [ + "$r0[5]", + "not_s0", + "not_s1" + ], + "bit5.and1": [ + "$r1[5]", + "$sel[0]", + "not_s1" + ], + "bit5.and2": [ + "$r2[5]", + "not_s0", + "$sel[1]" + ], + "bit5.and3": [ + "$r3[5]", + "$sel[0]", + "$sel[1]" + ], + "bit5.or": [ + "bit5.and0", + "bit5.and1", + "bit5.and2", + "bit5.and3" + ], + "bit6.and0": [ + "$r0[6]", + "not_s0", + "not_s1" + ], + "bit6.and1": [ + "$r1[6]", + "$sel[0]", + "not_s1" + ], + "bit6.and2": [ + "$r2[6]", + "not_s0", + "$sel[1]" + ], + "bit6.and3": [ + "$r3[6]", + "$sel[0]", + "$sel[1]" + ], + "bit6.or": [ + "bit6.and0", + "bit6.and1", + "bit6.and2", + "bit6.and3" + ], + "bit7.and0": [ + "$r0[7]", + "not_s0", + "not_s1" + ], + "bit7.and1": [ + "$r1[7]", + "$sel[0]", + "not_s1" + ], + "bit7.and2": [ + "$r2[7]", + "not_s0", + "$sel[1]" + ], + "bit7.and3": [ + "$r3[7]", + "$sel[0]", + "$sel[1]" + ], + "bit7.or": [ + "bit7.and0", + "bit7.and1", + "bit7.and2", + "bit7.and3" + ] + } + }, + "control.decoder": { + "inputs": [ + "$opcode[0:3]" + ], + "type": "instruction_decoder", + "internal": { + "decode0": [ + "$opcode[0:3]" + ], + "decode1": [ + "$opcode[0:3]" + ], + "decode2": [ + "$opcode[0:3]" + ], + "decode3": [ + "$opcode[0:3]" + ], + "decode4": [ + "$opcode[0:3]" + ], + "decode5": [ + "$opcode[0:3]" + ], + "decode6": [ + "$opcode[0:3]" + ], + "decode7": [ + "$opcode[0:3]" + ], + "decode8": [ + "$opcode[0:3]" + ], + "decode9": [ + "$opcode[0:3]" + ], + "decode10": [ + "$opcode[0:3]" + ], + "decode11": [ + "$opcode[0:3]" + ], + "decode12": [ + "$opcode[0:3]" + ], + "decode13": [ + "$opcode[0:3]" + ], + "decode14": [ + "$opcode[0:3]" + ], + "decode15": [ + "$opcode[0:3]" + ], + "not_op0": [ + "$opcode[0]" + ], + "not_op1": [ + "$opcode[1]" + ], + "not_op2": [ + "$opcode[2]" + ], + "not_op3": [ + "$opcode[3]" + ], + "is_alu": [ + "$opcode[0:3]" + ], + "is_control": [ + "$opcode[0:3]" + ] + } + }, + "control.jump": { + "inputs": [ + "$target[0:7]" + ], + "type": "jump", + "internal": { + "bit0": [ + "$target[0]" + ], + "bit1": [ + "$target[1]" + ], + "bit2": [ + "$target[2]" + ], + "bit3": [ + "$target[3]" + ], + "bit4": [ + "$target[4]" + ], + "bit5": [ + "$target[5]" + ], + "bit6": [ + "$target[6]" + ], + "bit7": [ + "$target[7]" + ] + } + }, + "control.conditionaljump": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$cond" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$cond" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$cond" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$cond" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$cond" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$cond" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$cond" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$cond" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$cond" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$cond" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$cond" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$cond" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$cond" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$cond" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$cond" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$cond" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$cond" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jc": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$carry" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$carry" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$carry" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$carry" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$carry" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$carry" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$carry" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$carry" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$carry" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$carry" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$carry" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$carry" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$carry" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$carry" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$carry" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$carry" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$carry" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jn": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$negative" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$negative" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$negative" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$negative" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$negative" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$negative" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$negative" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$negative" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$negative" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$negative" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$negative" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$negative" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$negative" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$negative" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$negative" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$negative" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$negative" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jz": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$zero" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$zero" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$zero" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$zero" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$zero" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$zero" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$zero" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$zero" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$zero" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$zero" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$zero" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$zero" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$zero" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$zero" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$zero" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$zero" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$zero" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jv": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$overflow" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$overflow" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$overflow" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$overflow" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$overflow" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$overflow" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$overflow" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$overflow" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$overflow" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$overflow" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$overflow" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$overflow" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$overflow" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$overflow" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$overflow" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$overflow" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$overflow" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jnc": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$not_carry" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$not_carry" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$not_carry" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$not_carry" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$not_carry" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$not_carry" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$not_carry" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$not_carry" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$not_carry" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$not_carry" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$not_carry" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$not_carry" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$not_carry" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$not_carry" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$not_carry" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$not_carry" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$not_carry" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jnz": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$not_zero" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$not_zero" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$not_zero" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$not_zero" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$not_zero" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$not_zero" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$not_zero" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$not_zero" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$not_zero" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$not_zero" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$not_zero" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$not_zero" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$not_zero" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$not_zero" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$not_zero" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$not_zero" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$not_zero" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jnv": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$not_overflow" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$not_overflow" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$not_overflow" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$not_overflow" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$not_overflow" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$not_overflow" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$not_overflow" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$not_overflow" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$not_overflow" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$not_overflow" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$not_overflow" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$not_overflow" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$not_overflow" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$not_overflow" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$not_overflow" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$not_overflow" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$not_overflow" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.jp": { + "inputs": [ + "$pc[0:7]", + "$target[0:7]", + "$positive" + ], + "type": "conditional_jump", + "internal": { + "bit0.not_sel": [ + "$positive" + ], + "bit0.and_a": [ + "$pc[0]", + "bit0.not_sel" + ], + "bit0.and_b": [ + "$target[0]", + "$positive" + ], + "bit0.or": [ + "bit0.and_a", + "bit0.and_b" + ], + "bit1.not_sel": [ + "$positive" + ], + "bit1.and_a": [ + "$pc[1]", + "bit1.not_sel" + ], + "bit1.and_b": [ + "$target[1]", + "$positive" + ], + "bit1.or": [ + "bit1.and_a", + "bit1.and_b" + ], + "bit2.not_sel": [ + "$positive" + ], + "bit2.and_a": [ + "$pc[2]", + "bit2.not_sel" + ], + "bit2.and_b": [ + "$target[2]", + "$positive" + ], + "bit2.or": [ + "bit2.and_a", + "bit2.and_b" + ], + "bit3.not_sel": [ + "$positive" + ], + "bit3.and_a": [ + "$pc[3]", + "bit3.not_sel" + ], + "bit3.and_b": [ + "$target[3]", + "$positive" + ], + "bit3.or": [ + "bit3.and_a", + "bit3.and_b" + ], + "bit4.not_sel": [ + "$positive" + ], + "bit4.and_a": [ + "$pc[4]", + "bit4.not_sel" + ], + "bit4.and_b": [ + "$target[4]", + "$positive" + ], + "bit4.or": [ + "bit4.and_a", + "bit4.and_b" + ], + "bit5.not_sel": [ + "$positive" + ], + "bit5.and_a": [ + "$pc[5]", + "bit5.not_sel" + ], + "bit5.and_b": [ + "$target[5]", + "$positive" + ], + "bit5.or": [ + "bit5.and_a", + "bit5.and_b" + ], + "bit6.not_sel": [ + "$positive" + ], + "bit6.and_a": [ + "$pc[6]", + "bit6.not_sel" + ], + "bit6.and_b": [ + "$target[6]", + "$positive" + ], + "bit6.or": [ + "bit6.and_a", + "bit6.and_b" + ], + "bit7.not_sel": [ + "$positive" + ], + "bit7.and_a": [ + "$pc[7]", + "bit7.not_sel" + ], + "bit7.and_b": [ + "$target[7]", + "$positive" + ], + "bit7.or": [ + "bit7.and_a", + "bit7.and_b" + ] + } + }, + "control.call": { + "inputs": [ + "$target[0:7]" + ], + "type": "call", + "internal": { + "jump": [ + "$target[0:7]" + ], + "push": [ + "$pc[0:7]" + ] + } + }, + "control.ret": { + "inputs": [ + "$stack_top[0:7]" + ], + "type": "return", + "internal": { + "jump": [ + "$stack_top[0:7]" + ], + "pop": [ + "#1" + ] + } + }, + "control.push": { + "inputs": [ + "$value[0:7]", + "$sp[0:7]" + ], + "type": "push", + "internal": { + "sp_dec": [ + "$sp[0:7]" + ], + "store": [ + "$value[0:7]" + ] + } + }, + "control.pop": { + "inputs": [ + "$sp[0:7]" + ], + "type": "pop", + "internal": { + "load": [ + "$sp[0:7]" + ], + "sp_inc": [ + "$sp[0:7]" + ] + } + }, + "control.sp_dec": { + "inputs": [ + "$sp[0:7]" + ], + "type": "sp_dec", + "internal": { + "uses": [ + "$sp[0:7]" + ] + } + }, + "control.sp_inc": { + "inputs": [ + "$sp[0:7]" + ], + "type": "sp_inc", + "internal": { + "uses": [ + "$sp[0:7]" + ] + } + }, + "control.pc_inc": { + "inputs": [ + "$pc[0:7]" + ], + "type": "pc_increment", + "internal": { + "sum0": [ + "$pc[0]" + ], + "carry0": [ + "$pc[0]" + ], + "overflow": [ + "$pc[7]" + ], + "xor1.layer1.nand": [ + "$pc[1]", + "carry0" + ], + "xor1.layer1.or": [ + "$pc[1]", + "carry0" + ], + "xor1.layer2": [ + "xor1.layer1.nand", + "xor1.layer1.or" + ], + "and1": [ + "$pc[1]", + "carry0" + ], + "xor2.layer1.nand": [ + "$pc[2]", + "carry1" + ], + "xor2.layer1.or": [ + "$pc[2]", + "carry1" + ], + "xor2.layer2": [ + "xor2.layer1.nand", + "xor2.layer1.or" + ], + "and2": [ + "$pc[2]", + "carry1" + ], + "xor3.layer1.nand": [ + "$pc[3]", + "carry2" + ], + "xor3.layer1.or": [ + "$pc[3]", + "carry2" + ], + "xor3.layer2": [ + "xor3.layer1.nand", + "xor3.layer1.or" + ], + "and3": [ + "$pc[3]", + "carry2" + ], + "xor4.layer1.nand": [ + "$pc[4]", + "carry3" + ], + "xor4.layer1.or": [ + "$pc[4]", + "carry3" + ], + "xor4.layer2": [ + "xor4.layer1.nand", + "xor4.layer1.or" + ], + "and4": [ + "$pc[4]", + "carry3" + ], + "xor5.layer1.nand": [ + "$pc[5]", + "carry4" + ], + "xor5.layer1.or": [ + "$pc[5]", + "carry4" + ], + "xor5.layer2": [ + "xor5.layer1.nand", + "xor5.layer1.or" + ], + "and5": [ + "$pc[5]", + "carry4" + ], + "xor6.layer1.nand": [ + "$pc[6]", + "carry5" + ], + "xor6.layer1.or": [ + "$pc[6]", + "carry5" + ], + "xor6.layer2": [ + "xor6.layer1.nand", + "xor6.layer1.or" + ], + "and6": [ + "$pc[6]", + "carry5" + ], + "xor7.layer1.nand": [ + "$pc[7]", + "carry6" + ], + "xor7.layer1.or": [ + "$pc[7]", + "carry6" + ], + "xor7.layer2": [ + "xor7.layer1.nand", + "xor7.layer1.or" + ], + "and7": [ + "$pc[7]", + "carry6" + ] + } + }, + "control.pc_load": { + "inputs": [ + "$pc_inc[0:7]", + "$target[0:7]", + "$jump" + ], + "type": "pc_load", + "internal": { + "not_jump": [ + "$jump" + ], + "bit0.and_pc": [ + "$pc_inc[0]", + "not_jump" + ], + "bit0.and_jump": [ + "$target[0]", + "$jump" + ], + "bit0.or": [ + "bit0.and_pc", + "bit0.and_jump" + ], + "bit1.and_pc": [ + "$pc_inc[1]", + "not_jump" + ], + "bit1.and_jump": [ + "$target[1]", + "$jump" + ], + "bit1.or": [ + "bit1.and_pc", + "bit1.and_jump" + ], + "bit2.and_pc": [ + "$pc_inc[2]", + "not_jump" + ], + "bit2.and_jump": [ + "$target[2]", + "$jump" + ], + "bit2.or": [ + "bit2.and_pc", + "bit2.and_jump" + ], + "bit3.and_pc": [ + "$pc_inc[3]", + "not_jump" + ], + "bit3.and_jump": [ + "$target[3]", + "$jump" + ], + "bit3.or": [ + "bit3.and_pc", + "bit3.and_jump" + ], + "bit4.and_pc": [ + "$pc_inc[4]", + "not_jump" + ], + "bit4.and_jump": [ + "$target[4]", + "$jump" + ], + "bit4.or": [ + "bit4.and_pc", + "bit4.and_jump" + ], + "bit5.and_pc": [ + "$pc_inc[5]", + "not_jump" + ], + "bit5.and_jump": [ + "$target[5]", + "$jump" + ], + "bit5.or": [ + "bit5.and_pc", + "bit5.and_jump" + ], + "bit6.and_pc": [ + "$pc_inc[6]", + "not_jump" + ], + "bit6.and_jump": [ + "$target[6]", + "$jump" + ], + "bit6.or": [ + "bit6.and_pc", + "bit6.and_jump" + ], + "bit7.and_pc": [ + "$pc_inc[7]", + "not_jump" + ], + "bit7.and_jump": [ + "$target[7]", + "$jump" + ], + "bit7.or": [ + "bit7.and_pc", + "bit7.and_jump" + ] + } + }, + "control.halt": { + "inputs": [ + "$halt", + "$flag_c", + "$flag_n", + "$flag_v", + "$flag_z", + "$pc[0:7]", + "$value[0:7]" + ], + "type": "halt", + "internal": { + "signal": [ + "$halt" + ], + "flag_c": [ + "$flag_c" + ], + "flag_n": [ + "$flag_n" + ], + "flag_v": [ + "$flag_v" + ], + "flag_z": [ + "$flag_z" + ], + "pc.bit0": [ + "$pc[0]" + ], + "value.bit0": [ + "$value[0]" + ], + "pc.bit1": [ + "$pc[1]" + ], + "value.bit1": [ + "$value[1]" + ], + "pc.bit2": [ + "$pc[2]" + ], + "value.bit2": [ + "$value[2]" + ], + "pc.bit3": [ + "$pc[3]" + ], + "value.bit3": [ + "$value[3]" + ], + "pc.bit4": [ + "$pc[4]" + ], + "value.bit4": [ + "$value[4]" + ], + "pc.bit5": [ + "$pc[5]" + ], + "value.bit5": [ + "$value[5]" + ], + "pc.bit6": [ + "$pc[6]" + ], + "value.bit6": [ + "$value[6]" + ], + "pc.bit7": [ + "$pc[7]" + ], + "value.bit7": [ + "$value[7]" + ] + } + }, + "control.nop": { + "inputs": [ + "$x[0:7]", + "$flag_c", + "$flag_n", + "$flag_v", + "$flag_z" + ], + "type": "nop", + "internal": { + "output": [ + "#1" + ], + "bit0": [ + "$x[0]" + ], + "bit1": [ + "$x[1]" + ], + "bit2": [ + "$x[2]" + ], + "bit3": [ + "$x[3]" + ], + "bit4": [ + "$x[4]" + ], + "bit5": [ + "$x[5]" + ], + "bit6": [ + "$x[6]" + ], + "bit7": [ + "$x[7]" + ], + "flag_c": [ + "$flag_c" + ], + "flag_n": [ + "$flag_n" + ], + "flag_v": [ + "$flag_v" + ], + "flag_z": [ + "$flag_z" + ] + } + }, + "control.fetch.ir": { + "inputs": [ + "$data[0:15]" + ], + "type": "buffer", + "internal": { + "bit0": [ + "$data[0]" + ], + "bit1": [ + "$data[1]" + ], + "bit2": [ + "$data[2]" + ], + "bit3": [ + "$data[3]" + ], + "bit4": [ + "$data[4]" + ], + "bit5": [ + "$data[5]" + ], + "bit6": [ + "$data[6]" + ], + "bit7": [ + "$data[7]" + ], + "bit8": [ + "$data[8]" + ], + "bit9": [ + "$data[9]" + ], + "bit10": [ + "$data[10]" + ], + "bit11": [ + "$data[11]" + ], + "bit12": [ + "$data[12]" + ], + "bit13": [ + "$data[13]" + ], + "bit14": [ + "$data[14]" + ], + "bit15": [ + "$data[15]" + ] + } + }, + "control.load": { + "inputs": [ + "$data[0:7]" + ], + "type": "buffer", + "internal": { + "bit0": [ + "$data[0]" + ], + "bit1": [ + "$data[1]" + ], + "bit2": [ + "$data[2]" + ], + "bit3": [ + "$data[3]" + ], + "bit4": [ + "$data[4]" + ], + "bit5": [ + "$data[5]" + ], + "bit6": [ + "$data[6]" + ], + "bit7": [ + "$data[7]" + ] + } + }, + "control.store": { + "inputs": [ + "$data[0:7]" + ], + "type": "buffer", + "internal": { + "bit0": [ + "$data[0]" + ], + "bit1": [ + "$data[1]" + ], + "bit2": [ + "$data[2]" + ], + "bit3": [ + "$data[3]" + ], + "bit4": [ + "$data[4]" + ], + "bit5": [ + "$data[5]" + ], + "bit6": [ + "$data[6]" + ], + "bit7": [ + "$data[7]" + ] + } + }, + "control.mem_addr": { + "inputs": [ + "$addr[0:15]" + ], + "type": "buffer", + "internal": { + "bit0": [ + "$addr[0]" + ], + "bit1": [ + "$addr[1]" + ], + "bit2": [ + "$addr[2]" + ], + "bit3": [ + "$addr[3]" + ], + "bit4": [ + "$addr[4]" + ], + "bit5": [ + "$addr[5]" + ], + "bit6": [ + "$addr[6]" + ], + "bit7": [ + "$addr[7]" + ], + "bit8": [ + "$addr[8]" + ], + "bit9": [ + "$addr[9]" + ], + "bit10": [ + "$addr[10]" + ], + "bit11": [ + "$addr[11]" + ], + "bit12": [ + "$addr[12]" + ], + "bit13": [ + "$addr[13]" + ], + "bit14": [ + "$addr[14]" + ], + "bit15": [ + "$addr[15]" + ] + } + }, + "memory.addr_decode": { + "inputs": [ + "$addr[0:15]" + ], + "type": "decoder_packed", + "internal": { + "weight": [ + "memory.addr_decode.weight" + ], + "bias": [ + "memory.addr_decode.bias" + ] + } + }, + "memory.read": { + "inputs": [ + "$mem[0:65535][0:7]", + "$sel[0:65535]" + ], + "type": "read_mux_packed", + "internal": { + "and": [ + "memory.read.and.weight", + "memory.read.and.bias" + ], + "or": [ + "memory.read.or.weight", + "memory.read.or.bias" + ] + }, + "outputs": { + "bit0": "bit0", + "bit1": "bit1", + "bit2": "bit2", + "bit3": "bit3", + "bit4": "bit4", + "bit5": "bit5", + "bit6": "bit6", + "bit7": "bit7" + } + }, + "memory.write": { + "inputs": [ + "$mem[0:65535][0:7]", + "$write_data[0:7]", + "$sel[0:65535]", + "$we" + ], + "type": "write_mux_packed", + "internal": { + "sel": [ + "memory.write.sel.weight", + "memory.write.sel.bias" + ], + "nsel": [ + "memory.write.nsel.weight", + "memory.write.nsel.bias" + ], + "and_old": [ + "memory.write.and_old.weight", + "memory.write.and_old.bias" + ], + "and_new": [ + "memory.write.and_new.weight", + "memory.write.and_new.bias" + ], + "or": [ + "memory.write.or.weight", + "memory.write.or.bias" + ] + } + }, + "error_detection.evenparitychecker": { + "inputs": [ + "$x[0:7]" + ], + "type": "parity", + "internal": { + "": [ + "$x[0:7]" + ] + } + }, + "error_detection.oddparitychecker": { + "inputs": [ + "$x[0:7]" + ], + "type": "parity", + "internal": { + "parity": [ + "$x[0:7]" + ], + "not": [ + "parity" + ] + } + }, + "error_detection.checksum8bit": { + "inputs": [ + "$x[0:7]" + ], + "type": "checksum", + "internal": { + "sum": [ + "$x[0:7]" + ] + } + }, + "error_detection.crc4": { + "inputs": [ + "$data[0:7]" + ], + "type": "crc", + "internal": { + "divisor": [ + "#1", + "#0", + "#0", + "#1", + "#1" + ] + } + }, + "error_detection.crc8": { + "inputs": [ + "$data[0:7]" + ], + "type": "crc", + "internal": { + "divisor": [ + "#1", + "#0", + "#0", + "#0", + "#0", + "#0", + "#1", + "#1", + "#1" + ] + } + }, + "error_detection.hammingencode4bit": { + "inputs": [ + "$d[0:3]" + ], + "type": "hamming_encode", + "internal": { + "p0": [ + "$d[0:3]" + ], + "p1": [ + "$d[0:3]" + ], + "p2": [ + "$d[0:3]" + ], + "p3": [ + "$d[0:3]" + ] + } + }, + "error_detection.hammingdecode7bit": { + "inputs": [ + "$c[0:6]" + ], + "type": "hamming_decode", + "internal": { + "s1": [ + "$c[0:6]" + ], + "s2": [ + "$c[0:6]" + ], + "s3": [ + "$c[0:6]" + ] + } + }, + "error_detection.hammingsyndrome": { + "inputs": [ + "$c[0:6]" + ], + "type": "hamming_syndrome", + "internal": { + "s1": [ + "$c[0:6]" + ], + "s2": [ + "$c[0:6]" + ], + "s3": [ + "$c[0:6]" + ] + } + }, + "error_detection.longitudinalparity": { + "inputs": [ + "$data" + ], + "type": "longitudinal_parity", + "internal": { + "col_parity": [ + "$data" + ], + "row_parity": [ + "$data" + ] + } + }, + "error_detection.paritychecker8bit": { + "inputs": [ + "$x[0:7]" + ], + "type": "parity_tree", + "internal": { + "stage1.xor0.layer1.nand": [ + "$stage1_in[0]", + "$stage1_in[1]" + ], + "stage1.xor0.layer1.or": [ + "$stage1_in[0]", + "$stage1_in[1]" + ], + "stage1.xor0.layer2": [ + "stage1.xor0.layer1.nand", + "stage1.xor0.layer1.or" + ], + "stage1.xor1.layer1.nand": [ + "$stage1_in[2]", + "$stage1_in[3]" + ], + "stage1.xor1.layer1.or": [ + "$stage1_in[2]", + "$stage1_in[3]" + ], + "stage1.xor1.layer2": [ + "stage1.xor1.layer1.nand", + "stage1.xor1.layer1.or" + ], + "stage1.xor2.layer1.nand": [ + "$stage1_in[4]", + "$stage1_in[5]" + ], + "stage1.xor2.layer1.or": [ + "$stage1_in[4]", + "$stage1_in[5]" + ], + "stage1.xor2.layer2": [ + "stage1.xor2.layer1.nand", + "stage1.xor2.layer1.or" + ], + "stage1.xor3.layer1.nand": [ + "$stage1_in[6]", + "$stage1_in[7]" + ], + "stage1.xor3.layer1.or": [ + "$stage1_in[6]", + "$stage1_in[7]" + ], + "stage1.xor3.layer2": [ + "stage1.xor3.layer1.nand", + "stage1.xor3.layer1.or" + ], + "stage2.xor0.layer1.nand": [ + "$stage2_in[0]", + "$stage2_in[1]" + ], + "stage2.xor0.layer1.or": [ + "$stage2_in[0]", + "$stage2_in[1]" + ], + "stage2.xor0.layer2": [ + "stage2.xor0.layer1.nand", + "stage2.xor0.layer1.or" + ], + "stage2.xor1.layer1.nand": [ + "$stage2_in[2]", + "$stage2_in[3]" + ], + "stage2.xor1.layer1.or": [ + "$stage2_in[2]", + "$stage2_in[3]" + ], + "stage2.xor1.layer2": [ + "stage2.xor1.layer1.nand", + "stage2.xor1.layer1.or" + ], + "stage3.xor0.layer1.nand": [ + "$stage3_in[0]", + "$stage3_in[1]" + ], + "stage3.xor0.layer1.or": [ + "$stage3_in[0]", + "$stage3_in[1]" + ], + "stage3.xor0.layer2": [ + "stage3.xor0.layer1.nand", + "stage3.xor0.layer1.or" + ], + "output.not": [ + "stage3.xor0.layer2" + ] + } + }, + "error_detection.paritygenerator8bit": { + "inputs": [ + "$x[0:7]" + ], + "type": "parity_tree", + "internal": { + "stage1.xor0.layer1.nand": [ + "$stage1_in[0]", + "$stage1_in[1]" + ], + "stage1.xor0.layer1.or": [ + "$stage1_in[0]", + "$stage1_in[1]" + ], + "stage1.xor0.layer2": [ + "stage1.xor0.layer1.nand", + "stage1.xor0.layer1.or" + ], + "stage1.xor1.layer1.nand": [ + "$stage1_in[2]", + "$stage1_in[3]" + ], + "stage1.xor1.layer1.or": [ + "$stage1_in[2]", + "$stage1_in[3]" + ], + "stage1.xor1.layer2": [ + "stage1.xor1.layer1.nand", + "stage1.xor1.layer1.or" + ], + "stage1.xor2.layer1.nand": [ + "$stage1_in[4]", + "$stage1_in[5]" + ], + "stage1.xor2.layer1.or": [ + "$stage1_in[4]", + "$stage1_in[5]" + ], + "stage1.xor2.layer2": [ + "stage1.xor2.layer1.nand", + "stage1.xor2.layer1.or" + ], + "stage1.xor3.layer1.nand": [ + "$stage1_in[6]", + "$stage1_in[7]" + ], + "stage1.xor3.layer1.or": [ + "$stage1_in[6]", + "$stage1_in[7]" + ], + "stage1.xor3.layer2": [ + "stage1.xor3.layer1.nand", + "stage1.xor3.layer1.or" + ], + "stage2.xor0.layer1.nand": [ + "$stage2_in[0]", + "$stage2_in[1]" + ], + "stage2.xor0.layer1.or": [ + "$stage2_in[0]", + "$stage2_in[1]" + ], + "stage2.xor0.layer2": [ + "stage2.xor0.layer1.nand", + "stage2.xor0.layer1.or" + ], + "stage2.xor1.layer1.nand": [ + "$stage2_in[2]", + "$stage2_in[3]" + ], + "stage2.xor1.layer1.or": [ + "$stage2_in[2]", + "$stage2_in[3]" + ], + "stage2.xor1.layer2": [ + "stage2.xor1.layer1.nand", + "stage2.xor1.layer1.or" + ], + "stage3.xor0.layer1.nand": [ + "$stage3_in[0]", + "$stage3_in[1]" + ], + "stage3.xor0.layer1.or": [ + "$stage3_in[0]", + "$stage3_in[1]" + ], + "stage3.xor0.layer2": [ + "stage3.xor0.layer1.nand", + "stage3.xor0.layer1.or" + ], + "output.not": [ + "stage3.xor0.layer2" + ] + } + }, + "alu.alucontrol": { + "inputs": [ + "$opcode[0:3]" + ], + "type": "alu_control", + "internal": { + "op0": [ + "$opcode[0:3]" + ], + "op1": [ + "$opcode[0:3]" + ], + "op2": [ + "$opcode[0:3]" + ], + "op3": [ + "$opcode[0:3]" + ], + "op4": [ + "$opcode[0:3]" + ], + "op5": [ + "$opcode[0:3]" + ], + "op6": [ + "$opcode[0:3]" + ], + "op7": [ + "$opcode[0:3]" + ], + "op8": [ + "$opcode[0:3]" + ], + "op9": [ + "$opcode[0:3]" + ], + "op10": [ + "$opcode[0:3]" + ], + "op11": [ + "$opcode[0:3]" + ], + "op12": [ + "$opcode[0:3]" + ], + "op13": [ + "$opcode[0:3]" + ], + "op14": [ + "$opcode[0:3]" + ], + "op15": [ + "$opcode[0:3]" + ] + } + }, + "alu.aluflags": { + "inputs": [ + "$result[0:7]", + "$carry", + "$overflow" + ], + "type": "alu_flags", + "internal": { + "zero": [ + "$result[0:7]" + ], + "negative": [ + "$result[7]" + ], + "carry": [ + "$carry" + ], + "overflow": [ + "$overflow" + ] + } + }, + "alu.alu8bit.and": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "bitwise_and", + "internal": { + "bit0": [ + "$a[0]", + "$b[0]" + ], + "bit1": [ + "$a[1]", + "$b[1]" + ], + "bit2": [ + "$a[2]", + "$b[2]" + ], + "bit3": [ + "$a[3]", + "$b[3]" + ], + "bit4": [ + "$a[4]", + "$b[4]" + ], + "bit5": [ + "$a[5]", + "$b[5]" + ], + "bit6": [ + "$a[6]", + "$b[6]" + ], + "bit7": [ + "$a[7]", + "$b[7]" + ] + } + }, + "alu.alu8bit.or": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "bitwise_or", + "internal": { + "bit0": [ + "$a[0]", + "$b[0]" + ], + "bit1": [ + "$a[1]", + "$b[1]" + ], + "bit2": [ + "$a[2]", + "$b[2]" + ], + "bit3": [ + "$a[3]", + "$b[3]" + ], + "bit4": [ + "$a[4]", + "$b[4]" + ], + "bit5": [ + "$a[5]", + "$b[5]" + ], + "bit6": [ + "$a[6]", + "$b[6]" + ], + "bit7": [ + "$a[7]", + "$b[7]" + ] + } + }, + "alu.alu8bit.not": { + "inputs": [ + "$a[0:7]" + ], + "type": "bitwise_not", + "internal": { + "bit0": [ + "$a[0]" + ], + "bit1": [ + "$a[1]" + ], + "bit2": [ + "$a[2]" + ], + "bit3": [ + "$a[3]" + ], + "bit4": [ + "$a[4]" + ], + "bit5": [ + "$a[5]" + ], + "bit6": [ + "$a[6]" + ], + "bit7": [ + "$a[7]" + ] + } + }, + "alu.alu8bit.xor": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "bitwise_xor", + "internal": { + "layer1.nand.bit0": [ + "$a[0]", + "$b[0]" + ], + "layer1.or.bit0": [ + "$a[0]", + "$b[0]" + ], + "layer2.bit0": [ + "layer1.nand.bit0", + "layer1.or.bit0" + ], + "layer1.nand.bit1": [ + "$a[1]", + "$b[1]" + ], + "layer1.or.bit1": [ + "$a[1]", + "$b[1]" + ], + "layer2.bit1": [ + "layer1.nand.bit1", + "layer1.or.bit1" + ], + "layer1.nand.bit2": [ + "$a[2]", + "$b[2]" + ], + "layer1.or.bit2": [ + "$a[2]", + "$b[2]" + ], + "layer2.bit2": [ + "layer1.nand.bit2", + "layer1.or.bit2" + ], + "layer1.nand.bit3": [ + "$a[3]", + "$b[3]" + ], + "layer1.or.bit3": [ + "$a[3]", + "$b[3]" + ], + "layer2.bit3": [ + "layer1.nand.bit3", + "layer1.or.bit3" + ], + "layer1.nand.bit4": [ + "$a[4]", + "$b[4]" + ], + "layer1.or.bit4": [ + "$a[4]", + "$b[4]" + ], + "layer2.bit4": [ + "layer1.nand.bit4", + "layer1.or.bit4" + ], + "layer1.nand.bit5": [ + "$a[5]", + "$b[5]" + ], + "layer1.or.bit5": [ + "$a[5]", + "$b[5]" + ], + "layer2.bit5": [ + "layer1.nand.bit5", + "layer1.or.bit5" + ], + "layer1.nand.bit6": [ + "$a[6]", + "$b[6]" + ], + "layer1.or.bit6": [ + "$a[6]", + "$b[6]" + ], + "layer2.bit6": [ + "layer1.nand.bit6", + "layer1.or.bit6" + ], + "layer1.nand.bit7": [ + "$a[7]", + "$b[7]" + ], + "layer1.or.bit7": [ + "$a[7]", + "$b[7]" + ], + "layer2.bit7": [ + "layer1.nand.bit7", + "layer1.or.bit7" + ] + } + }, + "alu.alu8bit.shl": { + "inputs": [ + "$a[0:7]" + ], + "type": "shift_left", + "internal": { + "": [ + "$a[0:7]" + ] + } + }, + "alu.alu8bit.shr": { + "inputs": [ + "$a[0:7]" + ], + "type": "shift_right", + "internal": { + "": [ + "$a[0:7]" + ] + } + }, + "alu.alu8bit.add": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "add", + "internal": { + "": [ + "$a[0:7]", + "$b[0:7]" + ] + } + }, + "alu.alu8bit.output_mux": { + "inputs": [ + "$results[0:15]", + "$opcode[0:3]" + ], + "type": "output_mux", + "internal": { + "": [ + "$results[0:15]", + "$opcode[0:3]" + ] + } + }, + "threshold.oneoutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.twooutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.threeoutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.fouroutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.fiveoutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.sixoutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.sevenoutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.alloutof8": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0]", + "$x[1]", + "$x[2]", + "$x[3]", + "$x[4]", + "$x[5]", + "$x[6]", + "$x[7]" + ] + } + }, + "threshold.majority": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0:7]" + ] + } + }, + "threshold.minority": { + "inputs": [ + "$x[0:7]" + ], + "type": "threshold_gate", + "internal": { + "": [ + "$x[0:7]" + ] + } + }, + "threshold.atleastk_4": { + "inputs": [ + "$x[0:3]" + ], + "type": "threshold_gate" + }, + "threshold.atmostk_4": { + "inputs": [ + "$x[0:3]" + ], + "type": "threshold_gate" + }, + "threshold.exactlyk_4": { + "inputs": [ + "$x[0:3]" + ], + "type": "composite", + "internal": { + "atleast": [ + "$x[0:3]" + ], + "atmost": [ + "$x[0:3]" + ], + "and": [ + "atleast", + "atmost" + ] + }, + "output": "and" + }, + "modular.mod2": { + "inputs": [ + "$x[0:7]" + ], + "type": "single_layer", + "internal": { + "": [ + "$x[0:7]" + ] + } + }, + "modular.mod4": { + "inputs": [ + "$x[0:7]" + ], + "type": "single_layer", + "internal": { + "": [ + "$x[0:7]" + ] + } + }, + "modular.mod8": { + "inputs": [ + "$x[0:7]" + ], + "type": "single_layer", + "internal": { + "": [ + "$x[0:7]" + ] + } + }, + "modular.mod3": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer1.geq22": [ + "$x[0:7]" + ], + "layer1.leq22": [ + "$x[0:7]" + ], + "layer2.eq22": [ + "layer1.geq22", + "layer1.leq22" + ], + "layer1.geq23": [ + "$x[0:7]" + ], + "layer1.leq23": [ + "$x[0:7]" + ], + "layer2.eq23": [ + "layer1.geq23", + "layer1.leq23" + ], + "layer1.geq24": [ + "$x[0:7]" + ], + "layer1.leq24": [ + "$x[0:7]" + ], + "layer2.eq24": [ + "layer1.geq24", + "layer1.leq24" + ], + "layer1.geq25": [ + "$x[0:7]" + ], + "layer1.leq25": [ + "$x[0:7]" + ], + "layer2.eq25": [ + "layer1.geq25", + "layer1.leq25" + ], + "layer1.geq26": [ + "$x[0:7]" + ], + "layer1.leq26": [ + "$x[0:7]" + ], + "layer2.eq26": [ + "layer1.geq26", + "layer1.leq26" + ], + "layer1.geq27": [ + "$x[0:7]" + ], + "layer1.leq27": [ + "$x[0:7]" + ], + "layer2.eq27": [ + "layer1.geq27", + "layer1.leq27" + ], + "layer1.geq28": [ + "$x[0:7]" + ], + "layer1.leq28": [ + "$x[0:7]" + ], + "layer2.eq28": [ + "layer1.geq28", + "layer1.leq28" + ], + "layer1.geq29": [ + "$x[0:7]" + ], + "layer1.leq29": [ + "$x[0:7]" + ], + "layer2.eq29": [ + "layer1.geq29", + "layer1.leq29" + ], + "layer1.geq30": [ + "$x[0:7]" + ], + "layer1.leq30": [ + "$x[0:7]" + ], + "layer2.eq30": [ + "layer1.geq30", + "layer1.leq30" + ], + "layer1.geq31": [ + "$x[0:7]" + ], + "layer1.leq31": [ + "$x[0:7]" + ], + "layer2.eq31": [ + "layer1.geq31", + "layer1.leq31" + ], + "layer1.geq32": [ + "$x[0:7]" + ], + "layer1.leq32": [ + "$x[0:7]" + ], + "layer2.eq32": [ + "layer1.geq32", + "layer1.leq32" + ], + "layer1.geq33": [ + "$x[0:7]" + ], + "layer1.leq33": [ + "$x[0:7]" + ], + "layer2.eq33": [ + "layer1.geq33", + "layer1.leq33" + ], + "layer1.geq34": [ + "$x[0:7]" + ], + "layer1.leq34": [ + "$x[0:7]" + ], + "layer2.eq34": [ + "layer1.geq34", + "layer1.leq34" + ], + "layer1.geq35": [ + "$x[0:7]" + ], + "layer1.leq35": [ + "$x[0:7]" + ], + "layer2.eq35": [ + "layer1.geq35", + "layer1.leq35" + ], + "layer1.geq36": [ + "$x[0:7]" + ], + "layer1.leq36": [ + "$x[0:7]" + ], + "layer2.eq36": [ + "layer1.geq36", + "layer1.leq36" + ], + "layer1.geq37": [ + "$x[0:7]" + ], + "layer1.leq37": [ + "$x[0:7]" + ], + "layer2.eq37": [ + "layer1.geq37", + "layer1.leq37" + ], + "layer1.geq38": [ + "$x[0:7]" + ], + "layer1.leq38": [ + "$x[0:7]" + ], + "layer2.eq38": [ + "layer1.geq38", + "layer1.leq38" + ], + "layer1.geq39": [ + "$x[0:7]" + ], + "layer1.leq39": [ + "$x[0:7]" + ], + "layer2.eq39": [ + "layer1.geq39", + "layer1.leq39" + ], + "layer1.geq40": [ + "$x[0:7]" + ], + "layer1.leq40": [ + "$x[0:7]" + ], + "layer2.eq40": [ + "layer1.geq40", + "layer1.leq40" + ], + "layer1.geq41": [ + "$x[0:7]" + ], + "layer1.leq41": [ + "$x[0:7]" + ], + "layer2.eq41": [ + "layer1.geq41", + "layer1.leq41" + ], + "layer1.geq42": [ + "$x[0:7]" + ], + "layer1.leq42": [ + "$x[0:7]" + ], + "layer2.eq42": [ + "layer1.geq42", + "layer1.leq42" + ], + "layer1.geq43": [ + "$x[0:7]" + ], + "layer1.leq43": [ + "$x[0:7]" + ], + "layer2.eq43": [ + "layer1.geq43", + "layer1.leq43" + ], + "layer1.geq44": [ + "$x[0:7]" + ], + "layer1.leq44": [ + "$x[0:7]" + ], + "layer2.eq44": [ + "layer1.geq44", + "layer1.leq44" + ], + "layer1.geq45": [ + "$x[0:7]" + ], + "layer1.leq45": [ + "$x[0:7]" + ], + "layer2.eq45": [ + "layer1.geq45", + "layer1.leq45" + ], + "layer1.geq46": [ + "$x[0:7]" + ], + "layer1.leq46": [ + "$x[0:7]" + ], + "layer2.eq46": [ + "layer1.geq46", + "layer1.leq46" + ], + "layer1.geq47": [ + "$x[0:7]" + ], + "layer1.leq47": [ + "$x[0:7]" + ], + "layer2.eq47": [ + "layer1.geq47", + "layer1.leq47" + ], + "layer1.geq48": [ + "$x[0:7]" + ], + "layer1.leq48": [ + "$x[0:7]" + ], + "layer2.eq48": [ + "layer1.geq48", + "layer1.leq48" + ], + "layer1.geq49": [ + "$x[0:7]" + ], + "layer1.leq49": [ + "$x[0:7]" + ], + "layer2.eq49": [ + "layer1.geq49", + "layer1.leq49" + ], + "layer1.geq50": [ + "$x[0:7]" + ], + "layer1.leq50": [ + "$x[0:7]" + ], + "layer2.eq50": [ + "layer1.geq50", + "layer1.leq50" + ], + "layer1.geq51": [ + "$x[0:7]" + ], + "layer1.leq51": [ + "$x[0:7]" + ], + "layer2.eq51": [ + "layer1.geq51", + "layer1.leq51" + ], + "layer1.geq52": [ + "$x[0:7]" + ], + "layer1.leq52": [ + "$x[0:7]" + ], + "layer2.eq52": [ + "layer1.geq52", + "layer1.leq52" + ], + "layer1.geq53": [ + "$x[0:7]" + ], + "layer1.leq53": [ + "$x[0:7]" + ], + "layer2.eq53": [ + "layer1.geq53", + "layer1.leq53" + ], + "layer1.geq54": [ + "$x[0:7]" + ], + "layer1.leq54": [ + "$x[0:7]" + ], + "layer2.eq54": [ + "layer1.geq54", + "layer1.leq54" + ], + "layer1.geq55": [ + "$x[0:7]" + ], + "layer1.leq55": [ + "$x[0:7]" + ], + "layer2.eq55": [ + "layer1.geq55", + "layer1.leq55" + ], + "layer1.geq56": [ + "$x[0:7]" + ], + "layer1.leq56": [ + "$x[0:7]" + ], + "layer2.eq56": [ + "layer1.geq56", + "layer1.leq56" + ], + "layer1.geq57": [ + "$x[0:7]" + ], + "layer1.leq57": [ + "$x[0:7]" + ], + "layer2.eq57": [ + "layer1.geq57", + "layer1.leq57" + ], + "layer1.geq58": [ + "$x[0:7]" + ], + "layer1.leq58": [ + "$x[0:7]" + ], + "layer2.eq58": [ + "layer1.geq58", + "layer1.leq58" + ], + "layer1.geq59": [ + "$x[0:7]" + ], + "layer1.leq59": [ + "$x[0:7]" + ], + "layer2.eq59": [ + "layer1.geq59", + "layer1.leq59" + ], + "layer1.geq60": [ + "$x[0:7]" + ], + "layer1.leq60": [ + "$x[0:7]" + ], + "layer2.eq60": [ + "layer1.geq60", + "layer1.leq60" + ], + "layer1.geq61": [ + "$x[0:7]" + ], + "layer1.leq61": [ + "$x[0:7]" + ], + "layer2.eq61": [ + "layer1.geq61", + "layer1.leq61" + ], + "layer1.geq62": [ + "$x[0:7]" + ], + "layer1.leq62": [ + "$x[0:7]" + ], + "layer2.eq62": [ + "layer1.geq62", + "layer1.leq62" + ], + "layer1.geq63": [ + "$x[0:7]" + ], + "layer1.leq63": [ + "$x[0:7]" + ], + "layer2.eq63": [ + "layer1.geq63", + "layer1.leq63" + ], + "layer1.geq64": [ + "$x[0:7]" + ], + "layer1.leq64": [ + "$x[0:7]" + ], + "layer2.eq64": [ + "layer1.geq64", + "layer1.leq64" + ], + "layer1.geq65": [ + "$x[0:7]" + ], + "layer1.leq65": [ + "$x[0:7]" + ], + "layer2.eq65": [ + "layer1.geq65", + "layer1.leq65" + ], + "layer1.geq66": [ + "$x[0:7]" + ], + "layer1.leq66": [ + "$x[0:7]" + ], + "layer2.eq66": [ + "layer1.geq66", + "layer1.leq66" + ], + "layer1.geq67": [ + "$x[0:7]" + ], + "layer1.leq67": [ + "$x[0:7]" + ], + "layer2.eq67": [ + "layer1.geq67", + "layer1.leq67" + ], + "layer1.geq68": [ + "$x[0:7]" + ], + "layer1.leq68": [ + "$x[0:7]" + ], + "layer2.eq68": [ + "layer1.geq68", + "layer1.leq68" + ], + "layer1.geq69": [ + "$x[0:7]" + ], + "layer1.leq69": [ + "$x[0:7]" + ], + "layer2.eq69": [ + "layer1.geq69", + "layer1.leq69" + ], + "layer1.geq70": [ + "$x[0:7]" + ], + "layer1.leq70": [ + "$x[0:7]" + ], + "layer2.eq70": [ + "layer1.geq70", + "layer1.leq70" + ], + "layer1.geq71": [ + "$x[0:7]" + ], + "layer1.leq71": [ + "$x[0:7]" + ], + "layer2.eq71": [ + "layer1.geq71", + "layer1.leq71" + ], + "layer1.geq72": [ + "$x[0:7]" + ], + "layer1.leq72": [ + "$x[0:7]" + ], + "layer2.eq72": [ + "layer1.geq72", + "layer1.leq72" + ], + "layer1.geq73": [ + "$x[0:7]" + ], + "layer1.leq73": [ + "$x[0:7]" + ], + "layer2.eq73": [ + "layer1.geq73", + "layer1.leq73" + ], + "layer1.geq74": [ + "$x[0:7]" + ], + "layer1.leq74": [ + "$x[0:7]" + ], + "layer2.eq74": [ + "layer1.geq74", + "layer1.leq74" + ], + "layer1.geq75": [ + "$x[0:7]" + ], + "layer1.leq75": [ + "$x[0:7]" + ], + "layer2.eq75": [ + "layer1.geq75", + "layer1.leq75" + ], + "layer1.geq76": [ + "$x[0:7]" + ], + "layer1.leq76": [ + "$x[0:7]" + ], + "layer2.eq76": [ + "layer1.geq76", + "layer1.leq76" + ], + "layer1.geq77": [ + "$x[0:7]" + ], + "layer1.leq77": [ + "$x[0:7]" + ], + "layer2.eq77": [ + "layer1.geq77", + "layer1.leq77" + ], + "layer1.geq78": [ + "$x[0:7]" + ], + "layer1.leq78": [ + "$x[0:7]" + ], + "layer2.eq78": [ + "layer1.geq78", + "layer1.leq78" + ], + "layer1.geq79": [ + "$x[0:7]" + ], + "layer1.leq79": [ + "$x[0:7]" + ], + "layer2.eq79": [ + "layer1.geq79", + "layer1.leq79" + ], + "layer1.geq80": [ + "$x[0:7]" + ], + "layer1.leq80": [ + "$x[0:7]" + ], + "layer2.eq80": [ + "layer1.geq80", + "layer1.leq80" + ], + "layer1.geq81": [ + "$x[0:7]" + ], + "layer1.leq81": [ + "$x[0:7]" + ], + "layer2.eq81": [ + "layer1.geq81", + "layer1.leq81" + ], + "layer1.geq82": [ + "$x[0:7]" + ], + "layer1.leq82": [ + "$x[0:7]" + ], + "layer2.eq82": [ + "layer1.geq82", + "layer1.leq82" + ], + "layer1.geq83": [ + "$x[0:7]" + ], + "layer1.leq83": [ + "$x[0:7]" + ], + "layer2.eq83": [ + "layer1.geq83", + "layer1.leq83" + ], + "layer1.geq84": [ + "$x[0:7]" + ], + "layer1.leq84": [ + "$x[0:7]" + ], + "layer2.eq84": [ + "layer1.geq84", + "layer1.leq84" + ], + "layer1.geq85": [ + "$x[0:7]" + ], + "layer1.leq85": [ + "$x[0:7]" + ], + "layer2.eq85": [ + "layer1.geq85", + "layer1.leq85" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21", + "layer2.eq22", + "layer2.eq23", + "layer2.eq24", + "layer2.eq25", + "layer2.eq26", + "layer2.eq27", + "layer2.eq28", + "layer2.eq29", + "layer2.eq30", + "layer2.eq31", + "layer2.eq32", + "layer2.eq33", + "layer2.eq34", + "layer2.eq35", + "layer2.eq36", + "layer2.eq37", + "layer2.eq38", + "layer2.eq39", + "layer2.eq40", + "layer2.eq41", + "layer2.eq42", + "layer2.eq43", + "layer2.eq44", + "layer2.eq45", + "layer2.eq46", + "layer2.eq47", + "layer2.eq48", + "layer2.eq49", + "layer2.eq50", + "layer2.eq51", + "layer2.eq52", + "layer2.eq53", + "layer2.eq54", + "layer2.eq55", + "layer2.eq56", + "layer2.eq57", + "layer2.eq58", + "layer2.eq59", + "layer2.eq60", + "layer2.eq61", + "layer2.eq62", + "layer2.eq63", + "layer2.eq64", + "layer2.eq65", + "layer2.eq66", + "layer2.eq67", + "layer2.eq68", + "layer2.eq69", + "layer2.eq70", + "layer2.eq71", + "layer2.eq72", + "layer2.eq73", + "layer2.eq74", + "layer2.eq75", + "layer2.eq76", + "layer2.eq77", + "layer2.eq78", + "layer2.eq79", + "layer2.eq80", + "layer2.eq81", + "layer2.eq82", + "layer2.eq83", + "layer2.eq84", + "layer2.eq85" + ] + }, + "output": "layer3.or" + }, + "modular.mod5": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer1.geq22": [ + "$x[0:7]" + ], + "layer1.leq22": [ + "$x[0:7]" + ], + "layer2.eq22": [ + "layer1.geq22", + "layer1.leq22" + ], + "layer1.geq23": [ + "$x[0:7]" + ], + "layer1.leq23": [ + "$x[0:7]" + ], + "layer2.eq23": [ + "layer1.geq23", + "layer1.leq23" + ], + "layer1.geq24": [ + "$x[0:7]" + ], + "layer1.leq24": [ + "$x[0:7]" + ], + "layer2.eq24": [ + "layer1.geq24", + "layer1.leq24" + ], + "layer1.geq25": [ + "$x[0:7]" + ], + "layer1.leq25": [ + "$x[0:7]" + ], + "layer2.eq25": [ + "layer1.geq25", + "layer1.leq25" + ], + "layer1.geq26": [ + "$x[0:7]" + ], + "layer1.leq26": [ + "$x[0:7]" + ], + "layer2.eq26": [ + "layer1.geq26", + "layer1.leq26" + ], + "layer1.geq27": [ + "$x[0:7]" + ], + "layer1.leq27": [ + "$x[0:7]" + ], + "layer2.eq27": [ + "layer1.geq27", + "layer1.leq27" + ], + "layer1.geq28": [ + "$x[0:7]" + ], + "layer1.leq28": [ + "$x[0:7]" + ], + "layer2.eq28": [ + "layer1.geq28", + "layer1.leq28" + ], + "layer1.geq29": [ + "$x[0:7]" + ], + "layer1.leq29": [ + "$x[0:7]" + ], + "layer2.eq29": [ + "layer1.geq29", + "layer1.leq29" + ], + "layer1.geq30": [ + "$x[0:7]" + ], + "layer1.leq30": [ + "$x[0:7]" + ], + "layer2.eq30": [ + "layer1.geq30", + "layer1.leq30" + ], + "layer1.geq31": [ + "$x[0:7]" + ], + "layer1.leq31": [ + "$x[0:7]" + ], + "layer2.eq31": [ + "layer1.geq31", + "layer1.leq31" + ], + "layer1.geq32": [ + "$x[0:7]" + ], + "layer1.leq32": [ + "$x[0:7]" + ], + "layer2.eq32": [ + "layer1.geq32", + "layer1.leq32" + ], + "layer1.geq33": [ + "$x[0:7]" + ], + "layer1.leq33": [ + "$x[0:7]" + ], + "layer2.eq33": [ + "layer1.geq33", + "layer1.leq33" + ], + "layer1.geq34": [ + "$x[0:7]" + ], + "layer1.leq34": [ + "$x[0:7]" + ], + "layer2.eq34": [ + "layer1.geq34", + "layer1.leq34" + ], + "layer1.geq35": [ + "$x[0:7]" + ], + "layer1.leq35": [ + "$x[0:7]" + ], + "layer2.eq35": [ + "layer1.geq35", + "layer1.leq35" + ], + "layer1.geq36": [ + "$x[0:7]" + ], + "layer1.leq36": [ + "$x[0:7]" + ], + "layer2.eq36": [ + "layer1.geq36", + "layer1.leq36" + ], + "layer1.geq37": [ + "$x[0:7]" + ], + "layer1.leq37": [ + "$x[0:7]" + ], + "layer2.eq37": [ + "layer1.geq37", + "layer1.leq37" + ], + "layer1.geq38": [ + "$x[0:7]" + ], + "layer1.leq38": [ + "$x[0:7]" + ], + "layer2.eq38": [ + "layer1.geq38", + "layer1.leq38" + ], + "layer1.geq39": [ + "$x[0:7]" + ], + "layer1.leq39": [ + "$x[0:7]" + ], + "layer2.eq39": [ + "layer1.geq39", + "layer1.leq39" + ], + "layer1.geq40": [ + "$x[0:7]" + ], + "layer1.leq40": [ + "$x[0:7]" + ], + "layer2.eq40": [ + "layer1.geq40", + "layer1.leq40" + ], + "layer1.geq41": [ + "$x[0:7]" + ], + "layer1.leq41": [ + "$x[0:7]" + ], + "layer2.eq41": [ + "layer1.geq41", + "layer1.leq41" + ], + "layer1.geq42": [ + "$x[0:7]" + ], + "layer1.leq42": [ + "$x[0:7]" + ], + "layer2.eq42": [ + "layer1.geq42", + "layer1.leq42" + ], + "layer1.geq43": [ + "$x[0:7]" + ], + "layer1.leq43": [ + "$x[0:7]" + ], + "layer2.eq43": [ + "layer1.geq43", + "layer1.leq43" + ], + "layer1.geq44": [ + "$x[0:7]" + ], + "layer1.leq44": [ + "$x[0:7]" + ], + "layer2.eq44": [ + "layer1.geq44", + "layer1.leq44" + ], + "layer1.geq45": [ + "$x[0:7]" + ], + "layer1.leq45": [ + "$x[0:7]" + ], + "layer2.eq45": [ + "layer1.geq45", + "layer1.leq45" + ], + "layer1.geq46": [ + "$x[0:7]" + ], + "layer1.leq46": [ + "$x[0:7]" + ], + "layer2.eq46": [ + "layer1.geq46", + "layer1.leq46" + ], + "layer1.geq47": [ + "$x[0:7]" + ], + "layer1.leq47": [ + "$x[0:7]" + ], + "layer2.eq47": [ + "layer1.geq47", + "layer1.leq47" + ], + "layer1.geq48": [ + "$x[0:7]" + ], + "layer1.leq48": [ + "$x[0:7]" + ], + "layer2.eq48": [ + "layer1.geq48", + "layer1.leq48" + ], + "layer1.geq49": [ + "$x[0:7]" + ], + "layer1.leq49": [ + "$x[0:7]" + ], + "layer2.eq49": [ + "layer1.geq49", + "layer1.leq49" + ], + "layer1.geq50": [ + "$x[0:7]" + ], + "layer1.leq50": [ + "$x[0:7]" + ], + "layer2.eq50": [ + "layer1.geq50", + "layer1.leq50" + ], + "layer1.geq51": [ + "$x[0:7]" + ], + "layer1.leq51": [ + "$x[0:7]" + ], + "layer2.eq51": [ + "layer1.geq51", + "layer1.leq51" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21", + "layer2.eq22", + "layer2.eq23", + "layer2.eq24", + "layer2.eq25", + "layer2.eq26", + "layer2.eq27", + "layer2.eq28", + "layer2.eq29", + "layer2.eq30", + "layer2.eq31", + "layer2.eq32", + "layer2.eq33", + "layer2.eq34", + "layer2.eq35", + "layer2.eq36", + "layer2.eq37", + "layer2.eq38", + "layer2.eq39", + "layer2.eq40", + "layer2.eq41", + "layer2.eq42", + "layer2.eq43", + "layer2.eq44", + "layer2.eq45", + "layer2.eq46", + "layer2.eq47", + "layer2.eq48", + "layer2.eq49", + "layer2.eq50", + "layer2.eq51" + ] + }, + "output": "layer3.or" + }, + "modular.mod6": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer1.geq22": [ + "$x[0:7]" + ], + "layer1.leq22": [ + "$x[0:7]" + ], + "layer2.eq22": [ + "layer1.geq22", + "layer1.leq22" + ], + "layer1.geq23": [ + "$x[0:7]" + ], + "layer1.leq23": [ + "$x[0:7]" + ], + "layer2.eq23": [ + "layer1.geq23", + "layer1.leq23" + ], + "layer1.geq24": [ + "$x[0:7]" + ], + "layer1.leq24": [ + "$x[0:7]" + ], + "layer2.eq24": [ + "layer1.geq24", + "layer1.leq24" + ], + "layer1.geq25": [ + "$x[0:7]" + ], + "layer1.leq25": [ + "$x[0:7]" + ], + "layer2.eq25": [ + "layer1.geq25", + "layer1.leq25" + ], + "layer1.geq26": [ + "$x[0:7]" + ], + "layer1.leq26": [ + "$x[0:7]" + ], + "layer2.eq26": [ + "layer1.geq26", + "layer1.leq26" + ], + "layer1.geq27": [ + "$x[0:7]" + ], + "layer1.leq27": [ + "$x[0:7]" + ], + "layer2.eq27": [ + "layer1.geq27", + "layer1.leq27" + ], + "layer1.geq28": [ + "$x[0:7]" + ], + "layer1.leq28": [ + "$x[0:7]" + ], + "layer2.eq28": [ + "layer1.geq28", + "layer1.leq28" + ], + "layer1.geq29": [ + "$x[0:7]" + ], + "layer1.leq29": [ + "$x[0:7]" + ], + "layer2.eq29": [ + "layer1.geq29", + "layer1.leq29" + ], + "layer1.geq30": [ + "$x[0:7]" + ], + "layer1.leq30": [ + "$x[0:7]" + ], + "layer2.eq30": [ + "layer1.geq30", + "layer1.leq30" + ], + "layer1.geq31": [ + "$x[0:7]" + ], + "layer1.leq31": [ + "$x[0:7]" + ], + "layer2.eq31": [ + "layer1.geq31", + "layer1.leq31" + ], + "layer1.geq32": [ + "$x[0:7]" + ], + "layer1.leq32": [ + "$x[0:7]" + ], + "layer2.eq32": [ + "layer1.geq32", + "layer1.leq32" + ], + "layer1.geq33": [ + "$x[0:7]" + ], + "layer1.leq33": [ + "$x[0:7]" + ], + "layer2.eq33": [ + "layer1.geq33", + "layer1.leq33" + ], + "layer1.geq34": [ + "$x[0:7]" + ], + "layer1.leq34": [ + "$x[0:7]" + ], + "layer2.eq34": [ + "layer1.geq34", + "layer1.leq34" + ], + "layer1.geq35": [ + "$x[0:7]" + ], + "layer1.leq35": [ + "$x[0:7]" + ], + "layer2.eq35": [ + "layer1.geq35", + "layer1.leq35" + ], + "layer1.geq36": [ + "$x[0:7]" + ], + "layer1.leq36": [ + "$x[0:7]" + ], + "layer2.eq36": [ + "layer1.geq36", + "layer1.leq36" + ], + "layer1.geq37": [ + "$x[0:7]" + ], + "layer1.leq37": [ + "$x[0:7]" + ], + "layer2.eq37": [ + "layer1.geq37", + "layer1.leq37" + ], + "layer1.geq38": [ + "$x[0:7]" + ], + "layer1.leq38": [ + "$x[0:7]" + ], + "layer2.eq38": [ + "layer1.geq38", + "layer1.leq38" + ], + "layer1.geq39": [ + "$x[0:7]" + ], + "layer1.leq39": [ + "$x[0:7]" + ], + "layer2.eq39": [ + "layer1.geq39", + "layer1.leq39" + ], + "layer1.geq40": [ + "$x[0:7]" + ], + "layer1.leq40": [ + "$x[0:7]" + ], + "layer2.eq40": [ + "layer1.geq40", + "layer1.leq40" + ], + "layer1.geq41": [ + "$x[0:7]" + ], + "layer1.leq41": [ + "$x[0:7]" + ], + "layer2.eq41": [ + "layer1.geq41", + "layer1.leq41" + ], + "layer1.geq42": [ + "$x[0:7]" + ], + "layer1.leq42": [ + "$x[0:7]" + ], + "layer2.eq42": [ + "layer1.geq42", + "layer1.leq42" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21", + "layer2.eq22", + "layer2.eq23", + "layer2.eq24", + "layer2.eq25", + "layer2.eq26", + "layer2.eq27", + "layer2.eq28", + "layer2.eq29", + "layer2.eq30", + "layer2.eq31", + "layer2.eq32", + "layer2.eq33", + "layer2.eq34", + "layer2.eq35", + "layer2.eq36", + "layer2.eq37", + "layer2.eq38", + "layer2.eq39", + "layer2.eq40", + "layer2.eq41", + "layer2.eq42" + ] + }, + "output": "layer3.or" + }, + "modular.mod7": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer1.geq22": [ + "$x[0:7]" + ], + "layer1.leq22": [ + "$x[0:7]" + ], + "layer2.eq22": [ + "layer1.geq22", + "layer1.leq22" + ], + "layer1.geq23": [ + "$x[0:7]" + ], + "layer1.leq23": [ + "$x[0:7]" + ], + "layer2.eq23": [ + "layer1.geq23", + "layer1.leq23" + ], + "layer1.geq24": [ + "$x[0:7]" + ], + "layer1.leq24": [ + "$x[0:7]" + ], + "layer2.eq24": [ + "layer1.geq24", + "layer1.leq24" + ], + "layer1.geq25": [ + "$x[0:7]" + ], + "layer1.leq25": [ + "$x[0:7]" + ], + "layer2.eq25": [ + "layer1.geq25", + "layer1.leq25" + ], + "layer1.geq26": [ + "$x[0:7]" + ], + "layer1.leq26": [ + "$x[0:7]" + ], + "layer2.eq26": [ + "layer1.geq26", + "layer1.leq26" + ], + "layer1.geq27": [ + "$x[0:7]" + ], + "layer1.leq27": [ + "$x[0:7]" + ], + "layer2.eq27": [ + "layer1.geq27", + "layer1.leq27" + ], + "layer1.geq28": [ + "$x[0:7]" + ], + "layer1.leq28": [ + "$x[0:7]" + ], + "layer2.eq28": [ + "layer1.geq28", + "layer1.leq28" + ], + "layer1.geq29": [ + "$x[0:7]" + ], + "layer1.leq29": [ + "$x[0:7]" + ], + "layer2.eq29": [ + "layer1.geq29", + "layer1.leq29" + ], + "layer1.geq30": [ + "$x[0:7]" + ], + "layer1.leq30": [ + "$x[0:7]" + ], + "layer2.eq30": [ + "layer1.geq30", + "layer1.leq30" + ], + "layer1.geq31": [ + "$x[0:7]" + ], + "layer1.leq31": [ + "$x[0:7]" + ], + "layer2.eq31": [ + "layer1.geq31", + "layer1.leq31" + ], + "layer1.geq32": [ + "$x[0:7]" + ], + "layer1.leq32": [ + "$x[0:7]" + ], + "layer2.eq32": [ + "layer1.geq32", + "layer1.leq32" + ], + "layer1.geq33": [ + "$x[0:7]" + ], + "layer1.leq33": [ + "$x[0:7]" + ], + "layer2.eq33": [ + "layer1.geq33", + "layer1.leq33" + ], + "layer1.geq34": [ + "$x[0:7]" + ], + "layer1.leq34": [ + "$x[0:7]" + ], + "layer2.eq34": [ + "layer1.geq34", + "layer1.leq34" + ], + "layer1.geq35": [ + "$x[0:7]" + ], + "layer1.leq35": [ + "$x[0:7]" + ], + "layer2.eq35": [ + "layer1.geq35", + "layer1.leq35" + ], + "layer1.geq36": [ + "$x[0:7]" + ], + "layer1.leq36": [ + "$x[0:7]" + ], + "layer2.eq36": [ + "layer1.geq36", + "layer1.leq36" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21", + "layer2.eq22", + "layer2.eq23", + "layer2.eq24", + "layer2.eq25", + "layer2.eq26", + "layer2.eq27", + "layer2.eq28", + "layer2.eq29", + "layer2.eq30", + "layer2.eq31", + "layer2.eq32", + "layer2.eq33", + "layer2.eq34", + "layer2.eq35", + "layer2.eq36" + ] + }, + "output": "layer3.or" + }, + "modular.mod9": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer1.geq22": [ + "$x[0:7]" + ], + "layer1.leq22": [ + "$x[0:7]" + ], + "layer2.eq22": [ + "layer1.geq22", + "layer1.leq22" + ], + "layer1.geq23": [ + "$x[0:7]" + ], + "layer1.leq23": [ + "$x[0:7]" + ], + "layer2.eq23": [ + "layer1.geq23", + "layer1.leq23" + ], + "layer1.geq24": [ + "$x[0:7]" + ], + "layer1.leq24": [ + "$x[0:7]" + ], + "layer2.eq24": [ + "layer1.geq24", + "layer1.leq24" + ], + "layer1.geq25": [ + "$x[0:7]" + ], + "layer1.leq25": [ + "$x[0:7]" + ], + "layer2.eq25": [ + "layer1.geq25", + "layer1.leq25" + ], + "layer1.geq26": [ + "$x[0:7]" + ], + "layer1.leq26": [ + "$x[0:7]" + ], + "layer2.eq26": [ + "layer1.geq26", + "layer1.leq26" + ], + "layer1.geq27": [ + "$x[0:7]" + ], + "layer1.leq27": [ + "$x[0:7]" + ], + "layer2.eq27": [ + "layer1.geq27", + "layer1.leq27" + ], + "layer1.geq28": [ + "$x[0:7]" + ], + "layer1.leq28": [ + "$x[0:7]" + ], + "layer2.eq28": [ + "layer1.geq28", + "layer1.leq28" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21", + "layer2.eq22", + "layer2.eq23", + "layer2.eq24", + "layer2.eq25", + "layer2.eq26", + "layer2.eq27", + "layer2.eq28" + ] + }, + "output": "layer3.or" + }, + "modular.mod10": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer1.geq22": [ + "$x[0:7]" + ], + "layer1.leq22": [ + "$x[0:7]" + ], + "layer2.eq22": [ + "layer1.geq22", + "layer1.leq22" + ], + "layer1.geq23": [ + "$x[0:7]" + ], + "layer1.leq23": [ + "$x[0:7]" + ], + "layer2.eq23": [ + "layer1.geq23", + "layer1.leq23" + ], + "layer1.geq24": [ + "$x[0:7]" + ], + "layer1.leq24": [ + "$x[0:7]" + ], + "layer2.eq24": [ + "layer1.geq24", + "layer1.leq24" + ], + "layer1.geq25": [ + "$x[0:7]" + ], + "layer1.leq25": [ + "$x[0:7]" + ], + "layer2.eq25": [ + "layer1.geq25", + "layer1.leq25" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21", + "layer2.eq22", + "layer2.eq23", + "layer2.eq24", + "layer2.eq25" + ] + }, + "output": "layer3.or" + }, + "modular.mod11": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer1.geq22": [ + "$x[0:7]" + ], + "layer1.leq22": [ + "$x[0:7]" + ], + "layer2.eq22": [ + "layer1.geq22", + "layer1.leq22" + ], + "layer1.geq23": [ + "$x[0:7]" + ], + "layer1.leq23": [ + "$x[0:7]" + ], + "layer2.eq23": [ + "layer1.geq23", + "layer1.leq23" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21", + "layer2.eq22", + "layer2.eq23" + ] + }, + "output": "layer3.or" + }, + "modular.mod12": { + "inputs": [ + "$x[0:7]" + ], + "type": "modular_detector", + "internal": { + "layer1.geq0": [ + "$x[0:7]" + ], + "layer1.leq0": [ + "$x[0:7]" + ], + "layer2.eq0": [ + "layer1.geq0", + "layer1.leq0" + ], + "layer1.geq1": [ + "$x[0:7]" + ], + "layer1.leq1": [ + "$x[0:7]" + ], + "layer2.eq1": [ + "layer1.geq1", + "layer1.leq1" + ], + "layer1.geq2": [ + "$x[0:7]" + ], + "layer1.leq2": [ + "$x[0:7]" + ], + "layer2.eq2": [ + "layer1.geq2", + "layer1.leq2" + ], + "layer1.geq3": [ + "$x[0:7]" + ], + "layer1.leq3": [ + "$x[0:7]" + ], + "layer2.eq3": [ + "layer1.geq3", + "layer1.leq3" + ], + "layer1.geq4": [ + "$x[0:7]" + ], + "layer1.leq4": [ + "$x[0:7]" + ], + "layer2.eq4": [ + "layer1.geq4", + "layer1.leq4" + ], + "layer1.geq5": [ + "$x[0:7]" + ], + "layer1.leq5": [ + "$x[0:7]" + ], + "layer2.eq5": [ + "layer1.geq5", + "layer1.leq5" + ], + "layer1.geq6": [ + "$x[0:7]" + ], + "layer1.leq6": [ + "$x[0:7]" + ], + "layer2.eq6": [ + "layer1.geq6", + "layer1.leq6" + ], + "layer1.geq7": [ + "$x[0:7]" + ], + "layer1.leq7": [ + "$x[0:7]" + ], + "layer2.eq7": [ + "layer1.geq7", + "layer1.leq7" + ], + "layer1.geq8": [ + "$x[0:7]" + ], + "layer1.leq8": [ + "$x[0:7]" + ], + "layer2.eq8": [ + "layer1.geq8", + "layer1.leq8" + ], + "layer1.geq9": [ + "$x[0:7]" + ], + "layer1.leq9": [ + "$x[0:7]" + ], + "layer2.eq9": [ + "layer1.geq9", + "layer1.leq9" + ], + "layer1.geq10": [ + "$x[0:7]" + ], + "layer1.leq10": [ + "$x[0:7]" + ], + "layer2.eq10": [ + "layer1.geq10", + "layer1.leq10" + ], + "layer1.geq11": [ + "$x[0:7]" + ], + "layer1.leq11": [ + "$x[0:7]" + ], + "layer2.eq11": [ + "layer1.geq11", + "layer1.leq11" + ], + "layer1.geq12": [ + "$x[0:7]" + ], + "layer1.leq12": [ + "$x[0:7]" + ], + "layer2.eq12": [ + "layer1.geq12", + "layer1.leq12" + ], + "layer1.geq13": [ + "$x[0:7]" + ], + "layer1.leq13": [ + "$x[0:7]" + ], + "layer2.eq13": [ + "layer1.geq13", + "layer1.leq13" + ], + "layer1.geq14": [ + "$x[0:7]" + ], + "layer1.leq14": [ + "$x[0:7]" + ], + "layer2.eq14": [ + "layer1.geq14", + "layer1.leq14" + ], + "layer1.geq15": [ + "$x[0:7]" + ], + "layer1.leq15": [ + "$x[0:7]" + ], + "layer2.eq15": [ + "layer1.geq15", + "layer1.leq15" + ], + "layer1.geq16": [ + "$x[0:7]" + ], + "layer1.leq16": [ + "$x[0:7]" + ], + "layer2.eq16": [ + "layer1.geq16", + "layer1.leq16" + ], + "layer1.geq17": [ + "$x[0:7]" + ], + "layer1.leq17": [ + "$x[0:7]" + ], + "layer2.eq17": [ + "layer1.geq17", + "layer1.leq17" + ], + "layer1.geq18": [ + "$x[0:7]" + ], + "layer1.leq18": [ + "$x[0:7]" + ], + "layer2.eq18": [ + "layer1.geq18", + "layer1.leq18" + ], + "layer1.geq19": [ + "$x[0:7]" + ], + "layer1.leq19": [ + "$x[0:7]" + ], + "layer2.eq19": [ + "layer1.geq19", + "layer1.leq19" + ], + "layer1.geq20": [ + "$x[0:7]" + ], + "layer1.leq20": [ + "$x[0:7]" + ], + "layer2.eq20": [ + "layer1.geq20", + "layer1.leq20" + ], + "layer1.geq21": [ + "$x[0:7]" + ], + "layer1.leq21": [ + "$x[0:7]" + ], + "layer2.eq21": [ + "layer1.geq21", + "layer1.leq21" + ], + "layer3.or": [ + "layer2.eq0", + "layer2.eq1", + "layer2.eq2", + "layer2.eq3", + "layer2.eq4", + "layer2.eq5", + "layer2.eq6", + "layer2.eq7", + "layer2.eq8", + "layer2.eq9", + "layer2.eq10", + "layer2.eq11", + "layer2.eq12", + "layer2.eq13", + "layer2.eq14", + "layer2.eq15", + "layer2.eq16", + "layer2.eq17", + "layer2.eq18", + "layer2.eq19", + "layer2.eq20", + "layer2.eq21" + ] + }, + "output": "layer3.or" + }, + "pattern_recognition.popcount": { + "inputs": [ + "$x[0:7]" + ], + "type": "weighted_sum" + }, + "pattern_recognition.allzeros": { + "inputs": [ + "$x[0:7]" + ], + "type": "weighted_sum" + }, + "pattern_recognition.allones": { + "inputs": [ + "$x[0:7]" + ], + "type": "weighted_sum" + }, + "pattern_recognition.leadingones": { + "inputs": [ + "$x[0:7]" + ], + "type": "weighted_sum" + }, + "pattern_recognition.trailingones": { + "inputs": [ + "$x[0:7]" + ], + "type": "weighted_sum" + }, + "pattern_recognition.runlength": { + "inputs": [ + "$x[0:7]" + ], + "type": "weighted_sum" + }, + "pattern_recognition.onehotdetector": { + "inputs": [ + "$x[0:7]" + ], + "type": "composite", + "internal": { + "atleast1": [ + "$x[0:7]" + ], + "atmost1": [ + "$x[0:7]" + ], + "and": [ + "atleast1", + "atmost1" + ] + }, + "output": "and" + }, + "pattern_recognition.alternating8bit": { + "inputs": [ + "$x[0:7]" + ], + "type": "composite", + "internal": { + "pattern1": [ + "$x[0:7]" + ], + "pattern2": [ + "$x[0:7]" + ] + } + }, + "pattern_recognition.hammingdistance8bit": { + "inputs": [ + "$a[0:7]", + "$b[0:7]" + ], + "type": "composite", + "internal": { + "xor": [ + "$a[0:7]", + "$b[0:7]" + ], + "popcount": [ + "xor" + ] + }, + "output": "popcount" + }, + "pattern_recognition.symmetry8bit": { + "inputs": [ + "$x[0:7]" + ], + "type": "composite", + "internal": { + "xnor0": [ + "$x[0]", + "$x[7]" + ], + "xnor1": [ + "$x[1]", + "$x[6]" + ], + "xnor2": [ + "$x[2]", + "$x[5]" + ], + "xnor3": [ + "$x[3]", + "$x[4]" + ], + "and": [ + "xnor0", + "xnor1", + "xnor2", + "xnor3" + ] + }, + "output": "and" + }, + "manifest.alu_operations": { + "type": "constant", + "value": 16 + }, + "manifest.flags": { + "type": "constant", + "value": 4 + }, + "manifest.instruction_width": { + "type": "constant", + "value": 16 + }, + "manifest.memory_bytes": { + "type": "constant", + "value": 65536 + }, + "manifest.pc_width": { + "type": "constant", + "value": 16 + }, + "manifest.register_width": { + "type": "constant", + "value": 8 + }, + "manifest.registers": { + "type": "constant", + "value": 4 + }, + "manifest.turing_complete": { + "type": "constant", + "value": 1 + }, + "manifest.version": { + "type": "constant", + "value": 3 + } + } +} \ No newline at end of file