The Verilog standard clearly states that there is no functional difference between a wire and a tri. The differentiation is that of convention. A wire net is used for nets driven by a single gate or continuous assignment while the tri net can be used where multiple drivers drive a net [$4.6.1]. Given this fact, I have these questions:
- What exactly do we need tri for? By convention, it should be used when multiple drivers are driving a net. But then, if multiple drivers are driving a net, we should be using triand/trior for resolution, right? Or could there be a case where multiple drivers are driving a net and we don't want to use any of triand/trior for resolution but use tri instead?
- What is the use for wand and wor? If multiple drivers are involved, by convention, we should use triand and trior. So why do they exist? And when do we need them?
Thanks,