UVM Config DB

You don’t have to use a configuration object.

Though the the value changes to 803, 900 in driver, values printed in monitor is always 0.

How and when are you setting REQ_NUM_WORDS to 803,900 in your driver? You don’t show it.

UVM_INFO verilog_src/uvm-1.2/src/base/uvm_resource_db.svh(121) @ 0: reporter [CFGDB/SET] Configuration ‘*.driver_int’ (type int) set by = (int) 0

According to your log, at the time your driver calls set() REQ_NUM_WORDS is 0. You must be changing the value after that.

But before you try to fix that, you really shouldn’t have a component setting a value in a sibling component, it’s not good encapsulation. In other words, REQ_NUM_WORDS should be a field in your agent, and it should propagate it down to both the driver and monitor. This is fine if you have a single value like this, but if you have more than a couple, a configuration class makes more sense.