Paramsets: statistical descriptions

From: Geoffrey.Coram <Geoffrey.Coram@analog.com>
Date: Thu Jul 08 2004 - 09:10:10 PDT

I've just updated the paramsets proposal to version 6
on the web site:
http://www.eda.org/verilog-ams/htmlpages/public-docs/paramsets-v6.pdf

I don't expect to spend much time on generate vs paramsets
in the conference call, so I think we'll get to discuss
statistics. Please ponder the following and be prepared to
discuss.

The proposal has the following example:

  statistics c18ustats;
    real vto, rsh, tox, kdxl, rshsp, xisn, xisp, seed;
    seed = 5430932;
    process begin
      vto=$rdist_normal(seed, 0.5, 0.1);
      rsh=$rdist_normal(seed, 100, 12);
      tox=ln($rdist_normal(seed, 1e8, 1e9));
      kdxl=$rdist_uniform(seed, 15e9, 25e9);
    end
    mismatch begin
      rshsp=$rdist_normal(seed, 25, 2);
      xisn=$rdist_normal(seed, 10, 0.5);
      xisp=$rdist_normal(seed, 10, 0.5):
    end
  endstatistics

An alternative would be
  (* statistics_module *)
  module c18ustats;
    real vto, rsh, tox, kdxl, rshsp, xisn, xisp, seed;
    parameter integer seed = 5430932;
    begin : process
      real vto, rsh, tox, kdxl;
      vto=$rdist_normal(seed, 0.5, 0.1);
      rsh=$rdist_normal(seed, 100, 12);
      tox=ln($rdist_normal(seed, 1e8, 1e9));
      kdxl=$rdist_uniform(seed, 15e9, 25e9);
    end
    begin : mismatch
      real rshsp, xisn, xisp;
      rshsp=$rdist_normal(seed, 25, 2);
      xisn=$rdist_normal(seed, 10, 0.5);
      xisp=$rdist_normal(seed, 10, 0.5):
    end
  endmodule

  statistics #(.seed(199)) c18ustats;

and then paramsets could reference "statistics.mismatch.rshsp"
when setting module parameters.

The second example removes "statistics" as a keyword, though
"process" and "mismatch" probably still have to be keywords.
(We might need more obscure names.)

An attribute is used to tell simulators that support M-C
that this is a special module with rules about when to
generate new values (per sim or per instance). It would
probably be best to set up the random variables such that
the mean is in the paramset, not in the statistics; then
simulators that don't support M-C can just use 0.0 for
all the references to these variables (which aren't set
at elaboration time, I think).

-Geoffrey
Received on Thu Jul 8 09:10:15 2004

This archive was generated by hypermail 2.1.8 : Thu Jul 08 2004 - 09:10:19 PDT