0% found this document useful (0 votes)
176 views6 pages

Sde Code

This document describes the design of a 45nm n-channel MOSFET transistor. It defines parameters such as doping concentrations, layer thicknesses, and contact settings. Meshing strategies are specified to generate a mesh file for the transistor design.

Uploaded by

Uma Mahesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views6 pages

Sde Code

This document describes the design of a 45nm n-channel MOSFET transistor. It defines parameters such as doping concentrations, layer thicknesses, and contact settings. Meshing strategies are specified to generate a mesh file for the transistor design.

Uploaded by

Uma Mahesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

;********************************************************

;* 3D transistor Project
;* Created by: Umamaheswara Rao Tida
;* Version: 08/23/2014
;* Comments: 45nm- N-channel MOSFET Design
;********************************************************

(if (string=? "@Type@" "nMOS")


(begin
(define DopSub "BoronActiveConcentration")
(define DopSD "ArsenicActiveConcentration")
(define SubDop 1.0e15 ) ; [1/cm3]
)
(begin
(define DopSub "ArsenicActiveConcentration")
(define DopSD "BoronActiveConcentration")
(define SubDop 1.0e15 ) ; [1/cm3]
)
)

;---------------------------------------------------------------------; Setting parameters


; - Length for each part

(define tsvD @TSVDiameter@)


(define linD @LinerDiameter@)

(define tsvSD @DopedLength@)

(define subH 60)

(define fillet-radius 0.03)


(define metalT 0.3)
(define metalH (+ subH metalT))

;---------------------------------------------------------------------; Overlap resolution: New replaces Old


(sdegeo:set-default-boolean "ABA")

;----------------------------------------------------------------------

; Creating substrate region

(sdegeo:create-cuboid (position -10 -10 0) (position 10 10 subH) "Silicon"


"R.Substrate")
(sdegeo:create-cylinder (position 0 0 0) (position 0 0 subH) tsvSD "Silicon"
"R.SubstratePDoped" )
(sdegeo:create-cuboid (position 5.45 0 60) (position 5.63 0.18 50) "Silicon"
"R.source1" )
(sdegeo:create-cuboid (position 5.4496 -0.09 60) (position 5.6296 -0.27 50)
"Silicon" "R.drain1")
(sdegeo:create-cylinder (position 0 0 0) (position 0 0 subH) linD "SiO2" "R.Liner" )
(sdegeo:create-cylinder (position 0 0 0) (position 0 0 subH) tsvD "Copper" "TSV" )

(sdegeo:create-cylinder (position 0 0 subH) (position 0 0 metalH) tsvD "Copper"


"gateContact" )
(sdegeo:create-cuboid (position 5.54 0 subH) (position 5.63 0.09 metalH) "Copper"
"sourceContact" )
(sdegeo:create-cuboid (position 5.5396 -0.27 subH) (position 5.6296 -0.18 metalH)
"Copper" "drainContact" )

;---------------------------------------------------------------------; Contact declarations

(sdegeo:define-contact-set "source" 4 (color:rgb 1 0 0 ) "##" )


(sdegeo:define-contact-set "drain" 4 (color:rgb 1 0 0 ) "==" )
(sdegeo:define-contact-set "gate" 4 (color:rgb 1 0 0 ) "::" )

;---------------------------------------------------------------------; Contact settings


; for the Drain, find the edge at the middle point between Xmax and Xsp

(sdegeo:set-current-contact-set "gate")
(sdegeo:define-3d-contact (list (car (find-face-id (position 5 6.12323399573677e-16
60.15))) (car (find-face-id (position 0 0 60))) (car (find-face-id (position 0 0 60)))
(car (find-face-id (position 0 0 60.3)))) "gate")

(sdegeo:set-current-contact-set "source")
(sdegeo:define-3d-contact (list (car (find-face-id (position 5.585 0.045 60.3))) (car
(find-face-id (position 5.585 0.045 60))) (car (find-face-id (position 5.585 0.045 60)))

(car (find-face-id (position 5.585 0 60.15))) (car (find-face-id (position 5.54 0.045
60.15))) (car (find-face-id (position 5.585 0.09 60.15))) (car (find-face-id (position
5.63 0.045 60.15)))) "source")

(sdegeo:set-current-contact-set "drain")
(sdegeo:define-3d-contact (list (car (find-face-id (position 5.5846 -0.225 60.3))) (car
(find-face-id (position 5.5846 -0.225 60))) (car (find-face-id
(position 5.5846 -0.225 60))) (car (find-face-id (position 5.5846 -0.27 60.15))) (car
(find-face-id (position 5.5396 -0.225 60.15))) (car (find-face-id (position 5.5846 -0.18
60.15)))
(car (find-face-id (position 5.6296 -0.225 60.15)))) "drain")

;---------------------------------------------------------------------; Separating lumps


(sde:separate-lumps)

; Saving BND file


(sdeio:save-tdr-bnd (get-body-list) "n@node@_half_bnd.tdr")

(sdedr:define-constant-profile "Elec_Cond" "ElectricalConductivity" 10)


(sdedr:define-constant-profile-region "EC" "Elec_Cond" "R.Substrate")

(sdedr:define-constant-profile "ndope" DopSD SubDop)


(sdedr:define-constant-profile-region "const.substrate" "ndope" "R.Substrate")

(sdedr:define-constant-profile "pdope" DopSub SubDop)


(sdedr:define-constant-profile-region "Dopingsubstrate" "pdope"
"R.SubstratePDoped")

(sdedr:define-constant-profile "Source_ndope" DopSD SubDop)


(sdedr:define-constant-profile-region "Source.dope" "Source_ndope" "R.source1")

(sdedr:define-constant-profile "Drain_ndope" DopSD SubDop)


(sdedr:define-constant-profile-region "Drain.dope" "Drain_ndope" "R.drain1")

;---------------------------------------------------------------------; Meshing Strategy:


(sdedr:define-refeval-window "RefEvalWin.global" "Cuboid" (position -10 -10 0)
(position 10 10 metalH))
(sdedr:define-refinement-size "RefDef.Global" 0.5 0.5 0.5 0.001 0.001 0.001 )
(sdedr:define-refinement-placement "place.Global" "RefDef.Global"
"RefEvalWin.global" )

;---------------------------------------------------------------------; Save CMD file


(sdedr:write-cmd-file "n@node@_half_msh.cmd")

;----------------------------------------------------------------------

; Build Mesh
(system:command "snmesh n@node@_half_msh")

;---------------------------------------------------------------------; Reflect device


;(system:command "tdx -mtt -x -ren drain=source n@node@_half_msh
n@node@_msh")

You might also like