Quantcast
Channel: Cadence Custom IC Skill Forum
Viewing all 5094 articles
Browse latest View live

Creating via in a given area

$
0
0

Hi,

I am trying to place vias using script and i am using the function viaGenerateViasInArea. If i am using ?topAndBottomLayers then this function is placing vias outside the the area specified.

can anyone comment on this


Is there a bindkey to toggle between viadef and via minimui on VXL?

$
0
0

Is there a bindkey to toggle between viadef and via minimui on VXL?

Issues with spacebar as bindkey

$
0
0

Hello

I am trying to apply the following bindkey

hiSetBindKey("Layout" "<Key>space" "mouseApplyOrFinishPoint()")
hiSetBindKey("Layout" "<Key>space EF" "")

This works wonderfully until I create a wire......the spacebar bindkey is overwritten to add via and no longer works as "mouseApplyOrFinishPoint()" in other commands.

I am using IC6.1.7-64b.500.22

Thanks for any insight.

Clint

Calibre GDS exporting issue

$
0
0

Hi,

When running DRC/LVS through calibre tool, it unable to export GDS from layout, it is showing following error in the virtuoso (CIW)

"virserver.tcl error: Invalid command: mgc_rve_export_layout"

What can be the issue.  can anyone please help me on this.

How to save different checklimitfile for multiple parallel runs in Device Checking?

$
0
0

Hi,

I am running Device checking in ADEXL for PVT and want to save checklimitfiles separately for each run. If I put a file name to checklimitfile, later runs will overwrite. Is there a way to pass a variable or some other way to have different device check output files?

Thanks

yayla

Version Info:

ICADV12.3 64b 500.21

spectre -W =>

Tool 'cadenceMMSIM' Current project version '16.10.479'
sub-version  16.1.0.479.isr9

Link Layout PCell to Schematic Symbol

$
0
0

Hi,

I have created a MIMCap PCell in the layout editor and also created a symbol in Schematic. I need help in creating a Schematic Symbol for MIMCap that can accept values from the user and the same values are reflected in layout PCell.

Thankyou

How to prevent auto-checkout of data.dm

$
0
0

I found the functionality to check out all cellviews with the same name, e.g. schematic, under a library. 

The GUI looks like this:

What I find it not so perfect is that it checks out data.dm of every cell, which I don't think is needed. I wonder whether I can tell the tool not to do this. 

Enhance open design in new tab

$
0
0

I've the following skill thats working in a way, but has limitations. Right now it opens up the selected instance in a layout/schematic design in a new tab. But doesn't have the feature of schHiDescendRead() where i can still retain the probes added on to nets when it opens in a new tab. Also, i'm not sure what am i missing on the layout when in opens in a new tab. How can i add these features to the code below? Right now it opens only one of the selected instances if many are selected, is it possible to open all the selected ones in new different tabs as well?

+++++++++++++++++++++++++++++++++++++++++

procedure(srOpenLayoutInTab()

libName = car(geGetSelSet()~>libName)
cellName = car(geGetSelSet()~>cellName)
viewName = car(geGetSelSet()~>viewName)
cellViewType = geGetEditCellView()~>cellViewType

when(
geGetSelSet() != nil
printf("\nOpening the design %A in a new tab\n\n" cellName)

when(
cellViewType == "maskLayout"
window = hiOpenWindow(?session hiGetSessionWindow(hiGetCurrentWindow()) ?type "graphics" ?appType hiGetAppType(hiGetCurrentWindow()))
window->sessionWindow=hiGetSessionWindow(hiGetCurrentWindow())
geOpen(
?window window
?lib libName
?cell cellName
?view viewName
?viewType cellViewType
?mode "r"
)
);when

when(
cellViewType == "schematic"
window = hiOpenWindow(?session hiGetSessionWindow(hiGetCurrentWindow()) ?type "graphics" ?appType hiGetAppType(hiGetCurrentWindow()))
window->sessionWindow=hiGetSessionWindow(hiGetCurrentWindow())
geOpen(
?window window
?lib libName
?cell cellName
?view "schematic"
?viewType cellViewType
?mode "r"
)
);when
);when

);procedure

hiSetBindKey("Layout" "Super<Key>x" "srOpenLayoutInTab()")
hiSetBindKey("Schematics" "Super<Key>x" "srOpenLayoutInTab()")

+++++++++++++++++++++++++++++++++++++++++


How to trace a named net by logic mode using LntAddTrace ?

$
0
0

When we run command lntHiNetTracer() ,we can trigger F3 to choose tracing mode : physical or logic.

But when we use LntAddTrace in script , there is no option to support logic mode, Is there have an environment option to control this?

Regards

Dave

Is there any way to forcing update for layout environment value?

$
0
0

when we use envSetVal to change a value for  layout cell view, such as enableDimming , the current layout won’t update display result.  But when we reopen this layout , the display is changed.  So is there have any command to forcing update the tool environment value?

Regards 

Dave

Can't retain the create->probe option across sch designs in tabs

$
0
0

I wrote the following code to open the selected instances in layout/schematic in a new tab.

But somehow this doesn't workout well since the create->probe doesn't work well in schematic across the tabs, also it gives the following ERROR. Could someone help me here to fix this?

*Error* _schIsUserEditable: argument #1 should be a string (type template = "t") - nil

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

procedure(srOpenLayoutInTab()

techLibName = techGetTechFile(geGetEditCellView())~>libName
myCells = geGetSelSet()

if( myCells then

foreach( cells myCells
cellViewType = cells~>master~>cellViewType
when(
cellViewType == "maskLayout"
if( cells~>isAnyInst then
myLibName = cells~>libName
myCellName = cells~>cellName
myViewName = cells~>viewName
printf("\nOpening the design %A from lib %A in a new tab\n\n" myCellName myLibName)
window = hiOpenWindow(?session hiGetSessionWindow(hiGetCurrentWindow()) ?type "graphics" ?appType hiGetAppType(hiGetCurrentWindow()))
window->sessionWindow=hiGetSessionWindow(hiGetCurrentWindow())
geOpen(
?window window
?lib myLibName
?cell myCellName
?view myViewName
?viewType cellViewType
?mode "r"
)
);if
);when
);foreach

foreach( cells myCells
cellViewType = cells~>cellView~>cellViewType
when(
cellViewType == "schematic"
if( cells~>isAnyInst then
myLibName = cells~>libName
myCellName = cells~>cellName
;myViewName = cells~>viewName
printf("\nOpening the design %A from lib %A in a new tab\n\n" myCellName myLibName)
window = hiOpenWindow(?session hiGetSessionWindow(hiGetCurrentWindow()) ?type "graphics" ?appType hiGetAppType(hiGetCurrentWindow()))
window->sessionWindow=hiGetSessionWindow(hiGetCurrentWindow())
geOpen(
?window window
?lib myLibName
?cell myCellName
?view "schematic"
?viewType cellViewType
?mode "r"
)
);if
);when
);foreach

else
printf("\nNo instances are selected to open \n\n")
);if

);procedure

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Thanks

SSR

Convert "xxxxxb#b" to "xxxxx"

$
0
0

Where "xxxxx" can be any sub string and "#" can be any number. However "#" would rarely be more than two digits. The two "b" characters that are converted to "<" and ">" are always "b".

An example input string would be "abcdb9b" with the required return string being "abcd<9>".

I have a solution that appears work but it's ugly.

procedure( charReplace(string)
  let( ( inDex m1 m2 m3 mb str1 str2 )
    inDex = length(lindex(parseString(string "") "b" ?all t))
    m1 = pcreCompile( "b[0-9]+b$" )
    m2 = pcreCompile( "b$" )
    m3 = pcreCompile( "b[0-9]+>$" )
    mb = pcreCompile( "b" )
    if(pcreExecute(m1 string) then
      println("match m1")
      str1 = pcreReplace( m2 string ">" 0)
      if(pcreExecute(m3 str1) then
       println("match m3")
       str2 = pcreReplace( mb str1 "<" inDex - 1)
       println(str2)
      ) ; if
    ) ; if
  ) ; let
) ; proc

My main problem was how to replace the last 'b' with '>' and the second to last 'b' with '<'. I worked it out by first creating a new string with the last b (b$) replaced first and then operating on the new string to replace the second to last 'b'.

There must be a better way so I'm open to all comments, advice, suggestions, or questions.

Thanks in advance and cheers to all.

Assura probing through Skill

$
0
0

I have a design where I would like to probe some nets.  I can load the run and probe nets in the design with the Assura Probing tool.  I was wondering if this form calls SKILL commands to perform the probe or is there much more going on than I realize.  I have searched the Assura manuals and some Skill manuals but have not found a straightforward way to script the probe. I would like to automate a way to probe a set of signals without the need to enter them one by one in the form.  Any help would be greatly appreciated.

Trigger a Skill Code by Selecting/Deselecting an Instance in Schematic

$
0
0

Hello,

Is there a way to call-back a user defined skill code after I select an instance in schematic. I found a similar question on this forum but they suggest using leRegUserLayerSelectionFilter. This function seems to create a user-defined filter option which is not exactly what I want.

Thanks!

Is there a SKILL code to automatically add labels on wire/path/pathseg on VXL layout IC6.1.7 except for power lines and net###?

$
0
0

Is there a SKILL code to automatically add labels on wire/path/pathseg on VXL layout IC6.1.7 except for power lines and net###?


Layer Information at a point

$
0
0

Is there a skill function to obtain the overlapping layer information at a point say (x,y). Also is it possible to get their database id's.

Cadence Version: IC6.1.6

Highlight a Shape within a PCELL

$
0
0

Is there a skill function to highlight a shape within a PCell or an Instance. I Could get the transformed bbox of the shape within the PCell.

Shape Connectivity

$
0
0

Database ID of two shapes is known. How can I logically determine these two shapes are connected through a skill code?

Without using Marknet.

Porting Schematic from one voltage domain to other

$
0
0

Hi All,

I wanted to port a LevelShifter ckt which has VDD, VDD150, and VSS as the PG PORTS to VDD, VDD180, and VSS.  The fets used in 1.5V domain is of a different flavor when compared to the fets in 1.8V domain. I want to write a script for this task as I want to run this on an entire library. (Level Shifter is just an example here, the circuit may contain different components like resistors and capacitors also but we only need to change the fets as of now).

Please let me know a way how to do this using SKILL.

Thanks

Utkarsh

'system' command to open web browser url anchor

$
0
0

The pound sign (nobody calls it that anymore...) does not seem to translate well from a skill system command to a web browser URL.   I'd like to open a browser to a URL with an anchor:

system("/usr/bin/firefox file:///net/gra-filer/win/GVLayoutDocs/goodies.htm#arrayGen")

results in the attached screenshot where the # is converted to %23 in the URL (but not in the File not found page...) - If I replace %23 with # in the URL it loads to the correct anchor as expected .  How can I preserve the pound sign?

Viewing all 5094 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>