[ibis-interconn] Proposed TSIRD 4 - Clarifications for [End] Keyword

  • From: "Mirmak, Michael" <michael.mirmak@xxxxxxxxx>
  • To: IBIS-Interconnect <ibis-interconn@xxxxxxxxxxxxx>
  • Date: Mon, 31 Jan 2022 19:14:19 +0000

The following has been sent to the appropriate addresses for filing a TSIRD.


  *   MM



  Touchstone Issue Resolution Document  (TSIRD)


TSIRD ID#:
ISSUE TITLE:       Clarifications for [End] Keyword and Example Corrections
REQUESTOR:         Michael Mirmak, Intel Corp.

DATE SUBMITTED:    January 31, 2022
DATE ACCEPTED BY IBIS OPEN FORUM:

****************************************************************************
****************************************************************************

STATEMENT OF THE ISSUE:

One glaring omission from the current Touchstone 2.0 specification is
any statement regarding whether [End] is to be considered required.
Unlike [Matrix Format], [End] is never explicitly identified as
optional either in its own keyword definition section, or in the
listing of keywords at the start of the specification.  In addition,
none of the examples in the Touchstone 2.0 specification actually
shows [End], except the example under the [End] keyword definition
itself (unfortunately, even Example 20 for [End] still does not pass
the tschk2 parser, in that [Two-Port Data Order] is required, yet
is missing).

The TSCHK2 parser, however, will throw error "E2209: expected to find
the [End] keyword" if the [End] keyword is missing from an
otherwise-legal Touchstone 2.0 file..

The specification text should be modified to note that [End] is
required for Touchstone 2.0 files.  The complete examples in the
document should be modified to include [End] and any other missing
keywords necessary to pass parser syntax checks.

****************************************************************************

STATEMENT OF THE RESOLVED SPECIFICATIONS:

All page numbers refer to the PDF version of the Touchstone 2.0
specification.  Red color and strikethrough font is used to indicate
changes.

----------

The text on page 5 now reads, in part:

Touchstone 2.0 data is positioned under two required keywords in the order 
shown below. Network data is
required and positioned after the required [Network Data] keyword. The [End] 
keyword marks the end of
the file and is placed last.

               * [Network Data]
               * [Noise Data]         (required only if [Number of Noise 
Frequencies] given)
               * [End]

This should be changed to:

Touchstone 2.0 data is positioned under two required keywords in the order 
shown below. Network data is
required and positioned after the required [Network Data] keyword. The [End] 
keyword marks the end of
the file and is placed last.

               * [Network Data]
               * [Noise Data]         (required only if [Number of Noise 
Frequencies] given)
               * [End]                    (required)


----------
The text on pages 11 and 12 now reads, in part:

Example 5 (Version 2.0):
! 4-port S-parameter data
! Default impedance is overridden by the [Reference] keyword arguments
! Data cannot be represented using 1.0 syntax
[Version] 2.0
# GHz S MA R 50
[Number of Ports] 4
[Number of Frequencies] 1
[Reference] 50 75 0.01 0.01
[Matrix Format] Full
[Network Data]
5.00000 0.60 161.24 0.40 -42.20 0.42 -66.58 0.53 -79.34 !row 1
0.40 -42.20 0.60 161.20 0.53 -79.34 0.42 -66.58 !row 2
0.42 -66.58 0.53 -79.34 0.60 161.24 0.40 -42.20 !row 3
0.53 -79.34 0.42 -66.58 0.40 -42.20 0.60 161.24 !row 4


Example 6 (Version 2.0):
! 4-port S-parameter data
! Default impedance is overridden by the [Reference] keyword arguments
! Note that [Reference] arguments are split across two lines
! Data cannot be represented using 1.0 syntax
[Version] 2.0
# GHz S MA R 50
[Number of Ports] 4
[Number of Frequencies] 1
[Reference] 50 75
0.01 0.01
[Matrix Format] Lower
[Network Data]
5.00000 0.60 161.24                             !row 1
0.40 -42.20 0.60 161.20                         !row 2
0.42 -66.58 0.53 -79.34 0.60 161.24             !row 3
0.53 -79.34 0.42 -66.58 0.40 -42.20 0.60 161.24 !row 4


Example 7 (Version 2.0):
!1-port Z-parameter file, multiple frequency points
[Version] 2.0
# MHz Z MA
[Number of Ports] 1
[Number of Frequencies] 5
[Reference] 20.0
[Network Data]
!freq magZ11 angZ11
100 74.25 -4
200 60 -22
300 53.025 -45
400 30 -62
500 0.75 -89

This should be changed to:

Example 5 (Version 2.0):
! 4-port S-parameter data
! Default impedance is overridden by the [Reference] keyword arguments
! Data cannot be represented using 1.0 syntax
[Version] 2.0
# GHz S MA R 50
[Number of Ports] 4
[Number of Frequencies] 1
[Reference] 50 75 0.01 0.01
[Matrix Format] Full
[Network Data]
5.00000 0.60 161.24 0.40 -42.20 0.42 -66.58 0.53 -79.34 !row 1
0.40 -42.20 0.60 161.20 0.53 -79.34 0.42 -66.58 !row 2
0.42 -66.58 0.53 -79.34 0.60 161.24 0.40 -42.20 !row 3
0.53 -79.34 0.42 -66.58 0.40 -42.20 0.60 161.24 !row 4
[End]


Example 6 (Version 2.0):
! 4-port S-parameter data
! Default impedance is overridden by the [Reference] keyword arguments
! Note that [Reference] arguments are split across two lines
! Data cannot be represented using 1.0 syntax
[Version] 2.0
# GHz S MA R 50
[Number of Ports] 4
[Number of Frequencies] 1
[Reference] 50 75
0.01 0.01
[Matrix Format] Lower
[Network Data]
5.00000 0.60 161.24                             !row 1
0.40 -42.20 0.60 161.20                         !row 2
0.42 -66.58 0.53 -79.34 0.60 161.24             !row 3
0.53 -79.34 0.42 -66.58 0.40 -42.20 0.60 161.24 !row 4
[End]


Example 7 (Version 2.0):
!1-port Z-parameter file, multiple frequency points
[Version] 2.0
# MHz Z MA
[Number of Ports] 1
[Number of Frequencies] 5
[Reference] 20.0
[Network Data]
!freq magZ11 angZ11
100 74.25 -4
200 60 -22
300 53.025 -45
400 30 -62
500 0.75 -89
[End]

----------

The text on page 14 now reads, in part:

Example 10 (Version 2.0):
!1-port Z-parameter file, multiple frequency points
[Version] 2.0
# MHz Z MA
[Number of Ports] 1
[Number of Frequencies] 5
[Reference] 20.0
[Network Data]
!freq magZ11 angZ11
100 74.25 -4
200 60 -22
300 53.025 -45
400 30 -62
500 0.75 -89


This should be changed to:

Example 10 (Version 2.0):
!1-port Z-parameter file, multiple frequency points
[Version] 2.0
# MHz Z MA
[Number of Ports] 1
[Number of Frequencies] 5
[Reference] 20.0
[Network Data]
!freq magZ11 angZ11
100 74.25 -4
200 60 -22
300 53.025 -45
400 30 -62
500 0.75 -89
[End]


----------

The text on page 15 now reads, in part:

Example 12 (Version 2.0):
!2-port H-parameter file, single frequency point
[Version 2.0]
# kHz H MA R 1
[Number of Ports] 2
[Two-Port Data Order] 21_12
[Number of Frequencies] 1
[Matrix Format] Full
[Network Data]
! freq magH11 angH11 magH21 angH21 magH12 angH12 magH22 angH22
2 .95 -26 3.57 157 .04 76 .66 -14


This should be changed to:

Example 12 (Version 2.0):
!2-port H-parameter file, single frequency point
[Version] 2.0]
# kHz H MA R 1
[Number of Ports] 2
[Two-Port Data Order] 21_12
[Number of Frequencies] 1
[Matrix Format] Full
[Network Data]
! freq magH11 angH11 magH21 angH21 magH12 angH12 magH22 angH22
2 .95 -26 3.57 157 .04 76 .66 -14
[End]


----------
The text on pages 22 and 23 now reads, in part:

Example 16 (Version 2.0):
!6-port component shown; note that all five ports are used in some
!relationship
[Version] 2.0
# MHz Y RI R 50
[Number of Ports] 6
[Number of Frequencies] 1
[Reference] 50 75 75 50 0.01 0.01
# MHz Y RI R 50
[Mixed-Mode Order] D2,3 D6,5 C2,3 C6,5 S4 S1
[Network Data]
5.00 8.0 9.0 2.0 -1.0 3.0 -2.0 1.0 3.0 1.0 0.1 0.2 -0.2
2.0 -1.0 7.0 7.0 1.8 -2.0 -1.0 -1.0 -0.5 0.5 0.2 -0.1
3.0 -2.0 1.8 -2.0 5.8 6.0 1.2 0.8 0.9 0.7 0.3 -0.5
1.0 3.0 -1.0 -1.0 1.2 0.8 6.3 8.0 2.0 -0.5 1.5 0.6
1.0 0.1 -0.5 0.5 0.9 0.7 2.0 -0.5 4.7 -6.0 -1.0 2.0
0.2 -0.2 0.2 -0.1 0.3 -0.5 1.5 0.6 -1.0 2.0 5.5 -7.0


This should be changed to:

Example 16 (Version 2.0):
!6-port component shown; note that all five ports are used in some
!relationship
[Version] 2.0
# MHz Y RI R 50
[Number of Ports] 6
[Number of Frequencies] 1
[Reference] 50 75 75 50 0.01 0.01
# MHz Y RI R 50
[Mixed-Mode Order] D2,3 D6,5 C2,3 C6,5 S4 S1
[Network Data]
5.00 8.0 9.0 2.0 -1.0 3.0 -2.0 1.0 3.0 1.0 0.1 0.2 -0.2
2.0 -1.0 7.0 7.0 1.8 -2.0 -1.0 -1.0 -0.5 0.5 0.2 -0.1
3.0 -2.0 1.8 -2.0 5.8 6.0 1.2 0.8 0.9 0.7 0.3 -0.5
1.0 3.0 -1.0 -1.0 1.2 0.8 6.3 8.0 2.0 -0.5 1.5 0.6
1.0 0.1 -0.5 0.5 0.9 0.7 2.0 -0.5 4.7 -6.0 -1.0 2.0
0.2 -0.2 0.2 -0.1 0.3 -0.5 1.5 0.6 -1.0 2.0 5.5 -7.0
[End]


----------
The text on page 23 now reads, in part:

Example 17 (Version 2.0):
!2-port network, S-parameter and noise data
!Default MA format, GHz frequencies, 50 ohm reference, S-parameters
[Version] 2.0
#
[Number of Ports] 2
[Two-Port Data Order] 21_12
[Number of Frequencies] 2
[Number of Noise Frequencies] 2
[Reference] 50 25.0
[Network Data]
2 .95 -26 3.57 157 .04 76 .66 -14
22 .60 -144 1.30 40 .14 40 .56 -85
[Noise Data]
4 .7 .64 69 19
18 2.7 .46 -33 20


This should be changed to:

Example 17 (Version 2.0):
!2-port network, S-parameter and noise data
!Default MA format, GHz frequencies, 50 ohm reference, S-parameters
[Version] 2.0
#
[Number of Ports] 2
[Two-Port Data Order] 21_12
[Number of Frequencies] 2
[Number of Noise Frequencies] 2
[Reference] 50 25.0
[Network Data]
2 .95 -26 3.57 157 .04 76 .66 -14
22 .60 -144 1.30 40 .14 40 .56 -85
[Noise Data]
4 .7 .64 69 19
18 2.7 .46 -33 20
[End]



----------
The text on pages 24 and 25 now reads, in part:

Example 19 (Version 2.0):
!2-port network, S-parameter and noise data
!Default MA format, GHz frequencies, 50 ohm reference, S-parameters
[Version] 2.0
#
[Number of Ports] 2
[Number of Frequencies] 2
[Number of Noise Frequencies] 2
[Reference] 50 25.0
[Network Data]
! NETWORK PARAMETERS
2 .95 -26 3.57 157 .04 76 .66 -14
22 .60 -144 1.30 40 .14 40 .56 -85
[Noise Data]
! NOISE PARAMETERS
4 .7 .64 69 19
18 2.7 .46 -33 20


This should be changed to:

Example 19 (Version 2.0):
!2-port network, S-parameter and noise data
!Default MA format, GHz frequencies, 50 ohm reference, S-parameters
[Version] 2.0
#
[Number of Ports] 2
[Number of Frequencies] 2
[Number of Noise Frequencies] 2
[Reference] 50 25.0
[Two-Port Data Order] 12_21
[Network Data]
! NETWORK PARAMETERS
2 .95 -26 3.57 157 .04 76 .66 -14
22 .60 -144 1.30 40 .14 40 .56 -85
[Noise Data]
! NOISE PARAMETERS
4 .7 .64 69 19
18 2.7 .46 -33 20
[End]

----------
The text on page 25 now reads, in part:

Rules for Version 2.0 Files:
The [End] keyword defines the end of the Touchstone 2.0 file. Non-comment text 
appearing after the
[End] keyword should be treated as an error.

Example 20 (Version 2.0):
!2-port network, S-parameter and noise data
!Default MA format, GHz frequencies, 50 ohm reference, S-parameters
[Version] 2.0
#
[Number of Ports] 2
[Number of Frequencies] 2
[Number of Noise Frequencies] 2
[Reference] 50 25.0
[Network Data]
! NETWORK PARAMETERS
2 .95 -26 3.57 157 .04 76 .66 -14
22 .60 -144 1.30 40 .14 40 .56 -85
[Noise Data]
! NOISE PARAMETERS
4 .7 .64 69 19
18 2.7 .46 -33 20
[End]


This should be changed to:

Rules for Version 2.0 Files:
The [End] keyword defines the end of the Touchstone 2.0 file. Non-comment text 
appearing after the
[End] keyword should be treated as an error.

The [End] keyword is required for Version 2.0 files. It shall be the last 
keyword in the file.

Example 20 (Version 2.0):
!2-port network, S-parameter and noise data
!Default MA format, GHz frequencies, 50 ohm reference, S-parameters
[Version] 2.0
#
[Number of Ports] 2
[Number of Frequencies] 2
[Number of Noise Frequencies] 2
[Reference] 50 25.0
[Two-Port Data Order] 12_21
[Network Data]
! NETWORK PARAMETERS
2 .95 -26 3.57 157 .04 76 .66 -14
22 .60 -144 1.30 40 .14 40 .56 -85
[Noise Data]
! NOISE PARAMETERS
4 .7 .64 69 19
18 2.7 .46 -33 20
[End]


****************************************************************************

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:


****************************************************************************

ANY OTHER BACKGROUND INFORMATION:

Many, if not all, of these errors can be explained by the specification
Having been issued before a parser was actually available.

****************************************************************************



Other related posts:

  • » [ibis-interconn] Proposed TSIRD 4 - Clarifications for [End] Keyword - Mirmak, Michael