| ##Initiaze pointer## |
| set x 0 |
| set y 0 |
| box position $x $y |
| |
| ##Nmos layout starts here## |
| #Create poly-strips# |
| set sc_poly_width 600 |
| set sc_poly_height 4302 |
| set sc_box_position_x [expr $x+225] |
| set sc_box_position_y [expr $y+550] |
| box position $sc_box_position_x $sc_box_position_y |
| box size $sc_poly_width $sc_poly_height |
| paint poly |
| |
| #Create mvndiffusion area# |
| set sc_mvndiff_width 670 |
| set sc_mvndiff_height 4200 |
| set sc_mvndiff_spacing 627 |
| set sc_box_position_x [expr $x+190] |
| set sc_box_position_y [expr $y+601] |
| box position $sc_box_position_x $sc_box_position_y |
| box size $sc_mvndiff_width $sc_mvndiff_height |
| paint mvndiff |
| |
| #Create local interconnect layer# |
| #For source and drain terminals# |
| set sc_li_width 17 |
| set sc_li_height 4200 |
| set sc_mos_terminals 2 |
| set sc_box_position_x [expr $x+199] |
| set sc_box_position_y [expr $y+601] |
| set sc_li_spacing_x 635 |
| set sc_li_spacing_y 627 |
| for {set i 1} {$i <= $sc_mos_terminals} {incr i} { |
| box position $sc_box_position_x $sc_box_position_y |
| box size $sc_li_width $sc_li_height |
| paint li |
| set sc_box_position_x [expr $sc_box_position_x+$sc_li_spacing_x] |
| } |
| |
| #Create ndiffusioncontact area# |
| set sc_mvndc_width 17 |
| set sc_mvndc_height 18 |
| set sc_mos_terminals 2 |
| set sc_mos_spacing 627 |
| set sc_box_position_x [expr $x+199] |
| set sc_box_position_y [expr $y+610] |
| set sc_mvndc_spacing_x 635 |
| set sc_mvndc_spacing_y 18 |
| for {set j 1} {$j <= $sc_mos_terminals} {incr j} { |
| for {set i 1} {$i <= [expr $sc_mvndiff_height/ [expr $sc_mvndc_height + $sc_mvndc_spacing_y]]} {incr i} { |
| box position $sc_box_position_x $sc_box_position_y |
| box size $sc_mvndc_width $sc_mvndc_height |
| paint mvndcontact |
| set sc_box_position_y [expr $sc_box_position_y+$sc_mvndc_spacing_y+$sc_mvndc_height] |
| } |
| set sc_box_position_x [expr $sc_box_position_x+$sc_mvndc_spacing_x] |
| set sc_box_position_y [expr $y+610] |
| } |