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

Batch print/plot from virtuoso

$
0
0

I have over 100 designs I need to print/plot which include both schematic and layout. I'd like to know if there is a skill script to print all cells from a given library to a ps or pdf file. I tried one skill file I found that wrote out a thumbnail in png format and then used a unix command to convert to pdf.  I didn't like the results and would rather use a printer to a file. The background was black and I couldn't figure out how to control the hierarchy of the image. I want all levels not just top level.

Any help would be appreciated. While I wait for a response I'm going to embark on writing something myself.

Thanks,

            ~Joe


Automatic VIA Drop for same NET

$
0
0

Hello,


I am interested to automatically drop VIA using SKILL procedure/command for the same NET.

For example: I have a MESH of Metal2 and Metal3 lines with same NET = VDD.

Is there a command to Drop a VIA array for same NET objects, similar to the "Create Via" form but automatically for many objects, without using the form.


Thanks,


Danny

Schematic pcell help

$
0
0

Hi All,

I'm new to SKILL and I would like to build a schematic pcell that I will be able to change some properties when instantiated in a upper level.
So imagine that I have a schematic "A", inside this schematic "A" I have a repeated cell "B". The objective is when I instantiate this schematic "A" in schematic "TOP" I would be able to change the number ( multiplicity ) that I repeat "B".

The final objective is:

-> in this schematic "TOP" when I instantiate this "A" I could also change the reference for this schematic "B". so I would be able to have 1 single/same schematic with different layout views.
-> if in this "B" ( i.e. I have a connection "en" ) I would like to be able to customize this connection, like I have "B" multiplicity of 6 ( B<6:1> ) and I would like to have noConn, noConn, en, en, noConn, noConn.

Hoping my explanation is sufficient and understandable.
Thanks for your help.
Best Regards,
Ricardo

Find paths an MPPs

$
0
0

I want to write a script that searches all the paths in my layout (level0). But if I look for shaps with objType "path", the MPP's are also included. How can I see the difference between a path and a MPP?

assura-QRC load issue - no technology file

$
0
0

Tools version:

IC615.500.17 (32-bit)

assura 4.1_USR4_HF6

cadence extraction QRC -64bit version 12.1.1-p076

Issue: 

When I passed LVS, and finished setup QRC, click assura-QRC from the QRC icon in the toolbar. 

CIW shows the following message: 

"RCX-Init Begin"
 *WARNING* Form 'vuiRcxRunForm', scroll region 'vuiRCXFlowTab', field 'ruleSetField': Bad value "defualt".
   Cyclic value must be one in the list of choices.
"RCX-Init done"

The QRC window don't have technology selection.

Thank you very much. I am struggling for solving this issue for several days. I tried to updated the QRC version to PVS151, EXT151, EXT161. I also tried to updated to IC616.500. But they are not working at all.

Turning off grid and track by default

$
0
0

Hi,

I want to turn off grid and track by default in layout editor. Can someone tell me lines to be added in .cdsenv file? I am suing ICADV 12.3

Thanks

Questions about ADE-XL results menus

$
0
0

Hi all,

Virtuoso version IC6.1.6.500.13.2

I have a couple of questions regarding ADE-XL menus:

1. Is is possible to modify the order of the tools in the output setup such that the "add new output" and "delete selected output" are far from each other? Several times I have deleted by mistake expressions that took a while to build and in general it is a good practice to separate controls that do the opposite things. Alternatively.. is there a way to undo the delete action?

2. How to organize expressions belonging to a particular test after initial setup? I can use drag and drop nice and easy when setting up my simulations for the first time, but after having run them, if I want to add extra expressions, they will always be added to the bottom of the list and the drag and drop ability is lost (it shows the "forbidden" symbol"). In the best case, I'm able to drag the new expression, but it ends up swapping with another one of the same test instead of being added to the same cluster of expressions.

See illustration to know what I mean specifically:

Thank you in advance and best regards,

L.

 

Check Hierarchy Traversal Order

$
0
0

I currently use a trigger on a schematic check to run some net property checks, this tool will need to ensure that if the tool "Check --> Hierarchy" is run that the tree traversal is done in a specific order. Looking through the documentation I could not determine the method of tree traversal done using this built-in method. Could you point me to some documentation or if you can direct me as to the method used to run through, that would be helpful in determining if I would need to generate my own method to traverse the hierarchy in the order I need. My need would be to traverse the tree Post-Order or Level-Order where it would perform the deepest nodes first.

Thank you,

Mitchell Cohen


Running 2 procedures or function in 1 bindkey

$
0
0

Hi,

I was spying on skill command in CIW when I am doing some graphical actions such as clicking netlistcreat form and clicking "Apply" in order to create netlist.

I thought I will able to create keybinding to run this step, so I was trying

hiSetBindKey("Schematics" "<Key>F12" "xcreateNetlist() _hiFormApplyCB(xcreateNetlistForm)")

But its on working. For some reason, it get stucked at 1st stage of opening form. When I close this form, it perform 2nd part of nestling. So its waiting for something between step 1 and step 2.

Can someone help here ?

Thanks

Questions about object selection in layout

$
0
0

Hi All,

I'm new to SKILL and I would like to move some objects (or shapes) in layout cellview by SKILL automatically. I have got all the points inside each object (or shape). I use foreach(point points geAddSelectPoint(winId nil point) obj=car(geGetSelectedSet()) dbMoveFig(obj nil list(x:y "R0" 1.0))) function in order to select each object and move it. Sometimes all the points can be recognized and all the objects can be moved accordingly. But, often times, a few points can not be recognized and the objects (or shapes) can not be moved.  It seems it is related to the cellview update. I didn't know what happened. Can anyone help me? 

Thanks for your help.
Best Regards,

Mark

How can I access/change stdVia enclosures in SKILL?

$
0
0

Hi,

I'm using Virtuoso version ICADV12.3-64b.500.9.  Currelntly, our defualt setup creates metal enclosures that are coincident with the cut shape boundary.  I'd like to modify the enclosures using SKILL to make them DRC clean.  Here's one example:

via~>viaHeader~>??
(db:0x3898833b cellView db:0x3898961a objType "stdViaHeader"
prop nil viaDef db:0x181f01ba viaDefName
"C9CKK1" master db:0x2071ec9a subHeaders nil
vias
(db:0x38987e27) overrideParams nil
)

I looked at the overrideParams in another via where I had manually edited the enclosures.  I saw this:

via2~>viaHeader~>??
(db:0x3898831b cellView db:0x3898961a objType "stdViaHeader"
prop nil viaDef db:0x181f01a7 viaDefName
"M0V0M1" master db:0x3a74ff1a subHeaders nil
vias
(db:0x38987e1c) overrideParams
(("layer1Enc"
(0.025 0.0)
)
("layer2Enc"
(0.008 0.025)
)))

I tried assigning the overrideParams to a similar list with different numerical values, but it errored out.  It also appears that the overrideParams property is nil unless you manually adjust the enclosures.

Can you tell me how I can adjust the via enclosures using SKILL for set of selected vias?

Thanks

Find a overlap of two layers if that layer present in PCell also

$
0
0

Hi all,


I am writing code for two layers overlap.

but got stuck to write full code.

Requirement:

Using layers: "od", "nt_n"

if "od" layer present in pcell and if its overlapping this nt_n which is in shape.


my code:

MARKER_LPP = list("marker" "error")
procedure( ntn_check()
odList   =  setof(i geGetEditCellView()->shapes car(i->lpp)=="od")
ntnList  =  setof(i geGetEditCellView()->shapes car(i->lpp)=="nt_n")
nt_n_var = dbLayerAnd(geGetEditCellView() MARKER_LPP odList ntnList  )
)

This code is checking for only shapes overlap, its ignoring if layers present are in instances.

I want to know if any shapes are overlapping with Pcell layers also.

Kindly help me on this.

Thanks,

Mahesh

Gravity options in ICADV node

$
0
0

Hi,

I'm using ICADV12.2-64b and I'm not much fan of the improved gravity options. I'd like to have the gravity controls which was there in IC616. Is there a way to disable the new feature and get the old one?

I liked the one with Edge/Nexus/Vertex/..

Thanks

Ramakrishnan

skill code to toggle waveform visibility

$
0
0

Hello,

I've found that it is not all that uncommon for me to have a simulation set up in ADE-L  (or ocean) that plots a moderate number of waveforms.  Often I find that the first thing I do is make them all invisible and then toggle on a few at a time.  I'd love it if I could set up a hot key or menu item that iterates over each waveform displayed in the current window and makes them invisible.

I've not really had any luck in digging through the manual to try and find any functions that give me access to the displayed traces and the ability to turn on/off visibility.  Does anyone have an example of accessing those objects that they could share?

Thanks in advance.

-Dan

How to generate cells (layout view) from a txt file or csv file using pcell and skill code?

$
0
0

I have a pcell for device level (nmos, pmos, etc.) layout creation. I know I can input the parameters using the GUI window. But to generate many cells, it would be convenient to create a txt or csv file with different parameter setup. Could the experts here teach me how to read such a file and then generate as many cells (layout view) as needed using skill code?

Thank you very much!


Converting a existing library to PCELL library

$
0
0

Hi,

I have a library of 500+ cells with schematic, symbol and layout views. Now we have decided to create another variant which differs only by single layer (VT variants). So instead of creating another set of 500+ cells I'm looking for an option to convert the existing views to PCELL views and provide an option to chose the Vt.

I have good experience in writing SKILL scripts but I have not tried anything related to PCELLs. So kindly provide me some directions.

Thank you

Ramakrishnan

Running skill code using perl script

$
0
0

HI,

I have a perl code, using that perl code is it possible to execute a skill code?

If any example is provided  that will be very helpful

Regards

Anand

Clearing a CyclicField in a form

$
0
0

Hi all,

I created a form with 2 Cyclic Fields to chose a Library and a Cell before executing an action on them. Here is what I did :

1) I fill up my LibNameCyclicField with the list of libs from my current session that I get from ddGetLibList().

2) The callback of my LibNameCyclicField fills up my CellNameCyclicField with the name of cells from the chosen library that I get from ddGetObjChildren() and  a loop with hiAddCyclicChoice().

Now, when I chose a new library in my LibNameCyclicField it just adds the new cellnames in my CellNameCyclicField to the ones that already were there. 

My question is : Is there an efficient way to delete the cyclic choices of a CyclicField ? Something like hiDeleteCyclicChoice() would be nice but I didn't find anything that works yet.

Thanks in advance,

ALG.

hot keys for these commands...

$
0
0

I really need to create some hotkeys for these commands but I cannot find the skill script for it , please help :

1) Delete all probes

2) Find signal..

thanks

leYankFigs

$
0
0

Hi,

Can you help me to configure bindKey leYankFigs:

I would like create a bindKeys Yank and I would like fixe myself the reference point with the mousse for the paste

Thanks for your help

Viewing all 5074 articles
Browse latest View live


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