****************************************************************************** ********************* 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 info@ibis.org. A list of reported bugs is maintained at http://ibis.org/bugs/ibischk/ . ****************************************************************************** PARSER VERSION NUMBER: 6.1.5 and all since 3.0.0 PLATFORM (SPARC, HP700, PC, etc.): PC OS AND VERSION: Windows 10 REPORTED BY: Randy Wolff, Micron Technology; Bob Ross, Teraspeed Labs DATE: September 26, 2019 DESCRIPTION OF BUG: Submodel clamps should be included in V-T extraction --- During IBIS Model I-V, V-T and [Ramp] extraction, the submodel clamps might be in Driving or All mode. This impacts V-T endpoint values and [Ramp] dV values, particularly if the submodel clamp(s) are used for selectable on die terminators (ODT). Currently, the ibischk waveform endpoints and dV ramp calculations are done without any consideration of submodel elements. For background, BIRD48.4, BIRD49.4 and BIRD50.3 introduces the [Submodel] and [Add Submodel] keywords in IBIS Version 3.2, The main idea is that submodels would be added as voltage controlled current source elements to the standard I/O buffer output. This architecture supports different modes (All, Driving, and Non-driving) and several different structures that may not have well-defined end points. For many devices and reference (SPICE) models, a submodel can be turned off and the basic I/O buffer structure can be extracted. There are ways to capture the submodel elements directly. Several ideas have been discussed: Limited adjustment for some special cases Changing any Waveform mismatch Error into a Warning Do nothing - IBISCHK is already working as intended For the test case below, the following message is correctly generated, point to problems with the BUG207_BAD [Model] Checking bug207.ibs for IBIS 5.1 Compatibility... C1514 - [Ramp] dV ( 0.150V) not within 5.00% of I-V table dV ( 0.300V) calculation: Model BUG207_BAD: Process: TYP: (Rising) C1514 - [Ramp] dV ( 0.150V) not within 5.00% of I-V table dV ( 0.300V) calculation: Model BUG207_BAD: Process: TYP: (Falling) E1503 - Model BUG207_BAD: The [Rising Waveform] with [R_fixture]=50 Ohms and [V_fixture]=0V has TYP column DC endpoints of 0.00V and 0.25v, but an equivalent load applied to the model's I-V tables yields different voltages (-0.00V and 0.50V), a difference of 0.00% and 50.00%, respectively. E1503 - Model BUG207_BAD: The [Falling Waveform] with [R_fixture]=50 Ohms and [V_fixture]=0V has TYP column DC endpoints of 0.00V and 0.25v, but an equivalent load applied to the model's I-V tables yields different voltages (-0.00V and 0.50V), a difference of 0.00% and 50.00%, respectively. Errors : 2 Cautions: 2 ==== INSERT IBIS FILE DEMONSTRATING THE BUG: | [IBIS ver] 5.0 [File name] bug207.ibs [File Rev] 1.0 [Component] BUG207 [Manufacturer] Acme, Inc. [Package] R_pkg 0 NA NA L_pkg 0 NA NA C_pkg 0 NA NA | [Pin] signal_name model_name 1 BUG207_A BUG207_OK | No Submodel 2 BUG207_B BUG207_BAD | Submodel, I/O V-T not adjusted 3 BUG207_C BUG207_CORRECT | Submodel with correct I/O V-T adjustment | |****************************** | [Model] BUG207_OK | NO SUBMODEL Model_type I/O_open_source Vinl = 0.120 Vinh = 0.130 Vmeas = 0.125 Vref = 0.0 Rref = 50 | C_comp 1.0pF NA NA | [Voltage Range] 1.0 NA NA | [GND_clamp] | -1.0 -.020 NA NA 0.0 0.00 NA NA 2.0 0.040 NA NA | [Pullup] | -1.0 -.010 NA NA 0.0 -.010 NA NA 2.0 -.010 NA NA | [Ramp] | dV/dt_r 150m/60p NA NA dV/dt_f 150m/60p NA NA R_load = 50 | [Rising Waveform] R_fixture = 50 V_fixture = 0.0 | 0.0 0.0 NA NA 50p 0.0 NA NA 150p 0.250 NA NA 250p 0.250 NA NA | [Falling Waveform] R_fixture = 50 V_fixture = 0.0 | 0.0 0.250 NA NA 50p 0.250 NA NA 150p 0.0 NA NA 250p 0.0 NA NA | |****************************** | [Model] BUG207_BAD | CLAMP MOVED TO SUBMODEL NO V-T ADJUSTMENT Model_type I/O_open_source Vinl = 0.120 Vinh = 0.130 Vmeas = 0.125 Vref = 0.0 Rref = 50 | C_comp 1.0pF NA NA | [Voltage Range] 1.0 NA NA [Temperature Range] 25 NA NA | [Add Submodel] PD_50 All | [Pullup] | -1.0 -.010 NA NA 0.0 -.010 NA NA 2.0 -.010 NA NA | [Ramp] | dV/dt_r 150m/60p NA NA dV/dt_f 150m/60p NA NA R_load = 50 | [Rising Waveform] R_fixture = 50 V_fixture = 0.0 | 0.0 0.0 NA NA 50p 0.0 NA NA 150p 0.250 NA NA 250p 0.250 NA NA | [Falling Waveform] R_fixture = 50 V_fixture = 0.0 | 0.0 0.250 NA NA 50p 0.250 NA NA 150p 0.0 NA NA 250p 0.0 NA NA | |****************************** | [Model] BUG207_CORRECT | CLAMP IN SUBMODEL V-T ADJUSTED Model_type I/O_open_source Vinl = 0.120 Vinh = 0.130 Vmeas = 0.125 Vref = 0.0 Rref = 50 | C_comp 1.0pF NA NA | [Voltage Range] 1.0 NA NA | [Add Submodel] PD_50 All | [Pullup] | -1.0 -.010 NA NA 0.0 -.010 NA NA 2.0 -.010 NA NA | [Ramp] | dV/dt_r 300m/60p NA NA dV/dt_f 300m/60p NA NA R_load = 50 | [Rising Waveform] R_fixture = 50 V_fixture = 0.0 | 0.0 0.0 NA NA 50p 0.0 NA NA 150p 0.50 NA NA 250p 0.50 NA NA | [Falling Waveform] R_fixture = 50 V_fixture = 0.0 | 0.0 0.50 NA NA 50p 0.50 NA NA 150p 0.0 NA NA 250p 0.0 NA NA | |****************************** | [Submodel] PD_50 Submodel_type Dynamic_clamp | [GND_clamp] | -1.0 -.020 NA NA 0.0 0.00 NA NA 2.0 0.040 NA NA | [End] ****************************************************************************** ******************** BELOW FOR ADMINISTRATION AND TRACKING ******************* ****************************************************************************** BUG NUMBER: 207 SEVERITY: [FATAL, SEVERE, MODERATE, ANNOYING, ENHANCEMENT] ANNOYING PRIORITY: [HIGH, MEDIUM, LOW] LOW STATUS: [OPEN, CLOSED, WILL NOT FIX, NOT A BUG] WILL NOT FIX FIXED VERSION: 7.0.1 FIXED DATE: February 21, 2020 NOTES ON BUG FIX: Discussed at the September 27, 2019 IBIS Open Forum. Classified at the February 21, 2020 IBIS Open Forum after several discussions in the IBIS Quality Task Group ****************************************************************************** ******************************************************************************