>From: "Warmke, Doug" <doug_warmke@mentor.com> >If no driver is connected >to a net, its value shall be high-impedance (z) unless the net is a >trireg, in which case it shall hold the previously driven value. > > > >The last sentence is a little bit troublesome. This sentence has always been an oversimplified description of a trireg. It describes the result that is usually observed, but not always. That may be sufficient in this section, but there does need to be a full specification of how a trireg works in the section on triregs. The description that is there is also inadequate. The description of a trireg as behaving in two distinct ways (depending on whether it is driven) is wrong. It appears to be true if the trireg is driven with a strength higher than its capacitive strength, but is untrue if driven with the same or weaker strength. For example, a trireg that is being driven, but with a drive strength that is weaker than the trireg capacitive strength, will not have the driven value. It will hold the old value. The way a trireg actually works is this: It uses the normal resolution for a multi-driver wire, but with an extra input that is the old output logical value with the declared trireg capacitive strength. It is that simple. All of its behaviors can be derived from that (except the decay behavior, which adds some extra complexity). Of course, that description is likely to be confusing to a typical user, who may have trouble deriving the trireg behavior from it. Since the LRM came from a user guide, it is not surprising that it contains a simplified description of the usual visible behavior instead. But since implementators need to know what the actual behavior is, it would be good if the LRM specified it. Steven Sharp sharp@cadence.com -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue Oct 2 12:33:56 2007
This archive was generated by hypermail 2.1.8 : Tue Oct 02 2007 - 12:34:29 PDT