select

select :
A signal selector (i.e. multiplexer) for xreal-typed signals.

The select primitive selects one of the multiple xreal-typed inputs in as its output according to an xbit-typed selection signal sel. In other words, it serves an analog multiplexer.

When the number of inputs is equal to 2^k, the primary way to specify the width of the select primitive is to define the parameter width_sel, denoting the bit-width of the selection signal sel in the binary format, to k. It will set the parameter num_in, denoting the number of input signals, to 2^k as well.

When the number of inputs is not in the form of 2^k, both width_sel and num_in can be used. Any inconsistencies between the two parameters may result in undesired behaviors, though. For instance, if num_in is larger than 2^width_sel, then the input signals with the higher indices than 2^width_sel-1 cannot be selected. If num_in is smaller than 2^width_sel, the select primitive assumes that the unspecified inputs with indices higher than num_in are zero-valued signals.

Input/Output Terminals

Name I/O Type Description
out output xreal output signal
in input xreal input signals
sel input xbit selection signals (binary-coded)

Parameters

Name Type Default Unit Description
width_sel integer 1 None width of selection bits
num_in integer 2 None number of inputs
« scale_var
sin_func »