schCheckHierConfig skill command?

Discussion in 'Cadence' started by Tracy Groller, Apr 19, 2004.

  1. What is the correct use for the following
    skill command ?

    sch_update = schCheckHierConfig( cfgId path libs )

    --


    \ ~ ~ ///
    ---- ( @ @ )
    | | ======oOOo==(_)==oOOo=======================================
    | |__<*> ___ Tracy Groller | Texas Instruments, Inc.
    | _|III|_ | ------------------| Wireless RFCMOS Design
    _____| /_ III _/ \ TI MSGID: TAG2 | P.O. Box 660199, MS 8729
    \_ /III/ | PC Drop: PFLL | Dallas, Texas 75266
    \ _ /III/ _| -------------------------------------------------
    \_/ \ \___> - Phone: (214) 480-2217 Text Pager
    \ / Email:
    \ \ =======================================================
    \---\
     
    Tracy Groller, Apr 19, 2004
    #1
  2. Tracy Groller

    John Gianni Guest

    This SKILL function was created in the Cadence DFII 4.4.0 release;
    and it has been public, documented, and unchanged since (up to and
    including the latest upcoming IC & ICOA 5.1.41 releases.

    Interestingly, out of the last 700 SKILL surveys (now an integral
    part of DFII for Customers owning licenses for product 900 SKILL
    Development Environment) ... not one organization has indicated
    their use of this function in their custom SKILL code.

    Just as interestingly, only two Customers have ever asked about
    this function - one request came from France and one from Germany.

    From the German Customer request (which was easier for me to decipher):

    "Hier eine kurze Beschreibung der Funktionen mit kleinen Beispielen:"

    schCheckHierConfig
    schCheckHierConfig(
    h_cfgId
    [ v_pathVector [g_refLibs] ]
    )
    => l_errors | nil
    Description
    Performs a check of the hierarchy. The check starts with the top cellview
    that is specified in the given hierarchy configuration. The hierarchy
    traversed is defined by information in
    this hierarchy configuration. Usually, the hierarchy is confined to the
    library of the given cellview, but you can specify a list of reference
    libraries to process if the hierarchy extends
    beyond the current library.

    You must have write permission to any cellview that is to be checked.
    Uses the following environment settings:
    checkAlways specifies whether to check every cellview regardless of
    the extraction status. When nil, cellviews are checked only if they
    need it.

    updateConn specifies whether connectivity extraction is performed on
    all schematics encountered.

    runSRC specifies whether the SRC is run on all schematics
    encountered.

    runVIC specifies whether the VIC is run on all cellviews encountered.

    checkHierSave specifies whether processed cellviews are automatically
    saved. If nil, you must explicitly save and close the cellviews
    processed, or any updates are
    lost.

    saveAction specifies what to do for those cellviews containing errors
    when checkHierSave is t. Possible values are "Save", "No Save", and
    "Ask Me".

    The given cellview ID must be an editable schematic. If a cellview contains
    any of the following property values, it is not processed:

    nlAction == { ignore | stop }

    schType == { border | patchCord | ripper | noSchEdit }Arguments

    h_cfgId
    The ID of a hierarchy configuration that specifies an expansion.

    v_pathVector
    The optional ID of a hierarchy configuration path vector. If not
    specified, the traversal starts from the top cellview specified in
    the configuration. Otherwise, the traversal
    starts from the current cellview defined by this argument.

    g_refLibs
    A list of library names, or a string containing a list of space-
    separated library names.

    Value Returned

    l_errors
    A list of the errors encountered during the checking of the hierarchy
    as defined by the given configuration object. Each element in the
    list contains the cellview ID and the
    number of errors encountered; no information is generated if only
    warnings were encountered.

    nil
    No errors are found in the hierarchy.

    Examples

    cfgId = deGetConfigId( getCurrentWindow( ))

    schSetEnv( "checkHierSave" t )

    schSetEnv( "saveAction" "Save" )

    errs = schCheckHierConfig( cfgId )

    cfgId = deGetConfigId( getCurrentWindow( ))

    path = deGetVector( getCurrentWindow( ))

    errs = schCheckHierConfig( cfgId path "libA libB" )

    If errors are encountered, errs is a list of cellview/number-of-errors
    pairs. You can process this list as follows:

    foreach( x errs

    info( "%s %s %s has %d error(s).\n" car(x)~>lib~>name

    car(x)~>cellName car(x)~>viewName cadr(x))

    )

    Likewise for the similar function:

    schCheckHier

    schCheckHier(
    d_cvId
    t_viewNames
    t_refLibs
    [ l_instViewListTable ]
    )
    => l_errors | nil

    Description

    Performs a check of the hierarchy that starts at the given cellview.

    The hierarchy traversed is defined by t_viewNames. Usually, the hierarchy
    is confined to the library of the given cellview, but you can specify a
    list of reference libraries to process
    if the hierarchy extends beyond the current library. You must have write
    permission to any cellview that is to be checked.

    Uses the following environment settings:

    checkAlways specifies whether to check every cellview regardless of
    the extraction status. When nil, cellviews are checked only if they
    need it.

    updateConn specifies whether connectivity extraction is performed on
    all schematics encountered.

    runSRC specifies whether the SRC is run on all schematics
    encountered.

    runVIC specifies whether the VIC is run on all cellviews encountered.

    checkHierSave specifies whether processed cellviews are automatically
    saved. If nil, you must explicitly save and close the cellviews
    processed, or any updates are
    lost.

    saveAction specifies what to do for those cellviews containing errors
    when checkHierSave is t. Possible values are Save, No Save, and
    Ask Me.

    The given cellview ID must be an editable schematic. If a cellview contains
    any of the following property values, it is not processed:

    nlAction == { ignore | stop }

    schType == { border | patchCord | ripper | noSchEdit }

    Arguments

    d_cvId
    Cellview ID of the root schematic from which to begin the
    hierarchical check.

    t_viewNames
    String containing the list of view names to use to control the
    hierarchy traversal. Use string values in quotes.

    t_refLibs
    String containing the list of reference libraries to process
    in addition to the library of the given cellview.
    Use string values in quotes.

    l_instViewListTable
    Optional list specifying the instance view list table to use if
    instance-based switching is required. This list contains sublists
    that map a logical name to a view name list. If
    an instance is encountered that has an instViewList property whose
    value matches one of the logical names in the instance view
    list table, the view name list associated with the logical name
    is used for the hierarchical switch for that instance.

    Value Returned

    l_errors
    A list that containing sublists of the ID of the cellview and the
    number of errors encountered.

    nil
    No errors are found in the hierarchy.

    Example

    cvId = dbOpenCellViewByType( "mylib" "top" "schematic" "" 'a )

    schSetEnv( "checkHierSave" t )

    schSetEnv( "saveAction" "Save" )

    errs = schCheckHier( cvId "schematic cmos_sch" "" )

    Checks the hierarchy starting at top schematic in the library mylib where
    the traversal is controlled by the given view name list. If errors are
    encountered, errs is a list of
    cellview, number of errors pairs. You can process this list as follows:

    foreach( x errs

    info( "%s %s %s has %d error(s).\n" car(x)~>lib~>name

    car(x)~>cellName car(x)~>viewName cadr(x))

    )

    Ich hoffe, das hilft Ihnen weiter. Ueber ein kurzes Feedback wuerde ich mich
    freuen.

    Mit freundlichen Gruessen
     
    John Gianni, Apr 21, 2004
    #2
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.