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

Asking SKILL Code for Virtouso

$
0
0

I'm new to the forums and really need this code.

Here goes, I would like a SKILL code for Virtouso that goes something like this. It's a "Flip Command". The code should flip any object-->instance, path/wire, polygons, rectangle, contacts etc. either "vertical" or "horizontal". And added to that, if you select multiple objects, you could also flip them "vertical or horizontal". it's like a picture when you flip it or mirror it.

like, the objects are selected, "123" when FLIPPED all objects becomes "321".

Thanks. I hope someone could help me, i have other request for Virtouso but they don't have any forums.


Originally posted in cdnusers.org by wonderkamote

How to lock the cell placement

$
0
0

Hi, 

can someone help in locking the placement of the Instance (should not be able to move the instance once i lock the position) in the virtuoso layout editor using skill..

It is equvivalent to this command SET_OBJECT_FIXED_EDIT(GET_SELECTION) 1 (1 means postion fixed, 0 means postion is notfixed).This command is available in the IC compiler (ICC tool). 

 

Thanks for your support,

Bharath. 

newbie SKILL question: how to create a via

$
0
0
Hi everybody-- I'm writing some SKILL code to layout an adder. I need to place some vias to go from a metal 2 layer to a metal 1 layer, but I can't figure out how to do this. In the interactive layout, I'd just click Create-->Via (I'm using Cadence 6.1), and select VIA12_A and the other parameters, and then click where I want the via. But, looking through the Cadence docs, I can't seem to figure out how to do this with code. I found the "dbCreateVia" function, but it needs "d_viaDefId" for the second parameter, which I can't seem to get without first placing another via by hand and using the dbFindViaHeaderByName(cvid "VIA12_A") function. I'd like to do this without having to have that extra via to begin with. Thanks! -Chris

XML in SKILL

$
0
0

Hello All,

In my SKILL++ application I have to store some configuration data on my local hard drive. My question now is how to do this? In standard programming languages I’d use an XML file. Is it possible to use XML in SKILL or maybe I would have to write all parsing of the XML by my own? If the last possibility is valid than only simple text file (values separated by ; for example) is left as a solution, am I right?

Thanks,

ToM

A question regarding CCSchangeCells.il ?

$
0
0

 Hai! I found a code which will change cells from one lib/view to another.. in cadence sourcelink ...

I am using cadence IC6X version.. and a IBM(90nm) PDK kit ..

The code is working fine when I tried to convert cells from 'analogLib' to  'gpdk090'..

But when I tried this code in changing cells from 'analogLib' to  'IBM' models it's not happening..

I thought this is because of the following reason.. the IBM PDK kit defines the following params for w(width), l(length), m(multiplier) as

wf(string type),(wff float type), lf(string type), (lfffloat type) and  mpl(int type)...

The params w, l, and m assigned as user defined params after running the code..

I tried to assign the w, l, and m values to the wf, lf and mpl ... the form displaying the values correctly(in schematic).. but when I attempt generate from source it is picking the transistors of default values but the form values remains unchanged.. (in the layout)..

I hope the problem is understandable.... If not I will provide some more information...

Can please some one guide me to achieve this............

Prabhakar. K -- Layout Engineer 

Skill code for Off Grid errors

$
0
0

Do you have a skill code to clear the off grid errors on layout?

Thanks,

-Shiva 

 

Virtuoso / Skill: how to change access permissions to cells?

$
0
0


Dear all,
to avoid any changes to cells after a certain milestone, i want to remove the "write" attributes from the cells; this should be done by a script, not manually via the library-manager;

Is there a skill-function to achieve this? A ddSet...-equivalent of ddGetObjAccess seems not to exist;

System: virtuoso 6.1.3 on RHEL

When i do a "chmod a-w" on the terminal to the .oa-file of my layout-view, everything is fine, but when i'm calling "chmod  a-w ..." by a Skill-"system"-call, the cell gets locked and the lock is not released again. The .oa-file is changed, permissions are set as desired, but i can still open the cell in edit mode, it's just the other way round, virtuoso refuses to open it read-only and tells me it's already open in edit-mode.

Regarding file locking: when i'm opening a cell for editing, there are two lock-files generated, as expected mycellname.oa.cdslck and an additional file mycellname.cdslckRHEL....hostnameandsoon.
When the cellview is closed, both of them disappear.

After the chmod-system-call, these two files persist until virtuoso has been restarted.

clsAdminTool is not capable to release the lock, ddLockFree and associated commands fail too.

Any idea how to avoid the locking-problem and/or how to do the job of setting my cells to read-only by skill?
What about the concept itself, the cells need to be accessible but protected, adding cells to the library is required;
is this approach sufficiently safe?

kind regards, many thanks
Stefan

 

create a new switch for variable acces using ocean script

$
0
0
Hi everyone! I would like to create a new switch that's is very similar to sp2tswitch (analogLib). The only difference between them is that i could assign a variable name instead of having to go to the window component and acces components parameters directlly. By the way, the idea is to control the switch using a variable in a ocean script. How can i do that? Is that possible? Best regards, Canosa

Path Off-grids

$
0
0

Hi Everyone,

When using Assura with one of IBM's DRC rule files, I get off-grids whenever I have a 45-degree angle and the only way to fix this is to chop out the 45-degree path and place an on-grid 45-degree polygon in it's place.

I am in the process of trying to write up some skill code to easily fix this, which will basically consist of searching for all 45-degree paths, chopping the 45-degree path and replacing it with a polygon of the same layer. Does anyone have some skill code that is similar to what I am trying to do?  I'm sure someone has come up with something already, and it would be a great starting base for me.

Thanks very much,

Patrick

How to change via level with skill in IC6

$
0
0

 In IC6, I have a bindkey which change via level (via1 to via2) . Main part of the code is:

; Current selected via
viaToBeChanged=car(geGetSelSet())

; new via identifier
newVia=dbOpenCellViewByType( technName viaName "layout" nil "r")
if( newVia then
  viaToBeChanged~>master=newVia
)

Do you know how doing the same thing in IC6 ?

Thanks in advance

Eric

Inductor Layout

$
0
0

 Hai all

I want to draw Inductor using Cadence Virtuoso 6.1.4 version.

If anyone know please do let me know..

 

 

How to create custom button on ADE for save all option

$
0
0

Hi,

For few of my simulations I need to go to the Outputs-> Save all in ADE and then click one by one on all the all options.Can we create a button which selects all for each options on one click.

Regards 

 

Deleting ghost layer

$
0
0

 Hi,

I'm trying to delete ghost layers that exists in database but you can't select or view. I can get layers through

foreach(lpp cv~>lpps when(lpp~>purpose=="hv" printf("layer found %s %s\n" lpp~>layerName lpp~>purpose) ) )

dbDeleteObject complains it's invalid type, if I try to use ddDeleteObj then I get

 *Error* ddDeleteObj: argument #1 should be a ddUserType (type template = "b") - db:248248124

What other command can I use?

 

Form Problem

$
0
0

Hi, I have a problem with forms. I made a skill that you have to select an instance to work. It works fine until that. But when you select another instance (or again the same) and you apply my script I recieve the following message from the CIW:

*WARNING* hiDeleteForm: Cannot delete a form that is mapped or from within the form's callback (trtheForm)
WARNING* hiCreateForm: Could not delete already created form trtheForm

trtheForm is my forms name.

Any idea???

Thanks!!

function to identify point locates within a polygon region

$
0
0

Hi Expert,

Do you think SKILL have function to identify a point whether locates within a polygon region?

For example, I'm checking whether label~>xy locates inside prBoundary, because label text may expand out of prBoundary, so dbGetTrueOverlaps can't give the exact answer.

Does someone have exist code to check this? Or any tips?

Thanks

-Jason


SKILL script to convert rectangular metal layers to path

$
0
0

Hi guys...kindly help me with this..

I need a SKILL script to convert multiple rectangular (polygon) metal layers to path across the layout block but condition is that it should not lose its existing netname after conversion.

plz refer :http://groups.google.com/group/comp.cad.cadence/msg/d7dc6444aaf532f4?&q=convert+rectangle+path&pli=1

but after running this metal will lose its existing netname....


mail:  sandeep.v99@gmail.com

thx,
Sandeep

snap spacing changed while descending

$
0
0

 Hi,

    I am facing a problem of changing the snap spacing while descending to a hierarchy. Manufacturing grid is x= 0.005 & y=0.005 but to a perticular cell while descending it automatically sets to x= 0.001 & y=0.001 ! Is there any way to prevent this & ensure the snap spacing to 0.005 always fixed ?

How to change the width of a path using skill

$
0
0

 Hi,

How to change the width of a path using skill code.

I tried to chage the width of a selected Metal path using skill, but it is showing an *Error* message..

path=geGetSelSet()
(db:0x5c22b79b)

path~>width
(0.06)

 path~>width=list(0.1)
*Error* dbSetq: Invalid path width - (0.1)

 Regards

SS

 

Is it possible to dump a MPP in IC5.1 ?

$
0
0

Hi,

i have in an old layout one very complex MPP that i want to modify, to delete some of subrectangles, but this is very tedious if not impossible.

My idea is to "dump" this MPP to skill code and then modify it and with this help to generate a new layout version of the MPP. It is like saving of a new generated MPP-template to a file that I can further adjust for my needs.

I have searched in the documentation about ROD-Objects but i didn't find something usefull. Does somebody have a skill script or an ideea how can be this achieved ?

Regards,

Laurent

how can i set environmental variables in .cdsenv file

$
0
0

 hi all,

1) i trying to set some settings in my layout. Because of this i created a .cdsenv file in my home directory and write as following

layout  pinKeepFirstName    boolean      t
layout  pinDisplayPinName    boolean      t

When i starts icfb then following warning occurs. And variables what i need are not set. Iam using the version virtuoso 5141.

 *WARNING* envSetVal: Can't set the value of variable 'pinKeepFirstName', in tool[.partition] 'layout' - it has not been registered.

 *WARNING* envSetVal: Can't set the value of variable 'pinDisplayPinName',in tool[.partition] 'layout' - it has not been registered.

why it shows this warning.

2) what is the difference between graphic environment variables & layout environment variable.

please answer me if u know it.

Thank you

venu.

 

Viewing all 5103 articles
Browse latest View live


Latest Images

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