Advertisement
Guest User

Untitled

a guest
Nov 27th, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.88 KB | None | 0 0
  1. (if (string=? "@Type@" "nMOS")
  2. (begin
  3. (define DopSub "BoronActiveConcentration")
  4. (define DopSD "ArsenicActiveConcentration")
  5. ; - Substrate doping level
  6. (define SubDop 1e19 ) ; [1/cm3] ; original : (define SubDop 1e17
  7. (define HaloDop 1.5e18 ) ; [1/cm3] ; original : (define HaloDop 1.5e18 )
  8. (define ExtDop 1e19) ; [1/cm3] ; original : (define ExtDop 1e19) ; 18
  9. )
  10.  
  11. ; (begin
  12. ; (define DopSub "ArsenicActiveConcentration")
  13. ; (define DopSD "BoronActiveConcentration")
  14. ;; - Substrate doping level
  15. ; (define SubDop 5e17 ) ; [1/cm3]
  16. ; (define HaloDop 1.0e18 ) ; [1/cm3]
  17. ; )
  18. )
  19. ;----------------------------------------------------------------------
  20. ; Setting parameters
  21. ; - lateral
  22. (define Lg @lgate@) ; [um] Gate length
  23. (define Lsp 0.1) ; [um] Spacer length
  24. (define Lreox 0.007) ; [um] Reox Spacer length
  25. (define Ltot (+ Lg (* 2 Lsp) 0.8) ) ; [um] Lateral extend total
  26.  
  27. ; - layers
  28. (define Hsub 1.0) ; [um] Substrate thickness
  29. (define Tox 14e-4) ; [um] Gate oxide thickness
  30. (define Hpol 0.2) ; [um] Poly gate thickness
  31.  
  32. ; - other
  33. ; - spacer rounding
  34. (define fillet-radius 0.08) ; [um] Rounding radius
  35.  
  36. ; - pn junction resolution
  37. (define Gpn 0.002) ; [um]
  38.  
  39. (define XjHalo 0.07) ; [um] Halo Depth ;; orginal = 0.07
  40. (define XjExt 0.036) ; [um] Extension depth ;; original = 0.026
  41. (define XjSD 0.12) ; [um] SD Junction depth
  42.  
  43. ;----------------------------------------------------------------------
  44. ; Derived quantities
  45. (define Xmax (/ Ltot 2.0))
  46. (define Xg (/ Lg 2.0))
  47. (define Xsp (+ Xg Lsp))
  48. (define Xrox (+ Xg Lreox))
  49.  
  50. (define Ysub Hsub)
  51. (define Ygox (* Tox -1.0))
  52. (define Ypol (- Ygox Hpol))
  53.  
  54. (define Lcont (- Xmax Xsp))
  55. ;----------------------------------------------------------------------
  56. ; Overlap resolution: New replaces Old
  57. (sdegeo:set-default-boolean "ABA")
  58.  
  59. ;----------------------------------------------------------------------
  60. ; Creating substrate region
  61. (sdegeo:create-rectangle
  62. (position 0.0 Ysub 0.0 )
  63. (position Xmax 0.0 0.0 ) "Silicon" "R.Substrate" )
  64.  
  65. ; Creating gate oxide
  66. (sdegeo:create-rectangle
  67. (position 0.0 0.0 0.0 )
  68. (position Xsp Ygox 0.0 )
  69. "SiO2" "R.Gateox"
  70. )
  71.  
  72. ; Creating PolyReox
  73. (sdegeo:create-rectangle
  74. (position 0.0 Ygox 0.0 )
  75. (position Xsp Ypol 0.0 )
  76. "Oxide" "R.PolyReox"
  77. )
  78.  
  79. ; Creating spacers regions
  80. (sdegeo:create-rectangle
  81. (position (+ Xg Lreox) Ygox 0.0 )
  82. (position Xsp Ypol 0.0 )
  83. "Si3N4" "R.Spacer"
  84. )
  85.  
  86. ; Creating PolySi gate
  87. (sdegeo:create-rectangle
  88. (position 0.0 Ygox 0.0 )
  89. (position Xg Ypol 0.0 )
  90. "PolySi" "R.Polygate"
  91. )
  92.  
  93. ;----------------------------------------------------------------------
  94. ; - rounding spacer
  95. (sdegeo:fillet-2d
  96. (find-vertex-id (position Xsp Ypol 0.0 ))
  97. fillet-radius)
  98.  
  99. ;----------------------------------------------------------------------
  100. ; Contact declarations
  101. (sdegeo:define-contact-set "drain"
  102. 4.0 (color:rgb 0.0 1.0 0.0 ) "##")
  103.  
  104. (sdegeo:define-contact-set "gate"
  105. 4.0 (color:rgb 0.0 0.0 1.0 ) "##")
  106.  
  107. (sdegeo:define-contact-set "substrate"
  108. 4.0 (color:rgb 0.0 1.0 1.0 ) "##")
  109.  
  110. ;----------------------------------------------------------------------
  111. ; Contact settings
  112. (sdegeo:define-2d-contact
  113. (find-edge-id (position (* (+ Xmax Xsp) 0.5) 0.0 0.0))
  114. "drain")
  115.  
  116. (sdegeo:define-2d-contact
  117. (find-edge-id (position 5e-4 Ypol 0.0))
  118. "gate")
  119.  
  120. (sdegeo:define-2d-contact
  121. (find-edge-id (position 5e-4 Ysub 0.0))
  122. "substrate")
  123.  
  124. ;----------------------------------------------------------------------
  125. ; Separating lumps
  126. (sde:separate-lumps)
  127.  
  128. ; Setting region names
  129. (sde:addmaterial
  130. (find-body-id (position 5e-4 (- Ysub 0.1) 0.0))
  131. "Silicon" "R.Substrate")
  132.  
  133. (sde:addmaterial
  134. (find-body-id (position 5e-4 (* 0.5 Ygox) 0.0))
  135. "SiO2" "R.Gateox")
  136.  
  137. (sde:addmaterial
  138. (find-body-id (position 5e-4 (- Ygox 0.01) 0.0))
  139. "PolySi" "R.Polygate")
  140.  
  141. (sde:addmaterial
  142. (find-body-id (position (* -0.5 (+ Xsp Xg)) (- Ygox 0.01) 0.0))
  143. "Si3N4" "R.Spacerleft")
  144.  
  145. (sde:addmaterial
  146. (find-body-id (position (* 0.5 (+ Xsp Xg)) (- Ygox 0.01) 0.0))
  147. "Si3N4" "R.Spacerright")
  148.  
  149. ; Profiles:
  150. ; - Substrate
  151. (sdedr:define-constant-profile "Const.Substrate"
  152. DopSub SubDop )
  153. (sdedr:define-constant-profile-region "PlaceCD.Substrate"
  154. "Const.Substrate" "R.Substrate" )
  155.  
  156. ; - Poly
  157. (sdedr:define-constant-profile "Const.Gate"
  158. DopSD 1e20 )
  159. (sdedr:define-constant-profile-region "PlaceCD.Gate"
  160. "Const.Gate" "R.Polygate" )
  161.  
  162. ; - Halo
  163. ; -- base line definitions
  164. (sdedr:define-refinement-window "BaseLine.Halo" "Line"
  165. (position Xg 0.0 0.0)
  166. (position (* Xmax 2.0) 0.0 0.0) )
  167.  
  168. ; -- implant definition
  169. (sdedr:define-gaussian-profile "Impl.Haloprof"
  170. DopSub
  171. "PeakPos" 0 "PeakVal" HaloDop
  172. "ValueAtDepth" (* 0.87 HaloDop) "Depth" XjHalo ;; original: "ValueAtDepth" (* 0.1 HaloDop) "Depth" XjHalo
  173. "Gauss" "Factor" 1.0
  174. )
  175. ; -- implant placement
  176. (sdedr:define-analytical-profile-placement "Impl.Halo"
  177. "Impl.Haloprof" "BaseLine.Halo" "Positive" "NoReplace" "Eval")
  178.  
  179. ; - Source/Drain extensions
  180. ; -- base line definitions
  181. (sdedr:define-refinement-window "BaseLine.Ext" "Line"
  182. (position Xrox 0.0 0.0)
  183. (position (* Xmax 2.0) 0.0 0.0) )
  184.  
  185.  
  186. ; implant definition
  187. (sdedr:define-gaussian-profile "Impl.Extprof"
  188. DopSD
  189. "PeakPos" 0 "PeakVal" ExtDop
  190. "ValueAtDepth" SubDop "Depth" XjExt
  191. "Gauss" "Factor" 0.8
  192. )
  193.  
  194.  
  195. ; -- implant placement
  196. (sdedr:define-analytical-profile-placement "Impl.Ext"
  197. "Impl.Extprof" "BaseLine.Ext" "Positive" "NoReplace" "Eval")
  198.  
  199. ; - Source/Drain implants
  200. ; -- base line definitions
  201. (sdedr:define-refinement-window "BaseLine.SD" "Line"
  202. (position Xsp 0.0 0.0)
  203. (position (* Xmax 2.0) 0.0 0.0) )
  204.  
  205. ; -- implant definition
  206. (sdedr:define-gaussian-profile "Impl.SDprof"
  207. DopSD
  208. "PeakPos" 0 "PeakVal" 1e20
  209. "ValueAtDepth" SubDop "Depth" XjSD
  210. "Gauss" "Factor" 0.8
  211. )
  212.  
  213. ; -- implant placement
  214. (sdedr:define-analytical-profile-placement "Impl.SD"
  215. "Impl.SDprof" "BaseLine.SD" "Positive" "NoReplace" "Eval")
  216.  
  217. ;----------------------------------------------------------------------
  218. ; Meshing Strategy:
  219. ; Substrate
  220. (sdedr:define-refinement-size "Ref.Substrate"
  221. (/ Xmax 4.0) (/ Hsub 8.0)
  222. Gpn Gpn )
  223. (sdedr:define-refinement-function "Ref.Substrate"
  224. "DopingConcentration" "MaxTransDiff" 1)
  225. (sdedr:define-refinement-region "RefPlace.Substrate"
  226. "Ref.Substrate" "R.Substrate" )
  227.  
  228.  
  229. ; Active
  230. (sdedr:define-refinement-window "RWin.Act"
  231. "Rectangle"
  232. (position 0.0 0.0 0.0)
  233. (position Xmax (* XjSD 1.5) 0.0) )
  234. (sdedr:define-refinement-size "Ref.SiAct"
  235. (/ Lcont 4.0) (/ XjSD 6.0)
  236. Gpn Gpn )
  237. (sdedr:define-refinement-function "Ref.SiAct"
  238. "DopingConcentration" "MaxTransDiff" 1)
  239. (sdedr:define-refinement-placement "RefPlace.SiAct"
  240. "Ref.SiAct" "RWin.Act" )
  241.  
  242.  
  243. ; Po Gate Multibox
  244. (sdedr:define-refinement-window "MBWindow.Gate"
  245. "Rectangle"
  246. (position 0.0 Ypol 0.0)
  247. (position Xg Ygox 0.0) )
  248. (sdedr:define-multibox-size "MBSize.Gate"
  249. (/ Lg 8.0) (/ Hpol 4.0)
  250. (/ Lg 10.0) 2e-4
  251. 1.0 -1.35 )
  252. (sdedr:define-multibox-placement "MBPlace.Gate"
  253. "MBSize.Gate" "MBWindow.Gate" )
  254.  
  255.  
  256. ; GateOx Multibox
  257. (sdedr:define-refinement-window "MBWindow.GateOx"
  258. "Rectangle"
  259. (position 0.0 Ygox 0.0)
  260. (position (* Xg 1.2) 0.0 0.0) )
  261. (sdedr:define-multibox-size "MBSize.GateOx"
  262. (/ Lg 8.0) (/ Tox 4.0)
  263. (/ Lg 10.0) 1e-4
  264. 1.0 -1.35 )
  265. (sdedr:define-multibox-placement "MBPlace.GateOx"
  266. "MBSize.GateOx" "MBWindow.GateOx" )
  267.  
  268.  
  269. ; GateOx
  270. (sdedr:define-refinement-size "Ref.GOX"
  271. (/ Ltot 4.0) (/ Tox 4.0)
  272. Gpn (/ Tox 8.0) )
  273. (sdedr:define-refinement-region "RefPlace.GOX"
  274. "Ref.GOX" "R.Gateox" )
  275.  
  276.  
  277. ; Channel Multibox
  278. (sdedr:define-refinement-window "MBWindow.Channel"
  279. "Rectangle"
  280. (position 0.0 0.0 0.0)
  281. (position (* Xg 1.2) (* 2.0 XjExt) 0.0) )
  282. (sdedr:define-multibox-size "MBSize.Channel"
  283. (/ Lg 8.0) (/ XjSD 8.0)
  284. (/ Lg 10.0) 1e-4
  285. 1.0 1.35 )
  286. (sdedr:define-multibox-placement "MBPlace.Channel"
  287. "MBSize.Channel" "MBWindow.Channel" )
  288.  
  289.  
  290. ; Junctions under the gate
  291. (sdedr:define-refinement-size "Ref.J"
  292. (/ XjExt 8.0) (/ XjExt 8.0)
  293. (/ XjExt 10.0) (/ XjExt 10.0))
  294.  
  295. ; Gate-Drain Junction
  296. (sdedr:define-refinement-window "RWin.GD"
  297. "Rectangle"
  298. (position (- Xrox (* 0.8 XjExt)) 0.0 0.0)
  299. (position (- Xrox (* 0.1 XjExt)) (* XjExt 0.5) 0.0) )
  300. (sdedr:define-refinement-placement "RefPlace.GJ"
  301. "Ref.J" "RWin.GD" )
  302.  
  303. ;----------------------------------------------------------------------
  304. ; Build Mesh
  305. (sde:build-mesh "snmesh" " " "n@node@_half_msh")
  306.  
  307. ;----------------------------------------------------------------------
  308. ; Reflect device
  309.  
  310. (system:command "tdx -mtt -x -ren drain=source n@node@_half_msh n@node@_msh")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement