combinational_critical_path { total_delay_ps: 897 nodes { total_delay_ps: 897 op: OP_TUPLE id: 78 ir: "result__2: (bits[1], bits[8], bits[7]) = tuple(sign: bits[1], sel.74: bits[8], and.118: bits[7], id=78, pos=[(2,250,17)])" } nodes { total_delay_ps: 897 node_delay_ps: 115 op: OP_SEL id: 74 ir: "sel.74: bits[8] = sel(eq.44, cases=[and.115, literal.80], id=74, pos=[(2,250,17)])" } nodes { total_delay_ps: 782 node_delay_ps: 23 op: OP_AND id: 115 ir: "and.115: bits[8] = and(bexp: bits[8], sign_ext.114: bits[8], id=115, pos=[(2,248,17)])" } nodes { total_delay_ps: 759 node_delay_ps: 212 op: OP_ADD id: 33 ir: "bexp: bits[8] = add(concat.58: bits[8], BIAS: bits[8], id=33, pos=[(2,243,15)])" } nodes { total_delay_ps: 547 op: OP_CONCAT id: 58 ir: "concat.58: bits[8] = concat(literal.57: bits[4], exp: bits[4], id=58)" } nodes { total_delay_ps: 547 node_delay_ps: 144 op: OP_SUB id: 31 ir: "exp: bits[4] = sub(MAX_EXPONENT: bits[4], lz: bits[4], id=31, pos=[(2,242,14)])" } nodes { total_delay_ps: 403 op: OP_CONCAT id: 85 ir: "lz: bits[4] = concat(literal.86: bits[1], encode.25: bits[3], id=85)" } nodes { total_delay_ps: 403 node_delay_ps: 47 op: OP_ENCODE id: 25 ir: "encode.25: bits[3] = encode(one_hot.24: bits[8], id=25, pos=[(2,239,16)])" } nodes { total_delay_ps: 356 node_delay_ps: 111 op: OP_ONE_HOT id: 24 ir: "one_hot.24: bits[8] = one_hot(reverse.23: bits[7], lsb_prio=true, id=24, pos=[(2,239,16)])" } nodes { total_delay_ps: 245 op: OP_REVERSE id: 23 ir: "reverse.23: bits[7] = reverse(unsigned: bits[7], id=23, pos=[(2,239,16)])" } nodes { total_delay_ps: 245 node_delay_ps: 112 op: OP_SEL id: 22 ir: "unsigned: bits[7] = sel(sign, cases=[bit_slice.21, neg.83], id=22, pos=[(2,236,19)])" } nodes { total_delay_ps: 133 node_delay_ps: 133 op: OP_NEG id: 83 ir: "neg.83: bits[7] = neg(bit_slice.21: bits[7], id=83, pos=[(2,236,29)])" } nodes { op: OP_BIT_SLICE id: 21 ir: "bit_slice.21: bits[7] = bit_slice(x: bits[8], start=0, width=7, id=21)" } nodes { op: OP_PARAM id: 14 ir: "x: bits[8] = param(name=x, id=14)" } } all_nodes { op: OP_PARAM id: 14 ir: "x: bits[8] = param(name=x, id=14)" } all_nodes { op: OP_BIT_SLICE id: 21 ir: "bit_slice.21: bits[7] = bit_slice(x: bits[8], start=0, width=7, id=21)" } all_nodes { op: OP_BIT_SLICE id: 91 ir: "sign: bits[1] = bit_slice(x: bits[8], start=7, width=1, id=91, pos=[(0,357,61), (2,235,23)])" } all_nodes { node_delay_ps: 133 op: OP_NEG id: 83 ir: "neg.83: bits[7] = neg(bit_slice.21: bits[7], id=83, pos=[(2,236,29)])" } all_nodes { node_delay_ps: 112 op: OP_SEL id: 22 ir: "unsigned: bits[7] = sel(sign, cases=[bit_slice.21, neg.83], id=22, pos=[(2,236,19)])" } all_nodes { op: OP_REVERSE id: 23 ir: "reverse.23: bits[7] = reverse(unsigned: bits[7], id=23, pos=[(2,239,16)])" } all_nodes { node_delay_ps: 111 op: OP_ONE_HOT id: 24 ir: "one_hot.24: bits[8] = one_hot(reverse.23: bits[7], lsb_prio=true, id=24, pos=[(2,239,16)])" } all_nodes { op: OP_LITERAL id: 86 ir: "literal.86: bits[1] = literal(value=0, id=86)" } all_nodes { node_delay_ps: 47 op: OP_ENCODE id: 25 ir: "encode.25: bits[3] = encode(one_hot.24: bits[8], id=25, pos=[(2,239,16)])" } all_nodes { op: OP_LITERAL id: 15 ir: "MAX_EXPONENT: bits[4] = literal(value=6, id=15, pos=[(2,232,25)])" } all_nodes { op: OP_CONCAT id: 85 ir: "lz: bits[4] = concat(literal.86: bits[1], encode.25: bits[3], id=85)" } all_nodes { op: OP_LITERAL id: 57 ir: "literal.57: bits[4] = literal(value=0, id=57)" } all_nodes { node_delay_ps: 144 op: OP_SUB id: 31 ir: "exp: bits[4] = sub(MAX_EXPONENT: bits[4], lz: bits[4], id=31, pos=[(2,242,14)])" } all_nodes { op: OP_LITERAL id: 35 ir: "literal.35: bits[7] = literal(value=0, id=35, pos=[(2,248,32)])" } all_nodes { op: OP_CONCAT id: 58 ir: "concat.58: bits[8] = concat(literal.57: bits[4], exp: bits[4], id=58)" } all_nodes { op: OP_LITERAL id: 16 ir: "BIAS: bits[8] = literal(value=127, id=16, pos=[(2,233,17)])" } all_nodes { node_delay_ps: 93 op: OP_NE id: 119 ir: "ne.119: bits[1] = ne(bit_slice.21: bits[7], literal.35: bits[7], id=119, pos=[(2,248,17)])" } all_nodes { op: OP_LITERAL id: 28 ir: "literal.28: bits[4] = literal(value=1, id=28, pos=[(2,240,37)])" } all_nodes { op: OP_LITERAL id: 43 ir: "literal.43: bits[8] = literal(value=128, id=43, pos=[(2,250,25)])" } all_nodes { node_delay_ps: 212 op: OP_ADD id: 33 ir: "bexp: bits[8] = add(concat.58: bits[8], BIAS: bits[8], id=33, pos=[(2,243,15)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 114 ir: "sign_ext.114: bits[8] = sign_ext(ne.119: bits[1], new_bit_count=8, id=114, pos=[(2,248,17)])" } all_nodes { node_delay_ps: 141 op: OP_ADD id: 29 ir: "add.29: bits[4] = add(lz: bits[4], literal.28: bits[4], id=29, pos=[(2,240,32)])" } all_nodes { node_delay_ps: 96 op: OP_EQ id: 44 ir: "eq.44: bits[1] = eq(x: bits[8], literal.43: bits[8], id=44, pos=[(2,250,20)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 115 ir: "and.115: bits[8] = and(bexp: bits[8], sign_ext.114: bits[8], id=115, pos=[(2,248,17)])" } all_nodes { op: OP_LITERAL id: 80 ir: "literal.80: bits[8] = literal(value=134, id=80, pos=[(2,250,17)])" } all_nodes { node_delay_ps: 152 op: OP_SHLL id: 30 ir: "fraction: bits[7] = shll(unsigned: bits[7], add.29: bits[4], id=30, pos=[(2,240,19)])" } all_nodes { node_delay_ps: 17 op: OP_SIGN_EXT id: 117 ir: "sign_ext.117: bits[7] = sign_ext(ne.119: bits[1], new_bit_count=7, id=117, pos=[(2,250,17)])" } all_nodes { node_delay_ps: 115 op: OP_SEL id: 74 ir: "sel.74: bits[8] = sel(eq.44, cases=[and.115, literal.80], id=74, pos=[(2,250,17)])" } all_nodes { node_delay_ps: 23 op: OP_AND id: 118 ir: "and.118: bits[7] = and(fraction: bits[7], sign_ext.117: bits[7], id=118, pos=[(2,250,17)])" } all_nodes { op: OP_TUPLE id: 78 ir: "result__2: (bits[1], bits[8], bits[7]) = tuple(sign: bits[1], sel.74: bits[8], and.118: bits[7], id=78, pos=[(2,250,17)])" }