When -flatten_hierarchy switch is set to "none," Vivado synthesis generates the following Error message while trying to infer a tristate primitive for a tristate logic in a lower level design,
"[OPT 282] Blackbox i_0 (tricell) is driving pin I of primitive cell OBUF_6.This blackbox cannot be found in the existing library."
When the -flatten_hierarchy switch is set to "none," it is not recommended to have tristate at lower level. In case of a design containing tristate logic, forcing the design to preserve hierarchy by setting flatten_hierarchy to "none" makes theVivado synthesis tool not be able to reach these tristate logics within the lower level design. As a result, the tool generates the above mentioned error message.
The workaround would be to set -flatten_hierarchy to either "full" or "rebuilt," in which case the Vivado synthesis tool would be able to move the tristate logic to the top level and infer the right tristate primitive (OBUFT, IOBUF etc.,).