Home > Community > Forums > Custom IC SKILL > Help on Tap using Rod object commands.

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: *

 Help on Tap using Rod object commands.  

Last post Fri, Jun 29 2012 4:28 AM by Sarvani. 0 replies.
Started by Sarvani 29 Jun 2012 04:28 AM. Topic has 0 replies.
Page 1 of 1 (1 items)
Sort Posts:
  • Fri, Jun 29 2012 4:28 AM

    • Sarvani
    • Top 50 Contributor
    • Joined on Mon, Mar 12 2012
    • VIZAG, Andhra Pradesh
    • Posts 109
    • Points 1,875
    Help on Tap using Rod object commands. Reply

    Hi friends,

                    I have written below code to fill a bBox with taps(substrate taps) in layout.  To fill taps in bBox(bBox points are specified through enterbBox command) I have used rod creat rectangle. It works good when I draw the bBox. But When I Stretch it then fails. I wrote metal, od, contacts as sub rectangles of Implant layer. When I stretch this rod object then it stretches the pp and contacts only. Is there any methode for doing this. 

     

     procedure(TapBbox1()
    enterBox(
    ?prompts list("Enter the first corner of your box."
    "Enter the last corner of your box.")
     ?points         nil
     ?doneProc "TapBbox"
     ?alwaysMap t
    ))
    procedure(TapBbox(w done points)
    v=points

    ;below code may confuse you. So please leave this portion.
    y1=car(reverse(car(reverse(v))))+0.06 ; or yCoord(upperRight( bBox ))
    y2=car(reverse(car(v)))-0.055 ; or yCoord(lowerLeft( bBox ))
    x1=caar(reverse(v))+0.06 ; or xCoord(upperRight( bBox ))
    x2=caar(v)-0.055 ; or xCoord(lowerLeft( bBox ))
    v=list(list(x2 y2) list(x1 y1))
    y1=car(reverse(car(reverse(v))))-0.065 ; or yCoord(upperRight( bBox ))
    y2=car(reverse(car(v)))+0.065 ; or yCoord(lowerLeft( bBox ))
    x1=caar(reverse(v))-0.065 ; or xCoord(upperRight( bBox ))
    x2=caar(v)+0.065 ; or xCoord(lowerLeft( bBox ))
    widthOd=(x1-x2)
    lengthOd=(y1-y2)
    if(widthOd<0
    widthOd=-1*widthOd
    )

    ;Rod objects starts from here:

    rodCreateRect(
    ;[?name S_name]
    ?layer list("PP" "drawing")
    ?bBox v
    ?cvId geGetEditCellView()

    ?subRectArray
    ;l_subrectArgs Subrectangle Arguments
    list(
    list(
    ?layer list("CO" "drawing")
    ?width 0.04
    ?length 0.04
    ;?gap S_gap]
    ?lowerLeftOffsetX 0.07
    ?lowerLeftOffsetY 0.07
    ?upperRightOffsetX -0.07
    ?upperRightOffsetY -0.07
    ?spaceX 0.07
    ?spaceY 0.07
    ;[?prop l_prop]

    ) ;End of first subrectangle list

    list(
    ?layer list("OD" "drawing")
    ?width widthOd
    ?length lengthOd
    ;?gap S_gap]
    ?lowerLeftOffsetX 0.065
    ?lowerLeftOffsetY 0.065
    ?upperRightOffsetX -0.065
    ?upperRightOffsetY -0.065
    ;?spaceX 0
    ;?spaceY 0
    ;[?prop l_prop]
    ;Repeat ROD Connectivity Arguments here
    ) ;End of first subrectangle list

    list(
    ?layer list("M1" "drawing")
    ?width widthOd+0.015
    ?length lengthOd+0.015
    ;?gap S_gap]
    ?lowerLeftOffsetX 0.05
    ?lowerLeftOffsetY 0.05
    ?upperRightOffsetX -0.05
    ?upperRightOffsetY -0.05
    ;?spaceX 0
    ;?spaceY 0
    ;[?prop l_prop]
    ;Repeat ROD Connectivity Arguments here
    ) ;End of first subrectangle list


    ;...
    ) ;End of all subrectangle lists
    ;End of l_subrectArgs
    ) ; end of rodCreateRect
    );procedure of tapbox
    hiSetBindKey("Layout" "<Key>t"      "TapBbox1()")

     Thank you,

    sarvani

    • Post Points: 5
Page 1 of 1 (1 items)
Sort Posts:
Started by Sarvani at 29 Jun 2012 04:28 AM. Topic has 0 replies.