****************************************************************************** ********************* IBIS GOLDEN PARSER BUG REPORT FORM ********************* ****************************************************************************** INSTRUCTIONS To report a bug in the IBIS golden parser. Please fill out the top part of the following form and send the complete form to ibis-bug@eda.org. A list of reported bugs will be maintained on eda.org. ****************************************************************************** PARSER VERSION NUMBER: 5.0.4 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Windows XP REPORTED BY: Curtis Clark, Ansys, Inc. DATE: January 4, 2011 DESCRIPTION OF BUG: In an IBIS-AMI file, a comment line character (default '|') after a subparameter name and before the first argument will be flagged as an Error if it is not preceded by whitespace. If there is whitespace between the subparameter name and the comment character then there is no problem. This issue is conceptually similar to Bug 111, which involved the use of CRLF in a similar location. This bug has the same root cause, the parser will "preprocess" the file and end up with no whitespace separating the subparameter name and its first argument. IBISCHK5 V5.0.4 Checking bug124.ami for IBIS 5.0 Compatibility... ERROR - Too few nodes in branches or leaves Errors : 1 File Failed While only one Error is reported, this Error will continue to be reported until all cases are corrected. A different error message may be reported for List when treated alone, including: ERROR - Illegal Format value Value1 specified for my_control_5 ERROR - Illegal Format value ListTrue specified for my_control_6 Also, if this problematic comment style is inserted between two values in a list, the parser may not report an error even though it could incorrectly combine the two values into one. INSERT IBIS FILE DEMONSTRATING THE BUG: (modified version of file from Bug 111) (bug124 (Reserved_Parameters (Ignore_Bits (Usage| This comment WILL cause a problem (not preceded by whitespace) Info) (Type Integer) (Default | This comment WILL NOT cause a problem (preceded by whitespace) 10000) (Description "Recommended time finish initialization.")) (Max_Init_Aggressors (Usage Info) (Type Integer) (Default 0) (Description "No crosstalk processing in this model")) (Init_Returns_Impulse (Usage Info) (Type Boolean) (Default False) (Description "Init call does not modify impulse response.")) (GetWave_Exists (Usage Info) (Type Boolean) (Default True) (Description "GetWave is provided in the module.")) (Use_Init_Output (Usage Info) (Type Boolean) (Default False) (Description "Not applicable - init doesn't return modified impulse response.")) (Rx_Receiver_Sensitivity (Usage Info)(Type Float)(Format Value 0.050)(Default 0.050) (Description "Receiver sensitivity.")) ) | End Reserved_Parameters (Model_Specific (my_control_5 (Usage In)(Format List| This comment WILL cause a problem (not preceded by whitespace) "Value1" "Value2") (Type String)(Default "Value1") (Description "String that varies by List") ) (my_control_6 (Usage In)(Format List| This comment WILL cause a problem (not preceded by whitespace) True False ) (Type Boolean)(Default True) (Description "Boolean that varies by List") ) (my_control_7 (Usage In)(Format List "This is Value1" "This is Value2") (Type String)(Default "This is Value1") (Description "String that varies by List") ) ) | End Model_Specific ) | End test ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 124 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] MODERATE PRIORITY: [HIGH, MEDIUM, LOW] MEDIUM STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 5.1.0 FIXED DATE: September 26, 2012 NOTES ON BUG FIX: Classified at the IBIS teleconference meeting on January 7, 2011. To be fixed in a later release. February 17, 2012 - Per discussion at a teleconference meeting and in response to a question by the parser developer, Atul Agarwal, 1. The comment character and line can be treated as white space (not a null character) so that line continuation is supported without merging names. 2. Upon further review, the comment character and line is ignored within any quoted string and is just a legal character within the string, even if the string spans multiple lines. In other words, any pipe character('|') within two quote marks (" ... "") is legal and is NOT treated as a comment character, even if the quote marks are on different lines. This should be implemented with this the fix. Fixed in Version 5.1.0. ****************************************************************************** ******************************************************************************