<?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>Custom IC SKILL - Recent Threads</title><link>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill</link><description>[b]Moderator:[/b] Andrew Beckett.</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>preview for analogLib sources without running a simulation,</title><link>https://community.cadence.com/thread/66153?ContentTypeID=0</link><pubDate>Fri, 10 Jul 2026 09:10:52 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:e5ef40d0-0708-46bb-a892-5f5213a6069f</guid><dc:creator>dogman4</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/66153?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66153/preview-for-analoglib-sources-without-running-a-simulation/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi，friends&lt;/p&gt;
&lt;p&gt;&lt;span&gt;What methods are there to preview analogLib sources without running a simulation?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My virtuoso version: &amp;quot;@(#)$CDS: virtuoso version 6.1.8-64b 09/03/2024 19:11 (sjfhw316) $&amp;quot;&lt;br /&gt;My spectre version: Version19.1.0.063 64bit--10 Aug 2019&lt;/span&gt;&lt;/p&gt;
&lt;div id="phraseJoinewrskdfdswerhnyikyofd" data-v-app=""&gt;
&lt;div class="xx-qy-style-dark" data-v-f4d4888e=""&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to run an interactive external script from SKILL?</title><link>https://community.cadence.com/thread/66124?ContentTypeID=0</link><pubDate>Wed, 01 Jul 2026 11:57:53 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:39e0230a-7a09-4293-bbeb-27ff3690c0dc</guid><dc:creator>LoVyacheslavvVEMs</dc:creator><slash:comments>4</slash:comments><comments>https://community.cadence.com/thread/66124?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66124/how-to-run-an-interactive-external-script-from-skill/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p class="isSelectedEnd"&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;Hi,&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;I need to launch an external script from SKILL. The script itself is not under my control - it may be a shell script, Python script, executable, or any other program.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;The important part is that the script may pause at arbitrary points and wait for user input from stdin. When this happens, I would like to prompt the user in Virtuoso (for example, using an AppForm), send the entered text back to the running process, and then continue its execution.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;I know about &lt;code dir="ltr"&gt;system()&lt;/code&gt; and &lt;code dir="ltr"&gt;ipcBeginProcess()&lt;/code&gt;, but I&amp;#39;m not sure whether SKILL supports this kind of interactive communication with a child process.&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;Is there a supported way to:&lt;/span&gt;&lt;/p&gt;
&lt;ul data-spread="false"&gt;
&lt;li&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;launch an external interactive process from SKILL;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;detect when it is waiting for input;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:inherit;font-size:150%;"&gt;send user input back to the process while it is running?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:150%;"&gt;Thanks in advance.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>maeGroupAsParametricSet has no ?session argument</title><link>https://community.cadence.com/thread/66122?ContentTypeID=0</link><pubDate>Wed, 01 Jul 2026 09:12:35 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:0231d9be-20f1-4b27-a959-dd9b95b706a4</guid><dc:creator>SK202511261716</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/66122?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66122/maegroupasparametricset-has-no-session-argument/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I have a SKILL script running inside a form which at one point needs to create a parametric set for the Design Variables of a particular Test. I&amp;#39;m using maeGroupAsParametricSet for this, and it&amp;#39;s worked well so far. Unfortunately I&amp;#39;ve just run into a problem: if I have multiple maestro windows open, maeGroupAsParametricSet starts to misbehave. Unlike other mae functions, it can&amp;#39;t be provided a ?session argument. So if I run my form from the second maestro view that I&amp;#39;ve opened, it will fail to find the Test I specify, because it&amp;#39;s looking for it in the first maestro view. I tested this with maeGetTestSession: if I don&amp;#39;t provide the ?session argument, it returns nil, whereas if I do provide it, it runs successfully. This suggests to me that maeGroupAsParametricSet is looking in the first view by &amp;quot;default&amp;quot;, and lacking a ?session argument it can&amp;#39;t be told to look elsewhere. Am I misunderstanding something here, or is there a workaround for this?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The warning message that appears after calling maeGroupAsParametricSet reads as follows:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;WARNING (ASSEMBLER-1602): Cannot find test &amp;lt;TESTNAME&amp;gt; in the setup database. The test name passed to this function does not exist in the setup database. Perhaps the name was misspelled or has not yet been created. The test needs to be created before calling this function.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;I&amp;#39;m on version IC23.1-64b&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Prevent Net Extraction for Shapes</title><link>https://community.cadence.com/thread/66080?ContentTypeID=0</link><pubDate>Wed, 17 Jun 2026 07:44:07 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:0dba0de2-ca40-40b2-9ce7-a749af8f13e4</guid><dc:creator>PK202501238151</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/66080?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66080/prevent-net-extraction-for-shapes/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;is there a way to prevent net extraction for specific shapes? I&amp;#39;m generating layouts with external tools and mark the with `lxStickyNet = t` to prevent their nets to change by the extraction. However, there are also shapes that have no net assigned, and they change connectivity, even though lxStickyNet is set.&lt;/p&gt;
&lt;p&gt;Thanks, kind regards,&lt;/p&gt;
&lt;p&gt;Patrick&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Is there any callback feature for layout that triggers any property change for instance?</title><link>https://community.cadence.com/thread/66077?ContentTypeID=0</link><pubDate>Tue, 16 Jun 2026 20:20:09 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:29142f9c-ecd6-412a-bcae-0f62a3a39055</guid><dc:creator>MM20260514770</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/66077?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66077/is-there-any-callback-feature-for-layout-that-triggers-any-property-change-for-instance/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am trying to port some in house script from TCL to skill for virtuoso.&amp;nbsp;I am unable to find any callback code for layout that could perform following task.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For example,&amp;nbsp;let&amp;#39;s say I have an instance and a track region is&amp;nbsp;fully covering it. Is there any callback that will trigger when that particular instance has any change of property for example origin change, or row/col number changed for mosaic?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In TCL there was a callback available which will pass the modified instance object and I can filter out if the cell name matches and then my fuction could extend/shrink or shift the track region so that it still fully covers the instance.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Tanvir&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>ipcSkillProcess and results buffering</title><link>https://community.cadence.com/thread/66074?ContentTypeID=0</link><pubDate>Tue, 16 Jun 2026 11:45:05 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:6b9d87a7-7b99-4d16-9e7f-938ac9b52a91</guid><dc:creator>BS202501273649</dc:creator><slash:comments>7</slash:comments><comments>https://community.cadence.com/thread/66074?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66074/ipcskillprocess-and-results-buffering/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I am using &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;ipcSkillProcess&lt;/span&gt; to allow a Python program to send SKILL commands to Virtuoso and consume the results.&amp;nbsp; &amp;nbsp;It all works very well - I use &lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;read&lt;/span&gt; on the Python side and it gets back bytes containing the result of evaluating the command sent.&lt;/p&gt;
&lt;p&gt;In production I generally haven&amp;#39;t seen any problems but in theory it seems I should worry about the length of the results - the read could provide a buffer&amp;#39;s worth but there might be more to come.&amp;nbsp; The&amp;nbsp;manual&amp;nbsp;talks about a 4096 byte buffer but I&amp;#39;ve certainly got more than that in a single read.&amp;nbsp; But I have been able&amp;nbsp;to exceed some buffer size somewhere&amp;nbsp;in a testing scenario by making the result of the evaluation very long.&amp;nbsp; Then my Python program only gets the first part of the results truncated and the rest comes through in the next read.&amp;nbsp; Not sure if that is a Python or a Virtuoso buffer size.&lt;/p&gt;
&lt;p&gt;I&amp;nbsp;could fix that by forcing some delimiters into the results and in Python reading until I get the terminating delimiter but that&amp;#39;s a bit constraining on the results format.&amp;nbsp; &amp;nbsp;Or I&amp;nbsp;could maybe check for the buffer being full somewhere (on the Python side or the Virtuoso side?) and giving an error or special casing it somehow.&lt;/p&gt;
&lt;p&gt;Neither seem very attractive.&amp;nbsp; Is there a sensible standard pattern for handling this?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Lock icon appears when SKILL PCell is loaded</title><link>https://community.cadence.com/thread/66069?ContentTypeID=0</link><pubDate>Mon, 15 Jun 2026 12:59:40 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:97d65b99-a187-4976-a607-3f8cab6dfa69</guid><dc:creator>thiruvenkata</dc:creator><slash:comments>6</slash:comments><comments>https://community.cadence.com/thread/66069?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66069/lock-icon-appears-when-skill-pcell-is-loaded/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p data-path-to-node="4"&gt;Hi All,&lt;/p&gt;
&lt;p data-path-to-node="5"&gt;I noticed something new while creating PCells using SKILL. Whenever I load the SKILL PCell, a user lock icon appears in the view type section. The only way I can get rid of it is by opening and closing the supermaster cellview.&lt;/p&gt;
&lt;p data-path-to-node="6"&gt;I am currently using the &lt;code data-path-to-node="6" data-index-in-node="25"&gt;pcCellView&lt;/code&gt; variable in my PCell development. Is there an internal variable or a proper method to automatically close the PCell cellview after it opens, creates the required geometries, and finishes processing?&lt;/p&gt;
&lt;p data-path-to-node="6"&gt;&lt;/p&gt;
&lt;p data-path-to-node="6"&gt;I cannot attach screenshot for some reason, so I&amp;#39;ll share the screenshot using image hosting:&lt;/p&gt;
&lt;p data-path-to-node="6"&gt;&amp;nbsp;&lt;a href="https://github.com/user-attachments/assets/1bc9ff6b-08f0-4875-bbd1-942fb96273bf"&gt;github.com/.../1bc9ff6b-08f0-4875-bbd1-942fb96273bf&lt;/a&gt;&lt;/p&gt;
&lt;p data-path-to-node="6"&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to make the well proximity effect default to auto?</title><link>https://community.cadence.com/thread/66065?ContentTypeID=0</link><pubDate>Fri, 12 Jun 2026 10:38:51 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:33ba7781-7449-4cf2-a784-7e75190e7280</guid><dc:creator>RM202605273230</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/66065?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66065/how-to-make-the-well-proximity-effect-default-to-auto/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello&amp;nbsp;&lt;br /&gt;&lt;br /&gt;How to make the well proximity effect default to auto? i am currently using the tsmc 65nm where after placing the each transistor i have to go in symbol properties and make the well proximity option to auto instead i am looking for some option default all transistor can be make to auto in 1 go ?&lt;br /&gt;&lt;br /&gt;thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>ipcGetExitStatus() does not give correct return value</title><link>https://community.cadence.com/thread/66005?ContentTypeID=0</link><pubDate>Wed, 20 May 2026 15:09:44 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:3a7117cb-5b92-4bc4-a319-797d91bf5f4c</guid><dc:creator>mbracht</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/66005?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66005/ipcgetexitstatus-does-not-give-correct-return-value/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;#39;am running a bash shell script as an ipc process...like this&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp;(let (ipc)&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ipc=(ipcBeginProcess &amp;quot;myScript.bsh 0&amp;quot;)&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ipcWait(ipc)&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ipcGetExitStatus(ipc)&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp;)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;The bash script &lt;em&gt;myScript.bsh&lt;/em&gt; is simple, it&amp;#39;s return value is whatever I pass in as an argument&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp;#!/bin/bash&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp;exit $1&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;However I keep getting 127 from ipcGetExitStatus(..) - regardless from whatever the bash script actually returns.&lt;br /&gt;Strangely it works for Unix built-in commands like for example &amp;quot;ls&amp;quot;.&lt;br /&gt;&lt;br /&gt;Any idea?&lt;br /&gt;&lt;br /&gt;thanks&lt;br /&gt;Max&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re-evaluate results in assembler via SKILL?</title><link>https://community.cadence.com/thread/66000?ContentTypeID=0</link><pubDate>Mon, 11 May 2026 16:02:11 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d3a82f80-8aa4-47f6-b644-9b04be33bbd2</guid><dc:creator>leok</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/66000?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/66000/re-evaluate-results-in-assembler-via-skill/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I might be blind, but I cannot find the SKILL function which does the same as clicking the &amp;quot;re-evaluate&amp;quot; button in the assembler results... Is there one?&lt;br /&gt;&lt;span class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span&gt;&lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;It&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;would&lt;/span&gt; &lt;span class="--l --r"&gt;&lt;span class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;be&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;useful&lt;/span&gt;&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;as&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;I&amp;#39;m&lt;/span&gt; &lt;span class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;creating&lt;/span&gt;&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;a&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;report&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;generator&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;and&lt;/span&gt; &lt;span class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;want&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;to&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;ensure&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;that&lt;/span&gt;&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;I&lt;/span&gt; &lt;span class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;can&lt;/span&gt;&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;see&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;the&lt;/span&gt; &lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;latest&lt;/span&gt; &lt;span class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;&lt;span class="--l --r hover:dark:text-blue-300 hover:text-blue-500 lmt__words_highlight"&gt;results&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="--l --r lmt_write_context_menu_highlight lmt_write_context_menu_interacted_sentence_highlight"&gt;&lt;span&gt;&lt;span class="--l --r"&gt;&lt;span class="--l --r border-b-2 border-green-100 dark:border-green-500 dark:text-green-300 lmt__write_highlight relative text-green-600"&gt;Best Regards,&lt;br /&gt;leo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>print pins into csv file</title><link>https://community.cadence.com/thread/65996?ContentTypeID=0</link><pubDate>Sat, 09 May 2026 06:17:12 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:4f4912a3-22d3-469c-8816-29aded49d355</guid><dc:creator>gangliurfic</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65996?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65996/print-pins-into-csv-file/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I want to select an instance in a schematic and then call a function to save all the pins, name, direction, signal type, net into a csv file.&lt;/p&gt;
&lt;p&gt;Is there such a build in function in Cadence?&lt;/p&gt;
&lt;p&gt;I have a code working for name and direction, but got stuck at signal type&lt;/p&gt;
&lt;p&gt;Below is the part of the code i am using, name and direction works fine, but signal type returns nil, so I am getting errors for fprint.&lt;/p&gt;
&lt;p&gt;pinname=instTerm~&amp;gt;term-&amp;gt;name&lt;br /&gt;pindirection=instTerm~&amp;gt;term-&amp;gt;direction&lt;br /&gt;pinsig=instTerm~&amp;gt;term~&amp;gt;sigType&lt;br /&gt;netname=instTerm~&amp;gt;term~&amp;gt;net~&amp;gt;name&lt;br /&gt;fprintf(myPort &amp;quot;\n%s\t%s\t%s\t%s&amp;quot; pinname pindirection &amp;quot;not working yet&amp;quot; netname)&lt;/p&gt;
&lt;p&gt;How can this be fixed?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Skill script to auto save upon streamout, and upon page up throughout layout hierarchy</title><link>https://community.cadence.com/thread/65995?ContentTypeID=0</link><pubDate>Fri, 08 May 2026 16:58:23 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:8a030e53-3ac6-4fc0-9995-56b8ac472776</guid><dc:creator>blankman</dc:creator><slash:comments>3</slash:comments><comments>https://community.cadence.com/thread/65995?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65995/skill-script-to-auto-save-upon-streamout-and-upon-page-up-throughout-layout-hierarchy/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, Haven&amp;#39;t had the time to look into creating this via Skill myself yet, just putting feelers out to see if anything already exists. Had a look through existing posts but coud not locate.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Just wondering if there is a possibility to autosave upon streamout within Virtuoso?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Also, is it possible to setup an auto save feature to auto save upon page up through layout hierarchy?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am trying to minimize the amount of popups I see asking me if I want to save the cellview if layout edits have been made but not saved.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Any help very much appreciated,&lt;/p&gt;
&lt;p&gt;Kr,&lt;/p&gt;
&lt;p&gt;Brian.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to make the variables and utilize the coordinates.</title><link>https://community.cadence.com/thread/65980?ContentTypeID=0</link><pubDate>Mon, 04 May 2026 04:50:48 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:eb94345f-1d34-4bcb-97c6-3bbce43ed319</guid><dc:creator>Noobnoob</dc:creator><slash:comments>7</slash:comments><comments>https://community.cadence.com/thread/65980?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65980/how-to-make-the-variables-and-utilize-the-coordinates/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello, i&amp;#39;m sorry for my english skill.&lt;/p&gt;
&lt;p&gt;As a title, i wonder how to make variables and count those.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m making Layout Skill that count Channel of MOS by using skill language.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For example,&lt;/p&gt;
&lt;p&gt;if two MOS that have w = 5um &amp;amp; l = 5um and two MOS that have w = 3um &amp;amp; l = 5um are placed in top level Layout Cellview.&lt;/p&gt;
&lt;p&gt;I want to show that number of each MOS that include channel size in CIW.&lt;/p&gt;
&lt;p&gt;CIW :&lt;/p&gt;
&lt;p&gt;width = 5um &amp;amp; length = 5um, multi = 2ea&lt;/p&gt;
&lt;p&gt;width = 3um &amp;amp; length = 5um, multi = 2ea&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Presently, i got coordinate of each channel in top level.&lt;/p&gt;
&lt;p&gt;But, i have trouble with utilzing coordinates...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;How can i make variables by size and count those....?&lt;/p&gt;
&lt;p&gt;below, i made a script by using skill language and wonder how to utilize coordinates.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to get the size of a custom dockable window</title><link>https://community.cadence.com/thread/65975?ContentTypeID=0</link><pubDate>Thu, 30 Apr 2026 18:25:12 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:a6c5442c-0eb7-4302-bf69-3df65ab25e96</guid><dc:creator>MikeVP</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65975?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65975/how-to-get-the-size-of-a-custom-dockable-window/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I have a custom session window in which I create a custom dockable window.&amp;nbsp; If the user changes the size of the dockable window, I would like to save that to an external file so it can be used to restore the size if a new session window is created.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve searched google, the UI reference and the community posts but can&amp;#39;t find anything.&amp;nbsp; I did see&amp;nbsp;&lt;a href="https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000wg3tEAA&amp;amp;pageName=ArticleContent"&gt;Why does my custom docked form in my layout window ignore the specified dockSizeHint?&lt;/a&gt;, but that is 6 years old and I would hope that CCR has fixed the issue (the CCR wasn&amp;#39;t listed).&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve tried:&lt;br /&gt;dwin=dwindow( &amp;#39;dHandle )&lt;br /&gt;dwin~&amp;gt;?&lt;br /&gt;(hiForm hiHandle visibilityProc)&lt;br /&gt;&lt;br /&gt;But none of those elements have any information.&lt;/p&gt;
&lt;p&gt;How do I find that information?&lt;/p&gt;
&lt;p&gt;Also, if there is a good source on dockable windows, can you let me know so I can read up?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>schHiCopy() question</title><link>https://community.cadence.com/thread/65954?ContentTypeID=0</link><pubDate>Sat, 25 Apr 2026 00:10:52 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:6150ed07-f480-4c52-ba54-0ecfa3f6e4c6</guid><dc:creator>gangliurfic</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65954?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65954/schhicopy-question/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;When I hover my cursor on an object in the schematic and press &amp;quot;c&amp;quot; to copy it, I have to click once to select the object, or provide a reference point, and then click a second time at the destination.&lt;/p&gt;
&lt;p&gt;Is there a way to save the 1st click, and just use my cursor location when I press the &amp;quot;c&amp;quot; button?&lt;/p&gt;
&lt;p&gt;I tried to add&amp;nbsp;schSingleSelectPt() after schHiCopy(), it still asks me to click left button twice.&lt;/p&gt;
&lt;p&gt;Is there a skill function that does the mouse click?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Symbol Editor Navigator Pins not updating</title><link>https://community.cadence.com/thread/65952?ContentTypeID=0</link><pubDate>Fri, 24 Apr 2026 16:44:33 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:cd59aac3-716b-4021-8c51-cf3c144b0d35</guid><dc:creator>Trevor F</dc:creator><slash:comments>3</slash:comments><comments>https://community.cadence.com/thread/65952?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65952/symbol-editor-navigator-pins-not-updating/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Good evening,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m creating a tool which renames pins attached to a given cell. This walks the hierarchy, updating various view types.&lt;/p&gt;
&lt;p&gt;Specifically on the symbol view, I&amp;#39;ve encountered an issue. I am able to update the pin names via renaming the labels, and applying various check and save/database operations. I&amp;#39;ve confirmed the pin order via schGetPinOrder(symId), and it matches perfectly. I&amp;#39;ve also confirmed the cdsTerms, nets, and pins are renamed. The ONLY issue I&amp;#39;m encountering is the Pins menu via the Navigator. The old pin name changes to a &amp;quot;Symbol&amp;quot; rather than a &amp;quot;Symbol Pin&amp;quot; on the Property Editor, selecting it doesn&amp;#39;t highlight any pins (expected), and it displays the old name.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve combed through the list of warnings, and there is no pin order mismatch, port mismatch, or anything of value.&lt;/p&gt;
&lt;p&gt;Through further investigation I found two properties that still hold the old name after the rename:&lt;/p&gt;
&lt;p&gt;1. cellView~&amp;gt;sigNames &amp;mdash; a cached list of signal names on the cellview object itself. This is separate from the terminals and does not update automatically when terminal names change.&lt;/p&gt;
&lt;p&gt;2. parentCv~&amp;gt;conns[N]~&amp;gt;inst~&amp;gt;instTerms[N]~&amp;gt;name &amp;mdash; instance terminal name caches on every parent schematic that instantiates the renamed symbol. These appear to be read-only (DB Cannot set attribute - name), so we have not been able to update these directly.&lt;/p&gt;
&lt;p&gt;For (1) we are attempting dbReplacePropList(symId list(list(&amp;quot;sigNames&amp;quot; &amp;quot;stringList&amp;quot; newList))) but have not yet confirmed whether sigNames is a writable named property or a read-only computed attribute in OpenAccess.&lt;/p&gt;
&lt;p&gt;For (2) we are unsure of the correct mechanism to refresh instance terminal caches after a master cell&amp;#39;s terminals are renamed programmatically.&lt;/p&gt;
&lt;p&gt;Any guidance is appreciated. I&amp;#39;m knowingly not deleting/adding pins to rename, as it doesn&amp;#39;t fit our tools specs.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Trevor&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to find current visible assistants in schematic editor</title><link>https://community.cadence.com/thread/65945?ContentTypeID=0</link><pubDate>Wed, 22 Apr 2026 16:04:41 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:28e3048b-4d8d-4196-b5de-0614fd6ba46a</guid><dc:creator>MikeVP</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65945?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65945/how-to-find-current-visible-assistants-in-schematic-editor/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Is there a SKILL function that reports the currently visible assistants in a schematic window?&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve tried:&lt;/p&gt;
&lt;p&gt;foreach( assistant list( &amp;quot;Annotation Browser&amp;quot; &amp;quot;Navigator&amp;quot; &amp;quot;Probes&amp;quot; &amp;quot;Property Editor&amp;quot; &amp;quot;Search&amp;quot; &amp;quot;World View&amp;quot;)&lt;br /&gt;&amp;nbsp; &amp;nbsp; awin=deFindAssistant( assistant hiGetSessionWindow(hiGetCurrentWindow()))&lt;br /&gt;&amp;nbsp; &amp;nbsp; dprint(awin-&amp;gt;visibitlityProc)&lt;br /&gt;)&lt;/p&gt;
&lt;p&gt;But this yields no relevant information.&amp;nbsp; I can switch the visibility of assistants using the mouse and the output of this code doesn&amp;#39;t change.&lt;/p&gt;
&lt;p&gt;Any help would be appreciated.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: Skill or environment setting for Job Policy Setup</title><link>https://community.cadence.com/thread/65940?ContentTypeID=0</link><pubDate>Tue, 21 Apr 2026 00:12:42 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:838bbcf6-be03-4509-a177-45544d9b20e9</guid><dc:creator>SL20260319720</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/65940?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65940/re-skill-or-environment-setting-for-job-policy-setup/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Is there skill commands or environment&amp;nbsp;variables that will allow one to set the&amp;nbsp;values for &amp;quot;parallel environment&amp;quot; and &amp;quot;Parallel Num. Process&amp;quot; within the Job Policy Setup-&amp;gt;Simulation for Explorer?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Su Lim&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>equivalent skill function to the unix dirname command</title><link>https://community.cadence.com/thread/65937?ContentTypeID=0</link><pubDate>Mon, 20 Apr 2026 13:45:47 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:9cfc8379-9513-42a6-9bb7-a0b7d4175a9f</guid><dc:creator>kkdesbois</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65937?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65937/equivalent-skill-function-to-the-unix-dirname-command/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Is there an API that returns the directory path of a full path, like unix dirname command&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I currently use this syntax&lt;br /&gt;(buildString (reverse (cdr (reverse (parseString (simplifyFilename fileName) &amp;quot;/&amp;quot;)))) &amp;quot;/&amp;quot;)&lt;/p&gt;
&lt;p&gt;Is there a more elegant way to do the same?&lt;/p&gt;
&lt;p&gt;Laurent.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>skill code for maestro</title><link>https://community.cadence.com/thread/65924?ContentTypeID=0</link><pubDate>Wed, 15 Apr 2026 08:23:31 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:a0f18c18-1a87-4856-bda4-d9821b1a4237</guid><dc:creator>AS202509094448</dc:creator><slash:comments>3</slash:comments><comments>https://community.cadence.com/thread/65924?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65924/skill-code-for-maestro/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I want to use skill code in non gui method to save maestro history. Like manually it is in toolbar options-&amp;gt; save-&amp;gt;hisotry&lt;/p&gt;
&lt;p&gt;envSetVal(&amp;quot;adexl.simulation&amp;quot; &amp;quot;saveLastNHistoryEntries&amp;quot; &amp;#39;int 200)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Above command is working in CIW but it is limited to this icfb session. And gets reset at new icfb launch.&lt;/p&gt;
&lt;p&gt;I want to use it for particular maestro in all icfb session. If I will edit cds.env file, it will set for all maestros.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>How to use dbOpenCellViewByType() to create a Spectre view ?</title><link>https://community.cadence.com/thread/65920?ContentTypeID=0</link><pubDate>Tue, 14 Apr 2026 12:59:32 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:9389a8f9-c8ba-49aa-ae99-108d3d0fa64e</guid><dc:creator>Umbrajo</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65920?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65920/how-to-use-dbopencellviewbytype-to-create-a-spectre-view/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I am trying to automate the creation of components with Spectre netlists using SKILL (v. ICADVM20.1-64b.).&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;When I want to use the function dbOpenCellViewByType(libName cellName &amp;quot;Spectre&amp;quot; &amp;quot;Spectre&amp;quot; &amp;quot;w&amp;quot;), I get &amp;quot; *WARNING* (DB-270208): dbOpenCellViewByType: unrecognized database viewType &amp;#39;Spectre&amp;#39; &amp;quot; in the CIW and no view is created.&lt;/p&gt;
&lt;p&gt;I tried with the following formatting for the word &amp;quot;spectre&amp;quot;: &amp;quot;Spectre&amp;quot; and &amp;quot;spectre&amp;quot;. I get the same issue. I looked for information to overcome this issue in &amp;quot;SKILL Language User Guide&amp;quot;,&amp;nbsp;&amp;quot;SKILL Language Reference&amp;quot; and especially in &amp;quot;Virtuoso Design Environment SKILL Reference&amp;quot; but no detail could help me.&lt;/p&gt;
&lt;p&gt;I am confused because Spectre views are possible to create with the Library Manager (when using the graphical interface).&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;So 2 questions:&lt;br /&gt;1. Where should I look in order to view which viewTypes are recognized by SKILL ?&lt;/p&gt;
&lt;p&gt;2. If you think I am trying to create&amp;nbsp;Spectre views with SKILL the wrong way, could you suggest a new way ?&lt;/p&gt;
&lt;p&gt;Thanks for reading and for your help.&lt;/p&gt;
&lt;p&gt;Sincerely,&lt;/p&gt;
&lt;p&gt;Umbrajo.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Seeing error while exporting a pcell</title><link>https://community.cadence.com/thread/65899?ContentTypeID=0</link><pubDate>Mon, 06 Apr 2026 07:51:03 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:ee9e3502-f989-4a64-9792-f7330a31e4c8</guid><dc:creator>GB20250109498</dc:creator><slash:comments>2</slash:comments><comments>https://community.cadence.com/thread/65899?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65899/seeing-error-while-exporting-a-pcell/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, Encountering below error while building a pcell using script. Pcell is absolutely fine, but seeing issue while exporting. but&amp;nbsp; Not understanding the exact proplem,, can anybody help me?&lt;br /&gt;&lt;br /&gt;PCELL CODE:&lt;/p&gt;
&lt;p&gt;pcDefinePCell(&lt;br /&gt;list( ddGetObj(&amp;quot;LOCAL_LIB&amp;quot;) &amp;quot;cellname&amp;quot; &amp;quot;layout&amp;quot;)&lt;br /&gt; &lt;br /&gt;( &lt;br /&gt;(Fingers string &amp;quot;12&amp;quot;)&lt;br /&gt;(Nrows string &amp;quot;1&amp;quot;)&lt;br /&gt;(Vt_type?svt?lvt?ulvt? string &amp;quot;svt&amp;quot;)&lt;br /&gt;(Gate_Length_8?11? string &amp;quot;8&amp;quot;)&lt;br /&gt;(Bottom_Row_vss?vdd? string &amp;quot;vss&amp;quot;)&lt;br /&gt;(col_tap?none?left?right?both? string &amp;quot;none&amp;quot;)&lt;br /&gt;)&lt;/p&gt;
&lt;p&gt;let(&lt;br /&gt;(cv cell Fngr npoly nh Dev_VT PL Start tap col_tap Lib PC NC BR BL PR2 PR4 PR8 NR2 NR4 NR8 NTAP PTAP COL_TAP origX origY ppitch row_pitch rows coltap_h x y row_tap_wid)&lt;br /&gt;cv=pcCellView&lt;/p&gt;
&lt;p&gt;unless( cellId = ddGetObj( &amp;quot;LOCAL_LIB&amp;quot; &amp;quot;cellname&amp;quot; )&lt;br /&gt; error( &amp;quot;Could not find cell %s.&amp;quot; cell ) ; error, if cell not in library&lt;br /&gt; )&lt;br /&gt; when( cdfId = cdfGetBaseCellCDF( cellId )&lt;br /&gt; cdfDeleteCDF( cdfId )&lt;br /&gt; )&lt;br /&gt; &lt;br /&gt; cellId=ddGetObj(&amp;quot;LOCAL_LIB&amp;quot; &amp;quot;cellname&amp;quot;)&lt;br /&gt; cdfId=cdfCreateBaseCellCDF(cellId)&lt;/p&gt;
&lt;p&gt;cdfCreateParam(cdfId&lt;br /&gt; ?name &amp;quot;Fingers&amp;quot;&lt;br /&gt; ?type &amp;quot;string&amp;quot;&lt;br /&gt; ?prompt &amp;quot;Fingers&amp;quot;&lt;br /&gt; ?defValue &amp;quot;2&amp;quot;&lt;br /&gt; ) &lt;br /&gt;cdfCreateParam(cdfId&lt;br /&gt; ?name &amp;quot;Nrows&amp;quot;&lt;br /&gt; ?type &amp;quot;string&amp;quot;&lt;br /&gt; ?prompt &amp;quot;Number of Rows&amp;quot;&lt;br /&gt; ?defValue &amp;quot;2&amp;quot;&lt;br /&gt; ) &lt;br /&gt;cdfCreateParam(cdfId&lt;br /&gt; ?name &amp;quot;Vt_type?svt?lvt?ulvt?&amp;quot;&lt;br /&gt; ?type &amp;quot;radio&amp;quot;&lt;br /&gt; ?prompt &amp;quot;VT type&amp;quot;&lt;br /&gt; ?choices list(&amp;quot;SVT&amp;quot; &amp;quot;LVT&amp;quot; &amp;quot;ULVT&amp;quot;)&lt;br /&gt; ?defValue &amp;quot;SVT&amp;quot;&lt;br /&gt; ) &lt;br /&gt;cdfCreateParam(cdfId&lt;br /&gt; ?name &amp;quot;Gate_Length_8?11?&amp;quot;&lt;br /&gt; ?type &amp;quot;radio&amp;quot;&lt;br /&gt; ?prompt &amp;quot;Gate Length&amp;quot;&lt;br /&gt; ?choices list(&amp;quot;8&amp;quot; &amp;quot;11&amp;quot;)&lt;br /&gt; ?defValue &amp;quot;8&amp;quot;&lt;br /&gt; ) &lt;br /&gt;cdfCreateParam(cdfId&lt;br /&gt; ?name &amp;quot;Bottom_Row_vss?vdd?&amp;quot;&lt;br /&gt; ?type &amp;quot;radio&amp;quot;&lt;br /&gt; ?prompt &amp;quot;Bottom Row&amp;quot;&lt;br /&gt; ?choices list(&amp;quot;vss&amp;quot; &amp;quot;vdd&amp;quot;)&lt;br /&gt; ?defValue &amp;quot;vss&amp;quot;&lt;br /&gt; ) &lt;br /&gt; cdfCreateParam(cdfId&lt;br /&gt; ?name &amp;quot;col_tap?none?left?right?both?&amp;quot;&lt;br /&gt; ?type &amp;quot;radio&amp;quot;&lt;br /&gt; ?prompt &amp;quot;Column Tap&amp;quot;&lt;br /&gt; ?choices list(&amp;quot;None&amp;quot; &amp;quot;Left&amp;quot; &amp;quot;Right&amp;quot; &amp;quot;Both&amp;quot;)&lt;br /&gt; ?defValue &amp;quot;None&amp;quot;&lt;br /&gt; )&lt;br /&gt;&lt;br /&gt; &amp;lt;Body of the script&amp;gt;&lt;br /&gt;]&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Error while exporing the GDS:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;*WARNING* (DB-270001): Pcell evaluation for LOCAL_LIB/cellname/layout has the following error(s):&lt;br /&gt;*WARNING* (DB-270002): (&amp;quot;eval&amp;quot; 0 t nil (&amp;quot;*Error* eval: undefined function&amp;quot; cdfCreateBaseCellCDF))&lt;br /&gt;ERROR (XSTRM-231): Pcell evaluation failed for &amp;#39;LOCAL_LIB/cellname/layout&amp;#39; because the Pcell SKILL code contains either a syntax error or an unsupported XStream function. Check the standard output or the Virtuoso log file for more information. Cadence recommends correcting the Pcell SKILL code to resolve the issue. However, to ignore these errors and continue the translation, you may use the &amp;#39;-ignorePcellEvalFail&amp;#39; option.&lt;br /&gt;INFO (XSTRM-273): Translation failed. &amp;#39;1&amp;#39; error(s) and &amp;#39;39&amp;#39; warning(s) found.&lt;br /&gt;strmout completed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>how to merge points??</title><link>https://community.cadence.com/thread/65892?ContentTypeID=0</link><pubDate>Fri, 03 Apr 2026 07:04:05 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:17b417e3-3065-4b9e-a9c9-d19ea5e4f031</guid><dc:creator>Noobnoob</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/65892?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65892/how-to-merge-points/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello guys&lt;/p&gt;
&lt;p&gt;I had to merge points&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But, i didn&amp;#39;t understand dbPointArrayOr() Function Well...&lt;/p&gt;
&lt;p&gt;a = ( (0.0 0.0) (0.0 5.0) (5.0 5.0) (5.0 0.0) )&lt;/p&gt;
&lt;p&gt;b = (0.0 0.0)&lt;/p&gt;
&lt;p&gt;c = dbPointArrayOr( geGetWindowCellView() list(a) list(list(b)) )&lt;/p&gt;
&lt;p&gt;What did i do wrong??&lt;/p&gt;
&lt;p&gt;please tell me about dbPointArrayOr()...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>simplify all the Vias for EM simulator</title><link>https://community.cadence.com/thread/65879?ContentTypeID=0</link><pubDate>Mon, 30 Mar 2026 06:54:02 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:bb8929db-ecdd-4670-b8fb-a04c850c9390</guid><dc:creator>Mooh</dc:creator><slash:comments>1</slash:comments><comments>https://community.cadence.com/thread/65879?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65879/simplify-all-the-vias-for-em-simulator/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello everyone,&lt;/p&gt;
&lt;p&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/p&gt;
&lt;p dir="auto"&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;I&amp;#39;m looking to replace all Via Arrays with a single, large rectangular Via . Does anyone know of an existing Skill script that can accomplish this?&lt;/p&gt;
&lt;p&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;/p&gt;
&lt;p dir="auto"&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;&lt;!----&gt;I&amp;#39;ve tried using the script below, but unfortunately, it didn&amp;#39;t work as expected. If anyone has a solution or can point me in the right direction, I&amp;#39;d greatly appreciate it.&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/47506/replace-via-array-with-one-large-via-rectangle-per-instance/1372589"&gt;RE: Replace via array with one large via rectangle per instance&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Redefine a function embedded in a method</title><link>https://community.cadence.com/thread/65863?ContentTypeID=0</link><pubDate>Tue, 24 Mar 2026 08:56:25 GMT</pubDate><guid isPermaLink="false">75bcbcf9-38a3-4e2e-b84b-26c8c46a9500:d73d7dca-3f78-46bc-a664-a0e342a057ad</guid><dc:creator>kkdesbois</dc:creator><slash:comments>0</slash:comments><comments>https://community.cadence.com/thread/65863?ContentTypeID=0</comments><wfw:commentRss>https://community.cadence.com/cadence_technology_forums/f/custom-ic-skill/65863/redefine-a-function-embedded-in-a-method/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;In my product, I use classes and methods.&lt;/p&gt;
&lt;p&gt;Inside a method, I have embedded several functions used in the method core, for example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(defmethod myMeth ( (self myClass) )&lt;/p&gt;
&lt;p&gt;(let ()&lt;/p&gt;
&lt;p&gt;&amp;nbsp; (defun fun1 () ...)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; (defun fun2 () ...)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; (fun1)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; (fun2)&lt;/p&gt;
&lt;p&gt;)) ; let + defmethod&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;span&gt;Unfortunately, there is a weakness in one of these functions.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Is it possible to redefine such a function&amp;nbsp;&lt;/span&gt;afterwards&lt;span&gt;&amp;nbsp;(a posteriori)?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Laurent.&lt;br /&gt;&lt;br /&gt;PS. Edit : functions are inside a let&amp;nbsp;closure&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>