{"id":274,"date":"2015-09-15T20:28:16","date_gmt":"2015-09-16T02:28:16","guid":{"rendered":"http:\/\/www.serdesdesign.com\/?page_id=274"},"modified":"2016-03-14T17:11:16","modified_gmt":"2016-03-15T00:11:16","slug":"about_tx_ibis-ami_model_with_ffe_and_lpf","status":"publish","type":"page","link":"https:\/\/www.serdesdesign.com\/home\/about_tx_ibis-ami_model_with_ffe_and_lpf\/","title":{"rendered":"About the Tx IBIS-AMI model with FFE and LPF"},"content":{"rendered":"<p>A SerDes system transmitter can often be modeled with a feed-forward equalizer (FFE) and low pass filter (LPF).<\/p>\n<p>Our Model Generation Tool for a Tx IBIS-AMI model with an FFE and LPF can be used to specify the requirements for this Tx model with intended use in a Channel Simulator that conforms with the IBIS-AMI standard.<\/p>\n<p>For a general aid to understanding an FFE see our <a href=\"https:\/\/www.serdesdesign.com\/home\/ffe-analysis-tool\/\">FFE Analysis Tool<\/a>.<\/p>\n<p>A Tx IBIS-AMI model with an FFE and LPF can be specified by listing various requirements in four specific steps.<\/p>\n<ol>\n<li>General information: For the model name and intended usage for bit rate<\/li>\n<li>IBIS data: For the model IBIS analog out buffer characteristics.<\/li>\n<li>Jitter data. For the model data jitter characteristics.<\/li>\n<li>FFE + LPF data. For the model FFE and LPF characteristics.<\/li>\n<li>Complete and send us your model specification.<\/li>\n<\/ol>\n<p>Each of these model specification steps are discussed here in detail.\u00a0 Go back to the prior page to start entering your model specification data.\u00a0 <a href=\"https:\/\/www.serdesdesign.com\/home\/tx-ibis-ami-lti-model-with-ffe-and-lpf\/\">Go back..<\/a>.<\/p>\n<h1><strong><span style=\"line-height: 28.8px;\">1. General information for a Tx IBIS-AMI model<\/span><\/strong><\/h1>\n<p>It is convenient to start by giving a name to your model.\u00a0 Often this can be a composite string composed of your company name and the associated Tx HSD IC part or application.<\/p>\n<p>For example, a typical model name has this construction:<\/p>\n<p>&lt;my_company&gt;_&lt;part_number&gt;_&lt;application&gt;<\/p>\n<p>such as:<\/p>\n<p>HSD_A2357_PCIe3<\/p>\n<p>The nominal bit rate should also be listed, though the model will automatically adjust itself for other bit rates.<\/p>\n<p>For example, for PCIe3, the nominal bit rate is 8 Gbps.<\/p>\n<h1><strong>2. IBIS data for a Tx IBIS-AMI model<\/strong><\/h1>\n<p>A Tx HSD IC often has its output buffer modeled based on the industry <a href=\"http:\/\/www.vhdl.org\/ibis\/ver6.0\/ver6_0.pdf\">IBIS standard<\/a>.<\/p>\n<p>Since our Tx model is intended for use in a Channel Simulator, only a subset of the IBIS standard is applicable. \u00a0A Channel Simulator is defined for achieving fast simulation speed for millions or more bits compared to industry standard SPICE based circuit transient simulation.<\/p>\n<p>Based on industry conventions, a Channel Simulator will only use linear characteristics from a defined IBIS buffer.\u00a0 If the IBIS buffer model contains any nonlinearities, then the Channel Simulator will determine the best fit for linear characteristic to be used with the Channel Simulation.\u00a0 If any actual nonlinearities are intended to be associated with the Tx model then they should be defined in the AMI portion of an IBIS-AMI model and not in the IBIS portion.<\/p>\n<p>In general, the Tx output IBIS buffer for use with a Channel Simulator has this schematic view:<br \/>\n<a href=\"https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/Screen-Shot-2015-09-08-at-11.54.56-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-216\" src=\"https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/Screen-Shot-2015-09-08-at-11.54.56-AM.png\" alt=\"Screen Shot 2015-09-08 at 11.54.56 AM\" width=\"305\" height=\"324\" srcset=\"https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/Screen-Shot-2015-09-08-at-11.54.56-AM.png 305w, https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/Screen-Shot-2015-09-08-at-11.54.56-AM-282x300.png 282w\" sizes=\"auto, (max-width: 305px) 100vw, 305px\" \/><\/a><\/p>\n<p>This schematic is a representation for a Tx HSD IC output buffer that has differential output pins intended for use with a differential channel.<\/p>\n<p>The IBIS standard defines these specific characteristics.<\/p>\n<p>C_pkg:\u00a0 default packaging capacitance of the component pins.<\/p>\n<p>L_pkg: default packaging inductance of the component pins.<\/p>\n<p>R_pkg:\u00a0 default packaging resistance of the component pins.<\/p>\n<p>C_comp:\u00a0 defines die capacitance and should not include the capacitance of the package.<\/p>\n<p>Pullup:\u00a0 defines the I-V tables of the pullup structures of an output buffer.<\/p>\n<p>Pulldown:\u00a0 defines the I-V tables of the pulldown structures of an output buffer.<\/p>\n<p>Rise time (dV\/dt_r):\u00a0 defines the rise time of a buffer. The ramp rate does not include packaging but does include the effects of the C_comp parameter.<\/p>\n<p>Fall time (dV\/dt_f):\u00a0 defines the rise time of a buffer. The ramp rate does not include packaging but does include the effects of the C_comp parameter.<\/p>\n<p>The rise and fall time is defined as the time it takes the output to go from 20% to 80% of its final value. The ramp rate is defined as:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-279 alignleft\" src=\"https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/rise_fall_time_equation.png\" alt=\"rise_fall_time_equation\" width=\"309\" height=\"49\" srcset=\"https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/rise_fall_time_equation.png 309w, https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/rise_fall_time_equation-300x48.png 300w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The ramp rate must be specified as an explicit fraction and must not be reduced.<\/p>\n<p>For example:\u00a0 1.0 \/ 1e-12<\/p>\n<p>For the above parameters, the IBIS buffer specification includes the ability to list their typical, minimum and maximum values.<\/p>\n<h1><strong>3. Jitter data for a Tx IBIS-AMI model<\/strong><\/h1>\n<p>A Tx HSD IC often adds jitter to its input data.\u00a0 Jitter can be have many different characteristics.<\/p>\n<p>One view of the different constituent components to total jitter is seen in this classification of jitter types.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-280 alignleft\" src=\"https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/jitter_tree_for_classification_of_jitter.png\" alt=\"jitter_tree_for_classification_of_jitter\" width=\"695\" height=\"368\" srcset=\"https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/jitter_tree_for_classification_of_jitter.png 695w, https:\/\/www.serdesdesign.com\/home\/wp-content\/uploads\/2015\/09\/jitter_tree_for_classification_of_jitter-300x159.png 300w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Based on the industry IBIS-AMI standard, a Tx model can have these associated jitter characteristics:<\/p>\n<p>Time(n) is the time of the nth clock modified when creating input waveforms for the Tx.<\/p>\n<p><strong>Random (Tx_Rj)<\/strong>: Definition: The standard deviation of a white Gaussian phase noise process at the transmitter which is to be added to the behavior implemented by the EDA tool by modifying the stimulus input or by post processing the simulation results. Entries are assumed to be in units of seconds when declared as Type Float.<\/p>\n<p>Time(n) = n * bit_time + Tx_Rj * gaussian_rand()<\/p>\n<p>Where gaussian_rand() is a function that returns floating point numbers between -inf and +inf. The distribution of these numbers shall be a white Gaussian distribution centered at 0.0 with a \u00a0standard deviation of 1.0. The EDA tool can protect against abs(Tx_Rj*gaussian_rand()) &gt; 0.5UI.<\/p>\n<p><strong><u>Deterministic (Tx_Dj):<\/u><\/strong> Definition: The worst case half the peak to peak variation at the transmitter implemented by the EDA tool by modifying the stimulus input or by post processing the simulation results. Tx_Dj shall include all deterministic and uncorrelated bounded jitter that is not accounted for by Tx_DCD, and Tx_Sj. Entries are assumed to be in units of seconds when declared as Type Float.<\/p>\n<p>Time(n) = n * bit_time + 2.0 * Tx_Dj * rand()<\/p>\n<p>Where rand() is a function that returns floating point numbers between -0.5 and +0.5 with white uniform distribution.<\/p>\n<p><strong><u>Duty Cycle Distortion (Tx_DCD):<\/u><\/strong>\u00a0 Definition: Tx_DCD (Transmit Duty Cycle Distortion) defines half the peak to peak clock duty cycle distortion to be added to the behavior implemented by the EDA tool by modifying the stimulus input or by post processing the simulation.<\/p>\n<p>Time(n) = n * bit_time + Tx_DCD * (-1.0)^n<\/p>\n<p><strong><u>Periodic (Tx_Sj, Tx_Sj_Frequency):\u00a0 <\/u><\/strong><\/p>\n<p>Time(n) = n * bit_time + Tx_Sj * sin( n * bit_time * 2.0 * Pi * Tx_Sj_Frequency)<\/p>\n<p>Tx_Sj \u00a0Definition: Half the peak to peak amplitude of a sinusoidal jitter which is to be added to the behavior implemented directly by the transmitter model.<\/p>\n<p>Usage Rules: If Tx_Sj_Frequency is not assigned (either in the model or by the user), Tx_Sj should be ignored. Entries are assumed to be in units of seconds when declared as Type Float.<\/p>\n<p>Tx_Sj_Frequency\u00a0Definition: The frequency, in hertz, of the sinusoidal jitter at the transmitter.<\/p>\n<p>Usage Rules: If Tx_Sj_Frequency is not assigned (either in the model or by the user), Tx_Sj should be ignored.<\/p>\n<p>The total jitter usable with a Channel Simulation should be less than 1\/2 UI where UI = 1\/(data bit time) in seconds.\u00a0 Since Rj is unbounded, the Channel Simulator limits Rj to 1\/2 UI.<\/p>\n<h1><strong><u style=\"line-height: 28.8px;\">4. FFE and LPF data for a Tx IBIS-AMI model<\/u><\/strong><\/h1>\n<p>For a general aid to understanding an FFE see our <a href=\"https:\/\/www.serdesdesign.com\/home\/ffe-analysis-tool\/\">FFE Analysis Tool<\/a>.<\/p>\n<p>Here, the discussion is focused on the FFE and LPF data to be entered for the Tx IBIS-AMI model.<\/p>\n<p>Data can be entered for the FFE and the LPF.\u00a0 For most data, one can enter data for typical, slow and fast process corners.\u00a0 The actual use of &lt;typ&gt;, &lt;slow&gt;, &lt;fast&gt; is carried out by the EDA tool based on its Channel Simulator corner setting.<\/p>\n<p>For the FFE, data is entered for the pre-cursor and post-cursor values.\u00a0 For example, values for PreCursor1TypDefault, PostCursor1TypDefault, and PostCursor2TypDefault.\u00a0 One can define as many pre-cursors and post-cursors as desired.\u00a0 For each pre-cursor and post-cursor, one enters the default value and a list of values for each process corner.\u00a0 The lists define allowed values.\u00a0 For example, values for PreCursors1Typ, PostCursors1Typ, and PostCursors2Typ are list parameter.\u00a0 The default value is used for the Channel Simulation.<\/p>\n<p>For the FFE using the pre- and post-cursor default values, the FFE response can be normalized based on the setting for CursorNormalization.\u00a0 See <a href=\"https:\/\/www.serdesdesign.com\/home\/typical-ffe-characteristics-and-displays\/\">Typical FFE Characteristics and Displays&#8230;<\/a> for discussion of the CursorNormalization options.<\/p>\n<p>For the FFE, one has the option of allowing the model to automatically set the pre-cursor and post-cursor values (and ignore the default value settings) to equalize the channel being used with this Tx model.\u00a0 This option is enabled by setting AdaptFFE=1.\u00a0 When enabled, one can further specify whether the combined FFE+LPF+Channel response should be normalized for unity frequency domain response at 0 Hz (AdaptChLoss=1) or for unity\u00a0 frequency domain response at the Nyquist frequency (AdaptChLoss=2).\u00a0 Additionally, one can further specify whether the channel equalized FFE values should be forced to the nearest values in the pre- and post-cursor lists (AdaptToList=1).<\/p>\n<p>For the LPF, data is entered for the frequency domain poles in Hz.\u00a0 All poles are entered as positive frequency values.\u00a0 One can define as many poles as desired.\u00a0 However, only those poles less than half of the simulation sample rate are used for simulation.<\/p>\n<h1><strong><u style=\"line-height: 28.8px;\">5. Complete and send us your model specification<\/u><\/strong><\/h1>\n<p>When one is satisfied with the model specification data entered, then the model requirements can be sent to SerDesDesign.com for an estimate on the consulting fee for creating the custom IBIS-AMI model by selecting the <strong><u>Send <\/u><\/strong>button on the prior page.<\/p>\n<p>Go back to the prior page to complete entering your model specification data.\u00a0 <a href=\"https:\/\/www.serdesdesign.com\/home\/tx-ibis-ami-lti-model-with-ffe-and-lpf\/\">Go back&#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A SerDes system transmitter can often be modeled with a feed-forward equalizer (FFE) and low pass filter (LPF). Our Model Generation Tool for a Tx IBIS-AMI model with an FFE and LPF can be used to specify the requirements for this Tx model with intended use in a Channel Simulator that conforms with the IBIS-AMI [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nf_dc_page":"","footnotes":""},"class_list":["post-274","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.serdesdesign.com\/home\/wp-json\/wp\/v2\/pages\/274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.serdesdesign.com\/home\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.serdesdesign.com\/home\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.serdesdesign.com\/home\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.serdesdesign.com\/home\/wp-json\/wp\/v2\/comments?post=274"}],"version-history":[{"count":0,"href":"https:\/\/www.serdesdesign.com\/home\/wp-json\/wp\/v2\/pages\/274\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.serdesdesign.com\/home\/wp-json\/wp\/v2\/media?parent=274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}