RE: Verilog-AMS/2005 syntax and keywords

From: Helwig Graham-A11558 <Graham.Helwig_at_.....>
Date: Thu Sep 29 2005 - 23:07:01 PDT
Hello Geoffrey and Marq,

Glad you like it. This merger still needs to be closely reviewed, it is easy to miss things when merging a lot of syntax together. 

> I've found a small discrepancy between your proposal and the 2.2 LRM. 
> In section A.2.6 of the merged_syntax document the 
> analog_function_item_declaration only allows inputs to be defined, 
> but the 2.2 LRM explicitly allows also outputs and inouts there. 

Yep, your right. The syntax in body of the AMS-2.2 document is different to the syntax section. I've updated it using the existing port direction syntax items (instead of defining custom port direction syntax), but this will require some semantic restrictions to be defined.

> > 3) Array and string parameter declaration syntax has merged into the
> > 2005 parameter declaration syntax.
> 
> This is probably the right thing to do; P1800 has "string" as 
> a "data_type"
> and I see that you have expanded value_range to handle 
> strings; presumably there will be semantic restrictions on 
> using (0:inf] for a string parameter, or {"nmos", "pmos"} for a real.

Yes, there the will need to be semantic restriction defined. 

> On keywords, the document in mantis has "annex A" for the 
> keywords; probably just a numbering issue with FrameMaker 
> since you printed it by itself.
 
Yes, the section numbers will be incorrect for a while. I received a single frame file for the entire 2005 document body. Don't know why they have done this, it makes it very difficult for multiple people to work on the document. It will need to be broken up, but I have only done this for syntax and keyword sections only. Once all the other sections are broken up, the section numbering should return to normal. 

> > 6) It appears from the document formatting that all of the keywords 
> > are to be contained on a single page. To maintain this 
> constraint the 
> > font size was substantially reduced when AMS keywords were added.
> > Should the single page format be maintained or restore the original 
> > font size and have a 2 page list of keywords?
> 
> The P1800 draft I have has 4 columns of keywords instead of 
> 3; it looks like there's enough whitespace to do this here.
>
> This font-size is hardly readable for the visually impaired, so I think 
> the 3 column suggestion of Geoffrey is better. 
 
OK, I have added an additional column and increased the font size by one. See the latest merged_keyword.pdf in the mantis database. However, if I increase the font size by one again the list of keywords overflows the 4 columns. So if the font size needs to be bigger, then a 2 page keyword list will result. 

> > 8) Compiler directives and system task/functions has 
> significant syntax.
> > Why is the syntax for constructs not documented in the syntax annex?
> 
> Compiler directives are also missing from P1800's syntax annex.
> Wouldn't it be too much detail to specify the syntax for each 
> system task/function in annex A?  There are a lot of system 
> tasks and functions.

I don't like the way the syntax for compiler directives and system tasks/functions is done now. It is either generically or not defined in the syntax section, while in the body of the document specific syntax is used in its definition. Often this specific syntax is inconsistent between features, even in the 2005 document. I much prefer a complete syntax in the syntax section, and in the body of the document references unmodified segments of that syntax. 

Yes, there is a lot of system tasks/functions to be defined in the syntax. Previously, I have worked on a draft version of AMS/2001 syntax section with system task/function syntax, but it was never released. I estimate defining the system task/function syntax will add 9 to 10 pages to the syntax section.

I have added the compiler directive syntax to the syntax section and I have uploaded it to the Mantis database. Below is some notes and questions about the compiler directive changes:

1) Should the syntax for the 2005 compiler directives defined in annex D be also included in the syntax section?
2) In 2005, to be consistent with other keyword pairs should "`begin_keywords" and "`end_keywords" be replaced with "`keywords" and "`endkeywords"? 
3) '\n' has been added to end of the syntax for each directive.
4) The `timescale directive syntax (and other directives) in the body of the 2005 document is using syntax items without defining them.  
5) Syntax for multi-line text macro definitions is not define in 2005. I have added syntax to allow multiple line macros.

> Also, while talking about system things, should the $ be part 
> of the system_parameter_identifier, as it is part of the 
> system_{task,function}_identifier?

Yes, moving the $ within the system_parameter_identifier make it consistent with the system_XXXX_identifier syntax. I have update the system_parameter_identifier syntax item to be:

	system_parameter_identifier ::= $ [ a-zA-Z0-9_$ ] { [ a-zA-Z0-9_$ ] }

Regards
Graham
Received on Thu Sep 29 23:07:49 2005

This archive was generated by hypermail 2.1.8 : Thu Sep 29 2005 - 23:10:07 PDT