Home > Community > Forums > Custom IC SKILL > PCell for a partial torus

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 PCell for a partial torus 

Last post Mon, Jun 23 2008 1:25 PM by archive. 2 replies.
Started by archive 23 Jun 2008 01:25 PM. Topic has 2 replies and 3162 views
Page 1 of 1 (3 items)
Sort Posts:
  • Mon, Jun 23 2008 1:25 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    PCell for a partial torus Reply

    Hello Folks,
    I would like to create a PCell for a partial torus with three parameters, outer radius, inner radius (size of hole for a complete torus) and azimuth angle (or fraction of a complete torus). 
    Thanks from a
    Newbie


    Originally posted in cdnusers.org by deanjennings
    • Post Points: 0
  • Mon, Jun 23 2008 11:38 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: PCell for a partial torus Reply

    This isn't Facebook - there's no need to tell everyone what you're currently doing ;-)

    Sorry for the cheeky comment, but you didn't actually [u]ask[/u] anything! I'm assuming you'd like some example code, or something like that? Anyway, one place to look is in the Cadence IC installation:

    /tools/dfII/samples/artist/passiveLib

    within this library, there is a "spiralInd" pcell. If you look at spiralInd/spiralInd.s.pc you'll find the SKILL code for the pcell.

    Not exactly your spec, but similar enough to borrow from, probably. Assuming that's what you wanted!

    Regards,

    Andrew.


    Originally posted in cdnusers.org by adbeckett
    • Post Points: 0
  • Tue, Jun 24 2008 12:37 AM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: PCell for a partial torus Reply

    Maybe you need code for a drc right circle on multiple of manufacturing grid for rthe solution of your problem:

    procedure( DrcCorrectDrawCircle(cv lpp centerx centery radius grid )
    let( (ccords x y lasty yend rsq list2)
    ccords='()
    x=0
    lasty=0.0
    y=radius/grid
    rsq=radius*radius/(grid*grid)
    yend=radius*sqrt(2.0)*0.5/grid
    while(y>yend
    x=floor(sqrt(rsq-(y*y)))
    ccords=cons(list(x*grid y*grid) ccords)
    y=y-1.0
    );while
    y=grid*floor(yend)
    xy45=list(y y)

    list2=append(
    reverse(ccords)
    list(xy45))
    list2=append(list2
    foreach(mapcar elem ccords list(cadr(elem) car(elem))))
    list2=append(list2
    list(0.0:0.0) )
    dbCreatePolygon(cv lpp foreach(mapcar elem list2
    list(car(elem)+centerx
    cadr(elem)+centery)))
    )
    )


    in PCell code use
    ...
    DrcCorrectDrawCircle(pcCellView list("M1" "drawing") 3.4 ...)
    ...



    Regards

    Elmar


    Originally posted in cdnusers.org by herzer
    • Post Points: 0
Page 1 of 1 (3 items)
Sort Posts:
Started by archive at 23 Jun 2008 01:25 PM. Topic has 2 replies.