Creating via in a given area
Is there a bindkey to toggle between viadef and via minimui on VXL?
Issues with spacebar as bindkey
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
How to save different checklimitfile for multiple parallel runs in Device Checking?
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
How to prevent auto-checkout of data.dm
Enhance open design in new tab
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 ?
Is there any way to forcing update for layout environment value?
Can't retain the create->probe option across sch designs in tabs
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"
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
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
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
Highlight a Shape within a PCELL
Shape Connectivity
Porting Schematic from one voltage domain to other
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
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?