Design elements are defined directly in the LRM in 3.2. The definition is as follows: A design element is a SystemVerilog module (see Clause 23), program (see Clause 24), interface (see Clause 25), checker (see Clause 17), package (see Clause 26), primitive (see Clause 28) or configuration (see Clause 33). These constructs are introduced by the keywords module, program, interface, checker, package, primitive and config, respectively. So I think using that terms captures precisely the situations that we want to treat hierarchically and allows all the other things (such as bind statements, tasks, functions, initializers, etc) to all behave in the $root manner described. This avoids having to define all the special contexts since the normal instance like elements are already defined by the term "design element". Gord Francoise Martinolle wrote: > > Gordon, > > I have a hard time understanding the essense of the rule " when it is > not in a design element". > What is a design element? Everything is a design element. Is this a new > term that you define? > Is a module a design element? > > Francoise > ' > > -----Original Message----- > From: Gordon Vreugdenhil [mailto:gordonv@model.com] > Sent: Monday, May 04, 2009 5:52 PM > To: SV_BC List > Subject: Ballot issue 9 / Mantis 2663 - hierarchical names in > compilation unit contexts > > > I haven't seen any responses regarding Mantis 2663 on the reflector. > This is regarding whether hierarchical names are legal in a compilation > unit. > > I would propose to change step (4) in 23.7 as follows: > > FROM > 4) The name is not found. The dotted name shall be considered > to be a hierarchical name. > > TO > 4) The name is not found. If the dotted name is not within a > design element, the dotted name shall then be considered to > be a hierarchical name with an additional $root prefix. If > the name is within a design element, the dotted name shall be > considered to be a hierarchical name. > > I think this captures the consensus of the discussion when this came up > in the meetings. > > Explanation -- the "not within a design element" means that you only > apply this rule for names in tasks, functions, bind statements, and the > like within the compilation unit. You do NOT apply this rule for > modules, interfaces, programs, configurations, packages, etc. Packages > have a separate rule for disallowing hierarchical names and that is not > weakened by this additional statement. > > > If there is general agreement on this, I'll formalize it and attach it > to mantis 2663. > > Gord. > -- > -------------------------------------------------------------------- > Gordon Vreugdenhil 503-685-0808 > Model Technology (Mentor Graphics) gordonv@model.com > > -- -------------------------------------------------------------------- Gordon Vreugdenhil 503-685-0808 Model Technology (Mentor Graphics) gordonv@model.com -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Mon May 4 19:51:58 2009
This archive was generated by hypermail 2.1.8 : Mon May 04 2009 - 19:52:43 PDT