All, AMI models consist of executable DLLs and a .ami file. The .ami file is an ASCII file that defines parameters in a parameter tree format. Each parameter has a Name, Type (String, Integer, Float, Tap, Boolean), a Usage (In, Out, InOut, Info), a Description, and a set of Allowed Values. Usage In "In" parameter Values are passed into the DLL The EDA tool is responsible for selecting a Value for each In parameter based on its allowed values. An example of an In parameter might be the value of a Tx pre-cursor tap. Out "Out" parameter Values are determined by the DLL and passed back to the EDA tool. An example of an Out parameter might be the value of a DFE tap determined by the DLL. InOut "InOut" parameter Values are passed into the DLL, modified by the DLL and passed back to the EDA tool. An example of an InOut might be the value of a DFE tap that can be initialized by the EDA tool to a specific value, but modified by the DLL as a result of it determining an improved value. In this case the EDA tool may help the Rx model reach optimized DFE taps quicker by getting a improved starting value for it. Info "Info" parameters are not passed into the DLL, but are used to give information to the EDA tool on how to use the DLL, or how to process the data returned by the DLL. An exemple of an Info parameter is Tx_DCD. This would tell the EDA tool how much duty cycle distortion to apply to the stimulus pattern input to the DLL in time domain simulation. Description EDA tools normally control the usage of an AMI model with a GUI that allows the user to configure parameters that control the operation of a buffer. The "Description" is a text string that the EDA tool can use as a tool tip in this GUI. Allowed Values The .ami file has a flexible method that the model make can communicate to the EDA Tool and User of the model the allowed values that can be assigned to a parameter. The following methods of specifying "Allowed Values" are: Value A single value. List An list of allowed values Range A range of allowed values Increment A range of allowed values constrained to values separated by a fixed amount Steps A range of allowed values constrained to values separated into N equally spaced steps Corner Three values representing typical, slow and fast corners of the buffer Parameters are divided into two classes; Reserved Parameters and Model Specific Parameters. Reserved Parameters are defined in the IBIS specification. Model Specific Parameters are used to define the operation specific to a model. The task of this reflector is to create a new set of generic Reserved Parameters to control the statistical and time domain communications between Tx and Rx models and the EDA tool, and to define Reserved Parameters for specific Backchannel Protocols such as PCIe-Gen3, IEEE Ethernet 25G, . Walter Walter Katz Chief Scientist Signal Integrity Software, Inc. wkatz@xxxxxxxxxx 303.449-2308