In reply to rgarcia07:
The point is that I need to solve an assign in this way:
if (WDW >= RDW) begin
	for (int i = 0; i < (WDW/RDW); i++) begin
		expected_tdata_pkg = data_in.tdata[RDW*i +: RDW];
	end
end
And for that, the value after “+:” must be constant.
One option is what you told me, import a package of parameters and from command line change this package, but in this case I will need to recompile (and I would like to find a solution after compile).
Another option is to find a different way to solve this assignment.
In my previous tests I did not need this assignment and I stored the values in the config_db in the test_top and get them in the build_phase of the scoreboard.
Using in the top:
uvm_config_db #(int)::set(null, "uvm_test_top.*", "FIFO_WAW", RDW);
And using in the scbd:
int RDW;
	
function void build_phase (uvm_phase phase);
	void'(uvm_config_db #(int)::get(this, "*", "RDW", RDW));