ID:14835 The <name> "<name>" has multiple drivers due to the <name>
CAUSE: The specified node/pin has a real or potential electrical conflict involving one or more constant or tri-state drivers. A constant driver is a logic gate or I/O with no tri-state condition; consequently, it always drives its fanouts.
This error occurs if, for example, the specified node/pin has one (or more) regular driver(s) and one (or more) tri-state driver(s):
This error message was added to Quartus Prime software version 6.1. Prior versions of the software resolved these types of conflicts by deleting one or more drivers. |
module err1(input oe, a, b, output out);
assign out = oe ? a : 1'bz;
assign out = ~b;
endmodule
This error also occurs if the specified node/pin has multiple constant I/O drivers: module err2(input a, b, inout bidir);
assign bidir = a;
assign bidir = b;
endmodule
This error also occurs if the node/pin has one permanently enabled tri-state driver and one regular tri-state driver: module err3(input oe, a, b, output out);
assign out = oe ? a : 1'bz;
assign out = 1'b1 ? b : 1'bz;
endmodule
Finally, this error also occurs if the node/pin has multiple tri-state drivers with conflicting enable signals. Conflicting enable signals occur in two situations:- Two or more tri-state drivers have the same enable signal.
- Two tri-state drivers have the same enable signal but with a different polarity (positive or negative), and there is a third tri-state driver.
module err4(input a, b, oe, output out);
assign out = oe ? a : 1'bz;
assign out = oe ? b : 1'bz;
endmodule
module err5(input a, b, c, oe1, oe2, output out);
assign out = oe1 ? a : 1'bz;
assign out = !oe1 ? b : 1'bz;
assign out = oe2 ? c : 1'bz;
endmodule
ACTION: Resolve the conflict by removing one or more drivers, by revising the enable signals for your tri-state drivers, or by specifying tri-state conditions for constant drivers.