VHDL Issue Number: 1112 Classification: Language Definition Problem Language Version: VHDL-93 Summary: Need to disallow conversion function signal parameters. Related Issues: 0051 Relevant LRM Sections: 4.3.2.2; 2.4, 12.6.2 Key Words and Phrases: conversion functions, signal evaluation Current Status: Submitted 1076-1993 Disposition: N/A Disposition Rationale: N/A Superseded By: N/A ----------------------- Date Submitted: 1995/05/12 Author of Submission: Daniel S. Barclay Author's Affiliation: COMPASS Design Automation, Inc. Author's Post Address: 5457 Twin Knolls Rd., Suite 100 Columbia, MD 21045 Author's Phone Number: 410-992-5700 Author's Fax Number: 410-992-3536 Author's Net Address: daniel@compass-da.com ----------------------- Date Analyzed: TBD Author of Analysis: TBD Revision Number: $Revision: 1.2 $ Date Last Revised: $Date: 1995/05/15 20:07:17 $ Description of Problem ---------------------- The LRM lacks a required restriction that functions used as conversion functions not have signal parameters. 1. Lack of restriction: In section 4.3.2.2, the sixth text paragraph says: The formal part of a named element association may be in the form of a function call .... [T]he function name must denote a function whose single parameter is of the type of the formal and whose result is the type of the corresponding actual. ... The eighth text paragraph says: Similarly, the actual part ... may be in the form of a function call .... [T]he function name must denote a function whose single parameter is of the type of the actual, and whose result is the type of the corresponding formal. ... Neither this nor any other wording prohibits using as a conversion function a function having a parameter of class signal. 2. Need for restriction: During hierarchical signal evaluation, the kernel process calls resolution functions with values from signals, drivers, or other sources. It passes values to the functions, but never signals, so there is no actual signal to associate with a signal parameter. For this reason, both VHDL-87 (via Issue Report 0051) and VHDL-93 prohibit signal parameters on resolution functions. The kernel process calls conversion functions similarly, with values of signals, not with any signals themselves. Therefore, there should be a similar restriction against using functions with signal parameters as conversion functions. Proposed Resolution ------------------- For any function used as a conversion function, require that the parameter not be a signal parameter. VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-1993 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD