Re: Verilog LRM bufif*



On Apr 8, 5:33 pm, Yottameter <yottame...@xxxxxxxxx> wrote:
In the LRM it mentions that the bufif0 and bufif1 elements:

"model three-state drivers. In addition to values of 1 and 0, these
gates output Z."

which would imply to me that X is not an output of that driver, but my
sims show that X does come out of the bufif0 and bufif1 primitives. It
even goes on to describe in the LRM about delays and the X state, so how
is it claimed that the gate is a three state device?

I think you are interpreting the term "three state" as if it were an
alternative to 2-state and 4-state values used in simulation. In
fact, the output of a bufif* is a 4-state value, as are all Verilog
values besides reals. The output of a bufif* can be X, like most
primitives. The output can also be Z, which most primitive outputs
cannot. In the same sense, logic primitives have two state outputs.
The simulator uses an additional X state to represent situations where
it is uncertain which of the two states the output is in.

The term "three-state driver" is being used as an alternative to
saying "tristate driver". I believe that the term "tristate" was
trademarked by one particular semiconductor company, so that everyone
else in the industry has had to come up with variant terms.

.