Verilog-AMS conf call Aug 2

From: Geoffrey.Coram <Geoffrey.Coram@analog.com>
Date: Fri Jul 30 2004 - 14:09:11 PDT

Greetings -
The AMS committee has a conference call August 2
(Monday) at 4:30 PM Pacific (7:30 PM Eastern and
something early on the morning of Aug 3 in Australia).

The call in details are the "usual" ones.

 USA Toll Free Number: 877-346-8823
 USA Toll Number: +1-203-320-0407 (for international call-in)
 PARTICIPANT PASSCODE: 602538

We will be reviewing the rest of the changes from
draft "b" to draft "f" and considering the following
proposal for handling statistics:

Under A.9, whereever we have defined built_in_functions and
system_functions we can have another definition for random_function

constant_expression ::= ...
                                   | built_in_function (const_arg_list)
                                   | random_function ( const_arg_list )

expression ::= ...
                      | built_in_function (arg_list)
                      | system_function (arg_list)
                      | random_function ( {arg_list} )

random_function ::= $random|$rdist_erlang|$rdist_normal|....

Suppose we now have an expanded constants module that also
includes statistics. (A constants module now only has
parameter/localparam declarations. No variables, no
statements.)

module semico250nm;
  localparam integer se1 = $random(1, "process");
  localparam integer se2 = $random(2, "mismatch");
  localparam real tox = 1.0n + $rdist_normal(se1, 0, 0.1n)
      + $rdist_normal(se2, 0, 0.01n);
...
endmodule

Now all the process information is in one place, constant
as well as statistical. No keywords are added, just
special strings.

Process and mismatch are clearly distinguished by the
string argument to random. (And other things can be
added simply by adding more strings.) One could even
create a random input vector by using $random(3),
no string, and then M-C trials could be run, varying
the "mismatch" and "process" random values, but without
changing the random input.

Of course, we'd need semantics to say that (during MC)
$random will be called for each instance when the argument
is "mismatch" and only the first instance will get the seed 2.
Presumably, during non-MC, all the $random calls for all
instances will use seed 2, and the $rdist functions should
be set up with zero mean.

-- 
Geoffrey J. Coram, Ph.D.    Senior CAD Engineer     
Analog Devices, Inc.        Geoffrey.Coram@analog.com 
804 Woburn St., MS-422,     Tel (781) 937-1924
Wilmington, MA 01887        Fax (781) 937-1014
Received on Fri Jul 30 14:09:21 2004

This archive was generated by hypermail 2.1.8 : Fri Jul 30 2004 - 14:09:25 PDT