layoutXL vs. mosaics

D

danmc

Guest
Hi,

I have a problem which I've run into a few times in the past.

I have a cell which is a very big MOS capacitor. In the schematic it
is a single NMOS with W=100um, L=5um, Fingers=10, Multiplicity=200

So when I fire up layoutXL, I end up with 200 devices which are 100/5
and each of the devices is fingered into 10 fingers. My problem now is
that is is a major pain to line them all up nicely in an array because
even with the 'align' function, I have 200 transistors to click on and
if I decide to change the spacing between cells, it gets all messy.

My question is then, is there a way to get layoutXL to create a 10x20
mosaic of these transistors which I can move around as a single object
and easily change the spacing on?

I haven't figured out how to keep layoutXL happy in terms of device
correspondence when I try to use a mosaic.

Thanks
-Dan
 
On 12 Oct 2005 12:43:27 -0700, "danmc" <spam@mcmahill.net> wrote:

Hi,

I have a problem which I've run into a few times in the past.

I have a cell which is a very big MOS capacitor. In the schematic it
is a single NMOS with W=100um, L=5um, Fingers=10, Multiplicity=200

So when I fire up layoutXL, I end up with 200 devices which are 100/5
and each of the devices is fingered into 10 fingers. My problem now is
that is is a major pain to line them all up nicely in an array because
even with the 'align' function, I have 200 transistors to click on and
if I decide to change the spacing between cells, it gets all messy.

My question is then, is there a way to get layoutXL to create a 10x20
mosaic of these transistors which I can move around as a single object
and easily change the spacing on?

I haven't figured out how to keep layoutXL happy in terms of device
correspondence when I try to use a mosaic.

Thanks
-Dan
The problem is that mosaics don't have instTerms - and so the connectivity
to each member of the mosaic can't be maintained. I expect you could do it as a
one off, and then flatten the mosaic - but that probably doesn't help you here.

Or you could write a pcell which takes care of the stepping and repeating inside
and has the rows, cols, spacing as parameters. But then you'd have to get
the correspondence tying up, and you'd probably want the extractor depth set to
1 or more.

None of which are particularly satisfactory solutions. I wonder whether NeoCell
would help here (I'm not sufficiently knowledgeable with NeoCell to be able to
give you an answer here - perhaps somebody else in the news group is?)

Regards,

Andrew.
 
"danmc" <spam@mcmahill.net> writes:

I haven't figured out how to keep layoutXL happy in terms of device
correspondence when I try to use a mosaic.
The lack of connectivity information in mosaic makes them difficult to
use in VXL and I assume here that it prevents to use
Connectivity|Update|Device Correspondance. Wrapping the mosaic in a
normal CV with the external connectivity should do the trick. In your
capacitor case, that should not be difficult. You could even define a
PCELL for that and make VXL use it automatically (BTW, there is
perhaps already a QCELL).

Yours,

--
Jean-Marc
 
The only way I have been able to do this is to create a cell that
contains the mosaic and add the correct pins to it. I replace the
pcells that XL placed with the new cell. This works until it is ECO
time then you just have to ignore/delete the new components XL places
for that one.

Tim
 
danmc wrote:
Hi,

I have a problem which I've run into a few times in the past.

I have a cell which is a very big MOS capacitor. In the schematic it
is a single NMOS with W=100um, L=5um, Fingers=10, Multiplicity=200

So when I fire up layoutXL, I end up with 200 devices which are 100/5
and each of the devices is fingered into 10 fingers. My problem now is
that is is a major pain to line them all up nicely in an array because
even with the 'align' function, I have 200 transistors to click on and
if I decide to change the spacing between cells, it gets all messy.

My question is then, is there a way to get layoutXL to create a 10x20
mosaic of these transistors which I can move around as a single object
and easily change the spacing on?

I haven't figured out how to keep layoutXL happy in terms of device
correspondence when I try to use a mosaic.

Thanks
-Dan
Hi Dan,

you also have an option of grouping without using a mosaic. Look for
leHiAttach()
 
On Sat, 05 Nov 2005 22:24:09 -0500, fogh <adff@xs4all.nl> wrote:

danmc wrote:
Hi,

I have a problem which I've run into a few times in the past.

I have a cell which is a very big MOS capacitor. In the schematic it
is a single NMOS with W=100um, L=5um, Fingers=10, Multiplicity=200

So when I fire up layoutXL, I end up with 200 devices which are 100/5
and each of the devices is fingered into 10 fingers. My problem now is
that is is a major pain to line them all up nicely in an array because
even with the 'align' function, I have 200 transistors to click on and
if I decide to change the spacing between cells, it gets all messy.

My question is then, is there a way to get layoutXL to create a 10x20
mosaic of these transistors which I can move around as a single object
and easily change the spacing on?

I haven't figured out how to keep layoutXL happy in terms of device
correspondence when I try to use a mosaic.

Thanks
-Dan

Hi Dan,

you also have an option of grouping without using a mosaic. Look for
leHiAttach()
And you can also use rodAlign() for more flexible level-0 alignments. But would
need SKILL code to create the alignments. The trouble then is changing the
spacing - what you would do is to take all the aligned objects and recreate the
alignments again with different separations (again with SKILL). Not as efficient
as a mosaic, but it does have the benefit of being individual devices with usual
connectivity.

Andrew.
 

Welcome to EDABoard.com

Sponsor

Back
Top