我做了一些晶体管动画

查看原文 HN 讨论

文章摘要

这是一个 Show HN 项目,页面本身几乎没有文字——它是一组用作者自己写的半导体仿真器生成的晶体管内部载流子动画,正文只有几行说明,剩下的全是动图。

作者 Brandon Li(HN 上的 stunningllama)在页面上给出的解释是:动画中蓝点代表电子、红点代表空穴,白色闪光代表复合事件。整组动画分成三批,一层比一层更”物理真实”:

第一批(NPN 双极型晶体管、n 沟道 MOSFET、n 沟道 JFET)里,载流子的速度等于扩散电流与漂移电流之和除以总电荷,也就是说这里显示的是净的平均运动,扩散本身没有被单独画出来——好处是干净、直观。第二批是同样三种器件的”带扩散”版本,载流子同时经历扩散和漂移。作者自己在页面上就写明了这批的取舍:这是描绘载流子运动最准确的方式,但视觉上也更让人眼花缭乱。第三批则是”带探针”的版本,在三种器件的每个端子上显示电流和电压读数,把内部微观图像和外部电路量对应起来。整页动画以 CC BY 4.0 授权。

在 HN 的自述里,作者补充了页面上没有的背景:这些动画来自他的半导体仿真软件,他刻意在”尽可能真实”和”足够清晰”之间找平衡;如果想看得比载流子更深入,比如电场,可以直接在仿真软件里操作;桌面版还包含 IGBT、可控硅(SCR)等更少见的器件,也有类似的动画。他还提到上一次在 HN 上发这个软件大约是一年前(讨论串 43942279)。

评论区里作者的几段技术回复其实是这个项目最有价值的说明文档。关于仿真本身的原理,他解释道:仿真只在场(field)层面做计算,即在空间每一点上跟踪电子和空穴的平均密度,并不逐个模拟粒子。之所以还能画出粒子动画,是因为场的行为和单个粒子的运动之间存在一一对应关系——扩散方程正是随机游走粒子的概率密度所满足的方程。所以,给定一个满足漂移-扩散方程的电子密度,就可以让一群点做带漂移的随机游走,其统计分布恰好符合该密度函数;第二批”带扩散”的动画正是这么来的。至于点与点之间是否互斥:动画里的电子不直接相互排斥,它们被电场吸引或排斥,而电场又由平均电荷密度决定,所以电子是通过场彼此影响的。

作者在讨论中还透露了两个后续动向:一是有人问能不能做 3D 版本,他回答”不太难,敬请期待 3D 版”;二是在有人询问授权后,他当场把页面上的动画改成了 CC-BY 许可。关于软件形态,他明确说明网页版功能少于桌面版(例如”查看载流子”只有桌面版有),并直言”网页版其实挺凑合的,但我留着它,因为它足够易得、足够简单”,且不打算再更新网页版

HN 评论精华

这条帖子拿到 212 分、32 条评论。讨论氛围罕见地和睦,主线是”要是当年上学时有这个就好了”,加上一批直接与作者往返的技术问答和功能请求。