Param(UintType(5), 'P_VEC')
Param(ArrayType(UintType(5), 4, direction=DOWN, packed=True), 'P_MATRIX')
Param(ArrayType(BitType(), 5, direction=DOWN), 'P_UNPACK')
Param(ArrayType(UintType(4), 5, direction=DOWN), 'P_VEC_UNPACK')
Port(UintType(5), 'vec_i', direction=IN)
Port(ArrayType(UintType(5), 4, direction=DOWN, packed=True), 'matrix_i', direction=IN)
Port(ArrayType(UintType(4, right=1), 3, left=1, right=3, packed=True), 'matrix2_i', direction=IN)
Port(ArrayType(BitType(), 5, direction=DOWN), 'unpack_i', direction=IN)
Port(ArrayType(UintType(4), 5, direction=DOWN), 'vec_unpack_i', direction=IN)
Port(BitType(), 'out_o', direction=OUT)
