[dv, uvmdvgen] fixes for issue 434

- fixed base test to extend from cip_base_test if cip
- added -hi and -ha switches to indicate if interrupts / alerts are to
  be created in the testbench
- removed typedef for virtual sequencer if there are no agents (always create it)
diff --git a/util/uvmdvgen/tb.sv.tpl b/util/uvmdvgen/tb.sv.tpl
index 15831b0..9bd5d84 100644
--- a/util/uvmdvgen/tb.sv.tpl
+++ b/util/uvmdvgen/tb.sv.tpl
@@ -15,15 +15,23 @@
 
   wire clk, rst_n;
 % if is_cip:
+% if has_interrupts:
   wire [NUM_MAX_INTERRUPTS-1:0] interrupts;
+% endif
+% if has_alerts:
   wire [NUM_MAX_ALERTS-1:0] alerts;
 % endif
+% endif
 
   // interfaces
   clk_rst_if clk_rst_if(.clk(clk), .rst_n(rst_n));
 % if is_cip:
+% if has_interrupts:
   pins_if #(NUM_MAX_INTERRUPTS) intr_if(interrupts);
+% endif
+% if has_alerts:
   pins_if #(NUM_MAX_ALERTS) alerts_if(alerts);
+% endif
   pins_if #(1) devmode_if();
   tl_if tl_if(.clk(clk), .rst_n(rst_n));
 % endif
@@ -52,8 +60,12 @@
     clk_rst_if.set_active();
     uvm_config_db#(virtual clk_rst_if)::set(null, "*.env", "clk_rst_vif", clk_rst_if);
 % if is_cip:
+% if has_interrupts:
     uvm_config_db#(intr_vif)::set(null, "*.env", "intr_vif", intr_if);
+% endif
+% if has_alerts:
     uvm_config_db#(alerts_vif)::set(null, "*.env", "alerts_vif", alerts_if);
+% endif
     uvm_config_db#(devmode_vif)::set(null, "*.env", "devmode_vif", devmode_if);
     uvm_config_db#(tlul_assert_vif)::set(null, "*.env", "tlul_assert_vif",
                                          tb.dut.tlul_assert_host);