code: def find_path(self, basename, install_dir=None):
          
  
          # Look for the file we were asked for.
          for dir in self.find_path_dirs:
              path = os.path.join(dir, basename)
              if os.path.exists(path):
                  return path
  
          # If we didn't find the file, return the path to where we'd like it to 
          # be installed.
          return os.path.join(install_dir or self.preferred_install_dir, basename)
docs: Look in a few places for a file with the given name.  If a custom
          version of the file is found in the directory being managed by
          this workspace, return it.  Otherwise look in the custom and default 
          input directories in the root directory, and then finally in the root 
          directory itself.
  
          This function makes it easy to provide custom parameters to any stage
          to the design pipeline.  Just place the file with the custom parameters
          in a directory associated with that stage.