pub fn tile_channel_demand(cell: &LoopCell) -> usizeExpand description
How many operand channels the switchbox must route into ONE tile for cell.
A global input or a constant operand is TAPPED at the tile for free (inputs fan out at no
cost); every other operand is another cell’s output and has to arrive on one of the tile’s two
routed channels — its north or its west. Two ports that read the SAME producer share one
channel, which is why clamp’s If r is greater than 1000 (the comparison’s left operand and
the else arm are both r) needs ONE channel and routes, while pick’s If bit is 1 (a
computed predicate over two computed arms) needs THREE and does not.