In reply to pawar:
I don’t have the time to draw a picture that would help you. A packed type is just any type that could be treated as an integral(integer) value greater than a single scalar bit. trans_q by itself without any key select expression is a whole unpacked array. You can copy or compare unpacked arrays as a whole, but you can not use a whole unpacked array in an integral expression.