Buffer Issue Resolution Document (BIRD) BIRD ID#: 53.1 ISSUE TITLE: IBIS File Character Set REQUESTER: Geoffrey Ellis at Cadence Design Systems DATE SUBMITTED: August 7, 1998, September 1, 1998 DATE ACCEPTED BY IBIS OPEN FORUM: September 18, 1998 ******************************************************************************* ******************************************************************************* STATEMENT OF THE ISSUE: While the general syntax rules and guidelines say, "The file must have no more than 80 characters per line," the rules do not say which character sequences are legal to terminate a line, e.g. carriage return followed by a linefeed character, etc. Also, the Specification does not say whether or not the line termination character(s) count against the 80 character limit. The Specification also does not state which characters are legal in an IBIS file, other than that it is an ASCII file. Although ASCII is a 7-bit code ("US-ASCII. Coded Character Set - 7-Bit American Standard Code for Information Interchange. Standard ANSI X3.4-1986, ANSI, 1986"), some published standards make reference to "8-bit ASCII characters", for example "File Transfer Protocol RFC 542 NIC 17759". The International Standards Organization has published ISO-8859, a group of 8-bit character sets, for use in different regions of the world. Each of these character sets is a super set of ASCII, using codes greater than hexadecimal 07F to represent accented or local characters. The IBIS Specification should make clear that neither extended character sets, such as those defined in ISO-8859, nor ASCII controls (other than tabs and line terminators) are allowed in an IBIS file. ******************************************************************************* STATEMENT OF THE RESOLVED SPECIFICATIONS: The "General Syntax Rules and Guidelines" section contains 13 numbered items, including item 4 which states: 4) The file must have no more than 80 characters per line. We propose to modify item 4, and to add item 14, as follows: 4) A line of the file may have at most 80 characters, followed by a line termination sequence. The line termination sequence must be one of the following two sequences: a linefeed character, or a carriage return followed by linefeed character. 14) Only ASCII characters, as defined in ANSI Standard X3.4-1986, may be used in an IBIS file. The use of characters with codes greater than hexadecimal 07F is not allowed. Also, ASCII control characters (those numerically less than hexadecimal 20) are not allowed, except for tabs or in a line termination sequence. As mentioned in item 10 above, the use of tab characters is discouraged. ******************************************************************************* ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: At the lowest level of detail, the IBIS Specification needs to say which characters are legal, and what constitutes a "line". ASCII files produced in a Microsoft/PC environment have lines which end with a carriage return followed by a linefeed character, while ASCII files produced on UNIX have lines which end with a linefeed character. An IBIS parser should accept either line termination sequence, regardless of the environment in which the parser runs. Any other line termination sequence should be ruled out. Use of an ISO-8859 extended character set might improve model readability in the region of the world where the model was produced, but would make the IBIS file less readable in other regions. The ASCII code, which is a subset of each of the ISO-8859 character sets, is the subset which is readable across all of the regions. ******************************************************************************* ANY OTHER BACKGROUND INFORMATION: *******************************************************************************