Boris is correct that the example has an error; I think it is useful to have an example showing how $mfactor accumulates, so I would say we should change the module to module module_c(p,n); inout p,n; electrical p,n; parameter r=1.0; (* desc="effective resistance" *) real reff; analog begin I(p,n) <+ V(p,n)/r; // mfactor scaling of currents handled automatically reff = r / $mfactor; // the effective resistance = 1/42 end endmodule -Geoffrey Boris Troyanovsky wrote: > Hi, > > I think there may also a pair of issues relating to the $mfactor > specification. > > Issue #1: > In section 6.3.6 (p. 123), the LRM states: "The simulator shall issue a > warning if it detects a misuse of the $mfactor in a manner that would > result in double-scaling." However, just a few lines down, the LRM states: > "The simulator will generate an error" for this situation. So I think we > should clarify whether this is in fact an error or a warning (my > recollection is that the original intent was to make it an error). > > Issue #2: > In Section 9.18 (page 221 / Example 1) the following module has an error: > > =========================== > module module_c(p,n); > inout p,n; > electrical p,n; > parameter r=1.0; > analog begin > I(p,n) <+ V(p,n)/(r/$mfactor); // the effective resistance = 1/42 > end > endmodule > =========================== > > This usage of $mfactor is prohibited; we can't make explicit contributions > that depend on $mfactor. The example should probably be removed or altered. > > Regards, > > - Boris -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon May 19 06:45:56 2008
This archive was generated by hypermail 2.1.8 : Mon May 19 2008 - 06:46:06 PDT