[xbar/dv] Support unmapped addr and add tests

1. update random seq framework
2. update scb to support unmapped addr
3. add tests
  - xbar_access_same_device
  - xbar_same_source
  - xbar_error_test: test d_error from device and disable protocol
  related constraint
  - xbar_unmapped_addr
diff --git a/hw/ip/tlul/dv/env/xbar_env_cfg.sv b/hw/ip/tlul/dv/env/xbar_env_cfg.sv
index 2ca7a9b..ad85e3e 100644
--- a/hw/ip/tlul/dv/env/xbar_env_cfg.sv
+++ b/hw/ip/tlul/dv/env/xbar_env_cfg.sv
@@ -9,18 +9,23 @@
 
   rand tl_agent_cfg  host_agent_cfg[];
   rand tl_agent_cfg  device_agent_cfg[];
-  int                num_of_hosts;
-  int                num_of_devices;
-  uint               min_req_delay = 0;
-  uint               max_req_delay = 20;
-  uint               min_rsp_delay = 0;
-  uint               max_rsp_delay = 20;
+  uint               num_hosts;
+  uint               num_devices;
+  uint               num_enabled_hosts;
+  uint               min_host_req_delay   = 0;
+  uint               max_host_req_delay   = 20;
+  uint               min_host_rsp_delay   = 0;
+  uint               max_host_rsp_delay   = 20;
+  uint               min_device_req_delay = 0;
+  uint               max_device_req_delay = 20;
+  uint               min_device_rsp_delay = 0;
+  uint               max_device_rsp_delay = 20;
 
   `uvm_object_utils_begin(xbar_env_cfg)
     `uvm_field_array_object(host_agent_cfg,    UVM_DEFAULT)
     `uvm_field_array_object(device_agent_cfg,  UVM_DEFAULT)
-    `uvm_field_int(num_of_hosts,               UVM_DEFAULT)
-    `uvm_field_int(num_of_devices,             UVM_DEFAULT)
+    `uvm_field_int(num_hosts,                  UVM_DEFAULT)
+    `uvm_field_int(num_devices,                UVM_DEFAULT)
   `uvm_object_utils_end
 
   `uvm_object_new
@@ -29,22 +34,21 @@
                                    bit [TL_AW-1:0] csr_addr_map_size = 2048);
     has_ral = 0; // no csr in xbar
     // Host TL agent cfg
-    num_of_hosts = xbar_hosts.size();
-    host_agent_cfg = new[num_of_hosts];
+    num_hosts         = xbar_hosts.size();
+    num_enabled_hosts = xbar_hosts.size();
+    host_agent_cfg    = new[num_hosts];
     foreach (host_agent_cfg[i]) begin
       host_agent_cfg[i] = tl_agent_cfg::type_id::
                           create($sformatf("%0s_agent_cfg", xbar_hosts[i].host_name));
       host_agent_cfg[i].is_host = 1;
-      host_agent_cfg[i].use_seq_item_a_valid_delay = 1;
     end
     // Device TL agent cfg
-    num_of_devices = xbar_devices.size();
-    device_agent_cfg = new[num_of_devices];
+    num_devices      = xbar_devices.size();
+    device_agent_cfg = new[num_devices];
     foreach (device_agent_cfg[i]) begin
       device_agent_cfg[i] = tl_agent_cfg::type_id::
                             create($sformatf("%0s_agent_cfg", xbar_devices[i].device_name));
       device_agent_cfg[i].is_host = 0;
-      device_agent_cfg[i].use_seq_item_d_valid_delay = 1;
     end
   endfunction
 endclass