|Proposed IBIS connector specification
|==============================================================================
|Notes from IBIS connector sub-committee to the IBIS open forum:
|
|  We propose this be a separate addition to the IBIS IC 
|  specification that does not reference keywords from the
|  IBIS IC specification.  Many keywords from the IBIS IC specification
|  have been reused and are noted as such as follows:
|
| Common keyword: Yes   Indicates this keyword is also common
|                       to the IBIS IC specification.
|
|  We propose this separation and duplication to remove possible
|  keyword confusion and reduce the overhead for connector developers
|  creating their first connector model.
|==============================================================================
|  ******** specification begins below *********
|
|==============================================================================
|
|          I B I S     C o n n e c t o r     S p e c i f i c a t i o n
|
|Last Updated: 10-13-99,KC
|==============================================================================
|
| General syntax rules and guidelines for ASCII IBIS connector files:
|
| 1)  The content of the files is case sensitive, except for reserved
|     words and keywords.  File names must be all lower case.
|
| 2)  The following words are reserved words and must not be used for
|     any other purposes in the document:
|        PWRGND- reserved model name, used with power or ground pins,
|        POWER - reserved model name, used with power supply pins,
|        GND   - reserved model name, used with ground pins,
|        RET   - reserved word indicating either power or ground used
|                as a high-frequency return path.
|        NC    - reserved model name, used with no-connect pins,
|        NA    - used where data not available.
|
| 3)  The file must have no more than 120 characters per line plus
|     end of line characters.
|     Comment lines are further restricted to be no more than 80 
|     characters per line to aid readability.
|
| 4)  Anything following the comment character is ignored and considered a
|     comment on that line.  The default "|" (pipe) character can be changed
|     by the keyword [Comment Char] to any other character. The [Comment Char]
|     keyword can be used throughout the file as desired.
|
| 5)  Keywords must be enclosed in square brackets, [], and must start in
|     column 1 of the line.
|
| 6)  Underscores and spaces are equivalent in keywords.  Spaces are not
|     allowed in subparameter names.
|
| 7)  Valid scaling factors are:
|        T = tera        k = kilo        n = nano
|        G = giga        m = milli       p = pico
|        M = mega        u = micro       f = femto
|     When no scaling factors are specified, the appropriate base units are
|     assumed.  (These are volts, amperes, ohms, farads, henries, and seconds.)
|     The parser looks at only one alphabetic character after a numerical
|     entry, therefore it is enough to use a single character suffix to scale
|     the parameters.  However, for clarity, it is allowed to use full
|     abbreviations for the units, (e.g., pF, nH, mA, mOhm).  In addition,
|     scientific notation is allowed (e.g., 1.2345e-12).
|
| 8)  WARNING: use of TAB characters may make imported files invalid.
|     The usage of TAB characters is legal but NOT RECOMMENDED.
|     They should be avoided as far as possible.  
|     This is to eliminate possible complications which might
|     arise in situations when TAB characters are automatically converted to
|     multiple spaces by text editing, file transferring and similar software.
|     In cases like that, lines might become longer than 120 characters, which
|     is illegal in these files.
|
| 9)  Currents are considered positive when their direction is into the
|     component.
|
| 10) All temperatures are represented in degrees Celsius.
|
| 11) Important information is contained in the following files and
|     directories that should be referenced before creating 
|     your first connector model:
|           IbisConSpec0_92.txt  This document note the 0_92 indicates
|                                version 0.92 and will change as the document
|                                is modified.
|           IbisConUpdates.txt   Describes changes between releases.
|           SpecificationArchive Is an archive of previous versions of this
|                                specification.
|           SampleModels         Is an archive of example models to use as
|                                a reference when creating models.
|           Presentations        Is an archive of presentations related to
|                                IBIS connector models.
|
| 12) Maximum connector size supported is 100000 pins.
|
| 13) The numeric accuracy used in the file should not be significantly
|     greater than the accuracy of the model.
|     It is recommended that for numeric data the mantissa portion be
|     less than or equal to 5 decimal digits.  In no case shall more than 
|     15 decimal digits be used.
|     For example:
|        1.2345e-12            is considered acceptable
|        1.23456789e-12        is allowed but not recommended
|        1.234567890123456e-12 is not allowed
|     The 5 digit recommendation will aid in human readability of files
|     and reduce the file size.
|
|==============================================================================
| Keyword:        [IBIS_Cn_Model_Ver]
| Required:       Yes
| Common keyword: No
| Description:  
|     This keyword allows electronic parsers to immediately determine
|     that this file contains an IBIS connector model.
|     The version number is used to inform the parser what keywords
|     are valid for this model and to allow backward support as new
|     keywords are added.
| Usage Rules:  
|     [IBIS_Cn_Model_Ver] MUST BE THE FIRST KEYWORD in the file.
|     It is normally on the first line of the file, but can be preceded
|     by comment lines that must begin with a "|".
|------------------------------------------------------------------------------
[IBIS_Cn_Model_Ver]  0.92

|==============================================================================
| Keyword:        [File Name]
| Required:       Yes
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Specifies the name of the IBIS file, "filename.ibiscnn".  This allows
|     users to recreate the original file name even if it has been shortened
|     or modified during the process of transmitting this file between computers.
| Usage Rules:
|     1) MUST BE THE SECOND KEYWORD in the file.
|        It is normally on the second line of the file, but can be preceded
|        by comment lines that must begin with a "|".
|     2) The file name must have the file extension .ibiscnn
|     3) The file name must be 40 characters or less in length.
|     4) The file name must be all lower case to avoid problems with certain
|        operating systems.
|     5) This name must match the actual name used for this file.
| Notes on file naming:
|     To make maintenance of libraries of connector models from different
|     companies easier the following recommendations are made:
|     1) It is recommended that the first 8 characters or less of the file name
|        indicate the name of the company creating the model.  Typically the
|        abbreviation indicating the connector company.
|     2) It is recommended that manufacturing company names or abbreviations
|        only be used when the model is created by said company or their
|        representative.  If a user creates a model then the name prefix should
|        represent their company not the manufacturer of the part to avoid
|        confusion of vendor created vs. user created models.
|     3) In the example below note the name of the company manufacturing the
|        connector is "Ibis Connector Manufacturing"  -> abbreviation = iconm
|------------------------------------------------------------------------------
[File Name]     iconm_hdi_202.ibiscnn

|==============================================================================
| Keyword:        [File Rev]
| Required:       Yes
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Version of IBIS connector model as defined by the Manufacturer
|     It is normally on the third line of the file, but can be preceded
|     by comment lines that must begin with a "|".
| Usage Rules:  
|     MUST BE THE THIRD KEYWORD in the file.
|     Revision level is set at the discretion of the engineer
|     defining the file.  The following guidelines are recommended:
|     0.x     connector or model in development
|     1.x     connector in production and model correlates
|------------------------------------------------------------------------------
[File Rev]     0.92                    | Used for .ibiscnn file versions

|==============================================================================
| Keyword:        [Comment Char]
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description: 
|     Defines a new comment character to replace the default
|     "|" (pipe) character, if desired.
| Usage Rules: 
|     1) The new comment character to be defined must be followed by
|        the underscore character and the letters "char".  For example:
|        "|_char" redundantly redefines the comment character to be
|        the pipe character.  The new comment character is in effect
|        only following the [Comment Char] keyword.  
|     2) The following characters MAY NOT be used:  
|         A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
|         a b c d e f g h i j k l m n o p q r s t u v w x y z 
|         0 1 2 3 4 5 6 7 8 9 [ ] . _ / = + -
|     3) The [Comment Char] keyword may not appear until after the
|        [File Rev] keyword.
|------------------------------------------------------------------------------
[Comment Char]  |_char

|==============================================================================
| Keyword:        [Date]
| Required:       Yes
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Date this file was last modified
|     This field is provided to insure the last changed date for this
|     file is not lost if the file is transmitted between computer
|     systems.
| Usage Rules:  
|     The argument is limited to a maximum of 40 characters,
|     and the month should be spelled out for clarity.
|------------------------------------------------------------------------------
[Date]          December 13, 1999          | The latest file revision date

|==============================================================================
| Keyword:        [Source]
| Required:       Yes
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Name of person and or company that created the model
| Usage Rules:  
|     Text may continue for up to 24 lines (i.e. one page).  The end of this
|     section is determined by finding the next keyword in square brackets.
|     Keyword may appear only once in the file
|------------------------------------------------------------------------------
[Source] Put originator and the source of information here. For example:
From silicon level SPICE model at Intel.
From lab measurement at IEI.
Compiled from manufacturer's data book at Quad Design, etc.

|==============================================================================
| Keyword:        [Notes]
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Use this section for any special notes related to the file.
| Usage Rules:  
|     Text may continue for up to 24 lines (i.e. one page).  The end of this
|     section is determined by finding the next keyword in square brackets.
|------------------------------------------------------------------------------
[Notes]         Use this section for any special notes related to the file.

|==============================================================================
| Keyword:        [Disclaimer]
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Legal boiler plate here.
| Usage Rules:  
|     Text may continue for up to 96 lines (i.e. four pages).  The end of this
|     section is determined by finding the next keyword in square brackets.
|     Keyword may appear only once in the file
|------------------------------------------------------------------------------
[Disclaimer]    This information is for modeling purposes only, 
                and is not guaranteed.

|==============================================================================
| Keyword:        [Copyright]
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Who "owns" The model
| Usage Rules:  
|     Text may continue for up to 4 lines.  The end of this
|     section is determined by finding the next keyword in square brackets.
|     Keyword may appear only once in the file
|------------------------------------------------------------------------------
[Copyright]     Copyright 1999, XYZ Corp., All Rights Reserved

|==============================================================================
| Keyword:        [Manufacturer]
| Required:       Yes
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  Clarifies the component's manufacturer.
| Usage Rules:  
|     The length of the Manufacturer's Name must not exceed 40
|     characters (blank characters are allowed, e.g., Texas
|     Connector Corp.).  
| NOTICE: Each manufacturer must use a consistent name in all .ibiscnn files.
|------------------------------------------------------------------------------
[Manufacturer]  XYZ Corp.


|==============================================================================
| Keyword:        [Web_Site]
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     A web site that can be visited to get the latest version of the  model.
| Usage Rules:  
|     Text may continue for up to 4 lines.  The end of this
|     section is determined by finding the next keyword in square brackets.
|     Keyword may appear only once in the file
|     If the path is the web site root the .html or .htm extension is not
|     required.
|     If the path is not a web site root then one of the following file 
|     extensions must be used: .htm or .html
|
| NOTICE:  It is recommended that a separate IBIS model web site (not page)
|     be maintained to prevent accidental changes of page name from breaking 
|     this link.
|------------------------------------------------------------------------------
[Web_Site] www.VendorName.com\with\a\very\very\very\very\very\very\very\very
\very\very\very\very\long\path.html            |example with long path
|[Web_Site] www.VendorNameIbisModels.com       |example ibis web site root

|==============================================================================
| Keyword:        [Email]
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     An email address to send questions or requests to.
| Usage Rules:  
|     Text may continue for up to 4 lines.  The end of this
|     section is determined by finding the next keyword in square brackets.
|     Keyword may appear only once in the file
|
| NOTICE:  
|     This keyword is STRONGLY RECOMMENDED.
|     This is the contact for users with questions or problems concerning this
|     connector model.
|------------------------------------------------------------------------------
[Email] IbisModelHelp@VendorName.com

|==============================================================================
| Keyword:        [Redistribution]
| Required:       Yes
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Indicates to CAE tool companies and model users who may
|     use and redistributed this file.
| Usage Rules:  
|     Keyword and attribute must be on the same line.
|     The attribute must be one of the following keywords:
|
|     Full_Public_No_Fee
|        May be freely distributed as long as no fee is charged.
|        May be freely distributed by CAE tool vendors.
|        May be freely distributed by end users.
|
|     Manufacturer_No_Fee
|        May only be obtained from the Manufacturer.
|        May be redistributed freely within an end users company.
|        May not but redistributed to 3rd parties.
|        May not be distributed by CAE tool vendors.
|
|     Do_Not_Distribute
|        May not be redistributed or retransmitted in
|        any form.  Typically used for connectors
|        created for fee by a service group.
|
|     Specific
|        See notes field for specific license information.
|        This field gives complete flexibility but prevents
|        automated redistribution.
|NOTICE:
|     The recommended Redistribution is: Full_Public_No_Fee as it
|     allows CAE tool vendors to make models available directly to
|     end users and allows end users to receive models for use
|     immediately when receiving tools from CAE vendors.
|     Full_Public_No_Fee facilitates rapid propagation of a vendors
|     model to end users.
|     The [Web_Site] keyword goes hand-in hand with the 
|     Full_Public_No_Fee to make the latest version of the model
|     rapidly available to end users.
|==============================================================================
[Redistribution]  Full_Public_No_Fee

|==============================================================================
|                      END OF FILE HEADER INFORMATION
                  BEGIN OF CONNECTOR ELECTRICAL DEFINITION
|==============================================================================

|==============================================================================
| Keywords:       [Begin_Cn_Model_Family]  [End_Cn_Model_Family]
| Required:       yes
| Common keyword: No
| Description:  
|     The name of the connector family in this file
|     These commands wrap the entire model in this file.
|     Only one Model Family may be used per file.
| Usage:
|     Only a single occurrence of [Begin_Cn_Model_Family] is allowed in the
|     file.
|------------------------------------------------------------------------------
[Begin_Cn_Model_Family]
[End_Cn_Model_Family]

|==============================================================================
| Keyword:        [Begin_Cn_Family_Description]  [End_Cn_Family_Description]
| Required:       Yes
| Common keyword: No
| Description:  
|     Provides a concise yet easily human-readable description of
|     this connector family.
| Usage Rules:
|     MUST BE USED between keywords [Begin_Cn_Model_Family] and
|     keyword [End_Cn_Model_Family].
|     Text may continue for up to 4 lines.  The end of this
|     section is determined by finding the keyword [End_Cn_Family_Description]
|     Keyword may appear multiple times in the file
|     Do not put spaces or indent a the beginning of the line as this
|     text will be formatted in text display controls by CAE tools.
|------------------------------------------------------------------------------
[Begin_Cn_Family_Description]   
High Density 0.1 center square pin connector designed
for use on IEEE 99999 buses.
[End_Cn_Family_Description]


|==============================================================================
| Keywords:       [Begin_Cn_Model_List]  [End_Cn_Model_List]
| Required:       yes
| Common keyword: No
|
| Description:  
|     Used to describe the connector model type(s), Max_Slew_Time, and 
|     Picture that are in this connector model file
|
| Usage Rules:
|     Defines which models are present in the file
|
|     Mating is required and describes the mating for this model, e.g.
|     Mated means both halves of the connector are mated together for the model.
|     Valid mating types are: 
|        Mated             
|        UnMated_Side_A 
|        UnMated_Side_B
| NOTES:
| 1: Using two unmated models in series DOES NOT provide a correct model
|    of a mated connector.  
| 2: "UnMated_Side_A" MUST BE the back plane side if this applies to this
|    connector.
| 3: Unmated models should be provided for connectors that are
|    likely to be used in backplanes, motherboards, or buses.
| 4: At least one of these "Mating" choices is required
| 5: Max_Slew_Time is required and specifies the maximum slew time 
|    for any signal using this model.  This is a 20% to 80% slew time.
| 6: Image is optional and specifies an associated image file.  
|    The image file may be either a .jpg or .txt (ASCII) formatted picture.
| 7: It is suggested that CAE tools provide a viewer for the .jpg
|    format and that model builders provide at least one picture for 
|    a connector.
| 8: The same image file may be repeated for all model types if desired.
| 9: Images if present should be maintained in the same directory with the 
|    connector model file or stored in the same compressed file with the
|    connector to insure they files remained paired.
| 10: Suggested .JPG image attributes:
|       size = 160 horizontal by 120 vertical (pixels)
|       color = 24 bit
|       Image quality = 85%
|    Larger or smaller images may be used but are not recommended.
|    A standard image size will allow CAE tools to provide uniform look
|    and feel for images from all vendors.  The size was chosen to be
|    a small disk file size and be useful as either a thumb-nail in a
|    model selection window or scaled up to give a larger picture.
|    The 160x120 was chosen as a perfect 4:1 scale in both axis of
|    a 640x480 picture.
| 12: The connector model MUST be considered valid by CAE tools even if
|     an image file is specified but is missing.
|------------------------------------------------------------------------------
[Begin_Cn_Model_List]
|        Name                       Mating      Max_Slew_Time 	Image
|-------------------------------------------------- --------  -----------------
HDI_TEST_202                         Mated          100ps     HDI_TEST_202_Mated.jpg
HDI_TEST_202_UnMatedA                UnMated_Side_A 100ps     HDI_TEST_202_UnMatedA.jpg
HDI_TEST_202_UnMatedB                UnMated_Side_B 100ps	
HDI_TEST_202_Mated_ThruHole_to_Cable Mated          25ps      HDI_TEST_202_Mated.jpg
HDI_TEST_202_Mated_SMT_to_Cable      Mated          25ps      HDI_TEST_202_Mated.jpg
HDI_TEST_202_Mated_SMT_to_ThruHole   Mated          25ps      HDI_TEST_202_Mated.jpg
[End_Cn_Model_List]

|==============================================================================
| Keyword:        [Begin_Cn_Model]  [End_Cn_Model]
| Required:       Yes
| Common keyword: No
| Description:  
|     Used to define the start of single or multiple sections for a 
|     single connector model as defined in the [Begin_Cn_Model_List]
| Usage Rules:
|  1) The keyword [Begin_Cn_Model] must be followed by four required 
|     parameters in the following order: ModelName, PinMapName, 
|     PhyMapName, Type. An optional SGR (signal to ground ratio) parameter
|     may be included if the ModelType is SLM.
|
|     e.g. [Begin_Cn_Model] ModelName ModelPinMap ModelPhyMap ModelType SGR
|     
|  2) The field ModelName is required and must be less than 20 characters. The 
|     ModelName MUST appear after the [Begin_Cn_Model] and may optionally
|     appear as a parmeter following the [End_Cn_Model] keyword.
|
|  3) The field ModelPinMap is required and must be less than 20 characters.
|     The ModelPinMap MUST appear after the ModelName.  This name must
|     correspond exactly to the name following a [Begin_Cn_Pin_Map]
|     defined in this file.
|
|  4) The field ModelPhyMap is required and must be less than 20 characters.
|     The ModelPhyMap MUST appear after the ModelPinMap. This name must
|     correspond exactly to the name following a [Begin_Cn_Phy_Map]
|     defined in this file.
|
|  5) The field ModelType is required and must be either SLM or MLM
|     SLM indicates this model is a "single-line model" i.e. non-coupled.
|     MLM indicates this model is a "multi-line model" i.e. coupled.
|     SPECIAL NOTICE: 
|       If ModelType is SLM then ALL sections MUST be specified using
|       a matrix method that describes only the diagonal of a matrix.
|       For SLM models it is recommended that all sections use only
|       Diagonal_matrix descriptions.
|     If ModelType is SLM then simulators should use this data to 
|     create a non-coupled fully distributed transmission line model.  
|     It may be also be used to create a multi-section ladder RLC-LCR 
|     model as is often used with SPICE simulators.  
|     If a ladder network is substituted for
|     a fully distributed transmission line model the simulator vendor should 
|     insure enough sections are provided to insure the bandwidth specified
|     by the Max_Slew_Time of this model is achieved.  The symmetric
|     RLC-LCR method should be used as opposed to the non-symmetric
|     RLC-RLC method if a ladder network is used.
|
|     The "SGR" Signal-Ground-Ratio value is optional.  The SGR value
|     is only allowed for use with type SLM.  For example: 3:1 would
|     indicate there is one (power or ground pin) for every 3 signal
|     pins.  No spaces are allowed between the numbers and ":".
|     Valid range of signal number is 1 to 100.  The number after the
|     colon must always be "1".  
|     The SGR value is the signal-to-ground ratio that was assumed
|     when the model was created.  The simulator may use this value to
|     provide a warning if the model is being used with a higher or lower SGR.
|     If the simulator provides such a warning then a mechanism should be
|     provided to allow a user defined amount of tolerance.  For example 
|     some areas may have 4:1 and others 2:1 with the nominal value being 3:1.
|     It is recommended that the simulator make an average SGR display
|     available to the user if the Model type is SLM.
|
|     MLM indicates this model is a "multi line model" and is
|     a coupled or partially coupled model.
|     Any combination of Diagonal_matrix, Sparse_matrix, Banded_matrix, or
|     Full_matrix may be used in an MLM model.
|     The SGR value MUST NOT be present if the connector is an MLM model.
|
|  6) The model is composed of sections of RLC matrices either in series
|     or as "Tee" sections called stubs.  The following keywords are
|     used for this purpose:
|        Cn_Section  - defines portion of the connectors series sections
|        Cn_Stub     - defines start of a "Tee" section
|
|  7) Cn_Section keyword must be followed by one RLC matrix section name.
|     There must be a section name defined with [Begin_Cn_Section] that
|     matches this name.  Any number of Cn_Sections may be used.
|     Each Cn_Section is connected in series with the previous Cn_Section.
|     The first Cn_Section is the first section connected to the 
|     connector pin.
|
|  8) Cn_Stub keyword must be followed by one to 10 RLC matrix section names.
|     There must be a section name defined with [Begin_Cn_Section] that
|     matches each section name.
|     A maximum of 10 RLC matrix sections may be used with a Cn_Stub.
|     The total length of the Cn_Stub line must meet the line length limits
|     defined above.  (Use short names if all 10 stubs are needed)
|     When more then one section matrices appears on the Cn_Stub line the
|     subsequent matrices are connected in series in that "T" section.
|     The last section matrix of a Cn_Stub is open circuit at the far end.
|
|  9) Cn_Stub section matrices MUST each be separated by at least one space
|
|  10) Simulators SHALL automatically replace all pins in an SLM connector 
|     used for power or ground with the following values:
|        R = 0.0 ohms, 
|        L = 0.0 nH
|        C = 0.0 pF  
|     The connector model creator SHALL create an SLM models with the 
|     knowledge that the simulators shall follow the above rules.
|     
|     For example a 2 row by 10 column pin field connector would
|     have a matrix with 20 rows to define it.  Every diagonal (i.e. pin)
|     could have a corresponding R,L,C value that was creating assuming
|     an SGR of say 1:1.  When used by the simulator those that are grounded
|     would be considered as ideal grounds and R,L,C values of 0.0 used.
|     In this way an SLM model could be created that would allow either the
|     top or bottom row to be grounded or every other pin of each row to
|     be grounded and the same SLM model used for all cases.
|
|****************************************************************************
| VALID (straight through series of matrices, no stubs) with example
|
|       SectionA     SectionB    SectionC     SectionD     SectionE 
| Pin >----------< >----------< >---------< >----------< >------------< Pin
|
|[Begin_Cn_Model] TestName1 TestName1Pin TestName1Phy SLM 3:1
|Cn_Section SectionA
|Cn_Section SectionB
|Cn_Section SectionC
|Cn_Section SectionD
|Cn_Section SectionE
|[End_Cn_Model] TestName1
|
|****************************************************************************
| VALID (2 series sections with one stub)
|
|       SectionA       SectionB
| Pin >------------< >--------------< Pin
|                   |stub1
|
|[Begin_Cn_Model] MyModel MyModelPinMap MyModelPhyMap MLM
|Cn_Section SectionA
|Cn_Stub stub1
|Cn_Section SectionB
|[End_Cn_Model] MyModel
|
|****************************************************************************
| VALID ( 2 stubs, one stub has 3 series matrices, one stub matrix is re-used)
|        A              B              C
| Pin >----------< >-----------< >-----------< Pin
|                 |stub1        |stub1
|                 |stub2
|                 |stub3
|
|[Begin_Cn_Model] MyModel MyModelPinMap MyModelPhyMap MLM
|Cn_Section A
|Cn_Stub stub1 stub2 stub3
|Cn_Section B
|Cn_Stub stub1
|Cn_Section C
|[End_Cn_Model] MyModel
|
|****************************************************************************
| VALID
|         A        B        C        D
| Pin >------< >------< >------< >-------< Pin
|             |Stub1   |Stub2   |Stub1
|                      |Stub3
|                      |Stub3
|
|[Begin_Cn_Model] MyModel MyModelPinMap MyModelPhyMap MLM
|Cn_Section A
|Cn_Stub Stub1
|Cn_Section B
|Cn_Stub Stub2 Stub3 Stub4
|Cn_Section C
|Cn_Stub Stub1
|Cn_Section D
|[End_Cn_Model] MyModel
|
|****************************************************************************
| VALID (has a parallel stubs)
|
|       A      |stub1  Bee       C
| Pin >-------< >----------< >-------< Pin
|              |stub2
|              |stub3
|
|** BAD EXAMPLE **
|[Begin_Cn_Model] MyModel MyModelPinMap MyModelPhyMap MLM
|Cn_Section A
|Cn_Stub Stub1
|Cn_Stub Stub2 Stub3
|Cn_Section Bee
|Cn_Section C
|[End_Cn_Model]
|
|****************************************************************************
| *** NOT VALID **** (more than 10 series stubs)
|
|             |StubA          C  
| Pin >------< >-------< >---------< Pin
|         A        B    |Stub1
|                       |Stub2
|                       |Stub3
|                       |Stub4
|                       |Stub5
|                       |Stub6
|                       |Stub7
|                       |Stub8
|                       |Stub9
|                       |Stub10
|                       |Stub11
|** BAD EXAMPLE **
|[Begin_Cn_Model] MyModel MyModelPinMap MyModelPhyMap MLM
|Cn_Section A
|Cn_Stub StubA
|Cn_Section B
|Cn_Stub Stub1 Stub2 Stub3 Stub4 Stub5 Stub6 Stub7 Stub8 Stub9 Stub10 Stub11
|Cn_Section C
|[End_Cn_Model] MyModel
|
|------------------------------------------------------------------------------
|
[Begin_Cn_Model] MyModel MyModelPinMap MyModelPhyMap SLM 3:1
Cn_Section Diagonal_matrix1
[End_Cn_Model] MyModel
|
| Notice the signal to ground ratio in the SLM example above was specified
| as 3 to 1
|
|==============================================================================
| Keyword:        [Begin_Cn_Model_Description]  [End_Cn_Model_Description]
| Required:       No
| Common keyword: No
| Description:  
|     Provides a concise yet easily human-readable description of
|     this connector model
| Usage Rules:  
|     -MUST BE USED between keywords [Begin_Cn_Model] and [End_Cn_Model].
|     -Text may continue for up to 4 lines.  The end of this
|      section is determined by finding the keyword [End_Cn_Model_Description]
|     -This keyword may appear multiple times in the file however it may
|      appear only once between each pair of [Begin_Cn_Model]/[End_Cn_Model]
|      keywords.
|     -Do not put spaces or indent a the beginning of the line as this
|      text will be formatted in text display controls by CAE tools.
|------------------------------------------------------------------------------
[Begin_Cn_Model_Description]   
High Density 0.1 center square pin connector designed
for use on EIA RS99999Example bus.
[End_Cn_Model_Description]



|==============================================================================
| Keyword:        [Cn_Number_of_Conductors]
| Required:       Yes
| Common keyword: No
| Description:  
|     Number of current carrying conductors used in the model.  
|     It is assumed that all matrices in this file will have the SAME
|     number of conductors
|     This also defines the size of the expected Matrix(s)
| Usage Rules:  
|     MUST BE USED between keywords [Begin_Cn_Model] and [End_Cn_Model].
|     If the [Begin_Cn_Pin_Map] keyword is in use in this model then a single
|     numeric value from 1 to 100000 must be used.
|     If the [Begin_Cn_Auto_Map] keyword is in use in this model then a range
|     MUST be specified from 1 to 100000 as shown below.
|==============================================================================
|For fixed sized connector models use a single numeric value as show below
[Cn_Number_of_Conductors]  8
|
|For variable size connector models using the [Begin_Cn_Auto_Map] keyword 
| a range MUST be specified as shown below.
| The range of 9 to 25 indicates the connector may have number of pins with
| a minimum size of 9 pins and a maximum size of 25 pins.
|[Cn_Number_of_Conductors] 9 to 25

|==============================================================================
| Keyword:        [Cn_Columns_of_Pins]
| Required:       Yes
| Common keyword: No
| Description:  
|     The number of columns of pins
|     For a non-rectangular connectors the maximum number of pins
|     "across" the connector should be specified.
| Usage Rules:  
|     -MUST BE USED between keywords [Begin_Cn_Model] and [End_Cn_Model].
|     -MUST BE specified after [Cn_Number_of_Conductors] for this 
|      connector model.
|     -If the keyword [Begin_Cn_Auto_Map] is present in this connector
|      model than the keyword VARIABLE MUST be used to indicate a variable
|      width connector.
|      Else a numeric value from 1 to 100000 must be used.
|     -If the keyword VARIABLE is used it must be all upper case.
|==============================================================================
|For fixed sized connector models use a single numeric value as show below
[Cn_Columns_of_Pins]  4
|
|For variable size connector models using the [Begin_Cn_Auto_Map] keyword
| the special keyword VARIABLE may be used to indicate this axis is variable
| width.
|[Cn_Columns_of_Pins] VARIABLE

|==============================================================================
| Keyword:        [Cn_Rows_of_Pins]
| Required:       Yes
| Common keyword: No
| Description:  
|     The number of rows of pins.
|     For a non-rectangular connectors the maximum number of pins
|     "down" the connector should be specified.
| Usage Rules:  
|     -MUST BE USED between keywords [Begin_Cn_Model] and [End_Cn_Model].
|     -MUST BE specified after [Cn_Number_of_Conductors] for this 
|      connector model.
|     -A numeric value is required following the keyword to specify
|      the number of rows this connector model requires.
|      The numeric value must be from 1 to 100000.
|==============================================================================
[Cn_Rows_of_Pins]  2

|==============================================================================
| Keywords:       [Begin_Cn_Pin_Map], [End_Cn_Pin_Map]
| Required:       Yes
| Common keyword: No
| Description:
|     Describes the index into the matrix for which a given pin applies.
| Usage Rules:  
|  1) This keyword MUST be placed outside the [Begin_Cn_Model]/
|     [End_Cn_Model] keywords to allow it to be reused. if desired.
|
|  2) The keyword [Begin_Cn_Pin_Map] must be followed by one required 
|     parameter which is the ModelPinMapName.
|
|     e.g. [Begin_Cn_Pin_Map] ModelPinMapName
|     
|  3) The field ModelPinMapName is required and must be less than
|     20 characters. The ModelPinMapName MUST appear after the
|     [Begin_Cn_Pin_Map] and may optionally appear as a parameter
|     following the [End_Cn_Pin_Map] keyword.   This name is used
|     by the [Begin_Cn_Model] keyword to reference a pin map.
|
|  4) More than one [Begin_Cn_Model] record may reference the same
|     pin map.
|
|  5) The keyword NA indicates that there is not a pin in the 
|     location (e.g. PGA socket with corner pin missing)
|     An end of line character indicates the end of the information for
|     the row
|
|  6) The lines between [Begin_Cn_Pin_Map] and [Begin_Cn_Pin_Map] shall contain
|     one line for each pin in this connector model.  The pin map line
|     shall contain the following parameters.
|     PIN TO INDEX MAPPING
|     Index  (required)
|        Is the index into the matrix to associate with the pin.
|        This must be a number between 1 and 100000
|        Where "Index" refers to the matrix diagonal (i.e. Index 1 is represented
|        by C11, | L11, and R11)
|     Pin    (required)
|        Is a pin name specified by the manufacture
|        This allows CAE tools to align pin names in the model
|        with pin names in the net list.
|     Signal (Optional, based on application but recommended if applicable)
|        Is the signal name used; required if this is an industry-
|        standard connector like RS232, PCI, EISA etc.
|        NOTE: NA should be used to indicate this field is not available
|        This can be used by CAE tools or by users interactively
|        to easily identify the pins of the connector.
|        This is an alternate method for CAE tools to align signal  names
|        in the model with net names from the design's net list if the
|        pin names cannot be aligned.
|     Maximum of 20 characters allowed for Pin Name
|     Maximum of 20 characters allowed for Signal Name
|     Pin or Signal names longer than 20 should be truncated to 20 to fit
|     this specification.
|
|  7) It is acceptable to have more than one pin map in a file.  Therefore
|     the keywords Begin_Cn_Pin_Map and End_Cn_Pin_Map may appears as a pair
|     more than once in a file.
|
|     Simulators should consider pin names with case in-sensitive compares.
|     To make human comparison easy it is recommended that all uses of the
|     pin name in the file utilize the same case.
|
|NOTICE: The special Signal names PWR, GND, and PWRGND may be used to
|     indicate that this pin should be connected to either a Power pin like
|     +5V, a ground pin, or (either a power or ground pin).  This information
|     may be used by the simulator or PCB layout tool to provided a warning
|     that the connector is not following an established industry standard
|     layout.
|==============================================================================
[Begin_Cn_Pin_Map] 20PinHdiPin
|Index Pin    Signal   
1      A1     GND
2      A2     D0
3      A3     CLK
4      A4     D1
5      B1     STROBE1
7      B2     A0
8      B3     PWR
9      B4     PWRGND
[End_Cn_Pin_Map]

|==============================================================================
| Keywords:       [Begin_Cn_Phy_Map], [End_Cn_Phy_Map]
| Required:       No if non-Swath, Yes if [Begin_Cn_Swath] keyword used
| Common keyword: No
| Description:
|     Describes the physical layout of the connector for use with 
|     Swath method or general documentation.
|     [Row] x
|        x= 1, 2, 3, ...   One row for each conductor required
|     Layout connector rows / col  -  kind of a refinement to the
|     "Column" and "Row" Definitions above.   ASCII Pictorial Description
| Usage Rules: 
|  1) This keyword MUST be placed outside the [Begin_Cn_Model]/
|     [End_Cn_Model] keywords to allow it to be reused. if desired.
|
|  2) The keyword [Begin_Cn_Phy_Map] must be followed by one required 
|     parameter which is the ModelPhyMapName.
|
|     e.g. [Begin_Cn_Phy_Map] ModelPhyMapName
|     
|  3) The field ModelPhyMapName is required and must be less than
|     20 characters. The ModelPhyMapName MUST appear after the
|     [Begin_Cn_Phy_Map] and may optionally appear as a parameter
|     following the [End_Cn_Phy_Map] keyword.   This name is used
|     by the [Begin_Cn_Model] keyword to reference a physical map.
|
|  4) More than one [Begin_Cn_Model] record may reference the same
|     physical map.
|
|  5) Pin names MUST match the names used in the [Begin_Cn_Pin_Map]
|     section exactly.
|
|  6) All pin names specified in [Begin_Cn_Pin_Map] must also be specified
|     exactly the same in [Begin_Cn_Phy_Map] that used by the same
|     [Begin_Cn_Model].
|
|  7) Simulators should consider pin names with case in-sensitive compares.
|     To make human comparison easy it is recommended that all uses of the
|     pin name in the file utilize the same case.
|
|  8) It is acceptable to have more than one physical map in a file.  Therefore
|     the keywords Begin_Cn_Phy_Map and End_Cn_Phy_Map may appears as a pair
|     more than once in a file.
|==============================================================================
[Begin_Cn_Phy_Map] 20PinHdiPhy
[Row] 1
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
[Row] 2
B1 B2 B3 B4 B5 B6 B7 B8 B9 B10
[End_Cn_Phy_Map]
|
|
|********** Variable size connectors **************************************
| Keywords:       [Begin_Cn_Auto_Map]  [End_Cn_Auto_Map]
| Required:       No
| Common keyword: No
| Description:  
|   Using the [Begin_Cn_Auto_Map] keyword indicates that this connector is
|   variable size and will be automatically created by a CAE tool such as 
|   a simulator using the algorithm defined below.
|
|   This keyword allows a tool like a simulator to create the pin map
|   and connector map automatically for a connector by first determining
|   the total number of pins need for the particular schematic/PCB layout
|   or requested from the user interface and then executing the algorithm
|   until the desired number of pins is created.
|
|Notes:
| 1)Variable map creation should only be used for connectors that
|   are non-industry standard pin outs.  For example an ISA, SCSI, or
|   PCI bus connector should not use the [Begin_Cn_Auto_Map]
|   keyword as the signal names would not match generally defined signal
|   names.  It may be desired to create multiple models for some connectors
|   for example: The model for a square pin connector might have two
|   industry standard pin outs like 34 pin floppy and 50 pin SCSI and
|   also a generic 8 to 100 pin model.  The Generic version could use
|   the variable size model and the 34 and 50 pin connectors would use
|   fixed size models.
|
| 2)Variable width connectors may be created with this method.
|   Variable height connectors cannot be created with this method.
|
| 3)Signal names are automatically generated and may not be useful for
|   identifying nets.  The CAE tools should give priority to identifying
|   connectivity with pin names if this keyword is used.
|
| 4)This is not a free form equation.  The syntax must be followed exactly.
|   The result must produce sequential index numbers starting at 1 or
|   the model is not valid.
|
|Usage:
| -MUST BE USED between keywords [Begin_Cn_Model] and [End_Cn_Model].
| -MUST BE specified after [Cn_Number_of_Conductors], [Cn_Rows_of_Pins], 
|  and [Cn_Columns_of_Pins] have been specified for this connector model.
| -The keyword [Begin_Cn_Auto_Map] replaces both the [Begin_Cn_Pin_Map] and
|  the [Begin_Cn_Phy_Map] keywords.  These other keywords are not valid in
|  the same model as the [Begin_Cn_Auto_Map] keyword.
| -If the keyword [Begin_Cn_Auto_Map] is used than the connector model
|  must be defined using the [Begin_Cn_Swath] keyword.
|
|Algorithm Form:
| -Variable pin mapping MUST follow one of the following algorithm forms:
|      $$(i*n+m) OR $$(LASTCOL*n+i+m)
| where:
|   -Algorithm formulas must be enclosed in right and left parenthesis.
|   -One to 8 characters may optionally precede the algorithm formulas
|    in the $$ positions shown above.  Spaces are not allowed between the
|    characters and the formula left parenthesis.
|   -Two variables are provided i and LASTCOL.  These are case sensitive
|    and must appear exactly as shown.
|   -The variable "i" and constant values n and m are required in all
|    algorithms between the left and right parenthesis.
|    [Begin_Cn_Auto_Map] and [End_Cn_Auto_Map] and may not be substituted
|    with any other character.
|   -The variable "i" always begins at 0 and increments by 1 until
|    all pins are defined. 
|   -The value n may be any unsigned integer from 1 to 100000.
|   -The value m may be any unsigned integer from 1 to 99999.
|   -If present the LASTCOL variable must be entered as an upper case keyword.
|   -The constant LASTCOL is computed internally by the CAE tool by taking
|    the desired number of pins for this connector divided by the number
|    of rows.
|   -All Index's,  Pin names, and signal names created with algorithm
|    specified in the model must be result in unique identifiers or
|    the model is invalid. (i.e. all algorithms must be unique)
|   -The number of pins in the connector must be an EXACT MULTIPLE of the
|    number of row equation lines defined between [Begin_Cn_Auto_Map]
|    and [End_Cn_Auto_Map].  If not this model should not be created.
|   -The number of algorithm lines must EXACTLY match the number rows
|    defined for this connector in [Cn_Rows_of_Pins].  If not this model
|    has an error and should not be created.
|   -The number of pins created must be greater than or equal to the
|    minimum number of pins specified and less than or equal to the 
|    maximum number of pins specified in the [Cn_Number_of_Conductors]
|    keyword line.
|   -One or more characters may optionally precede the algorithm formulas
|    however spaces are not allowed between the characters and the formula. 
|   -Only multiply "*" and add "+" characters are allowed for math operators.
|    other operators shall be considered errors.
|   -All three fields index, pin, and signal fields must be defined.
|   -signal names may be defined by either algorithm or using one of the

|    fixed reserved names:
|        PWRGND- reserved model name, used with power or ground pins,
|        POWER - reserved model name, used with power supply pins,
|        GND   - reserved model name, used with ground pins,
|        NC    - reserved model name, used with no-connect pins,
|        NA    - used where data not available.
|
|***** an alphanumeric signal name example of 9 pin connector ******
|[Cn_Number_of_Conductors]  9 to 300
|[Cn_Columns_of_Pins]       VARIABLE
|[Cn_Rows_of_Pins]          3
[Begin_Cn_Auto_Map]
|Index   Pin      Signal   
(i*3+1)  A(i+1)    S(i*3+1)
(i*3+2)  B(i+1)    S(i*3+2)
(i*3+3)  C(i+1)    S(i*3+3)
[End_Cn_Auto_Map]
|
|If the previous keyword values and algorithms are defined and
| the CAE tool or user requested a model for a 9 pin connector the
| following would be created automatically:
|Index Pin    Signal   
|1    A1    S1
|2    B1    S2
|3    C1    S3
|4    A2    S4
|5    B2    S5
|6    C2    S6
|7    A3    S7
|8    B3    S8
|9    C3    S9
|
|connector physical map
|A1 A2 A3
|B1 B2 B3
|C1 C2 C3
|
|***** a numeric pin and alphanumeric signal name example of 12 pin ******
|[Cn_Number_of_Conductors]  9 to 300
|[Cn_Columns_of_Pins]       VARIABLE
|[Cn_Rows_of_Pins]          3
[Begin_Cn_Auto_Map]
|note: LASTCOL will be calculated as 12/3 = 4
|Index    Pin            Signal
(i*3+1)  (i+1)           Xsig(i+1)
(i*3+2)  (LASTCOL+i+1)   Y(LASTCOL+i+1)
(i*3+3)  (LASTCOL*2+i+1) Z(LASTCOL*2+i+1)
[End_Cn_Auto_Map]
|
|If the previous keyword values and algorithms are defined and
| the CAE tool or user requested a model for a 12 pin connector the
| following would be created automatically:
|Index Pin  Signal   
|1    1     Xsig1
|2    5     Y5
|3    9     Z9
|4    2     Xsig2
|5    6     Y6
|6    10    Z10
|7    3     Xsig3
|8    7     Y7
|9    11    Z11
|10   4     Xsig4
|11   8     Y8
|12   12    Z12
|
|connector physical map
|1 2  3  4
|5 6  7  8
|9 10 11 12
|
|***** an alphanumeric pin, alphanumeric signal name example of 12 pin *****
|[Cn_Number_of_Conductors]  8 to 100
|[Cn_Columns_of_Pins]       VARIABLE
|[Cn_Rows_of_Pins]          2
[Begin_Cn_Auto_Map]
|note: LASTCOL will be calculated as 12/2 = 6
|Index    Pin            Signal
(i*2+1)  A(i+1)           sig(i+1)
(i*2+2)  B(LASTCOL+i+1)   GND
[End_Cn_Auto_Map]
|
|If the previous keyword values and algorithms are defined and
| the CAE tool or user requested a model for a 12 pin connector the
| following would be created automatically:
|Index Pin  Signal   
|1    1     sig1
|2    7     GND
|3    2     sig2
|4    8     GND
|5    3     sig3
|6    9     GND
|7    4     sig4
|8    10    GND
|9    5     sig5
|10   11    GND
|11   6     sig6
|12   12    GND
|
|connector physical map
|1  2  3  4  5  6
|7  8  9  10 11 12
|
|==============================================================================
| Keyword:        [Begin_Cn_Section], [End_Cn_Section]
| Required:       No
| Common keyword: No
| Description: 
|  Indicates the beginning of a set of R,L,C matrix data.
| Sub parameters:
|     A matrix name must follow both the [Begin_Cn_Section] and
|     [End_Cn_Section] keywords.
| Usage:
|  -MUST be placed outside the context of keywords 
|   [Begin_Cn_Model] and [End_Cn_Model] as sections may be reused
|   by more than one connector model.
|  -MUST be placed inside the context of the family
|  -The following keywords are required:
|     [Inductance Matrix], [Capacitance Matrix]
|  -The following keywords are optional:
|     [Resistance Matrix], [Bandwidth], [Row]
|  -Each matrices used for given connector model MUST have exactly
|   the same number conductors.
|  -If the swath method is used the matrix may have fewer conductors
|   then the connector model.
|  -If the swath method is not used the matrix MUST have exactly the
|   same number of conductors as the connector has pins.
|  -The matrices used for the R,L,C description can be defined using
|   any of the matrix description methods allowed in the specification.
|   The matrix description methods can also be mixed within a given section.
|   For example the resistance matrix might use the Diagonal_matrix and the
|   inductance matrix might use a Full_matrix.
|------------------------------------------------------------------------------
| See example "Matrix Example" lower in this document.

|==============================================================================
| Keywords:    [Resistance Matrix], [Inductance Matrix], [Capacitance Matrix]
| Required:    Yes
|              If a simple single line model is defined then the following
|              matrices are required:
|                 case 1: [Resistance Matrix] only
|                               OR
|                 case 2: [Inductance Matrix] and [Capacitance Matrix] only
|                         for which the [Resistance Matrix] is assumed to 
|						  be zero ohms
|                               OR
|                 case 3: [Resistance Matrix] and [Inductance Matrix] 
|                         and [Capacitance Matrix]
|              NOTE: In case 1,2,3 the matrices must be Diagonal_matrix.
|
|              If a coupled model is defined then the following matrices are
|              required:
|                 case 4: [Inductance Matrix] and [Capacitance Matrix] only
|                         for which the [Resistance Matrix] is assumed to 
|						  be zero ohms
|                               OR
|                 case 5: [Resistance Matrix] and [Inductance Matrix] 
|                         and [Capacitance Matrix]
|              NOTE: In case 4,5 the matrices may be any combination of matrix
|              types (Diagonal, Banded, Sparse, Full).
|
| Common keyword: Yes       Is this keyword common to all IBIS specifications
|
| Description:  
|     The subparameters mark the beginning of a matrix, and
|     specify how the matrix data is formatted.
|
| Sub-Params:  Diagonal_matrix, Banded_matrix, Sparse_matrix, or Full_matrix
|
| Usage Rules:  
|     MUST BE USED between keywords [Begin_Cn_Section] and [End_Cn_Section].
|     For each matrix keyword, use only one of the sub-parameters.
|     After each of these sub-parameters, insert the matrix data in
|     the appropriate format.  (These formats are described in detail below.)
|
| Notes:
|     Numeric Accuracy:
|     The numeric accuracy used in the file should not be significantly
|     greater than the known accuracy of the model.
|     Refer to usage rule 13 (top of document) for more details.
|
|     Currents and Sign Conventions:
|     The resistance, inductance, and capacitance matrices may also
|     be referred to as "RLC matrices" within this specification.
|     When measuring the entries of the RLC matrices, either with
|     laboratory equipment or field-solver software, currents are
|     defined as ENTERING the pins of the package from the board
|     (General Syntax Rule #11).  The corresponding voltage drops are
|     to be measured with the current pointing "in" to the "+" sign
|     and "out" of the "-" sign.
|
|                         I1   +-----+    I2
|                       -----> |     | <------
|               board o--------| Pkg |---------o board
|                      +  V1 - |     | -  V2  +
|                              +-----+
|
|     It is important to observe this convention in order to get the
|     correct signs for the mutual inductance's and resistances.
|
|     For each [Resistance Matrix], [Inductance Matrix], or [Capacitance
|     Matrix] a different format can be used for the data.  The choice of
|     formats is provided to satisfy different simulation accuracy and speed
|     requirements.  Also, there are many packages in which the resistance
|     matrix can have no coupling terms at all.  In this case, the most
|     concise format (Banded_matrix) can be used.
|
|     **************************************************************************
|     *                    RESISTANCE MATRIX DESCRIPTION                       *
|     *                                                                        *
|     * UNITS:       OHMS                                                      *
|     *                                                                        *
|     * DESCRIPTION:                                                           *
|     *   The reistance matrix represents the total DC resistance between      *
|     *   the two ends of this section of the connector.                       *
|     * NOTES:                                                                 *
|     *   1) The resistance matrix is optional.  Simulation tools shall        *
|     *      use 0.0 ohms for all entries if this matrix is not present.       *
|     *   2) DO NOT USE ohms/meter as this is the total value and includes     *
|     *      the length of this section.                                       *
|     *   3) Values should all appear in the diagonal terms of the matrix.     *
|     *      For example: value 1,1 is the resistance for pin 1 and            *
|     *      value 2,2 is the resistance for pin 2.                            *
|     *   4) All off diagonal terms should 0.0 if entered however all          *
|     *      simulators shall ignore any off diagonal terms present.           *
|     *   5) A "Diagonal_matrix" matrix type is the best choice for            *
|     *      describing the resistance matrix.                                 *
|     *      (see matrix  descriptions below).                                 *
|     *                                                                        *
|     **************************************************************************
|     *                    INDUCTANCE MATRIX DESCRIPTION                       *
|     *                                                                        *
|     * UNITS:      HENRIES                                                    *
|     *                                                                        *
|     * DESCRIPTION:                                                           *
|     * Two inductance matrix methods are supported:                           *
|     *                                                                        *
|     *       SLM, Single-Line, Loop-Inductance Matrix    (non-coupled)        *
|     *       MLM, Multi-Line,  Partial-Inductance Matrix (coupled)            *
|     *                                                                        *
|     * If ModelType is SLM then all sections must use single-line             *
|     * loop-inductance and capacitance matrices.                              *
|     *                                                                        *
|     * If ModelType is MLM then all sections must use                         *
|     * partial-inductance and capacitance matrices.                           *
|     *                                                                        *
|     * Both capacitance and inductance matrix of a given section must use     *
|     * the same method.                                                       *
|     *                                                                        *
|     *	Single-Line Loop-Inductance Matrix:                                    *
|     * -----------------------------------                                    *
|     * DESCRIPTION:                                                           *
|     * To define inductance requires a loop.  The loop consists of a closed   *
|     * path including a signal and all possible return paths.  The inductance *
|     * is a coefficient between the emf induced in the loop and the change of *
|     * magnetic flux through the loop.                                        *
|     *                                                                        *
|     *                    connector or section                                *
|     *                ____________________________                            *
|     *               |                            |                           *
|     *             Return .....................  Return                       *
|     *    (side A)   |                            |       (side B)            *
|     *             Signal .....................  Signal                       *
|     *               |                            |                           *
|     *             Return .....................  Return                       *
|     *               |                            |                           *
|     *                ----------------------------                            *
|     * The return path must include all pins that may be power or ground.     *
|     * In a loop inductance matrix, the diagonal terms represent the loop     *
|     * inductance of a specific pin with return currents assumed returned     *
|     * through all pins defined to be power or ground.                        *
|     *                                                                        *
|     * NOTES (Single-Line Loop-Inductance Matrix):                            *
|     * 1) This method must be used if the ModelType is SLM.                   *
|     * 2) Loop inductance can be experimentally measured.                     *
|     * 3) Loop inductance matrices can be created using fieldsolvers.         *
|     * 4) An SGR value is normally specified for an SLM model that indicates  *
|     *    the ratio of signal pins to return path pins (i.e. power or ground) *
|     *    pins.                                                               *
|     * 5) SLM models make have zero values for power or ground R,L,C values   *
|     *    which prevents there use in analyzing connector ground bounce       *
|     *    effects.                                                            *
|     * 6) Typical uses for SLM model might include for example a 2x17 header  *
|     *    connector where the bottom row is all grounded.  The SGR would be   *
|     *    specified in this case as 1:1.  A model would be developed with     *
|     *    these assumptions made.  Then all pins would be filled with average *
|     *    values.  To further expand this example see the figure below:       *
|     *                                                                        *
|     *    Pin out:                                                            *
|     *             1  ................. 17                                    *
|     *             18 ................. 34                                    *
|     *                                                                        *
|     *    Measurement or Fieldsolver connection:                              *
|     *             Sig Sig Sig ... Sig Sig                                    *
|     *             Gnd Gnd Gnd ... Gnd Gnd                                    *
|     *                                                                        *
|     *    Measured or Computed values:                                        *
|     *             3nH 4nH 4nH ....4nH 3nH                                    *
|     *                                                                        *
|     *    Matrix data:                                                        *
|     *             3nH 4nH 4nH ....4nH 3nH                                    *
|     *             3nH 4nH 4nH ....4nH 3nH                                    *
|     *                                                                        *
|     *    This allows the user to specify any of the following power/ground   *
|     *    connections and still use this model:                               *
|     *    Simulator Connection A:                                             *
|     *             Sig Sig Sig ... Sig Sig                                    *
|     *             Gnd Gnd Gnd ... Gnd Gnd                                    *
|     *                                                                        *
|     *    Simulator Connection B:                                             *
|     *             Gnd Gnd Gnd ... Gnd Gnd                                    *
|     *             Sig Sig Sig ... Sig Sig                                    *
|     *                                                                        *
|     *    Simulator Connection C:                                             *
|     *             Sig +5V Sig ... Gnd Sig                                    *
|     *             Gnd Sig Gnd ... Sig +5V                                    *
|     *                                                                        *
|     *    Given the following connection a simulation should generate a       *
|     *    warning to the user indicate the ground-signal-ratio has been       *
|     *    violated.                                                           *
|     *    Simulator Connection D:                                             *
|     *             Sig Sig Sig ... Sig Sig                                    *
|     *             Gnd Sig Sig ... Sig Sig                                    *
|     *                                                                        *
|     * 7) All connector pins must be specified with non-zero L and C values   *
|     *    in at least one of the sections.  The simulator will zero out       *
      *    portions of all sections corresponding to the ground or power pins. *
|     *                                                                        *
|     * 8) SLM models are most useful where                                    *
|     *    coupling analysis is not critical and where the rise time of the    *
|     *    signal is long compared to the electrical delay through the         *
|     *    connector.                                                          *
|     *                                                                        *
|     *                                                                        *
|     *	Multi-Line Partial-Inductance Matrix:                                  *
|     * -------------------------------------                                  *
|     * DESCRIPTION:                                                           *
|     * A partial inductance is an approximation of the loop inductance in     *
|     * situations where the current return path cannot be explicitly stated   *
|     * in the field extraction stages.                                        *
|     * Partial inductance can be numerically calculated by introducing a      *
|     * current in a circuit element that originates on one end and terminates *
|     * on the other end. There is no physical loop per se, instead charges    *
|     * will build up on each side of the circuit element.  In practice, this  *
|     * situation cannot exist more than instantaneously.  For the purposes of *
|     * simulation the condition does not affect the inductance values.        *
|     * Then from the currents found the magnetic fields and inductances can   *
|     * be calculated.  In this way, the self and mutual inductances of any    *
|     * section of a closed circuit can be  calculated.                        *
|     * This representation of inductance in terms of partial self and mutual  *
|     * inductance allows the analysis of any combination of current paths.    *
|     * The signal and return current paths can be defined in circuit after    *
|     * the model is established. In this way the circuit under simulation     *
|     * accounts for the impact on signal-integrity, cross-talk and            *
|     * ground-bounce from currents passing through any combination of pins.   *
|     *                                                                        *
|     *                    connector or section                                *
|     *                ----------------------------                            *
|     *               |                            |                           *
|     *             Signal .....................  Signal                       *
|     *    (side A)   |                            |       (side B)            *
|     *             Signal .....................  Signal                       *
|     *               |                            |                           *
|     *             Signal .....................  Signal                       *
|     *               |                            |                           *
|     *                ----------------------------                            *
|     *                                                                        *
|     * There are many ways to create this information using either 2D or 3D   *
|     * fieldsolvers.  It may also be possible to create this information      *
|     * using other methods which are left to the model developer.             *
|     *                                                                        *
|     *                                                                        *
|     * NOTES (Multi-Line Partial-Inductance Matrix):                          *
|     *                                                                        *
|     * 1) For an MLM model it is required that at least one section include   *
|     *    mult-line inductance and capacitance matrices.                      *
|     *                                                                        *
|     *                                                                        *
|     **************************************************************************
|     *                    CAPACITANCE MATRIX DESCRIPTION                      *
|     *                                                                        *
|     * UNITS:      FARAD                                                      *
|     *                                                                        *
|     * DESCRIPTION:                                                           *
|     * Two Maxwell capacitance matrix methods are supported:                  *
|     *                                                                        *
|     *       SLM, Single-Line, Loop-capacitance Matrix    (non-coupled)       *
|     *       MLM, Multi-Line,  Partial-capacitance Matrix (coupled)           *
|     *                                                                        *
|     * If ModelType is SLM then all sections must use single-line             *
|     * loop-capacitance and inductance matrices.                              *
|     *                                                                        *
|     * If ModelType is MLM then all sections must use                         *
|     * partial-capacitance and inductance matrices.                           *
|     *                                                                        *
|     * Both capacitance and inductance matrix of a given section must use     *
|     * the same method.                                                       *
|     *                                                                        *
|     *	Single-Line Loop-Capacitance Matrix:                                   *
|     * -----------------------------------                                    *
|     * DESCRIPTION:                                                           *
|     * To define capacitance requires conductors separated by a dielectric.   *
|     * The conductors are the those found in a loop consisting of a closed    *
|     * path including a signal and all possible return paths.                 *
|     * The Maxwell Capacitance matrix relates the total charges on the        *
|     * conductors to the voltages applied to them.                            *
|     * [Q]=[Cm][V]                                                            *
|     * Where [Cm] is the Maxwell matrix, [Q] is the vector of total conductor *
|     * charges, and [V] is a vector of applied voltages. The negative values  *
|     * of the off-diagonal entries can be explained on physical grounds:      *
|     * if you put +1 Volt on a single conductor and 0 Volts on the others,    *
|     * then you induce negative charges on those other conductors to terminate*
|     * the field lines emanating from the conductor at 1 Volt.                *
|     *                                                                        *
|     * In the Maxwell Capacitance matrix, the diagonal term is the maximum    *
|     * capacitance that the conductor encounters, meaning the capacitance to  *
|     * ground plus the capacitances to all the other conductors.              *
|     *                                                                        *
|     * In the Maxwell Capacitance matrix, the OFF-diagonal term is the        *
|     * capacitance that the conductor encounters relative to a second         *
|     * conductor.  This capacitance value is effected by other nearby         *
|     * conductors during the field extraction phase.  As such it should not   *
|     * normally be used by itself to determine the capacitance of a random    *
|     * pair of conductors in a given structure.                               *
|     *                                                                        *
|     *	Also see "Single-Line Loop-Inductance Matrix" section above for more   *
|     * information on Single-Line Matrices.                                   *
|     *                                                                        *
|     *	Multi-Line Partial-Capacitance Matrix:                                 *
|     * --------------------------------------                                 *
|     * DESCRIPTION:                                                           *
|     * A partial capacitance is an approximation of the capacitance in        *
|     * situations where the return path cannot be explicitly stated           *
|     * in the field extraction stages.                                        *
|     *                                                                        *
|     *	See "Multi-Line Partial-Capacitance Matrix" section above for more     *
|     * information on Multi-Line Matrices.                                    *
|     **************************************************************************
|     *                    LOSS MATRIX DESCRIPTION                             *
|     *                                                                        *
|     * This release does not support frequency dependant loss matrices.       *
|     * A future release is expected to add support for the numerous           *
|     * frequency dependant loss matrix effects which may occur including:     *
|     * skin effect, dielectric frequency dependence, surface roughness etc.   *
|     **************************************************************************
|
|     **************************************************************************
|     *             MATRIX DATA DERIVATION NOTES                               *
|     *                                                                        *
|     * UNCOUPLED MODELS:                                                      *
|     * -----------------                                                      *
|     * These are also called Single-Line-Models or SLM models.                *
|     * These models are useful for most simulations where coupled effects     *
|     * can be ignored safely.  These models are most accurate if closely      *
|     * spaced ground pins or a ground plane is present.                       *
|     * A "Diagonal_matrix" matrix type is the best choice for describing      *
|     *    all matrices R,L and C for SLM models.                              *
|     *    (see matrix  descriptions below).                                   *
|     * Several methods can be used:                                           *
|     * 1) 2D field solver with return path pins defined.  Only the diagonal   *
|     *    matrix data is used.  The coupling information is ignored.          *
|     *    The R,L,C matrix results from the field solver usually in           *
|     *    per-unit-length form must be multiplied times the actual length     *
|     *    of this section so that the final matrix represents the specific    *
|     *    length of this section.                                             *
|     *    (Does not allow simulation of coupling)                             *
|     * 2) 2D field solver without specific return path pins.  A return plane  *
|     *    is specified as a reference only and is placed far field.           *
|     *    from the pin field.  Only the diagonal matrix data is used and the  *
|     *    off diagonal information must be appropriately reduced to a single  *
|     *    diagonal matrix. No coupling data is present in the final matrix    *
|     *    The R,L,C matrix results from the field solver usually in		   *
|     *    per-unit-length form must be multiplied times the actual length	   *
|     *    of this section so that the recorded matrix data includes the	   *
|     *    length of the section.											   *
|     *    (Does not allow simulation of coupling)		                       *
|     * 3) Closed form round wire inductance equation.						   *
|     *    (Does not allow simulation of coupling)		                       *
|     * 4) Experimental lab data may be obtained from TDR or other means	   *
|     *    (Does not allow simulation of coupling)	                           *
|     *																		   *
|     *																		   *
|     * COUPLED (Preferred method):           								   *
|     * --------------------------          								   *
|     * These are also called Multi-Line-Models or MLM models.				   *
|     * A "Diagonal_matrix" matrix type is the best choice for describing      *
|     *    all matrices R,L and C for SLM models.                              *
|     *    (see matrix  descriptions below).                                   *
|     * Several methods can be used:                                           *
|     * 1) 3D field solver can be used to create partial inductance and        *
|     *    capacitance matrices that allow accurate simulations without        *
|     *    the need to pre-define the ground pins.                             *
|     * 2) 2D field solver without specific return path pins.  A return plane  *
|     *    is specified as a reference only and is placed far field.           *
|     *    The R,L,C matrix results from the field solver usually in		   *
|     *    per-unit-length form must be multiplied times the actual length	   *
|     *    of this section so that the recorded matrix data includes the	   *
|     *    length of the section.											   *
|     *    (Does not include 3D effects)                                       *
|     * 3) 2D field solver with return path pins specifically defined.         *
|     *    The R,L,C matrix results from the field solver usually in           *
|     *    per-unit-length form must be multiplied times the actual length     *
|     *    of this section so that the recorded matrix data includes the       *
|     *    length of the section.                                              *
|     *    (Does not include 3D effects)                                       *
|     *    found in structures like U bends on connector fingers.              *
|     * 4) Experimental lab data may be obtained from TDR or other means.      *
|     *    This method will generally not allow the most accurate models       *
|     *    as the inner sections of the connector generally cannot be          *
|     *    probed.                                                             *
|     **************************************************************************
|
|     One common aspect of all the different formats is that they exploit
|     the symmetry of the matrices they describe.  This means that the
|     entries below the main diagonal of the matrix are identical to the
|     corresponding entries above the main diagonal.  Therefore, only
|     roughly one-half of the matrix needs to be described.  By convention,
|     the main diagonal and the UPPER half of the matrix are provided.
|
|     In the following text, we use the notation [I, J] to refer to the entry
|     in row I and column J of the matrix.  Note that I and J are allowed
|     to be alphanumeric strings as well as integers.  An ordering of these
|     strings is defined in the [Pin Numbers] section.  In the following text,
|     "Row 1", means the row corresponding to the first pin.
|
|     Also note that the numeric entries of the RLC matrices are standard
|     IBIS floating point numbers.  As such, it is permissible to use 
|     metric "suffix" notation.  Thus, an entry of the C matrix could be 
|     given as 1.23e-12 or as 1.23p or 1.23pF.
|
|     Full_matrix
|        When the Full_matrix format is used, the couplings between 
|        every pair of elements is specified explicitly.  Assume that 
|        the matrix has N rows and N columns.  The Full_matrix is specified
|        one row at a time, starting with Row 1 and continuing down to Row N.
|
|     Each new row is identified with the Row keyword.
|------------------------------------------------------------------------------
| See example "Matrix Example" lower in this document.

|==============================================================================
| Keyword:        [Row]
| Required:       Yes if a matrix is being defined.
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Indicates the beginning of a new row of the matrix.
| Usage:  
|     The argument must be a sequential number beginning at 1
|     and continuing to the last row for the matrix
|
|     Following a [Row] keyword is a block of numbers that represent the
|     entries for that row.  Suppose that the current row is number M.  Then
|     the first number listed is the diagonal entry, [M,M].  Following this
|     number are the entries of the upper half of the matrix that belong to
|     row M: 
|        [M, M+1], [M, M+2], ... up to [M,N].
|
|     For even a modest-sized matrix, this data will not all fit on one line.
|     You can break the data up with new-line characters so that this limit is
|     observed.
|
|     An example: suppose the matrix has 40 conductors and that we are 
|     currently working on Row 19.  There is 1 diagonal entry, plus
|     40 - 19 = 21 entries in the upper half of the matrix to be specified, 
|     for 22 entries total.  The data might be formatted as follows:
|
|     In the example below, the entry 5.67e-9 is on the diagonal of row 19.
|
|     Observe that Row 1 always has the most entries, and that each
|     successive row has one fewer entry than the last; the last row always 
|     has just a single entry.
|==============================================================================
| See example "Matrix Example" lower in this document.
|
|==============================================================================
| Keyword:        Diagonal_matrix
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     The Diagonal_matrix is used to specify uncoupled model.  This keyword
|     is exactly the same as using the Banded_matrix described below with a
|     Bandwidth=0.
| Usage:  
|     A Diagonal_matrix is one whose entries are guaranteed to be zero if they
|     are not on the main diagonal.  Let the matrix size be N x N,
|     An entry [I,J] of the matrix is zero if: | I - J | != 0
|     where |.| denotes the absolute value.
|
|     Specify the Diagonal_matrix one row at a time, starting with row 1 and
|     working up to higher rows.  Diagonal elements are entered one per line.
|==============================================================================
| See example "Matrix Example" lower in this document.
|
|==============================================================================
| Keyword:        Banded_matrix
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     The Banded_matrix is used to specify the coupling effects up to B pins
|     on either side.  Two variations are supported.  One allows for the
|     coupling to circle back on itself.  This is technically a simple form
|     of a bordered block diagonal matrix.  However, its data can be
|     completely specified in terms of a Banded_matrix for an N x M matrix
|     consisting of N rows and M = N + B columns.
|     The second variation is just in terms of an N x N matrix where no 
|     circle back coupling needs to be specified.
| Usage:  
|     A Banded_matrix is one whose entries are guaranteed to be zero if they
|     are farther away from the main diagonal than a certain distance, known
|     as the "bandwidth."  Let the matrix size be N x M, and let the bandwidth
|     be B.  An entry [I,J] of the matrix is zero if:
|        | I - J | > B
|     where |.| denotes the absolute value.
|
|     The bandwidth for a Banded_matrix must be specified using the
|     [Bandwidth] keyword:
|
|     Specify the banded matrix one row at a time, starting with row 1 and
|     working up to higher rows.  Mark each row with the [Row] keyword, as
|     above.  As before, symmetry is exploited: do not provide entries below
|     the main diagonal. 
|
|     For case where coupling can circle back on itself, consider a matrix of 
|     N pins organized into N rows 1 ... N and M columns 1 ... N, 1 ... B.
|     The first row only needs to specify the entries [1,1] through [1,1+B]
|     since all other entries are guaranteed to be zero.  The second row will
|     need to specify the entries [2,2] through [2,2+B], and so on.  For row K
|     the entries [K,K] through [K,K+B] are given when K + B is less than or
|     equal to the size of the matrix N.  When K + B exceeds N, the entries
|     in the last columns 1 ... B specify the coupling to the first rows.  For
|     row K, the entries [K,K] ... [K,N] [K,1] ... [K,R] are given where R = 
|     mod(K + B - 1, N) + 1.  All rows will contain B + 1 entries.  To avoid
|     redundant entries, the bandwidth is limited to B <= int((N - 1) / 2).
|
|     For the case where coupling does not circle back on itself, the process
|     is modified.  Only N columns need to be considered.  When K + B finally
|     exceeds the size of the matrix N, the number of entries in each row
|     starts to decrease; the last row (row N) has only 1 entry.  This
|     construction constrains the bandwidth to B < N.
|
|     As in the Full_matrix, if all the entries for a particular row do not
|     fit into a single 120-character line, the entries can be broken across
|     several lines.
|
|     It is possible to use a bandwidth of 0 to specify a diagonal matrix 
|     (a matrix with no coupling terms.)  This is sometimes useful for 
|     resistance matrices.
|==============================================================================
| See example "Matrix Example" lower in this document.

|==============================================================================
| Keyword:        [Bandwidth]
| Required:       Yes if a Banded_matrix matrix is being defined.
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:
|     Indicates the bandwidth of the matrix.  The bandwidth field
|     must be a nonnegative integer.  This keyword must occur after
|     the [Resistance Matrix], etc. keywords, and before the matrix
|     data is given.
| Usage:  
|==============================================================================
| See example "Matrix Example" lower in this document.

|==============================================================================
| Keyword:        Sparse_matrix
| Required:       No
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     A Sparse_matrix is expected to consist mostly of zero-valued entries,
|     except for a few nonzero.  Unlike the Banded_matrix, there is no
|     restriction on where the nonzero entries can occur.  This feature is 
|     useful in certain situations, such as for Pin Grid Arrays (PGAs)
|     sockets.
|
|     As usual, symmetry can be exploited to reduce the amount of data by
|     eliminating from the matrix any entries below the main diagonal.
|
|     An N x N Sparse_matrix is specified one row at a time, starting with
|     row 1 and continuing down to row N.  Each new row is marked with [Row]
|     keyword, as in the other matrix formats.
|
|     Data for the entries of a row is given in a slightly different format,
|     however.  For the entry [I, J] of a row, it is necessary to explicitly
|     list the name of pin J before the value of the entry is given.  This
|     specification serves to indicate to the parser where the entry is put
|     into the matrix.
|
|     Note that each of the column indices listed for any row must be
|     greater than or equal to the row index, because they always come from
|     the upper half of the matrix.  When alphanumeric pin names are used,
|     special care must be taken to ensure that the ordering defined in the
|     [Pin Numbers] section is observed.
|
|     With this convention, please note that the N'th row of an
|     N x N matrix has just a single entry (the diagonal entry).
|
|     The proper location is not otherwise obvious because of the lack of
|     restrictions on where nonzero entries can occur.  Each (Index, Value)
|     pair is listed upon a separate line.  An example follows.  Suppose
|     that row 10 has nonzero entries [10,10], [10,11], [10,15], 
|     and [10,25].  The following row data would be provided:
|==============================================================================
| See example "Matrix Example" below.
|
|==============================================================================
|                  M A T R I X      E X A M P L E
|==============================================================================
|
| The resistance matrix for this package has no coupling
|
[Begin_Cn_Section]       ExampleMatrix00
[Resistance Matrix]     Diagonal_matrix
10.0
15.0
15.0
10.0
10.0
15.0
15.0
10.0
[End_Cn_Section] ExampleMatrix00

[Begin_Cn_Section]       ExampleMatrix01
|
| The resistance matrix for this package has no coupling
| and is exactly the same as the Diagonal_matrix shown above
| it is described using a trivial version of the Banded_matrix
| as an example only.  The Diagonal_matrix should be used for
| this example to conserve file size.
|
[Resistance Matrix]     Banded_matrix
[Bandwidth]             0
[Row]   1
10.0
[Row]   2
15.0
[Row]   3
15.0
[Row]   4
10.0
[Row]   5
10.0
[Row]   6
15.0
[Row]   7
15.0
[Row]   8
10.0
|
| The inductance matrix has coupling between pins
|
[Inductance Matrix]     Full_matrix
[Row]   1
3.04859e-07      4.73185e-08      1.3428e-08     6.12191e-09
1.74022e-07      7.35469e-08     2.73201e-08     1.33807e-08
[Row]   2
3.04859e-07      4.73185e-08      1.3428e-08     7.35469e-08
1.74022e-07      7.35469e-08     2.73201e-08
[Row]   3
3.04859e-07      4.73185e-08     2.73201e-08     7.35469e-08
1.74022e-07      7.35469e-08
[Row]   4
3.04859e-07      1.33807e-08     2.73201e-08     7.35469e-08
1.74022e-07
[Row]   5
4.70049e-07      1.43791e-07     5.75805e-08     2.95088e-08
[Row]   6
4.70049e-07      1.43791e-07     5.75805e-08
[Row]   7
4.70049e-07      1.43791e-07
[Row]   8
4.70049e-07
|
| The capacitance matrix has sparse coupling
|
[Capacitance Matrix]    Sparse_matrix
[Row]   1
1       2.48227e-10
2       -1.56651e-11
5       -9.54158e-11
6       -7.15684e-12
[Row]   2
2       2.51798e-10
3       -1.56552e-11
5       -6.85199e-12
6        -9.0486e-11
7       -6.82003e-12
[Row]   3
3       2.51798e-10
4       -1.56651e-11
6       -6.82003e-12
7        -9.0486e-11
8       -6.85199e-12
[Row]   4
4       2.48227e-10
7       -7.15684e-12
8       -9.54158e-11
[Row]   5
5       1.73542e-10
6       -3.38247e-11
[Row]   6
6       1.86833e-10
7       -3.27226e-11
[Row]   7
7       1.86833e-10
8       -3.38247e-11
[Row]   8
8       1.73542e-10
|
[End_Cn_Section] ExampleMatrix01


|==============================================================================
| Keywords:       [Begin_Cn_Swath]  [End_Cn_Swath]
| Required:       No
| Common keyword: No
| Description:  
|    Describes a "swath" which is a smaller matrix re-used to 
|    simulate connectors of equal or larger size.
|
|    For example a 2x8 matrix might be used to model a connector
|    that is 2x100.  The "swath" can also be combined with the 
|    [Begin_Cn_Auto_Map] keyword to create multiple connector models from
|    a single description.  For example a 2x10 matrix might be used
|    to model connectors ranging from 2x10 to 2x200 with a single 
|    descriptive model.
|
|    Three basic types of swath methods may be used:  
|    horizontal, vertical, and grid.
|
| Definition:  "NO SIM"
|    For reference in this document the phrase "NO SIM" is used to
|    reference rows, columns, or individual pins that should not be used
|    from the matrix for a given simulation.  Such pins should instead
|    be connected through a resistor at each end of said matrix to
|    0 volts.  The resistors shall have a value of resistance equal to
|    the value defined with the [Cn_Z] keyword.  This load will provide
|    the matrix with an approximately feel of neighbor pins and circuit
|    loading to approximate a much larger connector matrix.
|
| Note: The keyword [Begin_Cn_Phy_Map] is required if the [Begin_Cn_Swath]
|       keyword is used.  The [Begin_Cn_Phy_Map] keyword provides the
|       information needed by the simulator to apply the matrix data
|       to the physical connector.
|
| Usage:
|   -MUST BE USED between keywords [Begin_Cn_Model] and [End_Cn_Model].
|   -MUST BE specified after [Cn_Number_of_Conductors], [Cn_Rows_of_Pins], 
|    and [Cn_Columns_of_Pins] have been specified for this connector model.
|   -Only one [Begin_Cn_Swath] may be used per connector model.
|   -MUST include exactly one [Cn_Z] definition line.
|   -MUST include exactly one of the keywords [Cn_Horizontal_Swath],
|   [Cn_Vertical_Swath], or [Cn_Grid_Swath] between the keywords
|   [Begin_Cn_Model] and [End_Cn_Model].
|------------------------------------------------------------------------------
|
|==============================================================================
| Keywords:       [Cn_Z]
| Required:       If the [Begin_Cn_Swath] keyword is present it is 
|                 required otherwise it must not be used.
| Common keyword: No
| Description:  
|     The impedance value defined by [Cn_Z] is used as a load by the simulator.
|     This load must be connected within the simulation to portions of the
|     matrix defined as "NO_SIM" locations (see below) to insure proper
|     electric loading of the simulation matrix.
| Usage:
|   -MUST BE USED between keywords [Begin_Cn_Swath] and [End_Cn_Swath].
|   -The impedance value following [Cn_Z] must be specified in ohms.
|------------------------------------------------------------------------------
|Example:
|[Cn_Z] 50
|
|==============================================================================
| Keywords:       [Cn_Horizontal_Swath]
| Required:       If the [Begin_Cn_Swath] keyword is present it is 
|                 required otherwise it must not be used.
| Common keyword: No
| Description:  
|     Describes the type of "swath" being used.
|     The [Cn_Horizontal_Swath] allows a small matrix to define a
|     connector of exactly the same height but of wider dimension.
|
|     The connector pin number assignments from [Begin_Cn_Pin_Map]
|     and from [Begin_Cn_Phy_Map] are used to define which locations
|     of pins in the matrices are "NO SIM" and SHALL NOT be used for
|     simulation in the circuit.  Instead these "NO SIM" locations
|     shall be connected to the value specified by [Cn_Z].
| Usage:
|   -MUST BE USED between keywords [Begin_Cn_Swath] and [End_Cn_Swath].
|   -Two "NO SIM" columns must be specified as follows: 
|       [Cn_Horizontal_Swath] LeftColumn RightColumn
|   -The LeftColumn and RightColumn value fields must be
|    unsigned integers between 1 and the number of columns
|    this connector has defined.  The value must be less than
|    or equal to 100000.
|------------------------------------------------------------------------------
|Example:
|[Cn_Horizontal_Swath] 2 2
|
|==============================================================================
| Keywords:       [Cn_Vertical_Swath]
| Required:       If the [Begin_Cn_Swath] keyword is present it is 
|                 required otherwise it must not be used.
| Common keyword: No
| Description:  
| Description:  
|     Describes the type of "swath" being used.
|     The [Cn_Vertical_Swath] allows a small matrix to define a
|     connector of exactly the same width but of taller dimension.
|
|     The connector pin number assignments from [Begin_Cn_Pin_Map]
|     and from [Begin_Cn_Phy_Map] are used to define which locations
|     of pins in the matrices are "NO SIM" and SHALL NOT be used for
|     simulation in the circuit.  Instead these "NO SIM" locations
|     shall be connected to the value specified by [Cn_Z].
| Usage:
|   -MUST BE USED between keywords [Begin_Cn_Swath] and [End_Cn_Swath].
|   -Two "NO SIM" columns must be specified as follows: 
|       [Cn_Vertical_Swath] TopRow BottomRow
|   -The TopRow and BottomRow value fields must be
|    unsigned integers between 1 and the number of rows
|    this connector has defined.  The value must be less than
|    or equal to 100000.
|------------------------------------------------------------------------------
|Example:
|[Cn_Vertical_Swath] 2 2
|
|==============================================================================
| Keywords:       [Cn_Grid_Swath]
| Required:       If the [Begin_Cn_Swath] keyword is present it is 
|                 required otherwise it must not be used.
| Common keyword: No
| Description:  
| Description:  
|     Describes the type of "swath" being used.
|     The [Cn_Grid_Swath] allows a small matrix to define a
|     connector of larger height and width.
|
|     The connector pin number assignments from [Begin_Cn_Pin_Map]
|     and from [Begin_Cn_Phy_Map] are used to define which locations
|     of pins in the matrices are "NO SIM" and SHALL NOT be used for
|     simulation in the circuit.  Instead these "NO SIM" locations
|     shall be connected to the value specified by [Cn_Z].
| Usage:
|   -MUST BE USED between keywords [Begin_Cn_Swath] and [End_Cn_Swath].
|   -Two "NO SIM" columns must be specified as follows: 
|       [Cn_Grid_Swath] LeftColumn RightColumn TopRow BottomRow
|   -The LeftColumn and RightColumn value fields must be
|    unsigned integers between 1 and the number of columns
|    this connector has defined.  The value must be less than
|    or equal to 100000.
|   -The TopRow and BottomRow value fields must be
|    unsigned integers between 1 and the number of rows
|    this connector has defined.  The value must be less than
|    or equal to 100000.
[Cn_Grid_Swath]       left right top bottom
|------------------------------------------------------------------------------
|Example:
|[Cn_Grid_Swath] 1 1 2 2
|
|==============================================================================
|                  S W A T H      E X A M P L E
|==============================================================================
[Begin_Cn_Swath] Cn_Horizontal_Swath
[Cn_Z] 50
[Cn_Horizontal_Swath] 1 1
[End_Cn_Swath]
|
|
|==============================================================================
| Keyword:        [End]  
| Required:       Yes
| Common keyword: Yes       Is this keyword common to all IBIS specifications
| Description:  
|     Specifies end of file
[End]