Re: No BNF support for .module_output_variable_identifier

From: Geoffrey.Coram <geoffrey.coram_at_.....>
Date: Tue Aug 04 2009 - 04:34:17 PDT
David -
In the expression for "ft" that you cite, gm, cpi, and cmu are all
output variables -- that is, they depend on the operating point
and are dynamic quantities.

We do need a definition for paramset_constant_expression (it's used,
but I don't see a definition in 2.3.1).  I think I'm agreeing with
Marq, though, that module_output_parameter_identifier need not go
in this list; I think it could be circular to allow this, since
the paramset_constant_expression could be used in assigning module
(input) parameters, which are then used to compute the "output
parameters."

But also in paramset_statement, where we have analog_function_statement,
we need some BNF to allow the ft statement.  Analog functions,
as I recall, aren't allowed to access module parameters.

-Geoffrey


David Miller wrote:
> Hello Surya,
> it appears to be an oversight. We don't have a rule to match the 
> module_output_variable reference in:
> 
> ft = .gm/(‘M_TWO_PI*(.cpi + .cmu));
> 
> So .gm, .cpi, .cmu are module output variables. We don't seem to have 
> any concept in the language of output parameters, only variables 
> according to 3.2.1 (I guess it may just have been implicitly implied).
> 
> So it looks like we should also extend 3.2.1 to allow output parameters 
> as well as output variables.
> 
> And the paramset should only be referring to module output parameters, 
> i.e. constants. The shouldn't be referring to variables (dynamic).
> 
> I believe this is what we would need in the grammar:
> 
> paramset_constant_expression ::=
>    constant_primary
>  | hierarchical_parameter_identifier
>  | module_output_parameter_identifier
>  | unary_operator { attribute_instance } constant_primary
>  | paramset_constant_expression binary_operator { attribute_instance }
>       paramset_constant_expression
>  | paramset_constant_expression ? { attribute_instance }
>       paramset_constant_expression : paramset_constant_expression
> 
> module_output_parameter_identifier ::=
>    '.'module_parameter_identifier
> 
> Does this make sense?
> 
> If anyone sees something I am missing here, please speak up.
> 
> Thank you for raising this, I will add it to the Mantis database as 
> something to address.
> 
> Regards
> Dave
> 
> 
> Surya Pratik Saha wrote:
>> Hi,
>> In Verilog AMS 2.3.1, section 6.4.3 Paramset output variables, there is
>> an example of ".module_output_variable_identifier". But I could not see
>> this in the BNF of paramset. Is it intentional or a oversight of LRM?
>>
> 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Aug 4 04:39:10 2009

This archive was generated by hypermail 2.1.8 : Tue Aug 04 2009 - 04:39:34 PDT