Skill Rotate Any Angle

T

Tracy Groller

Guest
I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))

--


\ ~ ~ ///
---- ( @ @ )
| | ======oOOo==(_)==oOOo=======================================
| |__<*> ___ Tracy Groller | Texas Instruments, Inc.
| _|III|_ | ------------------| Wireless RFCMOS Design
_____| /_ III _/ \ TI MSGID: TAG2 | P.O. Box 660199, MS 8729
\_ /III/ | PC Drop: PFLL | Dallas, Texas 75266
\ _ /III/ _| -------------------------------------------------
\_/ \ \___> - Phone: (214) 480-2217 Text Pager
\ / Email: h-groller@ti.com 2144010964@sbc2way.com
\ \ =======================================================
\---\
 
this is simple geometry

any point (x,y) can be rotated by an angle a around the center (0,0) by multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a layout), and that
may distort the shapes a bit (especially if applying successive rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:
I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 
"S. Badel" <stephane.badel@REMOVETHISepfl.ch> writes:

It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get
lines that were on 45degree multiples of angles, and they end up
being not quite anymore.

This is for sure. This is already an issue for example with 45
degree paths, where the center line gets on the grid and the side
points are off-grid because stupid and silly tan(pi/8) is not a
real.
Rational I assume?

Yours,

--
Jean-Marc
 
Some of the emmerging processes are MEMS processes, where you
need to have some artwork features.

A very basic structure even compatible microelectronics, is
a spiral inductor with a "multigonal" shaping. It needs such
kind of any angle rotation feature.

Some othe conic structure for pure optical processes, need such
any angle rotation feature.

Regards,

================
Kholdoun TORKI
http://cmp.imag.fr
================

S. Badel wrote:

But anyway why would you want to rotate an object other that multiples
of 45 degrees,
for any other purpose that artwork? It seems anyway foundries wouldn't
accept such weird layouts.

I may be narrow minded but I do not see any use for this, if you have
any clue please open my eyes...

cheers,
stéphane
 
This is for sure. This is already an issue for example with 45
degree paths, where the center line gets on the grid and the side
points are off-grid because stupid and silly tan(pi/8) is not a
real.
my mistake, i meant IS a real (not rational)
thanks for spotting the error

stéphane
 
Kholdoun,

Grenoble is where I did my "travaux pratiques" ten years ago. That
brings up memories ...
Google felt lucky and gave me 5 pages at
http://tima.imag.fr/publications/files/rr/drn_125.pdf , but these seem
to only state the problem. Maybe my reading was too quick, but is there
a more extended version of this paper ?

Kholdoun TORKI wrote:
I have investigated those kind of problems 6 years ago with a PhD
student. We found some interesting results. The work was part of
an EU project (TALENT).

We published in 2000 :
Z. JUNEIDI, K. TORKI, R. HAMZA, "Design rules for non-manhattan shapes",
SPIE's 2000 Symposium and Continuing Education Program on Micromachining
and Micro-fabrication, Santa Clara, California, USA, September 17-20 2000.

One of the partners in the TALENT project was Mentor, and they
adopted the solution of the tolerance which is now part of
Calibre/DRC and extraction. The user may define a tolerance so that
off-grids and/or some non-manhattan angles are passing the DRC.

If you manipulate objects with minimum design rules, you may have
problems with the all-angles shapes and off-grid structures.
Otherwise, if the structures are large (more than let say 5 times
the minimum rules), then the relative errors introduced are very
small and can be neglected. The pattern generation tool and OPC
are fine with such.

One of the layout tools which has nice artwork features is L-Edit
from Tanner. It allows all angle structures, and allow all-angle
instances, with a full compliance with the GDSII standard.
(the problem is when you try to streamIn all-angles instances in
Cadence/Virtuoso, it is not supported ...)

Regards,

================
Kholdoun TORKI
http://cmp.imag.fr
================

fogh wrote:

Gerry,

I believe it is more a problem for the physical verification tools or
the pattern generation tools (OPC and such) than for the layout
editor. As mentionned earlier, you can only have rationals on the
grid. The angle grid is influence by the length of the line being
rotated. So the is not really a 'solution', and I don t find it worth
looking for a more "clever" grid snapping preocedure than the one
performed silently by the DBUs. But this is my 2cents, I barely ever
work with MEMs or Xrouting. But such problems occur with RF structures
too.

The assura deck could allow grid errors corresponding to the dimension
of the object when testing manhattan'ness or angles acuteness. For
example: if a 500um long path is at 46degrees , that is and error ,
but if a 2um path is, that is acceptable.

G Vandevalk wrote:

Curious ... How do you plan to get to a manufacturing grid?
I think the default case, the tool will silently truncate to the
nearest 0.01u ... (but that was a while ago)

It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get
lines that
were
on 45degree multiples of angles, and they end up being not quite
anymore.

(more of a comment to users who think that powerful transforms as shown
below can be used without fear ... They are powerful, but understand
their
limitations)

-- Gerry


"fogh" <cad_support@skipthisandunderscores.catena.nl> wrote in message
news:111rbr88a2uh273@news.supernews.com...

Stephane,

That is arbitrary, but I find it more fun to do it like:

z=complex(x-cx y-cy)*exp(complex(0 1)*a)
x'=cx+real(z)
y'=cy+imag(z)


S. Badel wrote:

this is simple geometry

any point (x,y) can be rotated by an angle a around the center
(0,0) by
multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to
round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a
layout), and that
may distort the shapes a bit (especially if applying successive
rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:


I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 
Kholdoun,

french is fine with me( I am from Lyon ).
Thanks for the reference. It seems to adress many other topics like
integrating EM simulator and a TCAD simulator (etch) , or
electro-mechanicalmodel reduction for analog behavioral languages.
Interesting.

And the chapter 5 seems to have all answer on the topic of
non-manhatan shape checking.


Kholdoun TORKI wrote:
Fogh,

There is actually the complete PhD thesis of this student
available in the TIMA web site :
http://tima.imag.fr/publications/files/th/ocm_189.pdf
In Chapter 5, is described what we done with non-manhatan shapes.
(unfortunately, it's in french)

The efficient solution we implemented is to sample all the any-angle
shapes to the most close on-grid points. That results in too many
points for the structure, but it passes 100% of the DRC.
Of course this method is good when there are limitted number of
such structures, otherwise the database explose in size ...

I would admit that since then, the major CAD vendors are doing
a nice job regarding DRC and extraction, which was not the case
10 years ago with such structures. We were at that time struggling
with the tools for MEMS structures ...

Regards,

================
Kholdoun TORKI
http://cmp.imag.fr
================

fogh wrote:

Kholdoun,

Grenoble is where I did my "travaux pratiques" ten years ago. That
brings up memories ...
Google felt lucky and gave me 5 pages at
http://tima.imag.fr/publications/files/rr/drn_125.pdf , but these seem
to only state the problem. Maybe my reading was too quick, but is
there a more extended version of this paper ?

Kholdoun TORKI wrote:

I have investigated those kind of problems 6 years ago with a PhD
student. We found some interesting results. The work was part of
an EU project (TALENT).

We published in 2000 :
Z. JUNEIDI, K. TORKI, R. HAMZA, "Design rules for non-manhattan
shapes", SPIE's 2000 Symposium and Continuing Education Program on
Micromachining and Micro-fabrication, Santa Clara, California, USA,
September 17-20 2000.

One of the partners in the TALENT project was Mentor, and they
adopted the solution of the tolerance which is now part of
Calibre/DRC and extraction. The user may define a tolerance so that
off-grids and/or some non-manhattan angles are passing the DRC.

If you manipulate objects with minimum design rules, you may have
problems with the all-angles shapes and off-grid structures.
Otherwise, if the structures are large (more than let say 5 times
the minimum rules), then the relative errors introduced are very
small and can be neglected. The pattern generation tool and OPC
are fine with such.

One of the layout tools which has nice artwork features is L-Edit
from Tanner. It allows all angle structures, and allow all-angle
instances, with a full compliance with the GDSII standard.
(the problem is when you try to streamIn all-angles instances in
Cadence/Virtuoso, it is not supported ...)

Regards,

================
Kholdoun TORKI
http://cmp.imag.fr
================

fogh wrote:

Gerry,

I believe it is more a problem for the physical verification tools
or the pattern generation tools (OPC and such) than for the layout
editor. As mentionned earlier, you can only have rationals on the
grid. The angle grid is influence by the length of the line being
rotated. So the is not really a 'solution', and I don t find it
worth looking for a more "clever" grid snapping preocedure than the
one performed silently by the DBUs. But this is my 2cents, I barely
ever work with MEMs or Xrouting. But such problems occur with RF
structures too.

The assura deck could allow grid errors corresponding to the
dimension of the object when testing manhattan'ness or angles
acuteness. For example: if a 500um long path is at 46degrees , that
is and error , but if a 2um path is, that is acceptable.

G Vandevalk wrote:

Curious ... How do you plan to get to a manufacturing grid?
I think the default case, the tool will silently truncate to the
nearest 0.01u ... (but that was a while ago)

It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get
lines that
were
on 45degree multiples of angles, and they end up being not quite
anymore.

(more of a comment to users who think that powerful transforms as
shown
below can be used without fear ... They are powerful, but
understand their
limitations)

-- Gerry


"fogh" <cad_support@skipthisandunderscores.catena.nl> wrote in message
news:111rbr88a2uh273@news.supernews.com...

Stephane,

That is arbitrary, but I find it more fun to do it like:

z=complex(x-cx y-cy)*exp(complex(0 1)*a)
x'=cx+real(z)
y'=cy+imag(z)


S. Badel wrote:

this is simple geometry

any point (x,y) can be rotated by an angle a around the center
(0,0) by
multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to
round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a
layout), and that
may distort the shapes a bit (especially if applying successive
rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:


I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 
Stephane,

That is arbitrary, but I find it more fun to do it like:

z=complex(x-cx y-cy)*exp(complex(0 1)*a)
x'=cx+real(z)
y'=cy+imag(z)


S. Badel wrote:
this is simple geometry

any point (x,y) can be rotated by an angle a around the center (0,0) by
multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to
round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a
layout), and that
may distort the shapes a bit (especially if applying successive
rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:


I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 
Curious ... How do you plan to get to a manufacturing grid?
I think the default case, the tool will silently truncate to the
nearest 0.01u ... (but that was a while ago)

It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get lines that
were
on 45degree multiples of angles, and they end up being not quite anymore.

(more of a comment to users who think that powerful transforms as shown
below can be used without fear ... They are powerful, but understand their
limitations)

-- Gerry


"fogh" <cad_support@skipthisandunderscores.catena.nl> wrote in message
news:111rbr88a2uh273@news.supernews.com...
Stephane,

That is arbitrary, but I find it more fun to do it like:

z=complex(x-cx y-cy)*exp(complex(0 1)*a)
x'=cx+real(z)
y'=cy+imag(z)


S. Badel wrote:
this is simple geometry

any point (x,y) can be rotated by an angle a around the center (0,0) by
multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to
round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a
layout), and that
may distort the shapes a bit (especially if applying successive
rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:


I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 
G Vandevalk wrote:
Curious ... How do you plan to get to a manufacturing grid?
I think the default case, the tool will silently truncate to the
nearest 0.01u ... (but that was a while ago)
I guess so too (well i would say database unit instead of 0.01u, which would
rather be 0.001u in the common case, but could be different if setting a different
DBUPerUU). Handling the rotation without distortion seems difficult, if not impossible,
to me.


It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get lines that
were
on 45degree multiples of angles, and they end up being not quite anymore.
This is for sure. This is already an issue for example with 45 degree paths, where the
center line gets on the grid and the side points are off-grid because stupid and silly
tan(pi/8) is not a real.

But anyway why would you want to rotate an object other that multiples of 45 degrees,
for any other purpose that artwork? It seems anyway foundries wouldn't accept such
weird layouts.

I may be narrow minded but I do not see any use for this, if you have any clue please open
my eyes...

cheers,
stéphane
 
Gerry,

I believe it is more a problem for the physical verification tools or
the pattern generation tools (OPC and such) than for the layout editor.
As mentionned earlier, you can only have rationals on the grid. The
angle grid is influence by the length of the line being rotated. So the
is not really a 'solution', and I don t find it worth looking for a more
"clever" grid snapping preocedure than the one performed silently by the
DBUs. But this is my 2cents, I barely ever work with MEMs or Xrouting.
But such problems occur with RF structures too.

The assura deck could allow grid errors corresponding to the dimension
of the object when testing manhattan'ness or angles acuteness. For
example: if a 500um long path is at 46degrees , that is and error , but
if a 2um path is, that is acceptable.

G Vandevalk wrote:
Curious ... How do you plan to get to a manufacturing grid?
I think the default case, the tool will silently truncate to the
nearest 0.01u ... (but that was a while ago)

It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get lines that
were
on 45degree multiples of angles, and they end up being not quite anymore.

(more of a comment to users who think that powerful transforms as shown
below can be used without fear ... They are powerful, but understand their
limitations)

-- Gerry


"fogh" <cad_support@skipthisandunderscores.catena.nl> wrote in message
news:111rbr88a2uh273@news.supernews.com...

Stephane,

That is arbitrary, but I find it more fun to do it like:

z=complex(x-cx y-cy)*exp(complex(0 1)*a)
x'=cx+real(z)
y'=cy+imag(z)


S. Badel wrote:

this is simple geometry

any point (x,y) can be rotated by an angle a around the center (0,0) by
multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to
round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a
layout), and that
may distort the shapes a bit (especially if applying successive
rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:


I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 
Kholdoun TORKI wrote:
Some of the emmerging processes are MEMS processes, where you
need to have some artwork features.

A very basic structure even compatible microelectronics, is
a spiral inductor with a "multigonal" shaping. It needs such
kind of any angle rotation feature.
Interesting. All of the processes I've dealt with have been limited to
square, rectangular, or (at best) octagonal inductors. I've heard about
some experimental RF processes which allowed 30 and 60 degree routes,
but have never played with them.

How do the MEMS guys handle gears, etc., in more conventional processes
which are restricted to 45s? Or are these usually done in MEMS-specific
processes?

Dave
 
I have investigated those kind of problems 6 years ago with a PhD
student. We found some interesting results. The work was part of
an EU project (TALENT).

We published in 2000 :
Z. JUNEIDI, K. TORKI, R. HAMZA, "Design rules for non-manhattan shapes",
SPIE's 2000 Symposium and Continuing Education Program on Micromachining
and Micro-fabrication, Santa Clara, California, USA, September 17-20 2000.

One of the partners in the TALENT project was Mentor, and they
adopted the solution of the tolerance which is now part of
Calibre/DRC and extraction. The user may define a tolerance so that
off-grids and/or some non-manhattan angles are passing the DRC.

If you manipulate objects with minimum design rules, you may have
problems with the all-angles shapes and off-grid structures.
Otherwise, if the structures are large (more than let say 5 times
the minimum rules), then the relative errors introduced are very
small and can be neglected. The pattern generation tool and OPC
are fine with such.

One of the layout tools which has nice artwork features is L-Edit
from Tanner. It allows all angle structures, and allow all-angle
instances, with a full compliance with the GDSII standard.
(the problem is when you try to streamIn all-angles instances in
Cadence/Virtuoso, it is not supported ...)

Regards,

================
Kholdoun TORKI
http://cmp.imag.fr
================

fogh wrote:

Gerry,

I believe it is more a problem for the physical verification tools or
the pattern generation tools (OPC and such) than for the layout editor.
As mentionned earlier, you can only have rationals on the grid. The
angle grid is influence by the length of the line being rotated. So the
is not really a 'solution', and I don t find it worth looking for a more
"clever" grid snapping preocedure than the one performed silently by the
DBUs. But this is my 2cents, I barely ever work with MEMs or Xrouting.
But such problems occur with RF structures too.

The assura deck could allow grid errors corresponding to the dimension
of the object when testing manhattan'ness or angles acuteness. For
example: if a 500um long path is at 46degrees , that is and error , but
if a 2um path is, that is acceptable.

G Vandevalk wrote:

Curious ... How do you plan to get to a manufacturing grid?
I think the default case, the tool will silently truncate to the
nearest 0.01u ... (but that was a while ago)

It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get lines
that
were
on 45degree multiples of angles, and they end up being not quite anymore.

(more of a comment to users who think that powerful transforms as shown
below can be used without fear ... They are powerful, but understand
their
limitations)

-- Gerry


"fogh" <cad_support@skipthisandunderscores.catena.nl> wrote in message
news:111rbr88a2uh273@news.supernews.com...

Stephane,

That is arbitrary, but I find it more fun to do it like:

z=complex(x-cx y-cy)*exp(complex(0 1)*a)
x'=cx+real(z)
y'=cy+imag(z)


S. Badel wrote:

this is simple geometry

any point (x,y) can be rotated by an angle a around the center (0,0) by
multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to
round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a
layout), and that
may distort the shapes a bit (especially if applying successive
rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:


I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 
Many years ago I was told that it was physically impossible to create
structures with curves, and that you could not create (for instance)
the Northern Telecom curved NT logo. (owned now by Nortel)

Since I was involved in all steps of IC layout, from Polygon Capture, DRC
writing,
GDSII streamOut, KLA inspection, Mask specification creation, Wafer Starts,
internal custom processing instructions, and wafer testing, I was able to
insure that a curved
logo was created on a metal mask. ( I have sample wafers & chrome maskmaking
plates
to prove it.

Doing "All Angle" geometry design (especially when we tell the designers
that data
is restricted to 45 degree angles and 0.1u GDSII locations) is not for the
"Faint of Heart". It is important to understand what happens to the data at
each step.

Ultimately, when the chrome mask is created, the GDSII data is converted
into a
MEBES format that essentially reduced the data to a grid of chrome spots.
These
spots are formed in a regular square array. I think that the spot centers
are designed to be offset from the input mask grid. One issue on 45 degree
lines is what happens when the
chrome spot center gets close to the polygon line edge. I think that the
answer is best described as ... when it gets close, you are not sure if a
spot is resolved or not!

But it is trivial (but expensive) to decrease the spot size (at the time I
was doing this)

Making the incoming mask inspection system pass these odd angles is
sometimes a bit of a trick. With only a few odd angled lines, you can
usually get it to work, but it does tend to drive the "fracturing" costs
through the roof. (Fracturing is an archaic term that was used to describe
the procedure of turning the design into a set of rectangles. This is not
done anymore, but the maskmaking people used the term to describe the
increase expense of non-standard geometries into their flow.

Note that all of the above hand waving is somewhat dated, As I did this
10yrs ago.
YMMV

--
Gerry

"David Cuthbert" <"dacut at kanga dot org"> wrote in message
news:0tudnYR0tdYUybzfRVn-2A@comcast.com...
Kholdoun TORKI wrote:
Some of the emmerging processes are MEMS processes, where you
need to have some artwork features.

A very basic structure even compatible microelectronics, is
a spiral inductor with a "multigonal" shaping. It needs such
kind of any angle rotation feature.

Interesting. All of the processes I've dealt with have been limited to
square, rectangular, or (at best) octagonal inductors. I've heard about
some experimental RF processes which allowed 30 and 60 degree routes,
but have never played with them.

How do the MEMS guys handle gears, etc., in more conventional processes
which are restricted to 45s? Or are these usually done in MEMS-specific
processes?

Dave
 
Fogh,

There is actually the complete PhD thesis of this student
available in the TIMA web site :
http://tima.imag.fr/publications/files/th/ocm_189.pdf
In Chapter 5, is described what we done with non-manhatan shapes.
(unfortunately, it's in french)

The efficient solution we implemented is to sample all the any-angle
shapes to the most close on-grid points. That results in too many
points for the structure, but it passes 100% of the DRC.
Of course this method is good when there are limitted number of
such structures, otherwise the database explose in size ...

I would admit that since then, the major CAD vendors are doing
a nice job regarding DRC and extraction, which was not the case
10 years ago with such structures. We were at that time struggling
with the tools for MEMS structures ...

Regards,

================
Kholdoun TORKI
http://cmp.imag.fr
================

fogh wrote:

Kholdoun,

Grenoble is where I did my "travaux pratiques" ten years ago. That
brings up memories ...
Google felt lucky and gave me 5 pages at
http://tima.imag.fr/publications/files/rr/drn_125.pdf , but these seem
to only state the problem. Maybe my reading was too quick, but is there
a more extended version of this paper ?

Kholdoun TORKI wrote:

I have investigated those kind of problems 6 years ago with a PhD
student. We found some interesting results. The work was part of
an EU project (TALENT).

We published in 2000 :
Z. JUNEIDI, K. TORKI, R. HAMZA, "Design rules for non-manhattan
shapes", SPIE's 2000 Symposium and Continuing Education Program on
Micromachining and Micro-fabrication, Santa Clara, California, USA,
September 17-20 2000.

One of the partners in the TALENT project was Mentor, and they
adopted the solution of the tolerance which is now part of
Calibre/DRC and extraction. The user may define a tolerance so that
off-grids and/or some non-manhattan angles are passing the DRC.

If you manipulate objects with minimum design rules, you may have
problems with the all-angles shapes and off-grid structures.
Otherwise, if the structures are large (more than let say 5 times
the minimum rules), then the relative errors introduced are very
small and can be neglected. The pattern generation tool and OPC
are fine with such.

One of the layout tools which has nice artwork features is L-Edit
from Tanner. It allows all angle structures, and allow all-angle
instances, with a full compliance with the GDSII standard.
(the problem is when you try to streamIn all-angles instances in
Cadence/Virtuoso, it is not supported ...)

Regards,

================
Kholdoun TORKI
http://cmp.imag.fr
================

fogh wrote:

Gerry,

I believe it is more a problem for the physical verification tools or
the pattern generation tools (OPC and such) than for the layout
editor. As mentionned earlier, you can only have rationals on the
grid. The angle grid is influence by the length of the line being
rotated. So the is not really a 'solution', and I don t find it worth
looking for a more "clever" grid snapping preocedure than the one
performed silently by the DBUs. But this is my 2cents, I barely ever
work with MEMs or Xrouting. But such problems occur with RF
structures too.

The assura deck could allow grid errors corresponding to the
dimension of the object when testing manhattan'ness or angles
acuteness. For example: if a 500um long path is at 46degrees , that
is and error , but if a 2um path is, that is acceptable.

G Vandevalk wrote:

Curious ... How do you plan to get to a manufacturing grid?
I think the default case, the tool will silently truncate to the
nearest 0.01u ... (but that was a while ago)

It is somewhat ugly when you transform by angles that users expect
to be wlll behaved (i.e. 45degrees) and all of a sudden, you get
lines that
were
on 45degree multiples of angles, and they end up being not quite
anymore.

(more of a comment to users who think that powerful transforms as shown
below can be used without fear ... They are powerful, but understand
their
limitations)

-- Gerry


"fogh" <cad_support@skipthisandunderscores.catena.nl> wrote in message
news:111rbr88a2uh273@news.supernews.com...

Stephane,

That is arbitrary, but I find it more fun to do it like:

z=complex(x-cx y-cy)*exp(complex(0 1)*a)
x'=cx+real(z)
y'=cy+imag(z)


S. Badel wrote:

this is simple geometry

any point (x,y) can be rotated by an angle a around the center
(0,0) by
multiplying it
by the matrix [ (cos a, sin a) (-sin a, cos a) ]. that is,

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

if the center is not (0,0) but (cx,cy)

x' = cx + (x-cx)*cos(a)-(y-cy)*sin(a)
y' = cy + (x-cx)*sin(a)+(y-cy)*cos(a)

beware however that sinuses and coses are reals, so it will need to
round (most of the time)
points to the minimum database unit (usually 1/1000 micron for a
layout), and that
may distort the shapes a bit (especially if applying successive
rotations-and-rounding).

i let the skill implementation up to you,

cheers,

stephane

Tracy Groller wrote:


I have a coord pair below
which is a rectangle .

I would like to have a skill function to rotate this at any angle .
Is there code already done that can be used .


((33.655 86.41) (52.21 94.83))
 

Welcome to EDABoard.com

Sponsor

Back
Top