+ PriorityPicker: the input is N bits, the output is N bits wide and
+ only one is enabled.
+
+ MultiPriorityPicker: likewise except that there are M pickers and
+ each output is guaranteed mutually exclusive. Optionally:
+ an "index" (and enable line) is also outputted.
+
+ MultiPriorityPicker is designed for port-selection, when there are
+ multiple "things" (of width N) contending for access to M "ports".
+ When the M=0 "thing" requests a port, it gets allocated port 0
+ (always). However if the M=0 "thing" does *not* request a port,
+ this gives the M=1 "thing" the opportunity to gain access to port 0.
+
+ Given that N may potentially be much greater than M (16 bits wide
+ where M may be e.g. only 4) we can't just ok, "ok so M=N therefore
+ M=0 gets access to port 0, M=1 gets access to port 1" etc.