• 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 SKILL
  3. Script Skill : drawing a path or rectangle in layout's ...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 9472
  • 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

Script Skill : drawing a path or rectangle in layout's View

tahm
tahm over 9 years ago

Hello,

I am beginner in script skill! I want a script skill that can draw a path or rectangle in a given layout view, with a given layer's purpose and dimensions.

How can excute it ? Because i try to execute some code in Virtuoso 6.1.6-64b-Log but I want an easier way via file. 

Can someone help me?

Mohammed,

 

  • Cancel
  • skillUser
    skillUser over 9 years ago

    Hi Mohammed,

    Your description/requirements are a bit vague.  You can open a cellview non-graphically using the dbOpenCellViewByType() function and then you can create a rectangle using dbCreateRect() or a path using dbCreatePath() or a path seg using dbCreatePathSeg().  The cellview (layout) can then be saved to disk using dbSave().

    I recommend that you look at the documentation for each of these functions, but here's a really simple example:

    
    let( (cv)
      ;; the variable 'cv' is local to this let statement, i.e. this code does not create or use a global variable 'cv'
      cv = dbOpenCellViewByType("mylib" "mycell" "layout" "maskLayout" "a") ;; opens for edit, or creates layout
      dbCreatePath(cv list("M1" "drawing") list(0:0 1:0) 0.2)
      dbCreatePathSeg(cv list("M1" "drawing") 0:0 1:0 0.2 "truncate" "truncate")
      dbCreateRect(cv list("M1" "drawing") list(0:0 1:1))
    dbSave(cv) ); let

    Hopefully this can help you to get started? You could create a procedure that accepts arguments for the layer used, the points required etc. Make your code structured and re-usable by not relying on global variables and grouping commonly used or repeatedly used code sections into procedures - again look at the documentation for help on this.

    Best regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tahm
    tahm over 9 years ago
    Thanks a lot Lawrence ! What do you mean with the documentation, because, actually the only doc that I have is with Cadence Skill API Finder, there are another docs?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 9 years ago
    What does the CIW Help menu show? Isn't there a "Virtuoso Documentation" entry? Have you tried "cdnshelp" from the command line? You could also try looking for the documentation files (HTML and PDF) in your installation directory, e.g. "ls `cds_root virtuoso`/doc".
    • 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