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

perform SKILL functions in command line mode

$
0
0

 Hi, I have a question on how to perform SKILL functions in command line mode. Can anyone help?

What I want to do is to

(1) start cadence with no GUI (I heard the -nog option but I cannot find any example)

(2) perform a series of SKILL function (defined in a do file) such as making a copy of cells in a given library

(3) quit cadence

 Thanks for your time and help!


Selecting all instances in a cellview without opening window view

$
0
0

 Hi all,

I am writing a program which involves displaying the heirarchical tree of all the instances and nets in a Cadence cell, exactly like it appears in the side of the cellview in Cadence. To do this I am writing a .restore file to the command line which should select all objects in the cellview. My problem is that I don't want my program to open Cadence, but can't find a way to select all the objects in a cellview without having the view window open and using the function geSelectAll().

 

Is this possible to do? 

 

All help is much appreciated

Louis

selecting multiple items of a list in a menu

$
0
0

I currently have a menu item, hiCreateRadioField, supplied with a list. I can only select one of these items in the list. What would be the best method for being able to select multiple items of the list, thus creating another list?

dbCreateConnByName(): WARNING (DB-270004): Shorted nets

$
0
0

 Hello,

 I'd like to connect one net object with one pin object of an instance by using the function dbCreateConnByName().

 The code would be:

;SKILL CODE BEGINS

net_var = dbFindNetByName(new "net011")
db:0xf0d9ab93
inst1 = dbGetInstByName(new "V6")
db:0xf0d9ada1
dbCreateConnByName(net_var inst1 "PLUS")
*WARNING* (DB-270004): Shorted nets - net07
nil

; END

 

net07 is linked to pin "PLUS" of instance V6. Does the last function return nil because 2 nets are shorted? If so how can I solve this Problem and if not, why does the function return nil?

Thank you very much in advance!!

 

 

 

How to set LSW Layer All Visible in IC 6.1.5?

$
0
0

 Hi All ,

In CIW , type leSetAllLayerVisible(t) , it returns t ,  but not works.

Thank you,

Charley

Ultra pcell - pcell with variable of pcell in it.

$
0
0

Hi All,

Is there possible for us to create a ultra pcell where the pcell within the pcell is a variable, not fixed.

Example: I have a dummy pcell which is ultra pcell, and i want to make it flexible enough to have n number of dummy1 pcell in it, with different CDF param value. If it is possible, it will be great if you could share some example,

Thanks.

 

Virtuoso XL

$
0
0

Hi,

I'm using XL in the IC6 version. After generating I generate the layout and make some connections I usually like to group certain devices and make them into a cell. The question I have is that is there a way to keep the connectivity in XL after I do that. From what I know once I make it into a cell the connectivity for those devices are gone. 

 

Thanks,

Dennis

Error when calling and evaluating skill function in ADE-L Parametric Analysis and in ADE-XL

$
0
0

Dear all,

 

I've got a problem to which I couldn't find answer.

I've made a customized skill function to do calculation and evaluation after PSS analysis. It takes in time domain waves from PSS and returns a number. I create a new output parameter  in the output window of my ADE-L which calls this function, it works fine and returns the number. 

However, when I run Parametric Analysis in ADE-L, or run it in ADE-XL, evaluation fails and I get the following error. 

 

ERROR (ADE-1057): Could not evaluate expression

        Name:'MyFunction'

        Expression:'MyFunction((v("/OUTP" ?result "pss_td") - v("/VSS" ?result "pss_td")) (VOUT_H / 2) )'

     because of the following error(s)

        ("ilGetNumber" 0 t nil ("*Error* ilGetNumber: arg must be a number" srrWave:0x2aacaa20))

     Ensure that the definition of the expression is correct.

*Error* ("ilGetNumber" 0 t nil ("*Error* ilGetNumber: arg must be a number" srrWave:0x2aacb060))

 

 

 The skill functions I call in my function are following:

cross()

drGetWaveformXVec()  drGetWaveformYVec()

drVectorLength()

drCreateVec()

drGetElem()

drSetElem()

drCreateWaveform()

ymax()  ymin() 

 

There isn't any ilGetNumber() function in my code. Very weird.

I guess that in order to call a skill function in Parametric Analysis or in ADE-XL, I need to change something in my code. But I couldn't find any information. Could anybody help me on this? Many thanks!

 

Best Regards,

Mingxu 


looking for a way to make a cut in the middle of a wire

$
0
0

 Is there a way to make a cut in the middle of an existing wire?  For example, suppose I have the following wire:

 

[=>__________NET1______________<=]

 

NET1 is a label on the wire

[=> is an output pin

<=] is an input pin

 

I would like to make a "snip" in the middle of the wire that preserves the existing net name, like so:

[=>_____NET1___        __________<=]

 

The new net on the right would be assigned some random name such as net0123, just as all nets in Virtuoso are when they are first created without a label.

Is this already a feature in Virtuoso?  I could have sworn I have seen it before.  Maybe it was in a different schematic editor.  In any case, I think it would be a very useful editing feature.

 

 

EF -- First function is deactivated after this call.

$
0
0

Hello Gents/Ladies.

I hope someone can identify my problem.

When I execute a move command on an object in the schematic, I like to rotate the object using the right click button.  However, sometimes during the right click I move the mouse and thus execute the DrawThru3 function instead of the rotate.

 To fix this I overrode the DrawThru3 function as shown below.  However, once the rotate is done during a DrawThru3 execution, the move command is no longer active.  For some reason when the DrawThru3 extended function is executed the original function seems to be disabled.  Any idea how I can prevent this behavior?

hiSetBindKeys( "Schematics" list(

list("<DrawThru3> EF"   "schSetEnv(\"rotate\" t)") 

)) 

Thanks,

-- Mike 

 

About leYankFigs , How to yank more than 50 nLevels?

$
0
0

 Hi All ,

I want to use this command , the layout design hierarchy depth more than 32 , it's 50 , 

If i set 50 in ;x_nLevels , it will show 

*WARNING* noname :Illegal hierarchical level of 50 specified.

How to yank more than 50 nLevels?

 

 

leYankFigs

leYankFigs(d_cellViewId l_ptArray 50  ;;;x_nLevels   
[ l_refPt ] [ x_nSides ] )
=> t | nilThank you,
Charley

Using Skill to Select Vias not fully enclosed by metal

$
0
0

Is there a way to only select vias that cross a shape boundry?

I have a very large FET that has numerous Source and Drain Vias and the top level metal covering them now has to be slotted leaving a large amount of existing Vias to be manually deleted where the slots pass over them.

I can generate another layer that consists of simply the slots and then, if CDS OA 6.1.5 has the capability, then one could simply select only the Vias that touch the newly created shapes.

Is that possible to do in Skill?

Thanks

Terry 

display "program running process" on unix terminal or new window

$
0
0

Hi:

I want to use skill to invoke "calibre " command  and want to display the "running process" on unix terminal or new window like assura running process.

 I only find ipcWaitProess and ipcReadProcess, but these command only can get result.

I want users know that calibre is running when he invoked skill gui button.

I aslo want virtuoso can still work, not occupy by calibre .

thanks 

How to switch off STI's influence in a simulation just for methodology study?

$
0
0
Hi,

In BSIM4.5 and later release, the SIT (shallow trench isolation) effects are considered. Is there anybody who knows how to control the STI in any simulation.

Say, if I want to switch off the impact of STI in any simulation setting or edit STI properties of cells although it may not reflect the real case. This is just for methodology study. 

For WPE (well proximity effect) I can simply set SCA/B/C = 0 to disable the impact of WPE. Is there a similar way for STI?

Any reply would be appreciated.

Regards,
Alex

Get default via spacing and enclosures

$
0
0

Hello,

I use dbCreateVia() function to create vias with variable cut Rows and Columns determined by the width of the path connected to the via in the layout view. In order to compute the cut Rows and Columns i need the via spacing and enclosure as inputs but these variables also change with the cut Rows and Columns values which i don't know.

Is there a skill function which allows to autmatically setup the array-side dependent via spacing rules and enclosures according to the input variable cut Rows and Cloumns? if not, is there any work around.

Thanks in advance 

Best Regards

Taher 


Parameters and pcells in ADE XL

$
0
0

Hi all,

 I have a schematic pcell that generates an n-stage chain of (non-pcell) instances, each with different instance parameters.  To do this, I have a pcell string parameter 'numStages' (also defined in the CDF for the cell), and something in the pcDefinePCell let block like

n = atoi( numStages )
for( inst 1 n ....

I'd like to be able to sweep this parameter for optimisation in ADE by assigning it a design variable. First problem I ran into is, of course, when pcell evaluation happens, numStages is a text string representing a design variable, so atoi( numStages ) is nil. To get around that, I have

if( n == nil then n=round( VAR( numStages ) ) ) 

Not the most foolproof, but at least it seems to work in ADE L. When I try to move it to ADE XL for global optimisation, it fails: all instances of the pcell at every design point are instantiated as if numStages were set equal to the value it takes on in the first design point.

Is this due to the pcell evaluation only happening once, then ADE XL just changing the parameter declaration line in subsequent netlists? Either way, does anyone have any insight into how I can make this work? Or is this a fool's errand... 

Thanks,
Kevin 

Delete Property figs / wire in schematic

$
0
0

Hello all,

How do you delete in Skill nets such that the wirings in your schematics are removed also? 

There must be some sort of a simple solution for that!

Thank you so much in advance. 

Best regards,

Oezlem

Find the instance by cell name hierarchical in schematic

$
0
0
Hello everyone,I want to find the instance by cell name in the schematic hierachially,which function should I use? And I also want to access to the instance’s  properties when I find the instance I am looking for. thanks!

Display text in layout window prompt line

$
0
0

Hello,

i need to display text in the prompt line of the layout window, i tried to do it as shown;

 procedure( tprompt

?prompts " point at the location to place M1  "

);end_procedure

 But instead, the text is printed in prompt line of CIW. What i am missing ? 

 Thanks in advance

Best Regards

Taher 

Questions about a creating a menu from ADE

$
0
0

I want to create (skill code for) a new menu item in ADE which will help with modified circuit analysis(The analysis itself isn't modified. The circuit is modified several times, transient analysis run on it, and the results combined). I'd like pointers on where to look for the information below. I have already got the skill code working for modifying the schematic based on some information entered in the new menu form. I'm assuming that the transient analysis for the original circuit is setup correctly in ADE (from which the menu will be called) and I am hoping that I can run simulations on the modified circuit by using most of this setup and changing only the netlist. 

* If I create a menu from ADE, will it inherit the attributes(simulation setup, model setup, environment, variables etc.) of the parent session. How do I access these? I guess I'll need these to create the new netlist(in which essentially one element is replaced with another) and run the simulation. 

* I see an executable runSimulation and a skill file spectre*.ocn in psf/ directory. Which of these should I use to run the simulation?

Thanks

Nagendra 

Viewing all 5071 articles
Browse latest View live


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