Walter, Thanks for the correction on the .model for the S-element. If I remember correctly this was possible in earlier version of the ISS specification drafts, but we changed it as we were finalizing the ISS spec, which I forgot about when I wrote this example. I will make the correction and distribute an update of my slides. Regarding the question you are asking about what the advantage is to use this syntax, vs. your proposals, I would have to look again at your proposal again to be able to give an exact answer because you made lots of significant changes since we started these analog modeling discussions, but in general you and me differ in our thinking along the lines of trying to preserve and include old IBIS syntax as far as possible so that old IBIS gets improved, vs. leaving old IBIS behind with new and usually incompatible syntax. Both of these approaches have their benefits and drawback. Our group needs to decide which approach is more appealing to solve our problems... While we are at it, don't forget the Cadence BIRDs in this discussion (144 and 145). Thanks, Arpad ========================================================== From: Walter Katz [mailto:wkatz@xxxxxxxxxx] Sent: Tuesday, December 06, 2011 6:15 AM To: Muranyi, Arpad; 'IBIS-ATM' Subject: RE: [ibis-macro] Re: Jitter BIRD issues, and Buffer Tstonefile Issues Arpad, Minor point, the ISS subckt is incorrect, S parameter instance does not reference Tstonefile, it references a .model that references the Tstonefile (see below). Otherwise the syntax you propose (additional 11 lines to parse, 7 keywords in .ibs file, and additional ISS subckt file) will work, but do not add any information that is already in the three keywords in the .ami file. What is the advantage of your solution over the simple solution that is proposed in BIRD 122 for AMI models that want to reference Tstonfiles as the analog model? Walter .SUBCKT AMI_Sdrv + A_signal_pos A_signal_neg + my_driveP my_driveN my_ref + TSFile="DefaultTouchstoneFileName.s4p" Sdriver my_driveP A_signal_pos my_driveN A_signal_neg my_ref + MNAME=TSFile + [FBASE = base_frequency] [FMAX=maximum_frequency] ****************************************************************** .ends It should be: .SUBCKT AMI_Sdrv + A_signal_pos A_signal_neg + my_driveP my_driveN my_ref + TSFile="DefaultTouchstoneFileName.s4p" + MNAME=XXX * * S element model name contains Tstonefile Sdriver my_driveP A_signal_pos my_driveN A_signal_neg my_ref .MODEL + MNAME= XXX + Tstonefile= TSFile + [FBASE = base_frequency] [FMAX=maximum_frequency] ****************************************************************** .ends From: ibis-macro-bounce@xxxxxxxxxxxxx<mailto:ibis-macro-bounce@xxxxxxxxxxxxx> [mailto:ibis-macro-bounce@xxxxxxxxxxxxx]<mailto:[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> [mailto:ibis-macro-bounce@xxxxxxxxxxxxx]<mailto:[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