论文部分内容阅读
随着集成电路制造工艺步入超深亚微米(very deep submicron,VDSM)和纳米(nanometer)阶段,芯片的缺陷密度不断上升,快速的成品率学习(yicld learning)有助于迅速提高芯片的成品率,而成品率学习过程中的关键步骤就是故障诊断(fautlt diagnosis)。故障诊断的目的是确定电路中故障的位置并判定故障类型,为后续的物理失效分析(physical failureanalysis)提供信息。因此,故障诊断一直是研究领域的热点。相应的故障诊断软件开发,也就具有重要的实践意义。本文设计开发的故障诊断软件,集成了新的故障诊断算法,具备较好的扩展性,利于升级,且方便用户的操作,也可以作为新的诊断算法的评估平台。
本文分析了现有的故障诊断方法,对现有的成熟的故障诊断软件进行了对比分析,设计开发了Yield Explorer故障诊断软件,编写了软件的代码。本文的主要贡献包括:
1.开发了一种友好的界面设计和操作流程。本文对工业界提出的常用软件进行了深入分析,结合这些软件的优点和特性制定了一种故障诊断软件的界面结构和交互方法。该方法使得用快速有效的软件半自动地进行故障诊断成为可能。整体软件流程比较简单,不易出错。用户可以自定义相关输入文件,灵活性较高。而且诊断结果有存档,易于查询和分析,并能通过统计图显示。
2.设计了一种诊断软件的模块结构。本文中的诊断软件使用了模块化的设计。主要包括操作接口模块、文本编辑模块、输入解析模块、核心算法模块、结果展现模块。每个模块用主要的类来进行更细致的功能划分。各个模块之间的藕合性较低,利于对模块进行替换。同时由于用类进行功能的对应,逻辑关系清晰,新功能的添加可通过添加对应类的类函数来实现。对每种模块,提出了具体的特性要求。
3.对软件的设计进行了完整的C++代码实现。对于每个模块,由于特点不同,使用了不同的开发工具并利用相关函数库实现了实用的具体功能。对故障诊断核心算法也进行了不同地实现。既开发实现了经典的故障诊断算法——注入与评估(injectandevaluate)方法,也在YieldExplorer中集成了面向多故障诊断的新算法——基于故障元组等价树的诊断方法。全软件用C++语言进行了完整实现,可以在Linux平台下进行安装使用。同时本软件接受商业领域较为常用的输入文件格式。