layout XL warnings.

Discussion in 'Cadence' started by PolyPusher, Jul 27, 2010.

  1. PolyPusher

    PolyPusher Guest

    Warning: Illegal hierarchical connection to internal net between

    In my database while running layout XL with depth of >0 I get Illegal
    hierarchical connection warnings that I would like to have a skill
    routine to remove "all" of this type. Is this possible or is there
    code somewhere that performs this action. I know I can add an ignore
    property, but this is an all or nothing solution.

    Thank you for any help,
    Eric
     
    PolyPusher, Jul 27, 2010
    #1
  2. PolyPusher

    PolyPusher Guest

    Hi All,

    I am answering myself(not in another voice though!). I am happy with
    the code sans the fact I used select, which assumes the marker is
    selectable and my clumsy parsestring efforts.

    Any ideas on improvements?

    Thank you!
    PolyPusher

    procedure(EFIllegalHeirWarningsRmver()

    let((EFStringMatch EFXlist EFXString2 EFXString3)

    EFStringMatch=" Illegal hierarchical connection to internal net
    between"

    ;procedure selects the warning errors, so deselect everything
    geDeselectAll()

    ;warning markers are in hiGetCurrentWindow()~>topCellView~>shapes ids
    foreach(warn hiGetCurrentWindow()~>topCellView~>shapes

    ;processes warning markers only
    when(geGetMarkerType(warn)=="warning"

    ;next couple of lines breaks the string down produced by
    warn~>prop~>value
    ;for the if then statement. I did my best, but took multiple lines.
    EFXlist=nil
    EFXlist=last(warn~>prop~>value)
    EFXlist=car(EFXlist)
    EFXString2=cadr(parseString(car(list(EFXlist)) ":"))
    EFXString3=car(parseString(car(list(EFXString2)) "\n"))
    ;done with clumsy breakdown

    if(EFXString3==EFStringMatch
    then

    ;d_figId for Illegal hierarchical connections only
    ;geSelectFigNoFilter Selects the specified figure regardless of the
    selection filter.

    geSelectFigNoFilter(warn)
    leHiDelete()
    );if
    );when
    );foreach
    );let
    );procedure
     
    PolyPusher, Jul 29, 2010
    #2
  3. PolyPusher

    PolyPusher Guest

    Hi,
    I came up with a solution.
    Thank you,
    PolyPusher

    procedure(EFIllegalHeirWarningsRmver()
    ;warning markers are in geGetEditCellView()~>shapes, use setof to
    reduce list length
    foreach(warn setof(x geGetEditCellView()~>shapes
    (geIsMarkerShape(x) && geGetMarkerType(x)=="warning"))
    when( rexMatchp(" Illegal hierarchical connection to internal net
    between" car(last(warn~>prop~>value)))
    dbDeleteObject(warn)
    );when
    );foreach
    );procedure
     
    PolyPusher, Jul 30, 2010
    #3
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.