weighted_sum - convert a group of bits to an integer
loadrt weighted_sum wsum_sizes=size[,size,...]
Creates weighted sum groups each with the given number of input bits (
size).
The weighted_sum converts a group of bits to an integer. The conversion is the
sum of the weights of the bits that are on plus any offset. The weight of the
m-th bit is 2^m. This is similar to a binary coded decimal but with more
options. The hold bit stops processing the input changes so the sum will not
change.
The default value for each weight is 2^m where m is the bit number. This results
in a binary to unsigned conversion.
There is a limit of 8 weighted summers and each may have up to 16 input bits.
- process_wsums (requires a floating point
thread)
- Read all input values and update all output values.
- wsum.N.bit.M.in bit
in
- The m'th input of weighted summer n.
- wsum.N.hold bit in
- When TRUE, the sum output does not change. When
FALSE, the sum output tracks the bit inputs according to the
weights and offset.
- wsum.N.sum signed out
- The output of the weighted summer
- wsum.N.bit.M.weight signed
rw
- The weight of the m'th input of weighted summer
n. The default value is 2^ m.
- wsum.N.offset signed rw
- The offset is added to the weights corresponding to all
TRUE inputs to give the final sum.
scaled_s32_sums(9),
sum2(9).