Param(IntegerType(default=8), 'DATA_WIDTH')
Param(IntegerType(default=4), 'OUTPUT_WIDTH')
Port(UintType(Param(IntegerType(default=8), 'DATA_WIDTH')), 'A', direction=IN)
Port(UintType(Param(IntegerType(default=8), 'DATA_WIDTH')), 'B', direction=IN)
Port(UintType(Op(Param(IntegerType(default=8), 'DATA_WIDTH'), '+', ConstExpr(IntegerType(default=1)))), 'X', direction=OUT)
Port(UintType(8), 'byte_p', direction=IN)
Port(ArrayType(UintType(4), 8, direction=DOWN, packed=True), 'word_p', direction=IN)
Port(BitType(), 'flag_u', direction=IN)
Port(ArrayType(UintType(8), 4), 'arr_u', direction=IN)
