blob: 190223667135d7a8d31e296d3ba2c4998e52675e [file] [log] [blame]
##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]
}