• 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. Logic Design
  3. Constraining some nets to route through a specific metal...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 63
  • Views 8319
  • 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

Constraining some nets to route through a specific metal layer, and changing some pin/cell placements and wire directions in Cadence Innovus.

Riya C
Riya C over 2 years ago

Hello All:

I am looking for help on the following, as I am new to Cadence tools [I have to use Cadence Innovus for Physical Design after Logic Synthesis using Synopsys Design Compiler, using Nangate 45 nm Open Cell Library]: while using Cadence Innovus, I would need to select a few specific nets to be routed through a specific metal layer. How can I do this on Innovus [are there any command(s)]? Also, would writing and sourcing a .tcl script [containing the command(s)] on the Innovus terminal after the Placement Stage of Physical Design be fine for this?

Secondly, is there a way in Innovus to manipulate layout components, such as changing some pin placements, wire directions (say for example, wire direction changed to facing east from west, etc.) or moving specific closely placed cells around (without violating timing constraints of course) using any command(s)/.tcl script? If so, would pin placement changes and constraining some closely placed cells to be moved apart be done after Floorplanning/Powerplanning (that is, prior to Placement) and the wire direction changes be done after Routing? 

While making the necessary changes, could I use the usual Innovus commands to perform Physical Design of the remaining nets/wires/pins/cells, etc., or would anything need modification for the remaining components as well?

I would finally need to dump the entire design containing all of this in a .def file.

I tried looking up but could only find matter on Virtuoso and SKILL scripting, but I'd be using Innovus GUI/terminal with Nangate 45 nm Open Cell Library. I know this is a lot, but I would greatly appreciate your help. Thanks in advance.

Riya

  • Cancel
Parents
  • DimoM
    DimoM over 2 years ago

    Hi Riya,

    did you manage to get access to support.cadence.com ? If you have not yet, I suggest you to do so, because there are many articles you can refer to for help.

    To guide the router, you can set the preferred routing layer attributes for nets:
    setAttribute -net <netname>  -top_preferred_routing_layer 9 -bottom_preferred_routing_layer 5 -preferred_routing_layer_effort high

    Or if you want to be very precise on how the routing should be done, you can use createBusGuide command, in conjunction with createNetGroup.
    Please check the Innovus TCR for more details on how to use these commands. You can set them at any time prior to invoking NanoRoute, so after placement is just fine.

    You can control the placement of some instances with low-level commands such as placeInstance, but these are not timing driven. What is the motivation to adust the placement results. Consider instead to guide the placer to the desired solution with placement guides, structured placement, or cell padding.

    The command to stream out def file is defOut.

    I suggest you to to download the Innovus documentation and check the usage of all the commands you will need.

    Also, even though many things can be done with the GUI, not all options and commands are  available there, so I would suggest you to use the terminal commands instead.  After making sure they work  you can add write them down in a script, so that you have a way to reproduce your results.

    - Dimo

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Riya C
    Riya C over 2 years ago in reply to DimoM

    Thank you so much, Dimo! I do wish I could get access to support.cadence.com to access the articles via a valid host ID. I haven't been able to find someone with it yet. But nonetheless, I appreciate your detailed guidance once again. I was looking at the user guide for editing/swapping pins, but running into DRC and other design rule violations while changing metal layers while editing. I will try the command you mentioned here. 

    While I was interested in routing some nets through a specific metal layer, I wanted all the remaining signals to be routed through the layers beneath it. I will look at the user guide again to see if I can find something to get it to work.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Riya C
    Riya C over 2 years ago in reply to DimoM

    Thank you so much, Dimo! I do wish I could get access to support.cadence.com to access the articles via a valid host ID. I haven't been able to find someone with it yet. But nonetheless, I appreciate your detailed guidance once again. I was looking at the user guide for editing/swapping pins, but running into DRC and other design rule violations while changing metal layers while editing. I will try the command you mentioned here. 

    While I was interested in routing some nets through a specific metal layer, I wanted all the remaining signals to be routed through the layers beneath it. I will look at the user guide again to see if I can find something to get it to work.

    • 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