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

How do I set up Virtuoso Schematic Editor IC6.1.4 to pan the view by clicking and dragging the middle mouse button?

$
0
0
How do I set up Virtuoso Schematic Editor IC6.1.4 to pan the view by clicking and dragging the middle mouse button?

Skill code to apply instance orientation to a cordinate

$
0
0

Hi,

I'm looking to extract label cordinates of an instance based on how the instance is placed, i.e, after factoring in the orientation of the instance. Has anyone written code like this? For eg. x:y = 10:20 would become -10:20 after MY, 20:10 after MYR90

Thanks,

Shaju

problem passing waveforms as function arguments

$
0
0

I'm trying to build a fuction that takes two waveform families as arguments. 

procedure( findBestIMDs(IMDfam PAEfam)

 //function

)

 

I load it in the CIW and try to use it:

 

load("./ocean/fam.ocn")
function findBestIMDs redefined
t
IMD
srrWave:0x2c3178d0
PAE
srrWave:0x2d0db3b0
findBestIMDs(IMD)
*Error* findBestIMDs: too few arguments (2 expected, 1 given) - (srrWave:0x2c3178d0)
findBestIMDs(IMD PAE)
*Error* findBestIMDs: too few arguments (2 expected, 1 given) - (srrWave:0x2d0db740)
findBestIMDs(IMD PAE PAE)
*Error* findBestIMDs: too many arguments (2 expected, 3 given) - (srrWave:0x2c3178d0 srrWave:0x2d0db3b0 srrWave:0x2d0db3b0)

 

Why, when I provide the two wave families as arguments, does the srrWave number change and it say there's only 1?

Thanks!

 

how to create pin(pinname) using skill scripting.

$
0
0

Hi All,

I am new to skill scripting. could please give me the guidelines to create pin (pinname<1:10>).

Thanks,

Leela.

To check layout vs schematic pins.

$
0
0

 Hi All,

    I am trying to check Layout pins VS Schematic pins by skill scriptin.could you please let me know some commands regarding this.

Thanks,

Sritha.

How to find the pin direction in the schematic?

$
0
0

 Is there any command to find the pin direction in schematic by specifying the pin name?

pins attachment

$
0
0

Hi all,

     I want to generate and attach the pins in the layout  automatically from schematic by skill code. Please help me on this.

Regards,

Baji.

Updating CIW and layouts while script is running

$
0
0

I have a lengthy SKILL script on a layout and it would be helpful to be able to see progress as it occurs.  Is there a way to have the layout update at selected points in the script?

Also, the CIW is updating but doesn't make its first update visible until part way through the script after several printf statements have executed.  Is there a way to force an update to the CIW as printf statements are executed?

Having this capability would help with the user interface so that users can plan their activities better and not be confused by what might look like a frozen script.

 Thanks.


How to define a stop layer in connectivity for VIA

$
0
0

I am using IC 6.1.4 and I have the following questions.

 

After I use mark net in the connectivity, how to set it up (after pressing F3)  such that M1 is not shorted to M2. 

I wish to define it as "when MQ and V1 is present, M2 is connected to MQ through V1, otherwise, M2 is connected to M1 through V1).

 

The attachment shows the drawings. 

Support, in a CMOS technology, M1-V1-M2 is connected. 

Now MQ is a layer inserted between M1 and M2. (This layer is meant for MIMCAP purpose).

 So the new connectivity is 

MQ-V1-M2

 

 

 

 

Form locked when callback fails

$
0
0

 Hi,

The skill below is used to create a simple form containing a string field with a modifyCallback.

Eveything goes fine writing in the string field, but when the callback generates an error  (artificially reproduced typing "abc")  the form is locked and "OK"/"Cancel" buttons can't be used anymore. Once this happens, even if the form is invoked again or it is set to 'unbound in the CIW, the issue persists.

Could someone be so kind and explain me why this wrong behaviour?

Thank you

procedure(testMyForm()

 

let(()

   hiCreateAppForm(

            ?name'test_form

            ?formTitle"TEST"

            ?fields list(

                  list( hiCreateStringField(?name 'myString ?prompt "->" ?modifyCallback"matchCB" ?editable t) 10:10 200:20 100 ))

            ?buttonLayout list( 'OKCancelDef)

            ?callback list(   "printf(\"OK\")""printf(\"CANCEL\")")

      )

      hiDisplayForm('test_form)

))

 

procedure(matchCB( @rest arg)

let(( )

      stringItem = test_form->myString->value

      if( equal(stringItem "abc") then

            printf("ERROR %s \n" )              ;;;; ERROR HERE, it locks the form

      else

            printf("Hello world %s \n" stringItem)

      )

      t     ;any value is allowed in the string field

))

 

 

Adjust rubberbandding path

$
0
0

Hi,

I have created several skill procedures that draw cutom paths.  The problem is that I don't see a preview while drawing the path, only a rubberbanding path with always has a with of 1.

Idealy, I would see a preview while adding points to the path (like in the Create Path and create Multipart path functions).

I hear you think, why don't you just make a multipart path template, but I want to use an options form to set different parrameters instead of having a huge list with template flavors.

 

Thx

Rik

add instance from library via pulldown menu.

$
0
0
Hi IC Community

My experience with Cadence’s Skill is very limited. I have created a pull down menu with sliders in the upper layout editor banner window with some success. My question is, how do I utilize the callback function to place an instance from a cell library into the layout editor window, when selected.

software version: 5.1.41

Example below:

mlf_frame = hiCreatePulldownMenu( 'editMenu "edit"

list(

hiCreateMenuItem(

                           ?name `3x3

                           ?itemText "M_3X3"

                           ?callback  "??????()"

What command should I place here in the callback function ??????. Any help would be greatly

appreciated.

 
Thanks

Johnny

SKILL Variable

$
0
0

I am new to Cadence SKILL. I am trying to understand a SKILL script file containing many procedures. Many of these procedures use a variable which holds a constant list. But it doesn't seem to be assigned anywhere in the script file. Can you suggest any possible place from where it could be assigned? Is there any way in SKILL to import variables from another file?

Release the memory by skill

$
0
0

Hi everyone,

 I write a skill code to generate a lot of pcells,but the speed of the generation become slower and slower.

And I think it may be generated large memory by the code,so how can I release these memory to improve the the speed of generation?

 

Tks a lot~

Stopping a SKILL script

$
0
0

Is there a way to terminate a lengthy SKILL script without having to kill the Cadence process?


Techfile techDerivedLayers() class

$
0
0

I am wanting to include several derived layers in aCadence 6.1 techfile and here are my quiries

(1) Is there any documentation on this tschfile class? So far all i been able to get (online serach) is a 2006 presentation by Cadence

(2) Can one perform sizing in addition to boolean on layers?

(3) Does the class create actual layers when the boolean is satified and will the derived layer stream out?

 

Thanks,

Henry 

Double Spacing Rule Tables.

$
0
0

 http://www.cadence.com/Community/forums/p/24793/1319012.aspx#1319012

 

The above post is in the wrong forum.

 

VaughnR

how to pass CDF parameter's value of an instance in schematic pcell to CDF parameter of schematic pcell

$
0
0

An explanation of the problem I am facing is in order -

I have created a schematic pcell (A) in which I am instantiating the instance of a foundry delivered pcell (B). There are some independent (e.g. Bp, Bq ) and some dependent CDF parameters (e.g. Bx) defined for the CDF  of the pcell B.

So, Bx = FB_callback(Bp Bq)

Bx is calculated whenever I change Bp or Bq, using a call back function which I have absolutely no access to.

I have created 2 independent CDF  parameters for A (which is the pcell I created) - Ap and Aq. In the code for my schematic pcell I pass these values Ap and Aq to Bp and Bq respectively. Something like this -

master_b = dbOpenCellViewByType( "foundry_library" "foundry_cell_B" "symbol" )
inst_b = dbCreateInst( pcCellView master_b "I_B" list( 0.0 0.0 ) "R0")
inst_b~>Bp = Ap
inst_b~>Bq = Aq

However, after this when I print out the inst_b~>Bx then I see that it is not getting changed and is always the default.

How do I make sure that the callback routine for the foudry cell gets called? Also how do I pass the new value of Bx back into my pcell's CDF Ax?

Thanks,

Context Menu For Tree Table

$
0
0

I created a context menu for a tree table. It works fine when I chose items in the table and right-click. However, if the table is empty or if no items are chosen, the context menu does not appear when I right-click over the table.

 Does anyone know why this might be happening?

Editing a wire with Virtuoso Schematic

$
0
0

Hi,

I know it seems to be simple, but I can't change the name of wires in my schematic. I've tried to select the wire or the value of the name name and edit, but each time I've tried to change it, the name is not editable.

How could I fix that ?

 

Thanks in advance for your time.

 

Viewing all 5068 articles
Browse latest View live


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