****************************************************************************** ********************* 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-info@freelists.org. A list of reported bugs will be maintained on ibis.org. ****************************************************************************** PARSER VERSION NUMBER: 6.1.2; pending 6.1.3 PLATFORM (SPARC, HP700, PC, etc.): 64-bit PC, 32-bit PC OS AND VERSION: Microsoft Windows 10 REPORTED BY: Michael Mirmak, Intel Corporation and Bob Ross, Teraspeed Labs DATE: September 25, 2016 DESCRIPTION OF BUG: On page 172 of the IBIS 6.1 specification, the rules for the "Executable" line under the "[Algorithmic Model]" keyword clearly states: The File_Name provides the name of the executable model file. The executable model file should be in the same directory as the .ibs file However, it is possible to "fool" the parser into allowing executables or DLLs if the name of the executable contains a path relative to the path where the .ibs and .ami files are located. While this is very convenient behavior for EDA tools and model makers, it is violation of IBIS as currently written. Either the parser must be changed to raise an error at this behavior, or the specification should be changed to permit paths relative to the directory where the .ibs file is located. ibischk6 -numbered bug182.ibs: (64-bit Windows) IBISCHK6 V6.1.2 Checking bug182.ibs for IBIS 6.0 Compatibility... ... Reading bug182.ami ... Checking bug182.ami for AMI Version 6.0 Compatibility... ... Done Checking bug182.ami ... Done Reading bug182.ami Errors : 0 File Passed ------- Pending ibischk6 V6.1.3 on 32 bit Windows: (Requires BUG179 fixed.) ibischk6_32 -numbered bug182.ibs IBISCHK6 V6.1.3 Checking bug182.ibs for IBIS 6.0 Compatibility... ... Reading bug182.ami ... Checking bug182.ami for AMI Version 6.0 Compatibility... ... Done Checking bug182.ami ... Done Reading bug182.ami ... Status of [Algorithmic Model] Executables for Windows 32: bug182/icg_64.so: Linux 64: Not Checked bug182/icg_32.so: Linux 32: Not Checked bug182/icg_64.dll: Windows 64: Not Checked bug182/icg_32.dll: Windows 32: Checked ... This IBISCHK6 executable supports Windows 32 bit only Errors : 0 File Passed ------------ Added Notes: ------------ This test file is designed to work on all versions of ibischk6 Version 6.1.3 with the BUG179 enhancement for 32/64-bit Windows and 32/64-bit Linux. The test passes in ibishck6 Version 6.1.2 using "\" instead of "/" in the File_Name path to form "bug182\*.dll" as the File_Name. The test passes if bug182.ami is also placed under "bug182/" as "bug182/bug182.ami". However some unrelated failures for *.dll checking are reported if the Executable path for bug182.ami is bug182\bug182.ami So the best solution is to comply with the IBIS Specification and report a new "relative subdirectory error" if "/" or "\" exists with the File_Name executable model or in the Parameter_File. INSERT IBIS FILE DEMONSTRATING THE BUG: ---------- bug182.ibs ---------- [IBIS Ver] 6.0 [File Name] bug182.ibs [Date] September 25, 2016 [File Rev] 1.0 [Notes] Executable models are in the relative | subdirectory bug182/ | [Component] BUG182 [Manufacturer] Test File [Package] R_pkg 0.00m NA NA L_pkg 0.00nH NA NA C_pkg 0.00pF NA NA | [Pin] signal_name model_name R_pin L_pin C_pin 1 BUG182_IN BUG182 | [Model] BUG182 Model_type Input C_comp 0.0 NA NA Vinl = 0.2 Vinh = 0.8| [Voltage Range] 1.0 NA NA | [Algorithmic Model] Executable Windows_VisualStudio_32 bug182/icg_32.dll bug182.ami Executable Windows_VisualStudio_64 bug182/icg_64.dll bug182.ami Executable Linux_Ubunto_32 bug182/icg_32.so bug182.ami Executable Linux_Ubunto_64 bug182/icg_64.so bug182.ami [End Algorithmic Model] | [End] ---------- bug182.ami ---------- (bug182 (Description "Example of Parser Behavior") (Reserved_Parameters (AMI_Version (Usage Info) (Type String) (Default "6.0")) (Init_Returns_Impulse (Usage Info) (Type Boolean) (Default True)) (GetWave_Exists (Usage Info) (Type Boolean) (Default True)) ) ) -------------------------------------------------------------------- Put V6.1.3 qa executable models under relative subdirectory bug182/ ------------------------------------------------------------------- bug182/icg_32.dll bug182/icg_64.dll bug182/icg_32.so bug182/icg_64.so ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 182 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] ANNOYING PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] CLOSED FIXED VERSION: 6.1.4 FIXED DATE: June 28, 2017 NOTES ON BUG FIX: Discussed at the October 14, 2016 IBIS Open Forum meeting, but no suggested resoluton was made. To be discussed further. Classified at the November 4, 2016 IBIS Open Forum Meeting. Suggested change .... indicate new Error message for all File_Name and Parmeter Files that have relative path directories indicated by "/" or "\" in the names. We questioned whether this should be a Warning, but decided that the violation would be an Error message. As indicated in the body of this report, we may relax the file name restrictions in the next major release of IBIS. June 28, 2017 Message chaged to Path cannot be specified in file name. Error number changed from E5502 (for .dll or .so) and E5504 (for .ami) to E4708. ****************************************************************************** ******************************************************************************