[sv-dc] AMS Driver access functions

From: Kevin Cameron <edaorg@v-ms.com>
Date: Wed Mar 16 2011 - 01:03:57 PDT

The AMS LRM can be found here -

http://www.eda-twiki.org/cgi-bin/view.cgi/VerilogAMS/LanguageReferenceManual

The section on driver access functions -

"9.21 Connectmodule driver access system functions and operator"

--------

There is a fairly arbitrary restriction that the access functions only work from a "connect" module. If you allow their use in any module and add another function to get the index of the driver of the calling process you can write digital models for bidirectional components and things like hold-up capacitors.

If you use a 3-D model for net-type then $driver_strength would return the strength component. A corresponding $driver_certainty can be added.

Resolution can be done using functions working on arrays of driver values, or you can instantiate a "resolver" module (like the connect module) to do the job using the above mentioned driver access functions. The advantage of the latter approach is that you can maintain state for the conversion and schedule events for timeouts etc.

With the resolver module approach it's also possible to build the resolver as a state-machine that only considers individual driver changes, rather than looking at all drivers, which can reduce computational overhead. You just need another function to indicate which driver changed and the old and new values.

Kev.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Mar 16 01:05:00 2011

This archive was generated by hypermail 2.1.8 : Wed Mar 16 2011 - 01:05:04 PDT