<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.cadence.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Need to get routing layers info from tech db</title><link>https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/47625/need-to-get-routing-layers-info-from-tech-db</link><description>Hi 
 
 I am trying to get the routing layers data from a technology file, I have dumped the tech file and the layerRules section, routingDirection section exists inside that. However, when I am executing the below three lines I am getting &amp;quot;nil&amp;quot; as the</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Need to get routing layers info from tech db</title><link>https://community.cadence.com/thread/1372969?ContentTypeID=1</link><pubDate>Thu, 04 Mar 2021 15:48:15 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:58c04c78-7d12-49d1-bbfa-283e9092c822</guid><dc:creator>Utkarsh03</dc:creator><description>&lt;p&gt;Got that!! In my techfile we have a contraint group called &amp;quot;default&amp;quot; and valid layers is inside that. Thankyou Andrew, above commands work perfect.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Need to get routing layers info from tech db</title><link>https://community.cadence.com/thread/1372968?ContentTypeID=1</link><pubDate>Thu, 04 Mar 2021 15:37:18 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:9d80fd8b-c94f-4c6e-8859-d4e3c824c7cb</guid><dc:creator>Andrew Beckett</dc:creator><description>&lt;p&gt;Well, I&amp;#39;m pretty sure &amp;nbsp;you&amp;#39;re going to need validLayers in whichever constraint group you&amp;#39;re using for routing (it may not be LEFDefaultRouteSpec). Say it&amp;#39;s called something else, you can do this:&lt;/p&gt;
&lt;p&gt;cg=cstFindConstraintGroupIn(tf &amp;quot;LEFDefaultRouteSpec_gpdk045&amp;quot;)&lt;/p&gt;
&lt;p&gt;then:&lt;/p&gt;
&lt;p&gt;cstFindFirstConstraint(cg &amp;quot;validLayers&amp;quot;)~&amp;gt;value&lt;/p&gt;
&lt;p&gt;cstFindFirstConstraint(cg &amp;quot;routingDirections&amp;quot; list(&amp;quot;Metal3&amp;quot;))~&amp;gt;value&lt;/p&gt;
&lt;p&gt;This is assuming that there&amp;#39;s validLayers and routingDirections defined within the constraint group in question.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Andrew.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Need to get routing layers info from tech db</title><link>https://community.cadence.com/thread/1372967?ContentTypeID=1</link><pubDate>Thu, 04 Mar 2021 15:27:50 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:97a6c03c-a8bc-458c-9c90-b4a699496125</guid><dc:creator>Utkarsh03</dc:creator><description>&lt;p&gt;Thank you Andrew for your answer. I just verified that LEFDefaultRouteSpec does not include any validLayers constraint within it. That is why probably I am getting nil. Can you please suggest other method to extract Routing Layers info from the tech db?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Utkarsh&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Need to get routing layers info from tech db</title><link>https://community.cadence.com/thread/1372964?ContentTypeID=1</link><pubDate>Thu, 04 Mar 2021 14:46:27 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:28bc4299-48ec-4fd9-a5e2-d2eef2df7ba9</guid><dc:creator>Andrew Beckett</dc:creator><description>&lt;p&gt;Hi Utkarsh,&lt;/p&gt;
&lt;p&gt;This article indicates that the techGetPr* functions are for legacy support these days and ideally you should go to the constraintGroups instead:&amp;nbsp;&lt;a href="https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000uXh3EAE&amp;amp;pageName=ArticleContent"&gt;API techGetPrRoutingLayers(tfId) does not work with ITDB&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;However, if techGetPrRoutingLayers returns nil, then that means you do not have a LEFDefaulteRouteSpec constraint group, or it doesn&amp;#39;t have a validLayers constraint within it. The routing directions information doesn&amp;#39;t come from a routingDirections constraint within that constraint group (rather bizarrely) but from the routingDirections specification within the layerRules section (the documentation does say this). The techGetPrRoutingDirection function only retrieves from the routingDirections in layerRules&amp;nbsp;&lt;span style="text-decoration:underline;"&gt;if&lt;/span&gt; the LEFDefaultRouteSpec constraint group exists though....&lt;/p&gt;
&lt;p&gt;Andrew.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>