Formal and actual do not have assignment compatible data types

sb_imp_clk100k = new(“sb_imp_clk100k”, this);
|
ncelab: *E,TYCMPAT (./tb/clk_ctrl_scoreboard.sv,97|44): formal and actual do not have assignment compatible data types (expecting datatype compatible with ‘class $unit::sb’ but found ‘class $unit::clk_ctrl_scoreboard’ instead).
irun: *E,ELBERR: Error during elaboration (status 1), exiting.

I’m getting this error from my scoreboard when I write from a port to an imp. What could possibly break in the imp? I’m sending a message from my Monitor to the Scoreboard and the datatype that I’m using is a time datatype.

In reply to piyushkamalakar:

Not enough code shown to help.

In reply to dave_59:

Thanks for your prompt response Dave. There is nothing much than this to show. It is a simple uvm_analysis_imp with a write function the only message that it receives is of the datatype time. Is there any restriction in using time as a datatype for sending messages in UVM?

In reply to piyushkamalakar:

You can show us the declarations of you analysis_port and imp.

In reply to dave_59:

Hi Dave!
Good point you made me find my mistake! Thank you so much for bringing that up!

uvm_analysis_port #(clk_msg_itm) sb_msg_clk100k;

uvm_analysis_imp #(clk_msg_itm, sb)

The class name (sb) for the imp was an issue. I forgot that I changed class name for the scoreboard to something other than sb. Thanks for helping me out! I really appreciate that!