Adding scripts to test if a file is generated.
diff --git a/scripts/python-skywater-pdk/skywater_pdk/files.py b/scripts/python-skywater-pdk/skywater_pdk/files.py
new file mode 100644
index 0000000..6882648
--- /dev/null
+++ b/scripts/python-skywater-pdk/skywater_pdk/files.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2020 The SkyWater PDK Authors.
+#
+# Use of this source code is governed by the Apache 2.0
+# license that can be found in the LICENSE file or at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+
+
+VERILOG_BASE = [
+    "full.v",
+]
+
+VERILOG_GENERATED = [
+    "blackbox.v",
+    "simple.v",
+]
+
+LIBERTY_BASE = [
+    "wrap.lib",
+]
+LIBERTY_GENERATED = [
+    "cell.lib",
+]
+
+
+
+
+def src_filename(filename):
+    """Returns the source file for a generated file.
+
+    >>> src_filename("")
+
+    """
+    if '.' in filename:
+        basename, extension = filename.split('.', 1)
+    else:
+        basename = filename
+        extension = ''
+
+    if extension.endswith(".v"):
+        if extension in VERILOG_BASE:
+            raise TypeError(
+                "File type {} (from file {}) is not generated!".format(
+                    extension, filename))
+        elif extension not in VERILOG_GENERATED:
+            raise NameError(
+                "Unknown file type {} for file {}".format(
+                    extension, filename))
+        return "{}.{}".format(basename, "full.v")
+
+    elif extension.endswith(".lib"):
+        if extension not in LIBERTY_BASE:
+            raise TypeError(
+                "File type {} (from file {}) is not generated!".format(
+                    extension, filename))
+        elif extension not in LIBERTY_GENERATED:
+            raise NameError(
+                "Unknown file type {} for file {}".format(
+                    extension, filename))
+        return "{}.{}".format(basename, ".json")
+
+
+def is_generated(filename):
+    """Determines if a file is generated from another source.
+
+    >>> is_generated("")
+
+    """
+
+    if '.' in filename:
+        basename, extension = filename.split('.', 1)
+    else:
+        basename = filename
+        extension = ''
+
+    if extension.endswith(".v"):
+        if extension in VERILOG_BASE:
+            return False
+        elif extension in VERILOG_GENERATED:
+            return True
+        else:
+            raise NameError(
+                "Unknown file type {} for file {}".format(
+                    extension, filename))
+
+    if extension.endswith(".lib"):
+        if extension in LIBERTY_BASE:
+            return False
+        elif extension in LIBERTY_GENERATED:
+            return True
+
+    if extension.endswith(".json"):
+        return True
+    if f.endswith(".png"):
+        return True
+    if f in ('README.rst',):
+        return True
+    return False
+
+
+if __name__ == "__main__":
+    import doctest
+    doctest.testmod()