Bounding box of a layer in an instance in layout
Not able to select Alt Key for Bindkeys
Instance True BBox value
Clone in new window
Skill function to open schematic and check a box from dropdown
Hi
I'm new to skill programming,
I would like to know if this is possible using skill , my problem is
open a schematic-->open a setting form(ex: Create-->Cellview-->from Cellview)--> click on a button
and disable the checkbox(ex: Display Cellview....remove the tick mark)
I would like to automate this procedure and generate different netlists for lot of cells.
please let me know if this is possible using skill function
regards
Vijay
How to find the final time value of a signal?
( I did search the forum and support.cadence.. no luck)
Say my simulation terminates earlier than the input file specifies, I want to analyze the last 10 us of a waveform.
How can I get tmax, which is the final timepoint?
xmax gives the time value corresponding to the max value that the signal attained.
Thanks
How to write more efficient skill code for PCell?
I wrote a PCell program for a MEMS project recently. The code imitates virtuoso automatic generated PCell program. It looks lengthy and run very slowly.
How can i make it more effective?
1. How to retrieve PCell parameters more simply. Here is my let paragraph, looks ugly:
let((p1_d1 p1_r2 p1_r3 v1_r p1_leaf_style p1_leaf_l p1_leaf_w p1_leaf_hd
p1_notch_w p1_slot_angle p1_slot_ir p1_slot_or p1_slot p2_notch_angle
p2_notch_ir p2_notch_or p2_notch ang ang0 ang1 angi inita DPI x y i num
p1 p2 p3 p4 sides
pcInst pcParameters pcParamProp pcLayer pcPurpose
) ;local parameters
(pcLib = (pcCellView~>lib))
;Retrieve pCell parameters
(pcParameters = ((pcCellView~>parameters)~>value))
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_Visible")
)
))
(p1v = (pcParamProp~>value));P1_Visible
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P2_Style")
)
))
(p2s = (pcParamProp~>value));P2_Style
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_D1")
)
))
(p1_d1 = (pcParamProp~>value));P1_D1
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P2_D1")
)
))
(p2_d1 = (pcParamProp~>value));P2_D1
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_R2")
)
))
(p1_r2 = (pcParamProp~>value));P1_R2
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P2_R2")
)
))
(p2_r2 = (pcParamProp~>value));P2_R2
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_R3")
)
))
(p1_r3 = (pcParamProp~>value));P1_R3
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P2_R3")
)
))
(p2_r3 = (pcParamProp~>value));P2_R3
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "V1_R")
)
))
(v1_r = (pcParamProp~>value)) ;V1_R
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "V1_L")
)
))
(v1_l = (pcParamProp~>value));V1_L
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "V3_D")
)
))
(v3_d = (pcParamProp~>value));V3_D
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "V3_SP")
)
))
(v3_sp = (pcParamProp~>value));V3_SP
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "V3_EE")
)
))
(v3_ee = (pcParamProp~>value));V3_EE
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_Leaf_Style")
)
))
(p1_leaf_style = (pcParamProp~>value)) ;P1_Leaf_Style
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_Leaf_L")
)
))
(p1_leaf_l = (pcParamProp~>value)) ;P1_Leaf_L
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_Leaf_W")
)
))
(p1_leaf_w = (pcParamProp~>value)) ;P1_Leaf_W
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_Leaf_HD")
)
))
(p1_leaf_hd = (pcParamProp~>value)) ;P1_Leaf_HD
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P1_Notch_W")
)
))
(p1_notch_w = (pcParamProp~>value)) ;P1_Notch_W
(pcParamProp = car(exists(prop pcParameters
((prop~>name) == "P2_Notch_W")
)
))
(p2_notch_w = (pcParamProp~>value)) ;P2_Notch_W
2. How to fill shape A with array of circular shape B efficiently,
make sure B is inside A and the distance of B edge to A edge should be larger than 3um?
I tried to use dbCreateEllipse in multiple loops. And it took several minutes to get a final result, seems very inefficient.
Pin/terminal locations on symbol
skill writing style
bbox values in menu
Is there a way to store several bbox values in a menu without converting it to a string?
Example of value
bboxList = '(((131.8625 -760.5125) (131.8875 -760.4875)) ((131.8625 -749.5125) (131.8875 -749.4875)))
I have tried several of the hiCreate* menus but it seems the functions are wanting strings or a single coordinate list.
Paul
Skill Script for off-grid correction of donut shape?
Hi,
I have been looking for a Skill script which corrects off-grid edges of a donut shape in Cadence(IC6) Layout editor. I have found this script but it says it is not for donut. http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=1800103.
What I need to do is that I need to draw a donut for real tape but it is off-grid so I need a script for grid correction. Actually, I don't know which way is better: drawing donut in layout and putting edge of it on grid with a script or drawing on-grid donut with Skill script from the beginning. I prefer the first one since in addition to donut I may have other off-grid shapes which need to be corrected.
I will appreciate if you can provide the Skill script for this purpose.
Thanks,
yayla
Trigger Warning at Virtuoso start up
*WARNING* (DEBASE-102068): No user triggers registered for viewType maskLayout.
*WARNING* (DEBASE-102068): No user triggers registered for viewType maskLayoutXL.
*WARNING* No application registered for prefix awv.
*WARNING* No application registered for prefix awv.
*WARNING* No application registered for prefix awv.
What are these warnings and how do I get rid of them? What do these mean? My IC version is IC6.1.5-64b.500.15
Thank you in advance.
Warning (TECH-230035): warning when create library
Hi everyone,
I would like to ask about a warning in CIW. My systems: Cadence IC615, IBM cmrf7sf V2000 pdk. When I try to create a library which "Attach to an existting techfile" option, the CIW displays warning:
*WARNING* (TECH-230035): User-defined rule "minExtensionDistance" in constraint group "foundry" of techDB "cmrf7sf" conflicts with a built-in constraint with the same name. You may write out "constraintGroups" section to an ASCII file, reopen the technology database in "a" mode, and reload the file to update the database. Another option is to rename this rule.
I searched on Google and found only one link:
http://www.cadence.com/Community/CSSharedFiles/forums/storage/38/1310402/qrc.inverter_test.log.txt
I read. However, I could not understand what I should do. Can anyone figure out this problem, please?
Thank you so much.
Regards.
Print text somewhere on layout window when I click mouse
Hi All,
I am trying to print some text when I click mouse <Btn1Down> . The text has to print some where on layout window (beside menus.. etc).
I know how to create menus, etc . But this mesg (two word mesg) is interactive. It will change every mouse click.
Can anybody help me, how to print mesg somewhere in layout window.
Thanks in Advance.
bsrin
How to copy and rotate a shape with special angle like 30 degree in skill coding?
Hello,
I failed to search the manual and the forum to find a way to copy and rotate a shape I created with any agle like 15, 30, 45 etc.
I noticed some posts said that rotate with any angle may raise lithography issues. But in MEMS application, it's very popular to use all kinds of "strange" shapes. As the line/space is over 1um, the litho problem can be neglected. Then, what can I do in skill code?
Thanks.
pCell need load .il file every time I open icfb
Every time I open the cell containing my pCell instance from a new terminal, it has a label "pCellEvalFailed" and cannot reveal some of the layers. The log has warning:
("eval" 3 t nil ("*Error* eval: undefined function" TTPointInGap))
But actually the function has been defined in the .il file. And after I load the file in the CIW, all the layers look normal.
What can I do if I want to use the pCell instance without load the .il file every time?
I want to add opPointLabelSet list something else id vgs vds gm vdsat vth.
Skill code for getting coordinates of both ends of instances
Problem with bindkeys and fin-grid
Hi All,
I am using ICADV12. version of virtuoso since few days.
I have couple of problems.
1) I have bindkey for all layer invisible and all layer visible. But, to reflect this in layout window, I have to press Ctrl+r or f or w button. Can anybody help me out in this. Its flustrated to press Ctrl+r or f or w keys every time after I press bindkey for all layer visible/invisible.
2) In this version, The grid snaping is automatically taken care of . It is really helping me alot. But , the grid color is thick yellow which is hard to watch the design with grid visible. I want to change the grid color. Can it possible to change the grid color ICADV12 version.
Can anybody help me in the above issues.
Thanks in Advance,
bsrin.
[Assura 414] Fail to load context file
Hi everyone,
I have a question about Assura 414. My systems: Cadence IC615 Assura 414. When I open a layout, there is a warning:
*WARNING* Failed to load context file <install_dir>/ASSURA412/bin/32bit/etc/context/6.1.5/sna.cxt'
I did not find that file or that link in installed directory. I wonder it may cause error or not? and where can I find the file which tries to load sna.cxt file?
Please give me an advice.
Thank you so much.