[dvsim] Add GUI mode for running simulations

The adds support for running simulations in GUI mode. This change plumbs
the dvsim switch `--gui` to the underlying tools. With VCS and Xcelium,
the respective GUI windows will open, exposing the UCLI prompt, where
the user can take control of running the simulation (debugging, adding
breakpoints etc).

If GUI mode is enabled and multiple tests are provided for run, it picks
the first and drops everything else. The onus is on the user to pick
correctly (pass a single test with `--items` and a specific seed with
`--seed`).

Further, in GUI mode, it drops the pass and fail patterns, since the
whole simulation is run from inside the tool (the log file is not
generated).

Only VCS and Xcelium are currently fully supported. For all others,
`--gui` has no effect.

Signed-off-by: Srikrishna Iyer <sriyer@google.com>
diff --git a/util/dvsim/Deploy.py b/util/dvsim/Deploy.py
index 372c5a0..a9b1677 100644
--- a/util/dvsim/Deploy.py
+++ b/util/dvsim/Deploy.py
@@ -435,8 +435,11 @@
         self.job_name = "{}_{}_{}".format(self.sim_cfg.name, self.target,
                                           self.build_mode)
         self.output_dirs += [self.cov_db_test_dir]
-        self.pass_patterns = self.run_pass_patterns
-        self.fail_patterns = self.run_fail_patterns
+
+        # In GUI mode, the log file is not updated; hence, nothing to check.
+        if not self.sim_cfg.gui:
+            self.pass_patterns = self.run_pass_patterns
+            self.fail_patterns = self.run_fail_patterns
 
     def post_finish(self, status):
         if status != 'P':