diff --git a/pyeda/boolalg/bfarray.py b/pyeda/boolalg/bfarray.py
index <HASH>..<HASH> 100644
--- a/pyeda/boolalg/bfarray.py
+++ b/pyeda/boolalg/bfarray.py
@@ -342,6 +342,16 @@ class farray(object):
         else:
             return num
 
+    def zext(self, num):
+        """Return a flat copy of this array, zero-extended by N bits."""
+        zero = _ZEROS[self.ftype]
+        return self.__class__(self.items + [zero] * num)
+
+    def sext(self, num):
+        """Return a flat copy of this array, sign-extended by N bits."""
+        sign = self.items[-1]
+        return self.__class__(self.items + [sign] * num)
+
     # Operators
     def __invert__(self):
         return self.__class__([~x for x in self.items], self.shape)
Add zero and sign extend farray methods