Simple Problem of Systemverilog

Hallo everyone,

Im very new to sv and I have a quite simple question.

I have 3 module now, lets say there a module_1,module_2 and module_3.
Module_1(input a_1,output a_1);
module_2(input a_2,output a_2);
module_3(input a_3,output a_3);

Now I want to instance module_2 and module_3 in module_1, and conncet output a_2 to input a_3, so I create a signal “signal_transport” in module_1:
module_1(input a_1,output a_1);
module_2 instance_module_2(.input a_2(input a_1),.output a_2(signal_transport));
module_2 instance_module_3(.input a_3(signal_transport),.output a_3(output a_3));

But after I run simulation in modelsim, I get error like “signal_transport is driven via a port connection, is multiply driven”. How can I solve thsi probelm?
By the way,since all the inputs and outputs are type logic, so I use signal_transport as logic too.

Thanks a lot for help!

In reply to Holzapfel:

  1. This forum does not address tools. If you want to refer to a tool’s error message, just say something like My simulator reports that …

The following works OK in my simulator,


module m_2(input logic in2, output logic out2); endmodule
module m_3(input logic in3, output logic out3); endmodule
module m_1(input logic in1, output logic out1); 
    logic s; 
    m_2 m2_a(.in2(in1),.out2(s));
    m_3 m3_a(.in3(s),.out3(out1));

endmodule  

Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact Home - My cvcblr


  1. SVA Alternative for Complex Assertions
    Verification Horizons - March 2018 Issue | Verification Academy
  2. SVA: Package for dynamic and range delays and repeats | Verification Academy
  3. SVA in a UVM Class-based Environment
    SVA in a UVM Class-based Environment | Verification Horizons | Verification Academy