VHDL Issue Number: 0126 Classification: Language Deficiencies and Modeling Problems Language Version: VHDL-87 Summary: Resolution functions get called when they needn't be called, and this results in a less efficient simulation. Related Issues: Relevant LRM Sections: 2.4 Key Words and Phrases: Resolution Functions, Sources for a Signal Current Status: ISAC-Approved 1076-1993 Disposition: Bugs Fixed, Enhancements Outstanding (No ISAC Issues) Disposition Rationale: Non-ISAC issues outstanding. Superseded By: N/A ----------------------- Date Submitted: 1989/06/21 Author of Submission: Ken Scott Author's Affiliation: Vantage Analysis Systems, Inc. Author's Post Address: 42840 Christy St., Suite 201 Fremont, CA 94538 Author's Phone Number: (415) 659-0901 Author's Fax Number: Author's Net Address: N/A ----------------------- Date Analyzed: 1991/03/21 Author of Analysis: Clive R. Charlwood Revision Number: $Revision: 1.9 $ Date Last Revised: $Date: 1995/08/04 01:36:30 $ Description of Problem ---------------------- The basic idea behind a resolution function is that it is supposed to RESOLVE conflicts arising between the multiple sources of a signal. From an electrical standpoint, it makes no sense that any sort of resolution need occur when there is only one source contributing to the signal. From a simulation point of view, it is extremely inefficient to have to call the resolution function each time for signals with only one source. The LRM should be modified to say that a resolution function gets called in only two cases: 1. If a signal has more than one source. 2. If all sources of a 'bus' signal have been disconnected. In all other cases, calling the resolution function would not be necessary. Proposed Resolution ------------------- Chapter 2.4, paragraph 4 would probably be one place to make this change. Change the first sentence to read: Resolution functions are implicitly invoked during each simulation cycle in which corresponding resolved signals with multiple sources are active (see Section 12.6.1). In addition, signals declared with the signal kind bus would also implicitly invoke their resolution function whenever all drivers contributing to their values are disconnected. VASG-ISAC Analysis & Rationale ------------------------------ The author is correct when he describes the intent of resolution functions. However, people use them in a number of ways that are not strictly related to the resolution of multiple driving values. Therefore, it was felt that the changes he suggested would be too large a change in the language. It is desirable to improve the potential efficiency of the simulation algorithm. However, not at the expense of breaking existing models. VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- No change is needed. VASG-ISAC Recommendation for Future Revisions --------------------------------------------- No change is needed.