***************************************************************************** ***************************************************************************** BIRD ID#: 121.1 ISSUE TITLE: IBIS-AMI New Reserved Parameters for Data Management AUTHOR: Walter Katz, Mike Steinberger, Todd Westerhoff, SiSoft DATE SUBMITTED: October 20, 2010 DATE REVISED: June 1, 2011 DATE ACCEPTED BY IBIS OPEN FORUM: ***************************************************************************** ***************************************************************************** STATEMENT OF THE ISSUE: Model developers and EDA vendors building IBIS-AMI models using the IBIS 5.0 specification have come across a number of modeling issues that are not addressed in IBIS 5.0. In order to deliver models and EDA tools that meet end-user demands for model accuracy and functionality, EDA vendors have defined "extensions" to add new capabilities to IBIS-AMI models. Unfortunately, EDA vendors have had to use proprietary (and different) syntax to add these capabilities to models, limiting model portability between different EDA tools. This BIRD proposes new syntax for the .ami control file that improves model functionality and accuracy. Including this syntax in the IBIS standard will allow creation of accurate, compliant IBIS-AMI models that are readily portable between commercial EDA simulators. The parameters defined in this document are to be added in Section 6c of the IBIS 5.0 specification as new Reserved_Parameters: Data Management & Simulation Control Supporting_Files, DLLPath, DLLid BIRD121.1: Samples_Per_Bit is removed as a proposed new Reserved_Parameter. Note that all of the parameters defined in this BIRD may be declared in the Model_Specific section of the .ami file to allow the use of some legacy models. However, using these parameters in the Model_Specific section of the .ami file is considered legacy use and will likely be deprecated in IBIS versions beyond 5.1. ***************************************************************************** The following text is added immediately before Table 1 on page 148: Data Management & Simulation Control Parameters "Supporting_Files" is an AMI parameter of Type String, Usage Info, Format List that contains a list of the files the model requires in addition to the DLL or shared object file. In the specified List, each String is the relative path from the .ibs file directory to one supporting file or directory. Example: (Supporting_Files (Usage Info)(Type String) (List "my_stuff_dir" "m1.s4p" "m2.s4p" "m3.s4p") (Description "Additional files that support this model") ) "DLLPath" is an AMI parameter of Type String, Usage In and format Value that gives the model the path to the directory it is being executed from. Example: (DLLPath (Usage In)(Type String)(Value "NA") (Description "Path to where the DLL is running") ) The EDA tool is responsible for recognizing this parameter name and replacing the value declared in the .ami file with a string that contains the correct path information for the algorithmic model. In this string, the path separator is the forward slash ("/"), and the model is responsible for making any OS-specific adjustments (for example, replacing forward slashes "/" with backslashes "\" if necessary). "DLLid" is an AMI parameter of Type String, Usage In and format Value that is guaranteed to have a unique name for each instance of an IBIS-AMI model and simulation run in a single results directory. Example: (DLLid (Usage In)(Type String)(Value "NA") (Description "Unique base name for each AMI model instance and run") ) The EDA tool is responsible for recognizing this parameter name and replacing the value declared in the .ami file with a string that contains a unique alphanumeric identifier. The algorithmic model is responsible for using DLLid as the base name for any data files that the model creates, either for use as temporary storage or for recording output data. The use of DLLid helps guarantee that multiple instances of the same model (or different models from the same vendor) do not mix up data as a result collisions between temporary file names. DLLid can optionally be used to create a standardized ASCII report file that EDA tools can parse and display. This report file has the base name of DLLid and extension ".report". For example, if the value of DLLid was set to "base_sim.Rx1.dll", then the name report file created would be "base_sim.Rx1.dll.report". The report file is ASCII and may contain lines that begin with the keyword "Result", followed by two fields, a and a . There is no restriction that the be the name of a declared AMI parameter. The may either be a string or a number. No two Result records in a DLL Report file may have the same . If either or is a string that has embedded white space or ",", then the or must be surrounded by two double quotes ("). Double quotes (") are not permitted within or . The DLL Report file is not required to exist, may be empty or may have any number of Result records. The format of the .report file is defined to make it easier for EDA tools and/or user scripts to parse and report on specific contents of a DLLid.report file. The model may convey additional information in this file, but these ASCII records should not begin with the keyword "Result". (the following text was proposed in BIRD121 and is withdrawn in BIRD121.1) "Samples_Per_Bit" is an AMI parameter of Type Integer, Usage Info, and format Value that states the number of samples per bit which should be used with the model to assure correctness, obtain greatest accuracy, or achieve greatest efficiency. This parameter should only be declared for models where it is desirable to use a specific number of samples per bit. If the model is designed to be independent of the Samples_Per_Bit setting, this parameter should not be declared. Example: (Samples_Per_Bit (Usage Info)(Type Integer)(Value 16) (Description "This model requires 16 samples per bit") ) The EDA tool is expected to take the model’s requested Samples_Per_Bit setting into account when preparing the input data for the algorithmic model. This includes the values of bit_time and sample_interval passed to the model and how waveform data is prepared. ***************************************************************************** ANALYSIS PATH/DATA THAT LED TO SPECIFICATION The parameters defined in this BIRD came from commercial IBIS-AMI model development efforts where new functionality was needed to meet customer expectations for model functionality, accuracy and performance. The parameters in this BIRD were defined by SiSoft and its semiconductor partners. These parameters are being contributed to IBIS to ensure IBIS-AMI model accuracy and portability. BIRD121.1 revises BIRD121 by removing Samples_Per_Bit as a proposed Reserved_Parameter. ***************************************************************************** ANY OTHER BACKGROUND INFORMATION: This BIRD is being requested by the following IBIS users and model developers, in conjunction with the authors: Cisco Systems: Upen Reddy, Doug White Ericsson: Anders Ekholm Broadcom: Yunong Gan IBM: Adge Hawes TI: Alfred Chong, Srikanth Sundaram BIRDs 121 through 124 split the concepts and changes of BIRD 119 into separate documents. *****************************************************************************