Driving output of a module using interface and transaction

Hi All,

I want to drive the output (internal to TOP) of a module defined in the interface file using a transaction item(a field inside uvm_sequence_item) in my sequence file.
However I see contention on the output signal due to two drivers driving the signal.
Is there a way I can use statement like below in my sequence (by forcing the value in the output port somehow) :

force mon_if.output_port = tr.output_port ;

if I use above statement I get following error :

“Error-[DTINPCNS] Dynamic type in non-procedural context
“force this.mon_if.output_port = tr.output_port;”
Argument: tr.output_port
Class data is not allowed in non-procedural context.”

Thanks for your time and help

You should never use force except for debugging or part of an initialization of your design.

See my DVCon paper for details about driving signals with multiple drivers.