尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

半导体设备模拟运行全解析:从状态机建模到对标校准实战

半导体设备模拟运行全解析:从状态机建模到对标校准实战 你们这台模拟器到底像不像真的这是我被问得最多的一句话也是每一个做半导体设备模拟运行方案的人迟早要面对的灵魂拷问。直接说结论模拟器不可能跟真机一模一样但它要是做得足够好完全可以让操作员在培训三个月后第一次碰真机时敢下手、不慌、不出安全事故。我见过太多因为没经过这种模拟训练新人一上来就把机械手撞了、把配方烧了的例子。一台设备动辄上千万一片晶圆从几十美元到几千美元不等这学费真的交不起。这篇内容我专门聊聊半导体设备模拟运行Simulator这条路到底怎么走——从方案设计、模块拆分到和真实设备对标校准的实操经验。不讲虚的只讲我在一线摸爬滚打时验证过的东西给正在做或者准备做这类系统的朋友一个参考。1. 半导体设备凭什么敢做模拟运行真实场景里的痛点与约束1.1 设备昂贵、良率敏感拿真机练手是奢望做半导体设备的人都知道一台刻蚀机或者薄膜沉积设备价格基本都在千万人民币这个量级往上有些先进节点设备甚至上亿。Fab厂里同时跑的设备几十上百台但真正能让你停下来做实验、做培训的窗口少得可怜。设备开在那里每分钟都在烧钱晶圆一批一批进来颗粒度、均匀性、金属污染任何一个指标出问题次品率立刻反应在报表上。在这种环境里你要是跟车间主任说我想用这台设备给新人练练手大概率会被轰出去。但新人又确实需要上手需要在真实的操作逻辑里学会跑配方、看报警、处理异常怎么办模拟运行系统就是在这个矛盾的缝隙里长出来的。1.2 不只是培训装机和调机才是大头我接触到的大多数模拟需求其实不是培训而是装机调机。半导体设备从工厂出厂到Fab里真正能跑产中间的调试周期可以长达几周到几个月。电气工程师要调IO软件工程师要调状态逻辑应用工程师要写配方设备工程师要验证安全互锁——所有人都挤在真机上时间是完全不够用的。模拟器能在这时候做一件极其关键的事把软件调试和硬件调试解耦。设备还在路上运输模拟环境已经在现场跑起来了软件逻辑在这个期间被调通等真机到位剩下的事情只剩IO核对和参数微调。这个时间压缩是非常可观的在项目交付节奏越来越紧的今天这一条就足以成为立项理由。1.3 异常场景演练真机上几乎不可能做还有一个经常被忽视的价值异常演练。真空泄漏、射频反射功率异常、传片机械手卡顿、真空计数值跳变——这些在真机上要么很难人为制造要么风险极大。但在模拟器里你可以在软件层面把传感器值直接掰成一个故障值看设备的状态机怎么反应、报警怎么触发、操作员该怎么处理。我在做方案时最常说一句话模拟器是用来练出事怎么办的真机是用来练干活的。这两个场景在传统培训里是割裂的有了模拟系统才能无缝衔接。2. 模拟运行方案的整体边界不妄图模拟一切只在需要的层级模拟到位2.1 先回答一个关键问题要模拟到哪一层刚开始做模拟方案的人最容易犯的错误就是想做得太全。真空腔室的流体力学要实时算机械手每个关节的力矩要建模仿真射频等离子体的电场分布也要算——这看起来很美但根本跑不动而且没有必要。我自己的经验是三层架构按需取舍。最上层是设备状态与配方逻辑仿真模拟设备在各个状态间的迁移待机、工艺中、维护模式、报警暂停以及配方的执行流程。这一层是最核心的因为培训、调机、验证的大部分需求都集中在这里。中间是对关键传感器和执行器的行为仿真比如真空计的压力变化曲线、MFC的流量响应、加热器的升温曲线不需要基于物理方程精确建模但要用数学拟合的方式把样子做得像。最底层才是物理场仿真一般只做特定模块比如射频匹配网络的行为而且往往只在需要的时候拉进来平时不参与。2.2 状态驱动是灵魂把设备当成一个状态机来建模我在给多个设备厂商做方案时发现不管是什么设备——刻蚀机、PVD、CVD、清洗机——它们的软件核心都是一张状态图。设备在做完自检之后进入待机收到指令后切到传输模式传片完成进入工艺准备工艺进行中监控各种参数异常时进入暂停。模拟器的骨架就是这个状态机。把设备建模成状态机最大的好处是行为可预期。工艺进行中用户按下急停设备应该走什么样的事件序列在模拟器里是可以严格定义的并且可以和真机对应的日志逐行对比。这个可比性是后面做可信度验证的基础。状态机建模这块我见过不少团队喜欢自己画图写case然后直接在代码里敲状态转移逻辑。短期看确实快但状态多了之后维护成本会失控。我的建议是一开始就用状态管理工具或者DSL领域专用语言把这层逻辑显式化让状态之间的跳转、触发条件、执行的副作用全部可见。后期你会发现电气工程师、软件工程师、应用工程师之间沟通时这张状态图比一万行代码都有用。2.3 I/O映射表模拟器和真机对话的共同语言要让模拟器替代真机参与调试有一个绕不开的东西I/O映射表。任何一台半导体设备它的PLC信号、传感器输入、执行器输出最终都集中为一张或者若干张IO清单。这张清单定义了信号名称、地址、类型、量程、单位、默认值。做模拟器的时候先梳理IO表再写仿真的任何功能模块。因为模拟器要接的往往不只是人机界面还有PLC、上位机、甚至客户MES系统。所有下游对接方都依赖这张IO表来理解设备。IO表如果没梳理清楚后面对标测试时你会发现模拟器上每个模块都对但整体就是跟真机对不上因为信号的命名和定义本身就乱掉了。3. 核心工艺模块的仿真怎么做真空、传片、温控、气流3.1 真空腔室用经验公式模拟抽气和充气过程真空系统是最能体现模拟得像不像的模块。真实工艺腔室里分子泵和干泵怎么配合、前级阀和主阀什么时候开、压力从大气到本底要走多久都和工艺息息相关。我的做法是用一段简化的抽气方程配合实际标定数据来拟合。具体说腔室压力随时间的变化关系大致符合指数衰减特性压力从P0抽到P1的时间可以用公式 t V/S * ln(P0/P1) 估算其中V是腔室体积S是有效抽速。这里面最麻烦的是有效抽速并不是常量在不同压力段主导的泵机制不同。所以我在方案里做了一个标定工具允许用户在真机上记录一段压力下降曲线然后把这条曲线拟合出来的参数填到模拟器里。这样模拟的压力曲线不是凭空捏造的而是有真实数据支撑的。工艺中的气体充入也是一样MFC的设定值、腔室体积、抽速三者共同决定压力爬升过程。模拟器不需要解偏微分方程用一阶惯性环节加延时就能把压力先上去一点再回落的动态过程做得很好关键是延时量要标定准。3.2 传片机械手系统点位、路径与碰撞互锁传片系统是半导体设备里事故高发区。新人操作机械手点位搞错、Z轴高度不对轻则报警重则撞坏机械手。模拟器在这里的价值巨大但仿真起来也最考验细节。机械手模拟需要做好三件事点位管理、运动过程可视化、互锁逻辑判断。点位就是设备里常说的P1、P2、P3等位置每个位置有R、T、Z坐标。模拟器根据这些坐标插值生成运动轨迹然后实时反馈位置值给状态机。关键的是互锁比如机械手在某个角度位置时某一条通路被占用就不允许通过。这些互锁逻辑和安全相关在做模拟器时不能偷懒必须严格从设备的互锁表中逐条实现。运动可视化这块有人用第三方三维引擎有人自己写二维平面图。我自己更推荐从二维图开始因为机械手的关键信息是平面位置和贯穿顺序二维图配合不同颜色标示通路状态信息密度已经够了三维反而容易让人忽视互锁判断这层核心逻辑。3.3 温控和加热系统一阶惯性加延时的建模思路工艺腔室的温度控制不管是加热器还是静电吸盘在模拟器里都可以用传递函数来近似。最常见的模型是目标的温度变化率正比于加热功率与散热功率之差。散热项跟环境温度、气体流量有关。我用的是带纯延时的一阶惯性环节设定新的温度目标值之后显示当前温度开始向目标爬升爬升速度由时间常数决定并且从设定变化到温度开始变化之间有一个传输延时。这个模块的价值主要在培训操作员理解温度窗口。工艺配方里经常要求温度到达某个范围后才允许进入下一步模拟器能够让操作员直观看到升温过程的迟滞看到PID参数保守时升温慢、振荡时温度过冲从而理解为什么工程师在配方里加了那么多等待步骤。对PID参数在模拟器里是可以真实调节的。也就是说在模拟环境里就能预先找到一套比较合理的PID初值省掉真机上一轮一轮试凑的过程。这个功能强烈建议做进去实际项目中很受工艺工程师欢迎。3.4 气体流量与压力控制联动信号流要有先后气体系统在模型上相对简单MFC的输出流量值、腔室的压力、尾气泵的抽速三者联动。但有一个很多人容易做反的地方信号流的方向必须是设定值影响流量流量和抽速影响压力而不是反过来直接赋值。如果直接给压力赋值那模拟器里的压力响应就和真实设备完全不同下游依赖这个压力触发的算法比如压力稳定判断就会在真机上失灵。正确的做法是让模拟器维护一套信号链配方给定MFC设定值MFC按斜率进行限幅后输出当前流量当前流量与抽速共同作用于腔室压力压力值通过与传感器标定系数相同的转换逻辑输出给状态机。整个过程每隔几十毫秒迭代一次就足够得到和真机高度一致的压力行为。4. 让模拟器从看着像变成行为一致对标校准的实操路径4.1 金样机数据采集没有数据就没有校准这是整个模拟方案里最笨但最不能跳的一步。前期调研时很多人会跟你保证设备没有日志或者日志不全但只要你真的去要求总能从设备里导出至少工艺过程的历史趋势数据。我的做法是在现场定义一组标准场景我习惯叫金样机数据集。选取大概十到二十个代表性操作冷启动、满载升温、抽真空到本底、单步工艺、连续跑多片、注入故障报警并复位。每个场景都记录关键信号的时序曲线、事件时间戳、报警码。这份数据集贯穿整个开发周期一遍又一遍地拿模拟器输出和它做对比直到偏差在一个可接受的范围之内。没有这份数据的模拟器开发本质上是在猜。你猜出来的曲线就算是光滑完美的也没有人敢说它是真的。反过来有了金样机数据后面每一步决策都能落地到证据上。4.2 偏差指标怎么定不是小数点越多越好我把对标测试的指标分成两级定性符合和定量符合。定性符合指信号变化的趋势方向正确事件顺序正确比如压力先升后降、报警在工艺开始后几秒触发。定量符合指关键信号在特定时刻的值误差不超过某个百分比事件触发时间偏差不超过几秒。实操中我的经验是把定量指标集中在和配方执行直接相关的信号上压力稳定判定窗口内的压力值、温度到达窗口的时间点、机械手到达位置的时间。至于那些不影响状态机跳转的中间量只要求定性符合就够了。这样能显著降低建模难度同时不影响使用价值。4.3 打通HIL硬件在环让真控制器跑模拟对象到了对标的中后期我会把方案推进到HIL阶段。所谓HIL就是让真实的控制器硬件去连接模拟设备。这里的真实控制器可能是PLC、嵌入式运动控制器甚至整台上位机它们正常工作状态下看的是传感器输入、发的是执行器指令——现在这些输入输出全部连接到模拟器上。HIL对系统集成是质变级的。你能在实验室里把整台设备的电气连接方式跑通把通信协议调对把上下电时序试一遍。等真机到了现场硬件接线一插软件层面已经全部就绪。这个阶段可以暴露大量躲在状态机逻辑之外的问题通信握手超时、数据字节序不对、IO信号抖动导致的状态误判。HIL阶段调试出来的问题往往是最值钱的问题。每一个问题都代表着一个如果在真机上才暴露的灾难现场。5. 落地一个模拟运行项目实施流程与关键角色配备5.1 需求锁定是最重要的阶段做模拟器项目最忌讳一上来就动手写代码。我的流程是先花两三周做需求锁定。要跟设备工程师聊跟工艺工程师聊跟软件维护工程师聊甚至跟Fab的现场操作员聊。不同角色对模拟得像的定义完全不同操作员关心报警和按钮顺序工程师关心状态跳转软件维护关心日志和接口领导层关心的是培训时间能不能缩短。需求锁定的产出物应该明确界定三个范围模拟的装置范围哪些腔室、哪些模块、功能范围哪些操作、哪些报警、性能范围响应快慢、并发支持多少客户端。这三个范围一出来项目的边界就清晰了。5.2 团队配置经验比数量的价值大一个标准的模拟器项目我认为最精简的配置是三个人一个对设备本体工艺和设备状态逻辑非常熟悉的资深工程师他决定仿真模型的对错一个擅长实时系统和通信协议的软件工程师他决定整个系统的稳定和对接能力一个UI/交互工程师他决定操作者愿不愿意用下去。如果团队够大真正的加分项是一个懂HIL的人。这个角色能把模拟器从软件工具带成系统工程因为你一旦上了HIL就涉及硬件接线、信号调理、实时设备这些是纯粹软件背景的人不熟悉的。5.3 开发节奏先跑通骨架再逐步填肉我自己偏好的节奏是第一个里程碑在两周内把最简单的状态机跑起来哪怕模型粗糙一点也要把从界面到状态机到IO接口的整个链路打通。很多团队习惯先把每个模型做完美再联调结果联调期暴露的问题比开发期还多。先跑通骨架的好处是让你尽早发现架构层面的问题模型精度反而是可以随时优化的。后续里程碑按模块逐个叠加真空、传片、温度、气流、报警、安全互锁。每加一个模块就做一次金样机对比不合格不回退。这样整个项目在每个时间点都有可交付的形态对我们这种需要跟客户定期演示的项目特别重要。6. 那些只有踩过坑才会注意的细节6.1 模拟器太乖了第一个坑模拟器太乖了。真实设备上IO信号是有抖动的传感器值是有噪点的通信是有偶尔超时的。但初期模拟器做出来所有信号都是干净漂亮的状态机顺滑得不得了。结果操作员在模拟器上练的是一套理想化的操作习惯去真机上第一次就被现实教育。解决方法是给模拟系统加入一套噪声与扰动注入机制。压力值上加微小波动温度上加缓慢漂移通信偶尔人为制造一次超时重传。我把它做成可配置项培训模式下可以开关而对标测试时强制打开。这套扰动机制虽然代码量不大但回报非常大它决定了一台模拟器是玩具还是工具。6.2 状态的并发访问模拟器最隐蔽的崩溃来源模拟器本质上是一个后台状态机加多个前端界面的并发系统。操作员在HMI上点了开始工程师在调试界面上改了参数后台状态机在推进工艺——这三个操作同时发生很正常。但很多模拟器在这一瞬间崩溃或者状态错乱原因是共享状态没有锁或者锁的粒度太大。我的建议是所有的设备状态数据包括温度、压力、报警、当前步骤都收口到一个统一的数据服务里所有读写操作都走这个服务的接口不允许任何模块直接修改全局变量。并发冲突在这个服务层集中消化宁可性能慢一点也保证一致性稳定性优先。6.3 日志是需求不是附加品模拟器必须要有完整的日志系统。操作日志、状态迁移日志、信号变更日志、报警事件日志一个都不能少。一是为了对标验证要拿日志跟真机对比二是培训完能复盘操作员错在哪一步三是设备调试时要用日志追踪问题。日志的输出格式最好跟真机一致。很多Fab已经有自己的设备日志解析工具了如果模拟器的日志格式一致你甚至可以把模拟器的日志直接灌进客户已有的分析工具里省掉一堆沟通成本。6.4 别做虚假营销型演示最后想多说一句。做模拟器会和客户、演示、汇报经常打交道有时候需要在产品还没完全做好的时候给人演示。我的原则是演示只演示已经对标过的功能没做好的功能绝不牵着鼻子带到演示里。模拟器这个领域懂行的人太多了你演示一个压力曲线跟真机对不上后面所有功能的可信度都会被怀疑。宁可少演示几个功能也要保证演示的每一个功能都经得起追问。这个行业信誉比什么技巧都重要。7. 模拟运行和数字孪生后面还能往哪个方向走7.1 从离线模拟到在线孪生当前面说的模拟系统全部跑通之后一个很自然的演进方向就是把离线模拟升级为在线数字孪生。区别在于离线模拟用的是历史数据和虚构输入而在线孪生是实时接收真机数据用同一个模型实时演算如果当前用的是别的配方会发生什么。这种在线方案最典型的应用是工艺追溯和异常根因分析。设备报警了传统方式是回去翻历史日志人肉找对应关系。在线孪生可以在异常发生的瞬间用模型推演设备各个内部状态是否已经越界直接定位到是哪个模块先偏离了正常区间。7.2 配方离线验证和OEE预判另一个扩展方向是配方的离线圈定。Fab里每来一个新配方都要经历online验证风险不小。有了可靠的模拟器新配方可以先在离线环境里完整执行一遍看温度和压力曲线是否超限看步骤间的等待是否合理看有没有潜在的报警点。这一步在模拟器上做能提前砍掉很多线上问题。配合生产数据积累模拟器还能做OEE的预判分析。把设备历史运行模式灌进模拟环境模拟不同调度策略下的产出和节拍帮Fab在真实切换之前先看产能的影响。这种从训练工具到决策工具的跃迁是模拟运行方案最值钱的一条路。我自己做这套方案这几年最大体会是模拟器不应该被当成真机的附庸它是设备全生命周期里独立的、有价值的一条产品线。那些认真在模拟器上投入的团队最终收获的不只是一个培训系统而是一整套对设备行为的深度理解。如果你正准备启动类似的模拟运行项目我给你的建议只有一条把对标数据当成命根子从第一天就收集、保护、持续维护。有了对它较真的态度后面所有模块都会顺起来没有它无论代码写得多么漂亮都是空中楼阁。
返回列表