[sv-ec] variable initialization at declaration

From: danielm <danielm_at_.....>
Date: Fri Apr 18 2008 - 00:47:28 PDT
LRM:
" In Verilog, an initialization value specified as part of the declaration
is executed as if the assignment were made from an initial block, after
simulation has started. In SystemVerilog, setting the initial value of a
static variable as part of he variable declaration (including static class
members) shall occur before any initial or always blocks are started."

Is initialization really a part of declaration - if so then newly declared
identifier is visble after ';', and in initialization phase this identifier
remains not declared. I mean what should happened for below code:
 
module top;
    parameter p=123;
    initial begin : _label
        int p=p; //this is circular illegal assignment p=p, or at the moment
of initialization p from outer scope is still visible?
        $display(p);    
    end
endmodule
 
DANiel

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Apr 18 00:48:02 2008

This archive was generated by hypermail 2.1.8 : Fri Apr 18 2008 - 00:48:56 PDT