[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);