Chuck, I agree that the normative text of the LRM is not 100% clear on this issue. However, I think the following note in 12.3.1.4: 1-These rules apply to all object declarations other than port and generic declarations, which are elaborated as outlined in 12.2.1 through 12.2.4. indicates an intent that the rules for elaboration of object declarations apply to parameters. This is supported by the following text in 4.3: Other objects, declared by interface declarations, create channels for the communication of values between independent parts of a description. This implies that interface declarations do indeed declare objects. 4.3.1 refers to objects declared by object declarations, and calls them explicitly declared objects. 4.3.2 refers to objects declared by interface declarations, and calls them interface objects. In both cases, there are declarations that declare objects. I think the problem is that 12.3.1.4 discusses elaboration of object declarations, but really is intended to discuss elaboration of declarations that declare objects. Perhaps the simplest way to resolve the issue would be to state as normative text in 12.3.1.4 that elaboration of an interface declaration, other than a generic or port declaration, proceeds as for elaboration of an object declaration. That would be a clear statement of what I think to be the intent. End $0.02. Cheers, PA -- Dr. Peter J. Ashenden peter@ashenden.com.au Ashenden Designs Pty. Ltd. www.ashenden.com.au PO Box 640 VoIP: 0871270078@sip.internode.on.net Stirling, SA 5152 Phone (mobile): +61 414 709 106 Australia > -----Original Message----- > From: owner-isac@eda.org [mailto:owner-isac@eda.org] On > Behalf Of Chuck Swart > Sent: Tuesday, 7 March 2006 05:28 > To: isac@eda.org > Subject: Problem analyzing IR 2085 What happens when a > parameter of mode out is not assigned in a procedure? > > > I have been trying to analyze this IR. We discussed it at the > last ISAC > meeting. But I have two interrelated problems with my analysis. > > First, clause 12.5 Dynamic elaboration states: "Execution of a > subprogram call involces the elaboration of the parameter > interface list of the corresponding subprogram declaration; > this involves the > elaboration of each interface declaration > to create the corresponding formal parameters." > > I have not been able to find any explicit reference to elaboration of > interface declarations. > > Second, clause 12.3.1.4 "Object declarations" describes > elaboration of > object declarations. In our meeting we decided that > object declarations include interface declarations. However, > I can find > no wording to justify this claim. In fact, the LRM > in clause 4.3.1 "Object declarations" states "an object declaration > declares an object of a specified type. Such an object is called an > explicitly declared object. > > object_declaration ::= > constant_declaration > | signal_declaration > | variable_declaration > | file_declaration > > This implies that interface object declarations are not > object declarations. > > Any ideas about how to resolve this? > > Chuck Swart >Received on Tue Mar 7 03:38:04 2006
This archive was generated by hypermail 2.1.8 : Tue Mar 07 2006 - 03:38:07 PST