• 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. Blogs
  2. Analog/Custom Design
  3. Virtuosity: Device-Level Routing for Advanced Nodes - Using…
Parula
Parula

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
Trunk Trimming
Pin to Trunk
Create Wire
space-based router
Virtuoso Space-based Router
layout XL
Layout Suite
Trunk Extending
Layout L
Finish Trunk
EM Trunk Optimization
Custom IC Design

Virtuosity: Device-Level Routing for Advanced Nodes - Using Finish Trunk

10 Jun 2019 • 4 minute read

  There have been a lot of interesting new customer-driven enhancements in the device-level routing space in Virtuoso® Layout Suite. To help you adopt these recently-released enhancements, especially for increasingly complex advanced node designs, we are happy to announce a short series of blogs to introduce the various new features—from manual and assisted routing to increased automation of routing tasks. Look out for the blogs about these new features over the next few months.

Have you ever worked with the Finish Trunk command and known its capabilities? In one step, the Finish Trunk command automatically converts the pathSeg that is being created using the Create Wire command into a trunk and then also runs Pin to Trunk routing.

This first blog in the series talks about features that are not new but capabilities that are ground-breaking and can support your device-level routing requirements for a design with the use of the Finish Trunk command. The current capabilities in the ICADVM18.1 ISR3 release are limited to a user-assisted flow using the Finish Trunk command. 

Using Finish Trunk to Automate Device-Level Routing in a User-Assisted Flow

See how you can use the Finish Trunk command on a design that has width spacing patterns (WSPs) defined, has connectivity defined, and is set up to run the Pin to Trunk route flow. To view the detailed video, click the below image.

Access the Finish Trunk command by starting the Create Wire command and then right-click the wire being created. Alternatively, you can use the bindkey 2.

One of the most powerful features of the Pin to Trunk routing is the Trunk Extending option that can be set either to One Direction or Both Directions. When you use set Trunk Extending to the Both Directions option and run the Finish Trunk command, the trunk is extended in both directions from the last canvas location of the wire being created. In addition, if you have selected the Trunk Trimming option, the trunk connecting to the last pin is trimmed to the right and left of the last via of the wire.

The images below show the routed results after the Finish Trunk command was executed with Trunk Extending set to Both Directions and Trunk Trimming option selected. Note that the yellow highlights indicate the last device pin in the row.

The resulting interconnect is converted to trunk objects, which means that you can use the EM Trunk Optimization feature to automatically fix EM violations. The image shown below is of the routed net, which has EM violations.

To fix these EM violations, use the EM Trunk Optimization feature. The following image shows the results of running the EM Trunk Optimization command, which has automatically fixed the EM violations on the routed net by adding and connecting additional trunks.

For more information on how to use the Finish Trunk command for both device-level and block-level designs and to perform EM Trunk optimization, check out the following RAKs available on the Cadence Support portal.

  • Pin to Trunk Device-Level Routing: RAK
  • Pin to Trunk Block-Level Routing: RAK
  • EM Trunk Optimization: RAK

Stay tuned... the next blog in this series will cover more ways to improve the productivity of device-level routing for advanced nodes.

Related Resources

User Guides

  • Using Pin to Trunk Routing
  • Using the Finish Trunk Command
  • Fixing Violations Using EM Driven Trunk Optimization

Blogs

  • Virtuosity: A Guide to Bindkeys for Interactive and Assisted Routing Commands
  • Virtuoso Video Diary: Extending Trunks for Selected Nets While Routing

Video

  • How to use VSR Preset

About Virtuosity

Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more… Click Subscribe to visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts.

Happy Reading!


John Wilkosz and Parul Agarwal (Team Virtuoso)


CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information