RE: [sv-bc] Mantis 1940

From: Steven Sharp <sharp_at_.....>
Date: Tue Oct 02 2007 - 12:33:32 PDT
>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