fix bug: assign value to or initialize single-value port