| Author |
Message |
danmc
Guest
|
Posted:
Wed Oct 12, 2005 8:10 pm Post subject:
layoutXL vs. mosaics |
|
|
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
|
|
| Back to top |
|
 |
Andrew Beckett
Guest
|
Posted:
Mon Oct 17, 2005 8:10 pm Post subject:
Re: layoutXL vs. mosaics |
|
|
On 12 Oct 2005 12:43:27 -0700, "danmc" <spam@mcmahill.net> wrote:
| Quote: | 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. |
|
| Back to top |
|
 |
Jean-Marc Bourguet
Guest
|
Posted:
Tue Oct 18, 2005 8:10 am Post subject:
Re: layoutXL vs. mosaics |
|
|
"danmc" <spam@mcmahill.net> writes:
| Quote: | 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
|
|
| Back to top |
|
 |
Tim
Guest
|
Posted:
Tue Oct 18, 2005 8:10 pm Post subject:
Re: layoutXL vs. mosaics |
|
|
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 |
|
| Back to top |
|
 |
fogh
Guest
|
Posted:
Sun Nov 06, 2005 1:10 am Post subject:
Re: layoutXL vs. mosaics |
|
|
danmc wrote:
| Quote: | 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() |
|
| Back to top |
|
 |
Andrew Beckett
Guest
|
Posted:
Thu Nov 10, 2005 1:10 am Post subject:
Re: layoutXL vs. mosaics |
|
|
On Sat, 05 Nov 2005 22:24:09 -0500, fogh <adff@xs4all.nl> wrote:
| Quote: | 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. |
|
| Back to top |
|
 |
|
|
|
|