Touchstone Issue Resolution Document (TSIRD) TSIRD ID#: 2 ISSUE TITLE: Binary Format Support REQUESTER: Michael Mirmak, Intel Corp. for Interconnect Task Group DATE SUBMITTED: June 9, 2010 DATE ACCEPTED BY IBIS OPEN FORUM: ******************************************************************************* ******************************************************************************* STATEMENT OF THE ISSUE: Touchstone files describing large numbers of ports and/or port interactions can have significant filesizes (in the tens of megabytes). Such files can be difficult to distribute and parse. This TSIRD proposes an optional binary format for the numerical data under the [Network Data] and [Noise Data] keywords. This format would replace the ASCII data under those keywords in earlier Touchstone versions. ******************************************************************************* STATEMENT OF THE RESOLVED SPECIFICATIONS: TSIRD2 proposes adding a new keyword to support binary data representation of network and noise data. This keyword, [Binary], is hierarchically scoped within the [Network Data] and [Noise Data] keywords in Touchstone. A full set of rules is described in tsird2.pdf: http://www.eda.org/ibis/tsirds/tsird2.pdf This file's text is intended for inclusion as a new keyword section in the Touchstone specification. ******************************************************************************* ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: Note that a binary format for Touchstone was originally proposed by Sam Chitwood of Sigrity in July 2007. Anecdotal data from IBIS Ad Hoc Interconnect Task Group members suggests binary data sets occupy only 20 to 33 percent of the space taken by ASCII sets describing the same structures. Connector and package interconnects are the most likely candidates for binary treatment. In the course of development, several decisions were made. - This proposal applies to Touchstone 2.1 and above. While the original proposal was related to a Touchstone 1.0 application, the formal implementation of a binary option would be adopted in practice with a new Touchstone format. Tool vendors are not likely to add such a feature to a legacy format. - The full set of Touchstone keywords is available when [Binary] is used. There was consideration that the [Noise Data] keyword and [End] keyword would be excluded, as the end of the binary data section would thought to be hard to determine in a mixed-format environment. However, there is sufficient size information in the [Binary] section, in combination with the other keyword options, for determining exactly where the binary data ends. - As a generalization, the [Binary] keyword may be used for either or both [Network Data] and [Noise Data]. - An explicit set of arguments (32-Bit 64-Bit, Big-Endian, Little-Endian) was chosen for clarity, rather than a more cryptic, packed 3-letter sequence (such as "FDB" for Floating Point, Double, Big-Endian). - The frequency precision is handled separately from the N-port data or noise data precision because higher precision frequency information is sometimes required for reasonance detection. This detection does not necesarily require similarly high precision for the data entries. ******************************************************************************* ANY OTHER BACKGROUND INFORMATION: The binary format assumes the existence of a conversion utility, possibly part of a parsing program, that would convert a legal Touchstone 2.x file using ASCII data into a legal Touchstone 2.x file using binary data with the appropriate [Binary] keyword and associated arguments. While only 32- and 64-bit architectures are supported here, the specification can be easily extended in future to cover alternatives. Many people in the IBIS Ad Hoc Interconnect Task Group made key suggestions or observations in preparing this material. *******************************************************************************