ID:13049 Converted tri-state buffer "<name>" feeding internal logic into a wire
CAUSE: The specified tri-state buffer only feeds non-tri-state logic, but the chip does not support internal tri-state buffers. Therefore, the behavior of the non-tri-state nodes is undefined when it is driven by High Impedance (Z). As a result, the Quartus Prime software converts the tri-state buffer to a wire as a "don't care" minimization. Consider the following design:
module test1 (input oe1, data1, in, output out); wire tribuf, tmp; assign tribuf = oe1 ? data1 : 1'bz; and(tmp, in, tribuf); assign out = tmp; endmoduleHere, the tri-state buffer tribuf only drives a non-tri-state node (the AND gate). As a result, the tri-state buffer will be converted to a wire. Note that an inversion also counts as non-tri-state logic. So, the node tribuf in the design test2 will also be converted to a wire.
module test2 (input oe1, data1, output out); wire tribuf; assign tribuf = oe1 ? data1 : 1'bz; assign out = !tribuf; endmodule
ACTION: Avoid this warning by replacing the tri-state node with non-tri-state logic.