Create MI tests for Activation: CLAMP; Data Layout: PAD

* Existing float attributes now serialized as bytes

Signed-off-by: James Ward <james.ward@arm.com>
Change-Id: I415276706b9daf0893e3a59189f387f872ff07c2
diff --git a/verif/generator/tosa_test_gen.py b/verif/generator/tosa_test_gen.py
index d799eb0..c29763b 100644
--- a/verif/generator/tosa_test_gen.py
+++ b/verif/generator/tosa_test_gen.py
@@ -1072,10 +1072,15 @@
             return None
 
         attr = ts.TosaSerializerAttribute()
-        if a.dtype in (DType.FP16, DType.BF16, DType.FP32):
-            attr.ClampAttribute(0, 0, min_val, max_val)
+        if a.dtype in (DType.BF16, DType.FP16, DType.FP32):
+            if a.dtype == DType.FP16:
+                # Non-tensor fp16 ops take fp16 values as fp32 in reference_model
+                min_val = min_val.astype(np.float32)
+                max_val = max_val.astype(np.float32)
+
+            attr.ClampAttribute(self.ser.builder, 0, 0, min_val, max_val)
         else:
-            attr.ClampAttribute(min_val, max_val, 0, 0)
+            attr.ClampAttribute(self.ser.builder, min_val, max_val, 0, 0)
 
         self.ser.addOperator(op["op"], input_list, output_list, attr)
         return result_tens
@@ -1221,7 +1226,9 @@
         result_tens = OutputShaper.padOp(self.ser, self.rng, a, padding, error_name)
 
         attr = ts.TosaSerializerAttribute()
-        attr.PadAttribute(padding.flatten(), pad_const_int, pad_const_float)
+        attr.PadAttribute(
+            self.ser.builder, padding.flatten(), pad_const_int, pad_const_float
+        )
 
         # Invalidate Input/Output list for error if checks.
         input_list = [a.name]