• 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. Mixed-Signal Design
  3. SKILL script for instance extraction

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 64
  • Views 7866
  • 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

SKILL script for instance extraction

RaghavendraN
RaghavendraN over 2 years ago

Hi team,

I have gone through the following link where instances are obtained based on cell name from the entire hierarchy. Here , we need to provide entire cell name. 

https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000001lHqtEAE&pageName=ArticleContent

For example, if i want to use only starting three letters of the cell name and let SKILL Code find what cells are starting with those 3 letters and their respective instances(for each cell starting with those 3 letters) in hierarchy, how should the modified script look like ?

  • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 2 years ago

    Hi,

    You need to replace one line in the code (line 117) as below:

    ;; when((inst~>cellName == targetCellName)
    when( rexMatchp(strcat("^" targetCellName) inst~>cellName)

    Regards,

    Saloni

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RaghavendraN
    RaghavendraN over 2 years ago in reply to Saloni Chhabra

    If I want to program the starting matching characters, how should I modify this ? "^" matches the starting characters  but does not give info about how many characters it matches ? (3 or 4  or more characters)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 2 years ago in reply to RaghavendraN

    I don't think I understand your question. The code change I suggested is expecting you to provide a pattern (3 or 4 or more characters or the full cell name) as input, and this pattern will be checked in the name of the cell. e.g.

    CCSPrintTable2(CCSFindCellInHier("nmo"))

    or

    CCSPrintTable2(CCSFindCellInHier("nmos"))

    rexMatchp will be executed as below :

    rexMatchp("^nmo" "nmos2v") -> t

    rexMatchp("^nmos" nmos2v") -> t

    If your specified pattern was "mos", then the match will fail:

    rexMatchp("^mos" "nmos2v") -> nil

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RaghavendraN
    RaghavendraN over 2 years ago in reply to Saloni Chhabra

    Lets say that we have 3 cell names dffq_f1 , dffpcq_f1 and dffpcq_f4. If I use the command pointed by you CCSPrintTable2(CCSFindCellInHier("dff")), I will see instances from all the 3 cells. Now, if I want to filter only instances pointed by two cells (second(dffpcq_f1) and third(dffpcq_f4)), what command should I use ? If I use command CCSPrintTable2(CCSFindCellInHier("dffp")), it will point instance from all the 3 above cells as the first 3 letter dff is matching with all the 3 cell names. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Saloni Chhabra
    Saloni Chhabra over 2 years ago in reply to RaghavendraN

    No, CCSPrintTable2(CCSFindCellInHier("dffp")) will return only dffpcq_f1 and dffpcq_f4 as the match command looks for the 'entire' string.

    An example -  my design has 3 cells, 2 instances of cell 'cccs' and 1 instance of 'ccvs'.

    CCSPrintTable1(CCSFindCellInHier("cc")) returns all 3 instances.

    CCSPrintTable1(CCSFindCellInHier("ccv")) returns only 1 instance.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RaghavendraN
    RaghavendraN over 2 years ago in reply to Saloni Chhabra

    That makes sense. This is what I was looking for. Thanks for the quick response Saloni.

    • 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