Get email delivery of the Cadence blog featured here
Those of you who've been following my blog series on the Virtuoso® Automated Device Placement and Routing solution, perhaps know what is coming next.
Yes, we have now reached the last and final step in our journey through the world of layout automation. It is the much-anticipated step of routing the design. As you know from the introductory blog, the goal of this solution is to generate an LVS-clean layout with minimal DRCs that can be extracted for resimulation or refined further by the layout designers.
For those who are not familiar with my previous blogs in this series, please feel free to refer to them for completeness, starting from an overview of the flow, grouping and constraining the design, generating placement and routing grids, placing devices in rows, and adding base fill, all performed in an automated manner for designs at advanced nodes.
Routing is complicated, as any layout designer will tell you, and it only gets harder for analog device-level designs with their precise requirements for matching and meeting the performance goals. Added to this is a myriad of manufacturing and DRC restrictions, from coloring to vias for advanced process nodes. So, you have before you a huge challenge—a task that can no longer be completed manually in a reasonable time and in a cost-effective manner.
This is where the Automated Device-Level Routing functionality in the Automated Device Placement and Routing solution comes into play. At a high level, device-level routing follows the pin-to-trunk routing style, which is generally desirable in such designs. But it automates the otherwise manual steps of creating the trunks, strapping the device terminals to the trunks and then connecting those trunks to complete the routing. It does all of this by following the auto-generated routing grids created specifically for this purpose in a previous step. These routing grids ensure that the devices can be connected in a DRC-correct manner, including color compliance.
It also uses the auto-created constraints from an earlier step to ensure matching, symmetry, and balanced routing, all of which are crucial for such layouts. The resulting layout displays a routing style that can be described as a tree, with trunks and twigs connecting the devices in rows. This is why we call this automated device-level routing functionality a ‘Tree Router’.
Here's an animation that depicts the flow.
While this is my last blog in this series, it is by no means the end. We have embarked on a venture that is going to be continually developed to meet the increasing challenges of device-level layouts in all process nodes. In fact, you can look forward to another blog that goes over this routing solution very soon. I look forward to bringing to you our latest and greatest offerings in this space in the not-so-distant future!
Rapid Adoption Kits
For more information on Cadence circuit design products and services, visit www.cadence.com.
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.
- Sravasti Nair