super_state_to_src_mask
val &= ~((super_state_to_src_mask(mux)) << shift);
val |= (index & (super_state_to_src_mask(mux))) << shift;
source = (val >> shift) & super_state_to_src_mask(mux);