RAIL Revision Or Apendage Document (ROAD) ROAD ID#: 4 ISSUE TITLE: Wide Signal Bundles Syntax Simplification REQUESTOR: Bob Ross, Interconnectix, Inc. DATE SUBMITTED: June 24, 1996 DATE ACCEPTED BY RAIL WORKGROUP: July 11, 1996 ******************************************************************************* ******************************************************************************* STATEMENT OF THE ISSUE: Note 9) of General syntax rules and Guidelings of ASCII RAIL files section allows two ways to define wide signal bundles. To simplify the parsing and checking, only one way is proposed. Changed lines are noted by |* lines. ******************************************************************************* STATEMENT OF THE RESOLVED SPECIFICATIONS: Change Note 9) to read: | 9) Wide signal bundles, such as data buses, will be denoted by the net | name followed by the largest and smallest numerical signals enclosed | in parenthesis and separated by a colon. Using this nomenclature | assumes that all consecutive nets exist and are intended. For | example, HD(7:0) refers to all nets HD7, HD6, HD5, HD4, HD3, HD2, | HD1, HD0. Alphanumerics may be used on either side of the parenthesis, |* such as C_BE(3:0)#. Expanded nets that must be bracketed (e.g., HD[7], |* HD<7>, or HD(7)) can be denoted. For example: |* HD[(7:0)] refers to signals HD[7], HD[6], ..., HD[0] |* HD<(7:0)> refers to signals HD<7>, HD<6>, ..., HD<0> |* HD((7:0)) refers to signals HD(7), HD(6), ..., HD(0) and so on. | It is the responsibility of the originator of the RAIL file to ensure | that the expanded syntax matches that of the schematic netlist. | ******************************************************************************* ANALYSIS PATH/DATA THAT LED TO SPECIFICATION: The Version 1.0 text is shown here: | 9) Wide signal bundles, such as data buses, will be denoted by the net | name followed by the largest and smallest numerical signals enclosed | in parenthesis and separated by a colon. Using this nomenclature | assumes that all consecutive nets exist and are intended. For | example, HD(7:0) refers to all nets HD7, HD6, HD5, HD4, HD3, HD2, | HD1, HD0. Alphanumerics may be used on either side of the parenthesis, | such as C_BE(3:0)#. If the expanded nets must be bracketed (e.g., | HD[7], HD<7>, or HD(7)), then the desired bracket must also be used | inside the parenthesis. For example: | HD([7]:[0]) refers to signals HD[7], HD[6], ..., HD[0] | HD((7):(0)) refers to signals HD(7), HD(6), ..., HD(0) and so on. | It is the responsibility of the originator of the RAIL file to ensure | that the expanded syntax matches that of the schematic netlist. | The inside the parenthesis "bracket" syntax is unnecessary. These forms are equivalent: HD([7]:[0]) and HD[(7:0)] HD((7):(0)) and HD((7:0)) HD(<7>:<0>) and HD<(7:0)> There is no reason to allow the first form and the parsing and checking complication that is associated with it (e.g, HD([7]:<0>) error, etc.). ******************************************************************************* ANY OTHER BACKGROUND INFORMATION: Thanks to Chris Reid for recognizing the unnecessary syntax. *******************************************************************************