• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Assura DRC: How to Define derived layers

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 15354
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Assura DRC: How to Define derived layers

stuso
stuso over 16 years ago

Hi there,

I'm wondering how you define your own variables/derived layers, e.g when i'm using this
command:

    newVia2_a = geomSize( VIA2 0.07 )

However Assura doesn't seem to like that i have not deifined "newVia2_a".

Can someone tell me the syntax to do this, i'm assuming it has to go in the  layerDefs section somehow.

Thanks

Stu

  • Cancel
  • skillUser
    skillUser over 16 years ago

    Hi Stu,

    I don't work with Assura myself, but a few of my colleagues have stated that there does not appear to be any issue with the line of code as it is, but:

    1) Ensure that the statement is in the Rules section, not in the layerDefs section

    2) Ensure that the preceeding statement(s) do not have any errors

     

    One of my colleagues supplied the following sample rules file:

    drcExtractRules(

    layerDefs( "df2"
    VIA2 = layer( "VIA2" )
    );end df2 layerDefs section

    layerDefs( "gds2"
    VIA2 = layer( 14 )
    );end gds2 layerDefs section

    newVia2_a = geomSize( VIA2 0.07 )
    errorLayer( newVia2_a "Enlarged VIA2" )

    );end drcExtractRules

    This compiles correctly.

    I hope that the above information helps you, if not, you may need to send us your rules file for further assistance.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • stuso
    stuso over 16 years ago

    Hi Lawrence, it was indeed an error in a preceeding statement, thanks for your help.

    Cheers

    Stu 

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • stuso
    stuso over 16 years ago

    Hi Lawrence, 

    can you(or anyone out there) please ask the Assura guys if you cannot perform geomAnd on derived layers, so for example this would not work:

     drcExtractRules(

    layerDefs( "df2"

          OD          = layer( "OD" )

    ); end df2 layerDefs

        OD_1         = geomSize( OD 0.005 )
        OD_2        = geomAnd( OD_1 )
        saveDerived( OD_2 "TESTING OD_2 ")

    )

    This fails with:

     error:  No such original or unmerged layer 'OD_1'.

    When  i change the geomAnd to geomOr the code compiles (though of course its not what i want functionally).

    I read in the assura manual regarding geomAnd:

    " Description
    Generates new shapes from the overlap of original shapes on the input layers."

    So this perhaps infers that you indeed cannot geomAnd derived shapes?

    Cheers

    Stu

     

     

     

     

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 16 years ago

    Stu,

    You can of course use geomAnd on derived layers, but in this case you are trying to use geomAnd with a single layer - normally it would be done geomAnd(layer1 layer2) for example.

    If you want to use the single-layer form of geomAnd, that means you're trying to do a selfLayer and - to quote the geomAnd documentation it says:

    A selfAnd operation is performed by providing a single unmerged layer as input. An unmerged polygon layer is either an original graphics layer or the unmerged output of a geomSize command (see "geomSize").

    A self-and means that it will and the shapes with shapes from the same layer - that only makes sense if the data is unmerged, because otherwise you'll always get nothing.

    So what you'd do so:

        OD_1         = geomSize( OD 0.005 unmerged )
        OD_2        = geomAnd( OD_1 )
        saveDerived( OD_2 "TESTING OD_2 ")

    Note the "unmerged" keyword in the geomSize function. If you do this, it will find any gaps less than 0.01 wide between OD and other OD, or any self-overlapping bits of OD. Whether that is what you really want, I don't know...

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • stuso
    stuso over 16 years ago

    Hi Andrew, thanks for the indepth reply, it was very useful.

    Stuart

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information