Hello All,
I am having query related to the parameter override.
DUT:
module dut(
parameter A = 30,
`include parameter_file.sv
parameter B = 20
)(
// DUT ports
)
// code
endmodule
parameter file: parameter_file.sv // In the parameter list I have given only 2 parameters for easy understanding. But really i am having so many parameters.
parameter DATA_WIDTH = 32,
parameter ADDRESS = 44,
I am taking include file from DUT: So same parameter include file I am using in the scoreboard.
Why I am taking same include(DUT) for scb: Because I using the same scb file across different IP’s. So that’s why I am taking values from DUT include file.
As compilation happening from basic uvm packages, seq/test pkgs, agents, env’s… at last my tb_top is compiling
Here in the TB top I am overriding the value of .DATA_WIDTH(64);
module tb();
dut dut_inst(
.DATA_WIDTH(64),
// other parameters
)(
)
//... code
endmodule
Issue: Now what is happening is my scb is getting default value from include file which is 32(DATA_WIDTH). Because tb_top compilation is happening after scoreboard. So scb is getting different parameter value(32) and DUT is getting different value(48) this leads to mismatches in scb. How to overcome this issue after overriding parameter from tb to DUT, I need update the same value to scoreboard
Please help me to resolve this.