• 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. BUG: Drawing path in Virtuoso 6.1.6 only possible in routing...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 15244
  • 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

BUG: Drawing path in Virtuoso 6.1.6 only possible in routing layers

Sheppy
Sheppy over 9 years ago

Hello,

Today, a colleague noticed a change between Virtuoso 6.1.5 and 6.1.6:

In the former it was possible to draw a path in any layer available in the LSW, in the latter it is only possible to draw in routing layers.

In our process we have a layer that defines the lateral isolation (LATISO), which we have to draw as a path around (a group of) active components. With the new version (6.1.6) we are unable to do that, it (the path procedure) simply selects the first routing layer (in our case METAL1).

This is a big inconvenience and the default setting of Virtuoso is obviously wrong. The only change we made is the version of Virtuoso, the PDK is still the same version, even using the same layout-cell-view to test this.

One method of "fixing" this is to specify LATISO as one of the routing layers. This will then also allow automatic routers to use LATISO, which is somehting we don't want, so we're not going to do that.

My question:

Is there a setting available to turn-off this behavior?

By the way: we are developing the PDK ourselves, so if something has to be done in the technology file, that is possible as well. Although this is not the preferred solution since it is a change in Virtuoso behavior that is the issue.

With kind regards,

Sjoerd

edit: added the part about PDK

  • Cancel
  • ColinSutlieff
    ColinSutlieff over 9 years ago

    Hi Sjoerd,

    The create path command should work as you expect.

    Is it possible that you are confusing the create path with the create wire command?

    The create wire command (often invoked with the "p" or "P" bindkey) does require routing layers. The routing layers are defined in the tech file and constraint groups.

    But the create path command: create->shape->path should work with any layer.

    From your description I believe you are trying to use the create wire command.

    Regards

    Colin

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sheppy
    Sheppy over 9 years ago

    Hi Colin,

    You are spot-on, and you just posted your reply a bit soner then I had time to update this post.

    What has happened:

    The bindkey "p" in 6.1.5 was used to create a path. In 6.1.6 it has been changed to create a wire.

    The solution:

    I re-mapped the bindkey for "p" back to creating a path. Creating a wire is now available with the "w" key (no-one used the zoom-history function of the "w" hey anyway).

    So yes, luckily, Cadence just  changed the behavior of the bindkey, not the actual function of the path creating procedure.

    Thanks for your response.

    With kind regards,

    Sjoerd

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

    Hi Sjoerd,

    I'm not sure that's what I'd recommend doing. The most common usage for paths is for creating routing - and there is a significant benefit in using create wire for this. There's so much "muscle memory" in the "p" bind key that we found that even though people were aware of create wire, they persisted in creating paths. Also some who weren't aware of create wire completely bypassed it.

    What I'd suggest is creating a different bind key for creating paths, and leave the "p" as the (now) standard for creating routing,

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Sheppy
    Sheppy over 9 years ago

    Hi Andrew,

    I understand why Cadence changed the bindkey, however, I do not agree with it.

    The same arguments you're putting forward can be used to defend the opposite. Since the "p" key is "hard-wired" into out brains, just changing the behavior will meet a lot of resistance, at least from my colleagues. Furthermore, a path is not always a wire, but a wire is always a path (wire is sub-set of path). Creating a wire in stead of a path has its advantages, but some big disadvantages as well (it limits your freedom to do whatever you like).

    Per the request of my colleagues, I have assigned the "p" key to creating paths, and the "w" key to creating wires. In a few weeks time I will ask them how often they have used the "w" key (wires), and I might revert the "w" key back to it's original binding if not used that often (since I use the "w" key a lot). By the way, all of my colleagues know about the existence of the "create wire" functionality and know its pro's and con's.

    Kind regards,

    Sjoerd

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ColinSutlieff
    ColinSutlieff over 9 years ago

    Hi Sjoerd,

    I just want to correct part of your text.

    Wires do not contain paths anymore. Wires contain pathSegs and vias

    In earlier versions (IC615) Wires contained either paths or pathsegs. Wires containing paths were called (geometric wires).

    In any case, wires are not subsets of paths or pathsegs.

    FYI, using wires  will guarantee that any 45 geometries will create on-grid coordinates. That is not the case with paths.

    Also, wires are compatible with the auto routing tools, paths aren't.

    So my recommendation: use wires for interconnect.

    Colin

    • 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