[dv] Update CIP lib to use bus_params_pkg

Replaces parameters from top_pkg with parameters from bus_params_pkg.

Signed-off-by: Srikrishna Iyer <sriyer@google.com>
diff --git a/hw/dv/sv/cip_lib/cip_base_env_cfg.sv b/hw/dv/sv/cip_lib/cip_base_env_cfg.sv
index 08c27fc..a419580 100644
--- a/hw/dv/sv/cip_lib/cip_base_env_cfg.sv
+++ b/hw/dv/sv/cip_lib/cip_base_env_cfg.sv
@@ -26,7 +26,7 @@
 
   `uvm_object_new
 
-  virtual function void initialize(bit [TL_AW-1:0] csr_base_addr = '1);
+  virtual function void initialize(bit [BUS_AW-1:0] csr_base_addr = '1);
     super.initialize(csr_base_addr);
     // create tl agent config obj
     m_tl_agent_cfg = tl_agent_cfg::type_id::create("m_tl_agent_cfg");
diff --git a/hw/dv/sv/cip_lib/cip_base_pkg.sv b/hw/dv/sv/cip_lib/cip_base_pkg.sv
index ccbff1f..161b2ea 100644
--- a/hw/dv/sv/cip_lib/cip_base_pkg.sv
+++ b/hw/dv/sv/cip_lib/cip_base_pkg.sv
@@ -5,7 +5,7 @@
 package cip_base_pkg;
   // dep packages
   import uvm_pkg::*;
-  import top_pkg::*;
+  import bus_params_pkg::*;
   import dv_utils_pkg::*;
   import csr_utils_pkg::*;
   import dv_lib_pkg::*;
diff --git a/hw/dv/sv/cip_lib/cip_base_scoreboard.sv b/hw/dv/sv/cip_lib/cip_base_scoreboard.sv
index 21f0b77..3658c1f 100644
--- a/hw/dv/sv/cip_lib/cip_base_scoreboard.sv
+++ b/hw/dv/sv/cip_lib/cip_base_scoreboard.sv
@@ -121,7 +121,7 @@
   // only lsb addr is used, the other can be ignored, use this function to normalize the addr to
   // the format that RAL uses
   virtual function uvm_reg_addr_t get_normalized_addr(uvm_reg_addr_t addr);
-    return ({addr[TL_AW-1:2], 2'b00} & (cfg.csr_addr_map_size - 1)) + cfg.csr_base_addr;
+    return ({addr[BUS_AW-1:2], 2'b00} & (cfg.csr_addr_map_size - 1)) + cfg.csr_base_addr;
   endfunction
 
   // check if it's mem addr
diff --git a/hw/dv/sv/cip_lib/cip_base_vseq.sv b/hw/dv/sv/cip_lib/cip_base_vseq.sv
index 2435164..8dd7362 100644
--- a/hw/dv/sv/cip_lib/cip_base_vseq.sv
+++ b/hw/dv/sv/cip_lib/cip_base_vseq.sv
@@ -24,8 +24,8 @@
 
   // address mask struct
   typedef struct packed {
-    bit [TL_AW-1:0]  addr;
-    bit [TL_DBW-1:0] mask;
+    bit [BUS_AW-1:0]  addr;
+    bit [BUS_DBW-1:0] mask;
   } addr_mask_t;
 
   addr_mask_t mem_exist_addr_q[$];
@@ -33,7 +33,7 @@
   // mem_ranges without base address
   addr_range_t     updated_mem_ranges[$];
   // mask out bits out of the csr/mem range and LSB 2 bits
-  bit [TL_AW-1:0]  csr_addr_mask;
+  bit [BUS_AW-1:0] csr_addr_mask;
 
   rand uint delay_to_reset;
   constraint delay_to_reset_c {
@@ -57,7 +57,7 @@
   endtask
 
   task pre_start();
-    csr_utils_pkg::max_outstanding_accesses = 1 << TL_AIW;
+    csr_utils_pkg::max_outstanding_accesses = 1 << BUS_AIW;
     super.pre_start();
     extract_common_csrs();
   endtask
@@ -72,21 +72,21 @@
     if (do_clear_all_interrupts) clear_all_interrupts();
   endtask
 
-  // tl_access task: does a single TL_W-bit write or read transaction to the specified address
+  // tl_access task: does a single BUS_DW-bit write or read transaction to the specified address
   // note that this task does not update ral model; optionally also checks for error response
   // TODO: randomize size, addr here based on given addr range, data, and mask, eventually can be
   // reused for mem_read, partial read, and hmac msg fifo write
-  virtual task tl_access(input bit [TL_AW-1:0]  addr,
-                         input bit              write,
-                         inout bit [TL_DW-1:0]  data,
-                         input bit [TL_DBW-1:0] mask = '1,
-                         input bit              check_rsp = 1'b1,
-                         input bit              exp_err_rsp = 1'b0,
-                         input bit [TL_DW-1:0]  exp_data = 0,
-                         input bit              check_exp_data = 1'b0,
-                         input bit [TL_DW-1:0]  compare_mask = '1,
-                         input bit              blocking = csr_utils_pkg::default_csr_blocking,
-                         tl_sequencer           tl_sequencer_h = p_sequencer.tl_sequencer_h);
+  virtual task tl_access(input bit [BUS_AW-1:0]  addr,
+                         input bit               write,
+                         inout bit [BUS_DW-1:0]  data,
+                         input bit [BUS_DBW-1:0] mask = '1,
+                         input bit               check_rsp = 1'b1,
+                         input bit               exp_err_rsp = 1'b0,
+                         input bit [BUS_DW-1:0]  exp_data = 0,
+                         input bit               check_exp_data = 1'b0,
+                         input bit [BUS_DW-1:0]  compare_mask = '1,
+                         input bit               blocking = csr_utils_pkg::default_csr_blocking,
+                         tl_sequencer            tl_sequencer_h = p_sequencer.tl_sequencer_h);
     if (blocking) begin
       tl_access_sub(addr, write, data, mask, check_rsp, exp_err_rsp, exp_data,
                     compare_mask, check_exp_data, tl_sequencer_h);
@@ -100,16 +100,16 @@
     end
   endtask
 
-  virtual task tl_access_sub(input bit [TL_AW-1:0]  addr,
-                             input bit              write,
-                             inout bit [TL_DW-1:0]  data,
-                             input bit [TL_DBW-1:0] mask = '1,
-                             input bit              check_rsp = 1'b1,
-                             input bit              exp_err_rsp = 1'b0,
-                             input bit [TL_DW-1:0]  exp_data = 0,
-                             input bit [TL_DW-1:0]  compare_mask = '1,
-                             input bit              check_exp_data = 1'b0,
-                             tl_sequencer           tl_sequencer_h = p_sequencer.tl_sequencer_h);
+  virtual task tl_access_sub(input bit [BUS_AW-1:0]  addr,
+                             input bit               write,
+                             inout bit [BUS_DW-1:0]  data,
+                             input bit [BUS_DBW-1:0] mask = '1,
+                             input bit               check_rsp = 1'b1,
+                             input bit               exp_err_rsp = 1'b0,
+                             input bit [BUS_DW-1:0]  exp_data = 0,
+                             input bit [BUS_DW-1:0]  compare_mask = '1,
+                             input bit               check_exp_data = 1'b0,
+                             tl_sequencer            tl_sequencer_h = p_sequencer.tl_sequencer_h);
     `DV_SPINWAIT(
         // thread to read/write tlul
         tl_host_single_seq  tl_seq;
@@ -128,7 +128,7 @@
         if (!write) begin
           data = tl_seq.rsp.d_data;
           if (check_exp_data && !cfg.under_reset) begin
-            bit [TL_DW-1:0] masked_data = data & compare_mask;
+            bit [BUS_DW-1:0] masked_data = data & compare_mask;
             exp_data &= compare_mask;
             `DV_CHECK_EQ(masked_data, exp_data, $sformatf("addr 0x%0h read out mismatch", addr))
           end
@@ -146,7 +146,7 @@
   // are descriptions of some of the args:
 
   // interrupts: bit vector indicating which interrupts to process
-  // suffix: if there are more than TL_DW interrupts, then add suffix 'hi' or 'lo' to the interrupt
+  // suffix: if there are more than BUS_DW interrupts, then add suffix 'hi' or 'lo' to the interrupt
   // TODO add support for suffix
   // csr to configure the right one (ex: intr_enable_hi, intr_enable_lo, etc)
   // indices[$]: registers could be indexed (example, rv_timer) in which case, push as many desired
@@ -205,14 +205,14 @@
   // task to enable multiple interrupts
   // enable: if set, then selected interrupts are enabled, else disabled
   // see description above for other args
-  virtual task cfg_interrupts(bit [TL_DW-1:0] interrupts,
+  virtual task cfg_interrupts(bit [BUS_DW-1:0] interrupts,
                               bit enable = 1'b1,
                               string suffix = "",
                               int indices[$] = {},
                               uvm_reg_block scope = null);
 
-    uvm_reg         csr;
-    bit [TL_DW-1:0] data;
+    uvm_reg          csr;
+    bit [BUS_DW-1:0] data;
 
     csr = get_interrupt_csr("intr_enable", "", indices, scope);
     data = csr.get_mirrored_value();
@@ -226,16 +226,16 @@
   // check_set: check if interrupts are set (1) or unset (0)
   // clear: bit vector indicating which interrupt bit to clear
   // see description above for other args
-  virtual task check_interrupts(bit [TL_DW-1:0] interrupts,
+  virtual task check_interrupts(bit [BUS_DW-1:0] interrupts,
                                 bit check_set,
                                 string suffix = "",
                                 int indices[$] = {},
                                 uvm_reg_block scope = null,
-                                bit [TL_DW-1:0] clear = '1);
-    uvm_reg         csr_intr_state, csr_intr_enable;
-    bit [TL_DW-1:0] act_pins;
-    bit [TL_DW-1:0] exp_pins;
-    bit [TL_DW-1:0] exp_intr_state;
+                                bit [BUS_DW-1:0] clear = '1);
+    uvm_reg          csr_intr_state, csr_intr_enable;
+    bit [BUS_DW-1:0] act_pins;
+    bit [BUS_DW-1:0] exp_pins;
+    bit [BUS_DW-1:0] exp_intr_state;
 
     if (cfg.under_reset) return;
 
@@ -275,7 +275,7 @@
 
   // generic task to check interrupt test reg functionality
   virtual task run_intr_test_vseq(int num_times = 1);
-    bit [TL_DW-1:0] exp_intr_state[$];
+    bit [BUS_DW-1:0] exp_intr_state[$];
     int test_index[$];
 
     foreach (intr_test_csrs[i]) begin
@@ -285,13 +285,13 @@
     end
 
     for (int trans = 1; trans <= num_times; trans++) begin
-      bit [TL_DW-1:0] num_used_bits;
-      bit [TL_DW-1:0] intr_enable_val[$];
+      bit [BUS_DW-1:0] num_used_bits;
+      bit [BUS_DW-1:0] intr_enable_val[$];
       `uvm_info(`gfn, $sformatf("Running intr test iteration %0d/%0d", trans, num_times), UVM_LOW)
       // Random Write to all intr enable registers
       test_index.shuffle();
       foreach (test_index[i]) begin
-        bit [TL_DW-1:0] wr_data;
+        bit [BUS_DW-1:0] wr_data;
         wr_data = $urandom_range(0, ((1 << intr_enable_csrs[test_index[i]].get_n_used_bits()) - 1));
         intr_enable_val.insert(test_index[i], wr_data);
         csr_wr(.csr(intr_enable_csrs[test_index[i]]), .value(wr_data));
@@ -300,7 +300,7 @@
       // Random write to all interrupt test reg
       test_index.shuffle();
       foreach (test_index[i]) begin
-        bit [TL_DW-1:0] wr_data;
+        bit [BUS_DW-1:0] wr_data;
         wr_data = $urandom_range(0, ((1 << intr_test_csrs[test_index[i]].get_n_used_bits()) - 1));
         // Add wr_data to expected state queue
         exp_intr_state[test_index[i]] |= wr_data;
@@ -310,7 +310,7 @@
       // Read all intr state
       test_index.shuffle();
       foreach (test_index[i]) begin
-        bit [TL_DW-1:0] dut_intr_state;
+        bit [BUS_DW-1:0] dut_intr_state;
         `uvm_info(`gtn, $sformatf("Verifying %0s", intr_test_csrs[test_index[i]].get_full_name()),
             UVM_LOW)
         csr_rd(.ptr(intr_state_csrs[test_index[i]]), .value(dut_intr_state));
@@ -320,7 +320,7 @@
       // check interrupt pins
       if (!cfg.under_reset) begin
         foreach (intr_test_csrs[i]) begin
-          bit [TL_DW-1:0] exp_intr_pin;
+          bit [BUS_DW-1:0] exp_intr_pin;
           exp_intr_pin = exp_intr_state[i] & intr_enable_val[i];
           for (int j = 0; j < intr_test_csrs[i].get_n_used_bits(); j++) begin
             bit act_intr_pin_val = cfg.intr_vif.sample_pin(j + num_used_bits);
@@ -335,7 +335,7 @@
       test_index.shuffle();
       foreach (test_index[i]) begin
         if ($urandom_range(0, 1)) begin
-          bit [TL_DW-1:0] wr_data;
+          bit [BUS_DW-1:0] wr_data;
           wr_data = $urandom_range((1 << intr_state_csrs[test_index[i]].get_n_used_bits()) - 1);
           exp_intr_state[test_index[i]] &= (~wr_data);
           csr_wr(.csr(intr_state_csrs[test_index[i]]), .value(wr_data));
@@ -346,7 +346,7 @@
 
   // Task to clear register intr status bits
   virtual task clear_all_interrupts();
-    bit [TL_DW-1:0] data;
+    bit [BUS_DW-1:0] data;
     foreach (intr_state_csrs[i]) begin
       csr_rd(.ptr(intr_state_csrs[i]), .value(data));
       if (data != 0) begin
@@ -497,9 +497,9 @@
     repeat (num_accesses * num_times) begin
       fork
         begin
-          bit [TL_AW-1:0]  addr;
-          bit [TL_DW-1:0]  data;
-          bit [TL_DBW-1:0] mask;
+          bit [BUS_AW-1:0]  addr;
+          bit [BUS_DW-1:0]  data;
+          bit [BUS_DBW-1:0] mask;
           randcase
             1: begin // write
               dv_base_mem mem;
@@ -587,10 +587,10 @@
   endtask
 
   // TLUL mask must be contiguous, e.g. 'b1001, 'b1010 aren't allowed
-  virtual function bit[TL_DBW-1:0] get_rand_contiguous_mask(bit [TL_DBW-1:0] valid_mask = '1);
-    bit [TL_DBW-1:0] mask;
+  virtual function bit[BUS_DBW-1:0] get_rand_contiguous_mask(bit [BUS_DBW-1:0] valid_mask = '1);
+    bit [BUS_DBW-1:0] mask;
     `DV_CHECK_STD_RANDOMIZE_WITH_FATAL(mask,
-                                       $countones(mask ^ {mask[TL_DBW-2:0], 1'b0}) <= 2;
+                                       $countones(mask ^ {mask[BUS_DBW-2:0], 1'b0}) <= 2;
                                        // for data bits aren't valid (unknown), mask bit should be 0
                                        foreach (valid_mask[i]) {
                                          !valid_mask[i] -> !mask[i];
diff --git a/hw/dv/sv/cip_lib/cip_base_vseq__tl_errors.svh b/hw/dv/sv/cip_lib/cip_base_vseq__tl_errors.svh
index 2fe2aad..b395524 100644
--- a/hw/dv/sv/cip_lib/cip_base_vseq__tl_errors.svh
+++ b/hw/dv/sv/cip_lib/cip_base_vseq__tl_errors.svh
@@ -21,12 +21,12 @@
   end
 
 virtual task tl_access_unmapped_addr();
-  bit [TL_AW-1:0] normalized_csr_addrs[] = new[cfg.csr_addrs.size()];
+  bit [BUS_AW-1:0] normalized_csr_addrs[] = new[cfg.csr_addrs.size()];
   // calculate normalized address outside the loop to improve perf
   foreach (cfg.csr_addrs[i]) normalized_csr_addrs[i] = cfg.csr_addrs[i] - cfg.csr_base_addr;
   // randomize unmapped_addr first to improve perf
   repeat ($urandom_range(10, 100)) begin
-    bit [TL_AW-1:0] unmapped_addr;
+    bit [BUS_AW-1:0] unmapped_addr;
     `DV_CHECK_STD_RANDOMIZE_WITH_FATAL(unmapped_addr,
         !((unmapped_addr & csr_addr_mask) inside {normalized_csr_addrs});
         foreach (updated_mem_ranges[i]) {
@@ -56,9 +56,9 @@
   uvm_reg all_csrs[$];
   ral.get_registers(all_csrs);
   foreach (all_csrs[i]) begin
-    dv_base_reg     csr;
-    uint            msb_pos;
-    bit [TL_AW-1:0] addr;
+    dv_base_reg      csr;
+    uint             msb_pos;
+    bit [BUS_AW-1:0] addr;
     `DV_CHECK_FATAL($cast(csr, all_csrs[i]))
     msb_pos = csr.get_msb_pos();
     addr    = csr.get_address();
diff --git a/hw/dv/sv/cip_lib/cip_lib.core b/hw/dv/sv/cip_lib/cip_lib.core
index 74d3dbd..4156ca3 100644
--- a/hw/dv/sv/cip_lib/cip_lib.core
+++ b/hw/dv/sv/cip_lib/cip_lib.core
@@ -13,6 +13,7 @@
       - lowrisc:dv:alert_esc_agent
       - lowrisc:dv:dv_base_reg
       - lowrisc:dv:mem_model
+      - lowrisc:opentitan:bus_params_pkg
     files:
       - cip_base_pkg.sv
       - cip_base_env_cfg.sv: {is_include_file: true}