• 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. Route single connection

Stats

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

Route single connection

farhan89
farhan89 over 7 years ago

Is there any SKILL function that can be called from non-GUI version of virtuoso (by running OCEAN) to route a single connection using virtuoso space based router ?. Typically VSR route the complete net but I want to divide the connections of the nets in to pairs and then route a single connection on a net. I am using Virtuoso 6.1.7. 

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 7 years ago

    No - there's lxSelectedRoute and lxSelectedRouteNet, but these require something to be selected, and so need a layout window. It wouldn't be "OCEAN" anyway, because this is for simulation purposes...

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • farhan89
    farhan89 over 7 years ago in reply to Andrew Beckett

    Thanks Andrew for you help.
    Since I wanted to have point to point routing I used leHiP2P() but I don't understand why routing doesn't work if I define coordinates through for loop. My code is given below:


    routeList = (((1343.0 817.0) (450.5 1119.5)) ((1684.514 2085.5) (1343.0 1407.0)) ((1343.0 1407.0) (203.0 1414.5)) ((791.5135 2085.5) (1095.5 1112.0)) ((1095.5 1112.0) (450.5 1709.5)) ((1471.0 2275.5) (578.0 2275.5)))

    leHiP2P()
    foreach(pair routeList
      ;printf("first %L, second %L" cadar(pair) cadadr(pair))
     
      ;printf("Pair %L" pair)
      mouseAddPt(t)
      caar(pair):cadar(pair)
     
      mouseAddPt(t)
      caadr(pair):cadadr(pair)
      mouseApplyOrFinishPoint()
     
    )

    cancelEnterFun()

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • farhan89
    farhan89 over 7 years ago in reply to Andrew Beckett

    Thanks Andrew for you help.
    Since I wanted to have point to point routing I used leHiP2P() but I don't understand why routing doesn't work if I define coordinates through for loop. My code is given below:


    routeList = (((1343.0 817.0) (450.5 1119.5)) ((1684.514 2085.5) (1343.0 1407.0)) ((1343.0 1407.0) (203.0 1414.5)) ((791.5135 2085.5) (1095.5 1112.0)) ((1095.5 1112.0) (450.5 1709.5)) ((1471.0 2275.5) (578.0 2275.5)))

    leHiP2P()
    foreach(pair routeList
      ;printf("first %L, second %L" cadar(pair) cadadr(pair))
     
      ;printf("Pair %L" pair)
      mouseAddPt(t)
      caar(pair):cadar(pair)
     
      mouseAddPt(t)
      caadr(pair):cadadr(pair)
      mouseApplyOrFinishPoint()
     
    )

    cancelEnterFun()

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to farhan89

    This won't work. leHiP2P() is a blocking function and so the subsequent code won't get executed until it completes. Even if it did, the specific calls to coordinates won't get passed to the enter function if called from code. You might be able to do the loop and use preXY() to queue up the coordinates before calling leHiP2P - I've not tried doing this though.

    In general though, use of a routing function this way isn't really supported as it could be used as a poor man's full auto-router (it would do one net at a time, and so wouldn't necessarily be optimal, but nevertheless it's not an intended use model).

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 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