RE: BTF VOTE - (votes due Monday, October 15, 2001)

From: Clifford E. Cummings (cliffc@sunburst-design.com)
Date: Thu Oct 04 2001 - 12:57:55 PDT


Precedence: bulk

Mac & BTF Team -

At 08:45 AM 10/4/01 -0700, you wrote:
>Precedence: bulk
>
>This makes me very happy.

I'm glad we could make you happy! There were even typos in the new version
that you submitted below that were fixed in the IEEE copy. I have included
the Final BNF for the Task declarations at the bottom of this e-mail for
comparison purposes.

>Stuart Sutherland writes:
> > Precedence: bulk
> >
> > Maq,
> >
> > I'm traveling, and have not yet seen the review draft. But, I have seen
> > the BNF that is in the IEEE's hands--the IEEE provided me a copy just a
> > couple of weeks ago for inclusion in the book I just completed. The
> change
> > to tf_* for the task/function i/o declarations made it in. Are there
> other
> > differences?
> >
> > BTW, a typo that is in the BNF that I received, and which should be
> > corrected, is that all the references to the end-notes have disappeared.

All of the end-note references also appear to be in the final copy.

> > Stu
> >
> > At 04:31 PM 10/3/2001, you wrote:
> > >Precedence: bulk
> > >
> > >
> > >If we are going to clarify just one thing, I'd much rather fix the
> > >problem with ANSI ports and task declarations. Basically the BNF
> > >should be changed to read:
> > >
> > >(From Annex A - A.2.7)
> ...
> > >to be:
> > >
> > >task_declaration ::= task [ automatic ] task_identifier ;
> > > { task_item_declaration } statement endtask
> > > | task [ automatic ] task_identifier (task_port_list)
> > > { block_item_declaration } statement endtask
> > >
> > >task_item_declaration ::= block_item_declaration
> > > | { attribute_instance } tf_input_declaration
> > > | { attribute_instance } tf_output_declaration
> > > | { attribute_instance } tf_inout_declaration
> > >
> > >task_port_list ::= task_port_item { , task_port_item }
> > >task_port_item ::= { attribute_instance } tf_input_declaration
> > > | { attribute_instance } tf_output_declaration
> > > | { attribute_instance } tf_inout_declaration
> > >
> > >tf_input_declaration::=input [reg] [signed] [range]
> list_of_port_identifiers
> > > | input [tf_io+type] list_of_port_identifiers
> > >tf_output_declaration::=output [reg][signed][range]
> list_of_port_identifiers
> > > | input [tf_io_type] list_of_port_identifiers
> > >tf_inout_declaration::=inout [reg][signed][range]
> list_of_port_identifiers
> > > | inout [tf_io_type] list_of_port_identifiers
> > >tf_io_type ::= real
> > > | realtime
> > > | time
> > > | integer
> > >
> > >This was discussed heavily in December of 2000, and it was stated that
> > >there wasn't time, et cetera, to get this fixed.

But I got it fixed after Draft 6 - thank you, thank you, please, ... no
more applause ;-)

<p>This is what is in the final copy (note correction to tf_output_declaration
definition and tf_io_type & tf_io+type both became task_port_type):

A.2.7 Task declarations

task_declaration ::=
           task [ automatic ] task_identifier ;
           { task_item_declaration }
           statement
           endtask
         | task [ automatic ] task_identifier ( task_port_list ) ;
           { block_item_declaration }
           statement
           endtask
task_item_declaration ::=
           block_item_declaration
         | { attribute_instance } tf_input_declaration ;
         | { attribute_instance } tf_output_declaration ;
         | { attribute_instance } tf_inout_declaration ;
task_port_list ::= task_port_item { , task_port_item }
task_port_item ::=
           { attribute_instance } tf_input_declaration
         | { attribute_instance } tf_output_declaration
         | { attribute_instance } tf_inout_declaration
tf_input_declaration ::=
           input [ reg ] [ signed ] [ range ] list_of_port_identifiers
         | input [ task_port_type ] list_of_port_identifiers
tf_output_declaration ::=
           output [ reg ] [ signed ] [ range ] list_of_port_identifiers
         | output [ task_port_type ] list_of_port_identifiers
tf_inout_declaration ::=
           inout [ reg ] [ signed ] [ range ] list_of_port_identifiers
         | inout [ task_port_type ] list_of_port_identifiers
task_port_type ::=
           time | real | realtime | integer

Regards - Cliff

Now we just need your vote on implicit nets. I also like Stu's friendly
amendments to the wording.
//*****************************************************************//
// Cliff Cummings Phone: 503-641-8446 //
// Sunburst Design, Inc. FAX: 503-641-8486 //
// 14314 SW Allen Blvd. E-mail: cliffc@sunburst-design.com //
// PMB 501 Web: www.sunburst-design.com //
// Beaverton, OR 97005 //
// //
// Expert Verilog, Synthesis and Verification Training //
//*****************************************************************//



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:54:46 PDT and
sponsored by Boyd Technology, Inc.