Re: constant function


Subject: Re: constant function
From: Michael McNamara (mac@verisity.com)
Date: Fri Jul 20 2001 - 05:54:09 PDT


Jayaram Bhasker writes:
> Stefen:
>
> Let me try to understand what you two are saying:
>
> I think what Gilbert is saying is that for synthesis, if a
> parameter in a constant function is modified because of a defparam,
> then it shall be an error.
>
> What you are saying is that vendors have said that such a check
> would not be possible (or very difficult).
>
> If you agree with my interpretation of these statements, then one
> way is to not allow parameter declarations within a constant
> function (for synthesis). You can still use localparams. Is this
> reasonable?
>
> - bhasker
>

Certainly this is one way, but is far too draconian. Further you
would have to lengthen your resriction and require that constant
fucntions receive no parameters as input, as again defparams could
exist that affect those values.

Remember, constant functions were introduced explicitly for, and only
for synthesis, by Kurt Baty, who authored much of Design Ware. The
goal of constant functions is to make describing more complex library
parts more simple.

The best is to have vendors implement a check for defparams that
affect a parameter in a constant function, and issue an error message.
If they can't do that (and some on the committee stated it was HARD),
then we may have to rely on lint tools to do the check.

Bottom line is that constant functions were introduced to extend the
ability of parameters as a tool to build powerful designware synthesis
libraries. Getting constant functions, that don't work with
parameters is not a good bargain.

-- 
        //'   Michael McNamara             <mac@verisity.com>
  _    //     Sr VP Technology             650-934-6888
   \  //      Verisity Design              650-934-6801 FAX
    \//       <http://www.verisity.com>    408-930-6875 Cell
--------------------------------------------------------------
Get my verilog emacs mode from        <http://www.verilog.com>



This archive was generated by hypermail 2b28 : Fri Jul 20 2001 - 13:00:49 PDT