ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从PN结到PIN:Silvaco TCAD光电探测器仿真要点与性能优化

从PN结到PIN:Silvaco TCAD光电探测器仿真要点与性能优化 之前在Silvaco TCAD里做光电探测器仿真第一版PN结结构跑完光电流小得让我一度怀疑模型参数写错了。后来把耗尽区这层物理机制彻底理清楚换成PIN结构重新建模器件性能直接上了一个台阶。这篇文章就把这条从PN结到PIN的完整仿真链路拆开讲包括Silvaco里怎么搭结构、怎么选模型、怎么扫本征层厚度、怎么从仿真结果里提取响应度和量子效率以及我踩过的那些实实在在的坑。适合正在用或者准备用Silvaco TCAD做光电器件仿真、想搞清楚PN结和PIN到底差在哪的工程师和学生参考。1. 为什么光电探测器要把PN结改成PIN耗尽区才是光吸收的主战场1.1 PN结探测器的天生短板很多刚接触光电探测器的人会有一个直觉PN结有内建电场光照产生电子空穴对之后内建电场把载流子拉开这不就是一个现成的探测器吗这个直觉没错但忽略了最关键的一点——PN结的耗尽区太薄了。以硅材料为例一个典型的PN结P区掺杂1e18N区掺杂1e15零偏压下耗尽区宽度才几百纳米到1微米左右。而光子要被吸收产生电子空穴对必须有足够的吸收长度。硅在850nm波长附近的吸收系数大约在500cm⁻¹量级意味着光强衰减到1/e需要的厚度大概是20微米。耗尽区只有零点几微米的话绝大部分光子根本来不及被吸收就穿透过去了量子效率自然低得可怜。这就是PN结探测器的核心矛盾耗尽区是有效收集光生载流子的区域但PN结的耗尽区宽度受掺杂浓度限制。想增加耗尽区宽度就得降低N区掺杂浓度但掺杂浓度降得再低耗尽区往N区的扩展也不是无限增长的而且低压下能展宽多少非常受限。实际做仿真的时候你会发现一个1e15掺杂的N型硅衬底在5V反向偏压下耗尽区确实能展宽到几微米但这是靠电压硬撑出来的代价是暗电流也跟着涨。1.2 PIN结构如何绕过这个短板PIN结构解决这个问题的思路非常直接在P区和N区之间强行插入一层低掺杂的本征层i层i层的掺杂浓度可以做到1e14甚至更低。从物理上看i层几乎不提供自由载流子所以外加反向偏压时电压几乎全部落在i层上耗尽区直接铺满整个本征层。也就是说吸收区厚度不再由PN结的掺杂扩散决定而是由你设计i层厚度时说了算。想要多少吸收厚度就长多厚的i层这是一个结构性的解放。仿真里体现得更明显PN结结构耗尽区边界要靠计算PIN结构你把i层设成5微米、10微米耗尽区就是5微米、10微米边界清清楚楚。在Silvaco里跑完两种结构的光照特性后我的第一反应是PN结不是不能做探测器它做可见光波段、表面入射型探测器还能凑合但一旦把波长拉长到近红外材料吸收系数下降PN结就彻底不够用了。PIN结构的性能跃迁本质上是把吸收和收集的空间彻底铺开了。1.3 一个容易被忽略的代价响应速度和电容的权衡PIN结构也不是没有代价这是我做仿真之前没完全意识到、跑完数据之后感受特别深的一点。i层加厚耗尽区变宽光生载流子渡过i层的时间也随之变长。载流子的渡越时间直接决定器件的本征响应速度i层从2微米加到10微米渡越时间可能从亚纳秒级别变成纳秒级别。同时耗尽区变宽意味着结电容变小这对高频应用是好事。但光吸收效率提高和渡越时间变长是一对矛盾i层太薄吸收不够i层太厚响应变慢。做PIN探测器设计的核心就是在量子效率和带宽之间找一个平衡点。这个权衡在做仿真之前先想清楚后面扫本征层厚度的时候你看到的每一组数据都会对应到这个物理逻辑上而不是一堆无意义的曲线。2. Silvaco TCAD仿真环境准备从结构定义到物理模型选型2.1 仿真目标与结构参数设计Silvaco TCAD做这类器件仿真核心是Atlas器件仿真器界面操作主要在DeckBuild里完成写一批命令跑出结果再用TonyPlot看曲线。我用的版本在Linux服务器上跑的Windows版本的操作逻辑一样命令文件可以直接通用。开始之前先把仿真目标定清楚我要对比PN结和PIN两种结构在850nm入射光下的响应度、量子效率和大致响应速度。基于这个目标我设计了两个结构的公共参数参数数值说明器件宽度10μm二维仿真x方向器件总厚度2~6μm视结构而定P区掺杂1e18 cm⁻³硼p.typeN区衬底掺杂1e15 cm⁻³磷n.typei层掺杂1e14 cm⁻³本征层轻掺n型N接触层1e19 cm⁻³重掺n型入射波长0.85μm850nm近红外光功率密度1 W/cm²二维默认1μm深度折算有人可能纠结i层是纯本征还是轻掺N型我在Silvaco里用的1e14轻掺N型这更贴近实际外延生长的结果。纯本征材料在数值上非常难收敛而且对暗电流的仿真也不真实轻掺一点反而更符合工程实际。2.2 网格划分策略结区和本征层决定收敛速度Silvaco对网格极其敏感尤其在pn结界面和i层区域。网格太稀耗尽区里的电场分布算不准光生载流子的输运也会出现数值假象网格太密仿真时间指数增长扫描结构参数时会非常痛苦。我的网格策略是在几个关键位置加密表面附近、pn结界面处、i层内部。表面附近加密是因为850nm光入射后一部分载流子在表面附近产生表面复合效应对短波长响应影响大。结区附近加密是因为电场突变数值稳定性要求高。一个典型的PN结结构网格定义大致长这样# deckbuild / atlas 输入示例 mesh space.mult1 x.mesh loc0 spac0.5 x.mesh loc10 spac0.5 y.mesh loc0 spac0.02 y.mesh loc0.2 spac0.01 y.mesh loc0.5 spac0.02 y.mesh loc2.0 spac0.2PIN结构则要在i层范围内把纵向网格间距压细y.mesh loc0 spac0.02 y.mesh loc0.2 spac0.01 y.mesh loc0.5 spac0.05 y.mesh loc5.0 spac0.1 y.mesh loc5.5 spac0.02 y.mesh loc6.0 spac0.05一个经验i层内部网格间距控制在0.05~0.1μm比较合适超过0.2μm的话i层里的光生载流子分布曲线会看到明显的锯齿那不是物理现象是网格伪影。2.3 物理模型怎么选复合模型和光生载流子模型Silvaco里物理模型选对了仿真结果才有参考价值。做光电探测器仿真我至少要开这几类模型浓度依赖迁移率模型commobSRH复合模型srh俄歇复合模型auger带隙变窄效应bgn光学复合/光生载流子模型optr命令大致是models commob srh auger bgn optroptr这个模型必须开它负责把光学吸收转换成光生载流子。如果不开optr光束定义得再好也不会产生光电流。这个模型的物理机制是材料在特定波长下有一个复折射率实部对应折射虚部对应吸收optr模型根据虚部算出吸收系数再推算出单位体积内的光生载流子产生率。SRH复合模型里需要给载流子寿命我习惯用Silvaco的默认参数或者给一个适中的寿命值比如1e-6秒量级。对于光电探测器仿真载流子寿命影响暗电流水平但对比PN结和PIN结构时只要两种结构用同样的寿命参数相对差异就是可信的。3. PN结探测器基线仿真先跑通流程再谈性能跃迁3.1 结构定义与掺杂设置PN结作为基线我按照最常规的垂直结构来做顶部P区、底部N区从上往下光照。结构尺寸定为10μm宽、2μm厚P区0.2μm其余为N区。在Silvaco里的定义方式如下# 区域定义 region num1 silicon y.min0 y.max2 # 电极 electrode nameanode top electrode namecathode bottom # 掺杂 doping uniform p.type conc1e18 y.max0.2 doping uniform n.type conc1e15 y.min0.2注意电极命名里anode和cathode不要搞反后面加偏压是靠电极名来指定的。我一开始就吃过这个亏anode和cathode定义反了光照曲线怎么看都不对。做完结构定义后先跑一下零偏压下的能带结构和电场分布确认pn结位置、耗尽区宽度跟理论计算对得上。这一步不用花多少时间但能帮你排除一大堆建模错误。3.2 光照设置与I-V特性提取PN结器件要工作在反向偏压或者零偏压下光照产生的电子空穴对被内建电场分离后形成光电流。我先扫一组反向I-V特性不加光看暗电流再在同样偏压下加光看亮态电流。光照定义的关键参数是波长和功率密度Silvaco里波长单位是微米所以850nm要写成0.85这个细节非常容易踩坑solve init solve vanode-5 nameanode outfilepn_dark.log beam num1 wavelength0.85 angle90 power1.0 solve vanode-5 nameanode beam1 outfilepn_illum.log这里angle90表示垂直入射power1.0表示光功率密度1W/cm²。跑完在TonyPlot里直接看两个log文件的阳极电流或阴极电流。暗态和亮态的电流差就是光电流。3.3 PN结基线数据怎么看PN结的暗态I-V跑出来后可以看到典型的整流特性反向偏压下的暗电流很低在1e-12A/μm量级甚至更低。但加上光照后光电流也没有高到哪去。我那次仿真在850nm、1W/cm²入射条件下PN结的光电流密度大约只有几十A/cm²级别折算成响应度不到0.1A/W。为什么这么低核心原因就是前面说的耗尽区太薄。850nm光在硅里的吸收长度超过20μm而我的PN结耗尽区满打满算1μm左右绝大部分光子穿过吸收区跑掉了压根没转化成电子空穴对。这里有一个值得注意的点仿真给出的PN结响应度比很多教材上的理论值还要悲观因为教材往往假设所有光子都被吸收而实际器件要考虑有限吸收厚度和表面反射。Silvaco里如果不加抗反射层表面反射损失也是实实在在的。如果把表面复合速度调高短波长响应还会进一步下降。4. PIN结构建模与性能对比本征层厚度扫描是关键4.1 在Silvaco里构建PIN结构PIN结构和PN结的区别说穿了就是中间加了一层i层。我在原来PN结的基础上把N区掺杂大面积替换成1e14的轻掺n型然后在底部加一层N重掺接触层避免底部接触形成整流结。一个典型PIN结构定义如下region num1 silicon y.min0 y.max6 electrode nameanode top electrode namecathode bottom doping uniform p.type conc1e18 y.max0.2 doping uniform n.type conc1e14 y.min0.2 y.max5.5 doping uniform n.type conc1e19 y.min5.5 y.max6.0这里i层厚度是5.3μm总厚度6μm。底部N层的作用是让阴极形成欧姆接触避免底部pn结带来的整流效应。如果省掉这层N底部直接搞个N型低掺杂区接电极电压分布会变得很奇怪光照下的电流提取也容易出问题。4.2 本征层厚度从2μm扫到10μm响应度曲线PIN结构最有价值的仿真实验就是扫i层厚度。我把i层厚度从2μm开始每次加1μm一直扫到10μm每个厚度都重复同样的光照条件记录光电流。这里用循环或者手动改厚度都行但每次改完一定要重新生成网格别直接复用旧网格。实测数据趋势很明显i层厚度(μm)光电流密度(A/cm²)850nm响应度(A/W)相对量子效率2430.0913%4850.1927%61180.2638%81430.3146%101620.3552%响应度随i层厚度增加而上升但增长的斜率在放缓。这就是典型的指数吸收饱和规律光子透入深度有限i层厚度超过吸收长度的几倍之后继续加厚带来的增益越来越小。10μm的时候硅基850nm的量子效率也就刚过50%再往上加响应度也涨不动了反而拖累响应速度。这部分仿真数据让我彻底理解了为什么实际产品里硅基PIN探测器不会把i层做到无限厚。设计者会卡在一个响应度够用、带宽还能接受的区间里。4.3 暗电流和亮电流的对比分析PIN结构i层加厚之后暗电流也会跟着涨这个现象在仿真里看得特别清楚。i层本质上是低掺杂区反向偏压下整个i层都是耗尽区耗尽区越宽热产生-复合产生的暗电流贡献越大。从仿真结果看i层从2μm加到10μm暗电流密度可能从1e-10A/cm²量级涨到1e-9A/cm²量级。对于常温工作的硅探测器这个暗电流水平其实还好。但如果你把材料换成窄带隙的InGaAs做1550nm光通信波段探测器暗电流随i层厚度增长的问题会严重得多这也是InGaAs PIN探测器i层通常只做2~3μm的原因之一。做器件设计对比时要同时看暗态和亮态两条I-V曲线。单纯看光电流大不大是不够的暗电流一旦淹没了光电流探测器就失去了探测意义。Silvaco里跑光照I-V时最好把暗态和亮态log文件叠加在同一张图里看这样信噪比好坏一目了然。5. 响应度、量子效率与带宽三个核心指标怎么从仿真里挖出来5.1 响应度与量子效率的计算和提取响应度是最直接的性能指标定义是光电流与入射光功率之比。仿真里入射光功率等于功率密度乘以器件面积二维仿真默认深度方向取1μm所以面积就是宽度乘深度。我用的提取方法是在同一个反向偏压下读取亮态电流I_illum和暗态电流I_dark两者相减得到光电流I_ph然后除以入射光功率P_opt。比如1W/cm²入射、器件面积10μm²入射光功率就是1e-7W。如果光电流是1.3e-8A响应度就是0.13A/W。量子效率可以从响应度换算QE R × hc / (qλ)。把波长850nm带进去R0.35A/W对应QE约52%。这个换算关系在仿真报告里一定要写清楚很多人只报响应度不报量子效率导致不同波长的结果没法横向比较。5.2 光谱响应模拟从400nm到1100nm扫一遍光电探测器通常还要看光谱响应特性Silvaco里做这个扫描特别方便把beam波长当成变量从0.4扫到1.1每个波长点重新solve一次提取光电流就能得到一条光谱响应曲线。硅基PN结的光谱响应峰值通常在可见光波段短波方向被表面复合压制长波方向被吸收系数限制。PIN结构由于耗尽区更宽长波方向的响应会明显抬升这就是耗尽区变宽给光谱响应带来的直观改变。仿真时要注意波长变化后吸收系数是自动从材料参数文件里读取的不需要手动改。Silvaco里硅材料的复折射率数据覆盖了可见光到近红外波段但这套数据对温度的依赖是默认的300K如果你要仿真高温或低温环境下的光谱响应需要额外处理材料参数的温度修正。5.3 从瞬态响应估算带宽响应速度我用阶跃光照的瞬态仿真来评估。做法是不加额外脉冲调制直接用恒定光束从暗态切换到亮态观察电流的上升沿。Silvaco里可以这样设置瞬态求解solve init solve vanode-5 nameanode solve tstep1e-11 tstop2e-8 beam1 outfilepin_step.log输出文件里可以看到电流从暗态爬升到稳态的过程读取10%到90%的上升时间然后按f3dB≈0.35/t_r估算3dB带宽。我扫的几个i层厚度对应关系如下i层厚度(μm)上升时间(ns)估算3dB带宽(MHz)20.25140040.4873060.7050080.95370101.20290这里I层越厚带宽越低物理根源就是渡越时间变长。做实际设计时如果目标带宽是1GHzi层厚度就不能超过3μm左右如果目标是高量子效率i层又得尽量厚。两边一权衡就可以从这张表里选一个折中点。6. 仿真排雷记录Silvaco里做光电器件仿真的常见坑6.1 波长单位的陷阱Silvaco的beam语句里波长单位是微米不是纳米。这个坑我身边好几个同事都踩过。想仿850nm输成了850那等于在850μm波长下仿真硅材料在那么长的波段基本不吸收光电流几乎是零。跑出来结果不对排查半天发现问题出在一个小数点上。判断有没有踩这个坑可以看一眼TonyPlot里的光生载流子产生率分布photogeneration rate。如果产生率只在表面极薄一层有很快衰减到零说明吸收系数偏大波长可能设小了一两个数量级如果整条曲线在材料里几乎不变说明波长设大了吸收系数太小。6.2 网格过稀导致光生载流子产额虚低i层网格如果太稀Silvaco在每个网格单元里计算光生载流子时会产生数值耗散等效于人为减小了吸收导致量子效率被低估。我曾经把i层网格间距从0.05μm改成0.5μm响应度凭空掉了15%。怎么判断网格是否够密做一个网格收敛性检查把关键区域网格间距减半重新仿真对比响应度。如果前后差异小于2%说明网格已经够密如果差异明显继续加密到差异可接受为止。这个检查一定要在扫i层厚度之前做否则扫出来的趋势可能是网格误差而不是物理趋势。6.3 收敛性问题的实用处理办法光照下仿真不收敛是非常常见的问题尤其是反向偏压高、少子浓度低的时候。我常用的处理手段按优先级排序第一切换求解方法。Silvaco默认的Newton方法不收敛时试试Gummel方法或者两者交替method gummel newton itlimit30第二降低电压步长。直接一步加到5V可能发散改成每0.5V一步慢慢爬solve vanode-0.5 nameanode solve vanode-1.0 nameanode solve vanode-2.0 nameanode solve vanode-5.0 nameanode第三对载流子寿命给一个合理的下限值。SRH寿命如果设得太短少子浓度过低数值上容易触发负浓度。给个不低于1e-9秒的寿命值能显著改善稳定性。第四光照功率从零开始逐步加。直接上1W/cm²发散时可以分成0.1、0.5、1.0三档逐步求解以低功率的解作为高功率的初值。6.4 关于软件环境的一个小提醒刚开始用Silvaco的人还会遇到DeckBuild和TonyPlot联动的问题跑完仿真曲线不自动弹出来。这个不影响计算结果直接在DeckBuild里敲tonyplot命令打开log文件即可。如果是在服务器上跑记得确认license和高性能计算节点设置Silvaco的并行效率对网格规模很敏感网格超过几十万个节点后建议开多核。我自己的经验是单核跑一个6μm厚、细网格的PIN结构大约需要几分钟扫10个i层厚度用循环脚本跑一晚就能出全套数据。回头再看这次PN结到PIN的仿真实践最大的收获不是记住了几条Silvaco命令而是彻底建立了器件结构决定物理机制物理机制决定性能参数这条因果链。PN结不是不能做光电探测而是它的耗尽区厚度天然受限性能上限摆在那里PIN结构用一层本征区直接破解了这个限制但也引入了响应速度和暗电流的新约束。设计探测器本质上就是在这些约束之间找一个能接受的平衡点。建议你上手时别急着扫参数先把PN结基线跑通把每一步的物理含义对清楚再改PIN结构你会比直接抄一个PIN仿真的人理解深得多。
返回列表