[sv-bc] Errata - variable declaration assignments

From: Rich, Dave <Dave_Rich_at_.....>
Date: Thu Jun 15 2006 - 12:58:22 PDT
1364-2005 section 6.2.1 says "Variable declaration assignments to an
array are not allowed. Variable declaration assignments are only allowed
at the module level".

 

 

1800-2005 section 6.4 says "A variable can be declared with an
initializer", and makes no mention of removing the 1364 restrictions,
although there are many examples of usage.

 

Also, the SystemVerilog 3.0 spec section 5.5  had the paragraph "Data
declared in a static task, function or block defaults to a static
lifetime and a local scope. If an initializer is used, the keyword
static must be specified to make the code clearer." I think there was
some confusion on when exactly the static keyword would be required.

 

I can't find an existing mantis item, but I will file this proposal to
change 1800 section 6.4

 

"Any variable may be declared with an initializer. "

 

And then in section 6.6 I would add right after the automatic program
example

 

"Any variable declared in task, function, or block where the default
lifetime is static and has a declaration assignment shall have an
explicit lifetime. This makes it clear that the initialization of the
variable may be separate from the activation of the scope."

 

 

Dave

 

 

 

 

David Rich
Verification Technologist
Design Verification & Test Division
Mentor Graphics Corporation
dave_rich@mentor.com
Office:   408 487-7206
Cell:     510 589-2625

 
Received on Thu Jun 15 12:58:30 2006

This archive was generated by hypermail 2.1.8 : Thu Jun 15 2006 - 12:58:44 PDT