Walter, Attached is an example as per the Cadence proposal. Thanks, Ambrish. [cid:image002.gif@01CCB423.1C84C4E0] Ambrish Varma | Member of Consulting Staff P: 978.262.6431 www.cadence.com<http://www.cadence.com> ________________________________ From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Muranyi, Arpad Sent: Tuesday, December 06, 2011 1:33 AM To: IBIS-ATM Subject: [ibis-macro] Re: Jitter BIRD issues, and Buffer Tstonefile Issues Walter, Under 3b below, you requested an implementation of your example with the syntax of my analog BIRDs. Please review the attached PDF file in which I attempted to fulfill your request. I hope I understood your example correctly. Comments/questions are appreciated. Thanks, Arpad ========================================================== From: ibis-macro-bounce@xxxxxxxxxxxxx [mailto:ibis-macro-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz Sent: Tuesday, November 29, 2011 4:31 PM To: IBIS-ATM Subject: [ibis-macro] Jitter BIRD issues, and Buffer Tstonefile Issues All, The remaining major issue is the handling of Rx_Rj, Rx_DCD, and Rx_Sj. 1. It has been requested that Rx_Dj be added. 2. First a discussion on how the Rx clock is handled in the following two cases a. Time Domain i. Rx AMI_GetWave returns clock ticks in *clock_times. b. Statistical i. Rx AMI_GetWave does not return clock ticks in *clock_times. ii. Using Rx AMI_Init 3. The current BIRD 123 states that Rx_Rj, Rx_DCD, and Rx_Sj shall be applied to both Time Domain and Statistical methods. a. In Time Domain, Rx_Rj, Rx_DCD, and Rx_Sj can be applied to times in clock_times, statistically to the clock_times PDF, or statistically to the persistent eye. b. In Statistical, Rx_Rj, Rx_DCD, and Rx_Sj are combined statistically along with Rx_Clock_PDF, Rx_Clock_Recovery_Rj, Rx_Clock_Recovery_DCD, and Rx_Clock_Recovery_Sj. 4. It has been suggested that Rx_Rj, Rx_DCD, and Rx_Sj shall apply to just Time Domain. a. In Time Domain, Rx_Rj, Rx_DCD, and Rx_Sj can be applied to times in clock_times, statistically to the clock_times PDF, or statistically to the persistent eye. b. In Statistical, only Rx_Clock_PDF, Rx_Clock_Recovery_Rj, Rx_Clock_Recovery_DCD, and Rx_Clock_Recovery_Sj are applied. Regarding Tstonefile. 1. Fangyi and I agreed the there is no requirement that S12=S21, and that S21 can be small or zero. 2. Fangyi and I agreed that the input to the Tx, and the output of the Rx S element be isolated with a unit gain amplifier (E element) as in the following example of a Tx Tstonefile wrapped in an ISS subckt: a. .subckt Intrinsic_Tstonefile_Tx DieP PadP DieN PadN file='NA' b. * Port order of Touchstone file is DieP PadP DieN PadN c. E_H EDieP 0 VCVS DieP 0 1. d. E_L EdieM 0 VCVS DieN 0 1. e. S1 EDieP PadP EDieN PadN 0 mname=A f. .model A TSTONEFILE=file g. .ends Intrinsic_Tstonefile_Tx 3. There are now three proposals to implement Tstonefile in .ibs and/or .ami files. a. BIRD 120 proposes the following example, where (Voh-Vol) = Peak to Peak voltage swing: i. (Tstonefile (List "xwc.s4p" "wc.s4p" "nc.s4p" "bc.s4p" "xwc.s4p") ii. (Usage Info) (Type String) iii. (Description "Extreme Worst, Worst, Nominal, Best, Extreme Best")) iv. (Vol (Value 0.) (Usage Info)(Type Float)) v. (Voh (Range 1 .3 1.2) (Usage Info)(Type Float)) b. There are a number of BIRDs submitted by Arpad and Ambrish. I have requested that the above example be implemented using the syntax proposed in these alternative BIRDs. Walter Walter Katz wkatz@xxxxxxxxxx<mailto:wkatz@xxxxxxxxxx> Phone 303.449-2308 Mobile 720.333-1107
[Model] example_buffer Model_type Output | | Other model sub-parameters are optional | | typ min max [Voltage Range] 3.3 3.0 3.6 | [Ramp] dV/dt_r 1.57/0.36n 1.44/0.57n 1.73/0.28n dV/dt_f 1.57/0.35n 1.46/0.44n 1.68/0.28n | [External Model] Language Touchstone | | Corner corner_name file_name circuit_name Corner Typ nc1.s2p NA Corner Min wc1.s2p NA Corner Max bc1.s2p NA | | User_defined_corner user_defined_corner_name file_name corner_name User_defined_corner Extreme_Worst xwc.s2p Min User_defined_corner Worst wc.s2p Min User_defined_corner Nominal nc.s2p Typ User_defined_corner Best bc.s2p Max User_defined_corner Extreme_Best xbc.s2p Max | | Ports List of port names (in same order as in Touchstone) Ports my_drive A_signal | my_drive should be connected to port 1 of Touchstone A_signal should | be connected to port 2 of Touchstone | | D_to_A d_port port1 port2 vlow vhigh trise tfall corner_name D_to_A D_drive my_drive A_pdref 0.0 3.3 0.5n 0.3n Typ | [End External Model] |