Eastsheng's Wiki

栅压偏置下的交流参数

2025-09-21 21:00:28

[toc]

栅压偏置下的交流参数

  • 当结构加载到 BLAZE 后,在 1 MHz 的频率下施加一个小信号交流扰动,以计算交流参数(电导和电容)随 Vgs 的变化。这还允许用户利用低频近似,通过 TonyPlotDeckBuild 的提取功能获得截止频率。电流、电压和交流参数被保存到日志文件中,而内部结构信息则保存在解文件中,对应的偏置条件为 Vgs=0 V,Vds=2 V
  • 下一步是完整的频域交流仿真,此时 Y 参数矩阵(电导和电容)作为频率的函数被计算,频率范围从 10 Hz 到 50 GHz。这些结果会被存储到日志文件中。此外,如果在日志语句中指定了 s.param,则 S 参数也会被保存到文件中
  • 在仿真结束时,会通过 DeckBuild 的提取功能抽取以下参数:
    • 最大栅源电容
    • Vgs=0 时的栅源电容
    • 最大截止频率
    • Vgs=0 时的截止频率
    • 最大交流电流增益(f=1 MHz)
    • Vgs=0,f=1 MHz 时的交流电流增益
  • 使用 TonyPlot 显示的结果:
    • 跨导随栅压的变化特性
    • S 参数:S12 与 S21 的极坐标图
    • S 参数:S11 与 S22 的 Smith 圆图

输入文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
# (c) Silvaco Inc., 2019
go devedit
DevEdit version="2.1" library="1.15"

work.area left=0 top=-0.01 right=4.5 bottom=0.5

# SILVACO Library V1.15

region reg=1 mat=GaAs color=0xffb2 pattern=0x9 \
points="0,0 1,0 1.1,0 1.5,0.05 0,0.05 0,0"
#
impurity id=1 region.id=1 imp=Donors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=2e+18 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=1 default

region reg=2 mat=GaAs color=0xffb2 pattern=0x9 \
points="2.9,0 3.5,0 4.5,0 4.5,0.05 2.5,0.05 2.9,0"
#
impurity id=1 region.id=2 imp=Donors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=2e+18 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=2 default

region reg=3 mat=AlGaAs color=0xffff96 pattern=0x9 \
points="4.5,0.05 4.5,0.08 0,0.08 0,0.05 1.5,0.05 1.75,0.05 2.25,0.05 2.5,0.05 4.5,0.05"
#
impurity id=1 region.id=3 imp="Composition Fraction X" color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=0.22 ref.value=0 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
impurity id=2 region.id=3 imp=Donors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=5e+15 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=3 default

region reg=4 name=delta mat=AlGaAs color=0xffff96 pattern=0x9 \
points="4.5,0.08 4.5,0.081 0,0.081 0,0.08 4.5,0.08"
#
impurity id=1 region.id=4 imp="Composition Fraction X" color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=0.22 ref.value=0 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
impurity id=2 region.id=4 imp=Donors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=8e+18 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=4 default

region reg=5 name=spacer mat=AlGaAs color=0xffff96 pattern=0x9 \
points="0,0.081 4.5,0.081 4.5,0.084 0,0.084 0,0.081"
#
impurity id=1 region.id=5 imp="Composition Fraction X" color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=0.22 ref.value=0 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
impurity id=2 region.id=5 imp=Donors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=5e+15 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=5 default

region reg=6 mat=InGaAs color=0xffc8c8 pattern=0xa \
points="0,0.084 4.5,0.084 4.5,0.098 0,0.098 0,0.084"
#
impurity id=1 region.id=6 imp="Composition Fraction X" color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=0.78 ref.value=0 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
impurity id=2 region.id=6 imp=Donors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=5e+15 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=6 default

region reg=7 mat=AlGaAs color=0xffff96 pattern=0x9 \
points="0,0.098 4.5,0.098 4.5,0.101 0,0.101 0,0.098"
#
impurity id=1 region.id=7 imp=Acceptors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=150000000000000 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
impurity id=2 region.id=7 imp="Composition Fraction X" color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=0.22 ref.value=0 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=7 default

region reg=8 mat=AlGaAs color=0xffff96 pattern=0x9 \
points="0,0.101 4.5,0.101 4.5,0.102 0,0.102 0,0.101"
#
impurity id=1 region.id=8 imp="Composition Fraction X" color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=0.22 ref.value=0 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
impurity id=2 region.id=8 imp=Donors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=2e+18 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=8 default

region reg=9 mat=AlGaAs color=0xffff96 pattern=0x9 \
points="0,0.102 4.5,0.102 4.5,0.14 0,0.14 0,0.102"
#
impurity id=1 region.id=9 imp=Acceptors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=100000000000000 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
impurity id=2 region.id=9 imp="Composition Fraction X" color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=0.22 ref.value=0 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=9 default

region reg=10 name=GaAs mat=AlGaAs color=0xffb2 pattern=0x9 \
points="0,0.14 4.5,0.14 4.5,0.5 0,0.5 0,0.14"
#
impurity id=1 region.id=10 imp=Acceptors color=0x906000 \
x1=0 x2=0 y1=0 y2=0 \
peak.value=100000000000000 ref.value=1000000000000 comb.func=Multiply \
rolloff.y=both conc.func.y=Constant \
rolloff.x=both conc.func.x=Constant
#
constr.mesh region=10 default

region reg=11 name=source mat=Gold elec.id=1 work.func=0 color=0xe5ff pattern=0xb \
points="0,0 0,-0.01 1,-0.01 1,0 0,0"
#
constr.mesh region=11 default

region reg=12 name=drain mat=Gold elec.id=2 work.func=0 color=0xe5ff pattern=0xb \
points="3.5,0 3.5,-0.01 4.5,-0.01 4.5,0 3.5,0"
#
constr.mesh region=12 default

region reg=13 name=gate mat=Gold elec.id=3 work.func=0 color=0xe5ff pattern=0xb \
points="1.75,0.05 1.75,0 2.25,0 2.25,0.05 1.75,0.05"
#
constr.mesh region=13 default


impurity id=1 imp=Donors color=0x906000 \
x1=0 x2=1 y1=0 y2=0.08 \
peak.value=5e+21 ref.value=1e+20 comb.func=Multiply \
rolloff.y=both conc.func.y="Gaussian (Dist)" conc.param.y=0.048 \
rolloff.x=both conc.func.x="Error Function" conc.param.x=0.02
impurity id=2 imp=Donors color=0x906000 \
x1=3.5 x2=4.5 y1=0 y2=0.08 \
peak.value=5e+21 ref.value=1e+20 comb.func=Multiply \
rolloff.y=both conc.func.y="Gaussian (Dist)" conc.param.y=0.048 \
rolloff.x=both conc.func.x="Error Function" conc.param.x=0.02

# Set Meshing Parameters
#
base.mesh height=0.1 width=0.25
#
bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=5e-05 line.straightening=1 align.points when=automatic
#
imp.refine min.spacing=0.02
#
constr.mesh max.angle=90 max.ratio=3000 max.height=1 \
max.width=1 min.height=0.0001 min.width=0.0001
#
constr.mesh type=Semiconductor default
#
constr.mesh type=Insulator default
#
constr.mesh type=Metal default
#
constr.mesh type=Other default
#
constr.mesh region=1 default
#
constr.mesh region=2 default
#
constr.mesh region=3 default
#
constr.mesh region=4 default
#
constr.mesh region=5 default
#
constr.mesh region=6 default
#
constr.mesh region=7 default
#
constr.mesh region=8 default
#
constr.mesh region=9 default
#
constr.mesh region=10 default
#
constr.mesh region=11 default
#
constr.mesh region=12 default
#
constr.mesh region=13 default
#
# Perform mesh operations
#
Mesh Mode=MeshBuild
refine mode=y x1=0.068 y1=0.0123 x2=1.48 y2=0.038
refine mode=y x1=2.492 y1=0.0106 x2=4.402 y2=0.044
refine mode=y x1=0.106 y1=0.0089 x2=1.511 y2=0.0414
refine mode=y x1=2.515 y1=0.0046 x2=4.357 y2=0.0405
refine mode=x x1=1.571 y1=0.0568 x2=2.417 y2=0.334
refine mode=x x1=0.084 y1=0.0063 x2=0.891 y2=0.3477
refine mode=x x1=3.602 y1=0.0055 x2=4.41 y2=0.3383
refine mode=y x1=0.038 y1=0.0414 x2=1.563 y2=0.0457
refine mode=y x1=2.454 y1=0.0397 x2=4.448 y2=0.044
refine mode=y x1=0.076 y1=0.0551 x2=4.455 y2=0.2887
refine mode=y x1=0.031 y1=0.0524 x2=4.425 y2=0.074
refine mode=y x1=0.068 y1=0.0516 x2=4.44 y2=0.0761
refine mode=y x1=0.023 y1=0.0768 x2=4.463 y2=0.0787
refine mode=y x1=0.084 y1=0.106 x2=4.47 y2=0.1829
refine mode=y x1=0.061 y1=0.1044 x2=4.47 y2=0.1344
refine mode=y x1=0.046 y1=0.1036 x2=4.433 y2=0.1053
refine mode=y x1=0.061 y1=0.0862 x2=4.433 y2=0.0966
refine mode=y x1=0.038 y1=0.0856 x2=4.433 y2=0.0961
refine mode=x x1=1.556 y1=0.0499 x2=2.462 y2=0.2322

imp.refine min.spacing=0.02

constr.mesh max.angle=90 max.ratio=3000 max.height=1 \
max.width=1 min.height=0.0001 min.width=0.0001
#
constr.mesh type=Semiconductor default
#
constr.mesh type=Insulator default
#
constr.mesh type=Metal default
#
constr.mesh type=Other default


base.mesh height=0.1 width=0.25

bound.cond !apply max.slope=28 max.ratio=300 rnd.unit=5e-05 line.straightening=1 align.Points when=automatic


structure outf=hemtex06_A.str


go atlas

title GaAs-AlGaAs-InGaAs Pseudomorphic HEMT simulation

# Load the structure generated in DEVEDIT...
# While running in the deckbuild after DEVEDIT input deck the structure is
# transfered automatically: no mesh statement is needed, comment it out

mesh infile=hemtex06_A.str master.in



# Define the workfunction for the gate contact

contact name=gate workfunction=4.55

# Define material parameters on material-by-material basis

material material=GaAs align=0.6
material material=AlGaAs align=0.6
material material=InGaAs align=0.6 mun0=12000 mup0=2000 vsat=2.e7 \
taun0=1.e-8 taup0=1.e-8

# Define physical models on material-by material basis
# consrh 浓度相关的srh
models material=GaAs consrh conmob fldmob print
models material=AlGaAs consrh conmob fldmob print
models material=InGaAs srh fldmob print


# Include bands potential, and current flowlines into output
# flowlines:输出 电流流线 (current flow lines),方便可视化电子/空穴的流动路径。
output con.band val.band flowlines


# Initial solution

solve init
save outf=hemtex06_1.str
tonyplot hemtex06_1.str

# Apply a set of biases at the gate and drain

solve vgate = 0
solve vdrain = 0.1
solve vdrain=0.25 vfinal=2.0 vstep=0.25 name=drain

# Frequency domain AC simulation.

log outf=hemtex06_ac.log master gains s.params inport=gate outport=drain width=50
# 交流小信号分析
# 初始频率, 频率步长为 10, 频率按倍数(乘法)递增, 一共取 7 个频率点
solve ac freq=10 fstep=10 mult.f nfstep=7
solve ac freq=1e9
solve ac freq=2e9 fstep=2e9 nfstep=3
solve ac freq=1e10 fstep=5e9 nfstep=8

# Displaying the results

# Plot S-parameters: S12 & S21 in polar coordinates
tonyplot hemtex06_ac.log -set hemtex06_2.set

# Plot S-parameters: S11 & S22 in the form of the Smith Chart

tonyplot hemtex06_ac.log -set hemtex06_3.set

quit




理解输入代码

  • solve ac freq=10 fstep=10 mult.f nfstep=7
    
    • 这条语句是 半导体器件模拟软件(例如 Silvaco Atlas) 里的求解命令,用于执行 交流小信号分析 (AC analysis)

    • 🔹 参数解析

      • solve ac
        表示进行交流小信号仿真(AC analysis),即在偏置点上加上一个小的交流扰动,计算器件的交流响应(如电导、电容、阻抗、s-参数等)。

      • freq=10
        初始频率设为 10 Hz

      • fstep=10
        频率步长为 10
        这里要结合 mult.f 一起看,因为步长可能是线性增加,也可能是按倍数增加。

      • mult.f
        表示 频率按倍数(乘法)递增
        也就是说,频率不是线性增加,而是指数式增长。

      • nfstep=7
        表示一共取 7 个频率点

模拟结果

模型 S 参数:S12 与 S21 的极坐标图 S 参数:S11 与 S22 的 Smith 圆图
hemtex06 hemtex06_1 hemtex06_2