• 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. dbCreateVia() questions: justification and other exampl...

Stats

  • Locked Locked
  • Replies 7
  • Subscribers 145
  • Views 18266
  • 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

dbCreateVia() questions: justification and other examples

TrevorB
TrevorB over 15 years ago

I am migrating my pcells to IC6, and I am wrestling with the new via model.  Our PDK uses "standard vias", so I understand that I need to use the dbCreateVia function.

Apparently, I can override paramaters, even for standard vias, so I can use the following syntax:

dbCreateVia(cvId viaId list(x y) list(list("cutRows" 2) list("cutColumns" 3)))

However, I need to alter the justification to "lowerLeft".  This leads me to a few questions:
  1. How do I specify the justification using dbCreateVia?
  2. Does anybody have a "fully involved" dbCreateVia example that uses all possible options?  The manual is a little weak, methinks.
  3. How do I change the justification after I have created the via?  I cannot find it any where in the returned viaId, its header, its viaDef, or the header's master.

Thanks!

Trevor

  • Cancel
Parents
  • kbhow
    kbhow over 15 years ago

    Hi Trevor,

    There is several unique stuff in creating via compare to other instances. As what i know, there is no pption to specify the justification if you using SKILL function -dbCreateVia to create via rather than the GUI.

    Fortunately, the justification can be specific by doing some manual calculation and input the value as an option - "originOffset". The full syntax of dbCreateVia will be:

        dbCreateVia(  d_cvId d_viaDefId l_origin t_orientation l_paramlist)

        eg: dbCreateVia( cvId vidDefId list(x y) "R0" 

                                                 list( list("cutRows" 2)             ;row

                                                 list("cutColumns" 4)               ;column

                                                 list("cutSpacing" list(x y))       ; cut spacing for x and y

                                                 list("layer1Enc" list(x y))         ; enclosure for layer1

                                                 list("layer2Enc" list(x y))         ; enclosure for layer2

                                                 list("cutWidth" 0.2)                 ; cut width

                                                 list("cutHeight" 0.4)                ;cut height

                                                 list("originOffset" list(x y)))      ; justification

    You can change the justification by changing the option -"originOffset". The input must be in l_point which specify the x and y offset from center of the via. A mathematic calculation is needed to measure the distance from the origin point to the center of the via.

     

    How 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • kbhow
    kbhow over 15 years ago

    Hi Trevor,

    There is several unique stuff in creating via compare to other instances. As what i know, there is no pption to specify the justification if you using SKILL function -dbCreateVia to create via rather than the GUI.

    Fortunately, the justification can be specific by doing some manual calculation and input the value as an option - "originOffset". The full syntax of dbCreateVia will be:

        dbCreateVia(  d_cvId d_viaDefId l_origin t_orientation l_paramlist)

        eg: dbCreateVia( cvId vidDefId list(x y) "R0" 

                                                 list( list("cutRows" 2)             ;row

                                                 list("cutColumns" 4)               ;column

                                                 list("cutSpacing" list(x y))       ; cut spacing for x and y

                                                 list("layer1Enc" list(x y))         ; enclosure for layer1

                                                 list("layer2Enc" list(x y))         ; enclosure for layer2

                                                 list("cutWidth" 0.2)                 ; cut width

                                                 list("cutHeight" 0.4)                ;cut height

                                                 list("originOffset" list(x y)))      ; justification

    You can change the justification by changing the option -"originOffset". The input must be in l_point which specify the x and y offset from center of the via. A mathematic calculation is needed to measure the distance from the origin point to the center of the via.

     

    How 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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