Hi Walter and all, I fundamentally disagree with the Touchstone file imposing any restrictions, or changes w.r.t. the existing usage, on any external connectivity of the components for which the Touchstone files are just providing data. The Touchstone files provide the data, and just the data. Any information on the actual inclusion of that data is (and should be) specified elsewhere (ICM, Spice netlists, schematic descriptions of various EDA vendors, etc.). This does not prohibit the data providers from inclusion of usage-oriented info as comments right in the file, if they feel it necessary. I cannot imagine that an existing Hspice netlist would have to be differently interpreted because we add the [Interconnect Port Groups] to the file. The latter is in contrast to our MM specification where we want to uniquely calculate the corresponding SE data. All we are concerned with is that the data is unambiguous. In other words, if we allow various formats (Z, H, S, MM) we need to make sure the conversion between the formats is unique. Radek ________________________________ From: ibis-interconn-bounce@xxxxxxxxxxxxx [mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz Sent: Friday, June 20, 2008 1:16 PM To: ibis-interconn@xxxxxxxxxxxxx Subject: [ibis-interconn] Re: Mixed Mode, understanding the simple case Vladimir, No. I think there are three fundamental applications of Touchstone data. They include active devices, interconnect, and everything else. If interconnect, then any one port is either a signal port or supply port. Note that a port is really two ports, one that refers to a row in the Touchstone Matrix, and a reference node. The reference node is either "0" (a nail buried 6 feet in the ground), or possibly one of the other "ports" in the matrix. If one generates the Touchstone file then one knows how to connect the Touchstone file in a netlist, which ports are at the end of each "connection", which are the differential ports, .... If one is given a Touchstone file, then one needs to determine the how to use it. All I am asking for is some standard methods of describing the ports so that tools can use the Touchstone data programmatically. So yes, if a transmission line port is measured referenced to a certain plane, and that plane is a port in the Touchstone file, then I think it would be extremely useful to know this fact programmatically in the Touchstone file. Every Touchstone file has some sort of documentation indicating what the ports are. Why not have a standard way of indicating this in the Touchstone file? Why do we bother putting signal names in the [Component] section of an IBIS file? The pin number is all that is required to use the IBIS models. Why do we put [Diff Pin] records in the IBIS file? A user could read the vendor spec for the part and figure out which pins are differential, or could look for comments in the IBIS file. Walter -----Original Message----- From: ibis-interconn-bounce@xxxxxxxxxxxxx [mailto:ibis-interconn-bounce@xxxxxxxxxxxxx]On Behalf Of Dmitriev-Zdorov, Vladimir Sent: Friday, June 20, 2008 3:26 PM To: ibis-interconn@xxxxxxxxxxxxx Subject: [ibis-interconn] Re: Mixed Mode, understanding the simple case Walter, Do you think the Touchstone format should evolve into something that will contain ICM and maybe IBIS-type info? There are many other examples other than coupled transmission lines that may require some additional definitions. For instance, the groups of ports defined for a particular pair of planes in the multilayer system (in power integrity problems) or the system of mutual inductances for which we may want to indicate co- or counter- oriented coils or something else. Does the touchstone format have to be extended each time we apply it to something different? Vladimir -----Original Message----- From: ibis-interconn-bounce@xxxxxxxxxxxxx [mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz Sent: Thursday, June 19, 2008 11:33 AM To: ibis-interconn@xxxxxxxxxxxxx Subject: [ibis-interconn] Re: Mixed Mode, understanding the simple case Vladimir, This is a fundamental issue that needs to be addressed. When one delivers an RLGC model its usage is clear. If N=2, then there are two coupled transmission lines, and the matrix rows and columns correspond to the data for an ordered list of transmission lines. It is not necessary to deliver a model instance definition because it is so straightforward. If someone delivers an s8p (and says it represents two coupled near/far end differential pair), one does not have the slightest idea of the mapping of the ports of the s8p with the near end and far end lines and which lines are meant to be differential. The near/far end association of individual lines is addressed by "[Interconnect Port Groups]", but the differential pairing is not. Should the differential paired be indicated, so that tools could intelligently pair the lines to generate differential and common mode views of the s parameter data? If the same s8p was delivered in mixed mode form, how are we going to specify near/far end. Each EDA tool can generate the s8p and the instance their own way. How can the same s8p be used in multiple tools. Either the user needs to read the documentation that comes along with an s8p to determine how to use it in that tools instance, the person generating the s8p includes an instance that describes programmatically how the s8p is used, or we add records to the s8p that allows the tool to programmatically use the s8p. ICM addresses this by having its own instance format for an sNp, but ignores reference information. Regarding: Again, I do not object placing the ruling topological info into Touchstone but it seems to me that this may create a serious impact on the way we use S-parameters in our simulators and will require extra development, not limited to the Touchstone parser as we initially hoped. I cannot disagree more. If you generate the sNp, and the instances, then you can just ignore the additional records. If you get an sNp from someone else that has these records, you can continue to ignore them and generate the instance records as you currently do (at least you have a format way to visually reading these records to help you generate the instance). I suspect that some tools would use this information programmatically. Walter -----Original Message----- From: ibis-interconn-bounce@xxxxxxxxxxxxx [mailto:ibis-interconn-bounce@xxxxxxxxxxxxx]On Behalf Of Dmitriev-Zdorov, Vladimir Sent: Thursday, June 19, 2008 12:25 PM To: ibis-interconn@xxxxxxxxxxxxx Subject: [ibis-interconn] Re: Mixed Mode, understanding the simple case Walter, I agree that we can add more smart definitions outlining the usage of the S-parameter (Y/Z...) data. However, with such options, we'll need to reconsider some basics about how we use S-parameters. Historically, the touchstone format was just a way to define a matrix (frequency-dependent, complex valued, sampled). Matrix is one of the most universal elements of the parameters description: by itself, it does not impose any restrictions on its usage. Also, it is a 'uniform' thing and as such does not possess of any type of 'topology'. When we add mixed mode capability, we do not alter this approach: by defining the meaning of the vector components (differential or common mode, or single ended info), we do not restrain the topology in any way but only tell how to convert this mixed mode or hybrid definition back into its entirely non-structurized single ended equivalent. So far it was solely the responsibility of the model instance definition, not the model itself, to determine the connectivity of the S-parameter block to the external circuit. By putting some topological definitions into S-model (touchstone file) we restrict the way it can be connected to the outside. The conflicts become possible between such model definition and the instance definition. The instance definitions can be different from simulator to simulator. For example, in HSPICE we would use: Smodel1 N1 N2 N3 N4 gnd smodel = 'name' to include the 4-port model. Here, N1...N4 are 'upper' pins of each port and 'gnd' is the common ground ('lower' pin). In ELDO, the same model could be included as: y4port FBLOCK param: string: touch_file_name.s4p + pin: N1p N1n N2p N2n N3p N3n N4p N4n Here, we have 4 pairs of pins, each one determines the port. Such definition provides more flexibility because it allows us to assign different reference pins for different pairs. Now, if we assume that the ports are somehow grouped in the touchstone file, this implies that they have to share a common reference and perhaps have some other specific. If this requirement is a mandatory, we need to verify that the way the model instance is defined 'properly'. In case of conflict, who will prevail? Another thing if we consider the info similar to [interconnect port groups] as purely informative, i.e. for the user, not the software. This of course can be done informally by using the comment lines. Again, I do not object placing the ruling topological info into Touchstone but it seems to me that this may create a serious impact on the way we use S-parameters in our simulators and will require extra development, not limited to the Touchstone parser as we initially hoped. Vladimir -----Original Message----- From: ibis-interconn-bounce@xxxxxxxxxxxxx [mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz Sent: Wednesday, June 18, 2008 4:35 PM To: ibis-interconn@xxxxxxxxxxxxx Subject: [ibis-interconn] Re: Mixed Mode, understanding the simple case Vladimir, The following syntax: [Interconnect Port Groups] S(1,2) S(3,4) Enables a tool to convert single ended data to mixed mode data. This addresses a channel being measured singled ended, but there are differential rules. Or are you proposing that if one wants the mixed modes, then the model must be delivered with mixed mode, and that mixed mode will not be derivable from single ended mode? There is nothing that constrains the ordering of the ports. Port # Port Name 1 D(N+,N-) 2 s(F-) 3 S(F+) 4 C(N+,N-) Note, that in this scheme. The single ended "ports" are named, and the mixed mode ports are numbered. I am not trying to define my scheme, I just want you to be able to demonstrate that your scheme is equivalent, that one can derive the single ended from mixed mode, and that we will be able to use these mixed mode touchstone files in an EMD netlist. Note that a spice netlist has nodes N+, N-, F+ and F-. In order to have an instance of a mixed mode model, one would need to know what the order of the nodes in the S element call need to be. Walter -----Original Message----- From: ibis-interconn-bounce@xxxxxxxxxxxxx [mailto:ibis-interconn-bounce@xxxxxxxxxxxxx]On Behalf Of Dmitriev-Zdorov, Vladimir Sent: Wednesday, June 18, 2008 5:26 PM To: ibis-interconn@xxxxxxxxxxxxx Subject: [ibis-interconn] Re: Mixed Mode, understanding the simple case Hi Walter, The definitions you propose: Single ended: [Interconnect Port Groups] S(1,2) S(3,4) Mixed mode: [Interconnect Port Groups] DC(1,2) DC(3,4) Hybrid [Interconnect Port Groups] DC(1,2) S(3) S(4) [Interconnect Port Groups] (DC(1,2):S(3),S(4)) are somewhat equivalent to those we considered (up to the syntax) but with the following difference. First, we do not group single ports in pairs for the purpose of single ended matrix representation, because this is not necessary. Second, although we make pairs to define differential and common mode, we do not require that the order has to be rigidly predefined (in your case as: D(1,2) C(1,2) S(3) and S(4)). We may also order them as e.g. D(1,2) S(4) S(3) C(1,2). Then, the three (or more) port 'differential' components need further elaboration. The underlying transformations between single-ended and 'mixed-mode' are not precisely defined, at least they did not mature to the point of becoming conventional knowledge. We know 'how' to convert single to mixed mode and back for the pairs but not for the groups of more ports. It looks also that we need to preserve the total number of unknowns when we do the transformation. How can we replace 3 single ended equations with 4 (3 differential and one common mode)? I think that perhaps we only need 2 differential relations, not 3, because any of them can be expressed through the other two, but then the question becomes how to choose the redundant differential component. Is the mixed mode definition for groups N>2 wide spread? Vladimir -----Original Message----- From: ibis-interconn-bounce@xxxxxxxxxxxxx [mailto:ibis-interconn-bounce@xxxxxxxxxxxxx] On Behalf Of Walter Katz Sent: Wednesday, June 18, 2008 2:55 PM To: ibis-interconn@xxxxxxxxxxxxx Subject: [ibis-interconn] Mixed Mode, understanding the simple case All, Consider a simple differential line consisting of near end ports N+ and N-, and far end ports F+ and F-. A singled ended s4p model might have the following port assignments: Port # Port Name 1 S(N+) 2 S(N-) 3 S(F+) 4 S(F-) [Interconnect Port Groups] (S(1):S(3)) (S(2): S(4)) I do understand that mixed mode representation goes beyond near/far end interconnect, but I will assume this for the purpose of this discussion. I had earlier proposed the following enhancement to [Interconnect Port Groups] to allow description of near/far end differential interconnect [Interconnect Port Groups] (S(1,2):S(3,4)) (S(1,2):S(3,4))is interpreted as Single Ended port 1 is near end active high port 2 is near end active low port 3 is far end active high port 4 is far end active low It would be straightforward to convert this single ended s4p to a mixed mode s4p: Port # Port Name 1 D(N+,N-) 2 C(N+,N-) 3 D(F+,F-) 4 C(F+,F-) [Interconnect Port Groups] (DC(1,2):DC(3,4)) (DC(1,2):DC(3,4))is interpreted as port 1 is near end differential mode port 2 is near end common mode port 3 is far end differential mode port 4 is far end common mode There is no need to assume near and far end in this context. The following is a valid representation of both the single ended and mixed mode data: Single ended: [Interconnect Port Groups] S(1,2) S(3,4) Mixed mode: [Interconnect Port Groups] DC(1,2) DC(3,4) Hybrid [Interconnect Port Groups] DC(1,2) S(3) S(4) [Interconnect Port Groups] (DC(1,2):S(3),S(4)) And three port "differential" is just as easy Single Ended [Interconnect Port Groups] S(1,2,3) Mixed mode: [Interconnect Port Groups] D12D13C(1,2,3) [Interconnect Port Groups] D12D13D23(1,2,3) D12 is differential 1,2 D13 is differential 1,3 D13 is differential 2,3 C is common mode 1,2,3 Why does this not address all of the issues that we have been discussing? Walter