diff --git a/ethosu/vela/tflite/TileOptions.py b/ethosu/vela/tflite/TileOptions.py
index 73eebc6..645cf34 100644
--- a/ethosu/vela/tflite/TileOptions.py
+++ b/ethosu/vela/tflite/TileOptions.py
@@ -10,13 +10,17 @@
     __slots__ = ['_tab']
 
     @classmethod
-    def GetRootAsTileOptions(cls, buf, offset):
+    def GetRootAs(cls, buf, offset=0):
         n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
         x = TileOptions()
         x.Init(buf, n + offset)
         return x
 
     @classmethod
+    def GetRootAsTileOptions(cls, buf, offset=0):
+        """This method is deprecated. Please switch to GetRootAs."""
+        return cls.GetRootAs(buf, offset)
+    @classmethod
     def TileOptionsBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
         return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x46\x4C\x33", size_prefixed=size_prefixed)
 
@@ -25,4 +29,8 @@
         self._tab = flatbuffers.table.Table(buf, pos)
 
 def TileOptionsStart(builder): builder.StartObject(0)
+def Start(builder):
+    return TileOptionsStart(builder)
 def TileOptionsEnd(builder): return builder.EndObject()
+def End(builder):
+    return TileOptionsEnd(builder)
\ No newline at end of file
