Growing pcell

R

Rauni

Guest
Hi,

Is there any way to implement the following pcell in Cadence Virtuoso?

Example:

1. Pcell has a single line in METAL1. It has one parameter (x). ASCII
illustration: (All we love ASCII graphics ;-)


|


2. I create an instance in layout by calling this pcell with parameter
x=5. I hope that I'll get the following instance:


|
||
|||
||||
|||||



This horizontal repetition is ok, but that vertical stretching which
increments from left to right is the problem.

Is there any internal variables which I could use?


Thank you

Rauni
 
Rauni wrote:

1. Pcell has a single line in METAL1. It has one parameter (x). ASCII
illustration: (All we love ASCII graphics ;-)


|


2. I create an instance in layout by calling this pcell with parameter
x=5. I hope that I'll get the following instance:


|
||
|||
||||
|||||
I presume you are editing the pcell parameters in virtuoso at the
moment. I would edit the pcell so that you have x and y repetition,
which would give this:

|||||
|||||
|||||
|||||
|||||

Then use the menu Pcell->Compile->To Skill File...

This gives you the skill code to make your pcell. You can then edit the
for loops in the repetition code so that it only places cells where you
want.

for(pcIndexX 0
(fix(pcRepeatX) - 1)
for(pcIndexY 0
(fix(pcIndexX) - 1) nil <- edit this line
(pcLayer = 5)
(pcPurpose = "drawing")
........

I've replaced the original "pcRepeatY" with "pcIndexX", so the number of
repetitions in the Y direction is equal to the current X index.

To use the new skill file, create a libInit.il file in your library
directory. This runs skill when that particular library is initialised,
so put

load("/path/to/your/pcell/skill/file")

inside.

Hope this helps!

Cheers,

Roger
 

Welcome to EDABoard.com

Sponsor

Back
Top