<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />罗伯特·墨菲(墨菲),Advanced Micro Devices 技术人员
杰森·帕克特 (杰森·帕克特),产品开发工程师,Advanced Micro Devices

抽象的—为了最大限度地利用设计资源并最大限度地缩短上市时间,片上系统 (SoC) 设计采用了大量的功能块重用。 这种重用为块级性能和产量的比较提供了基础,从而实现了集中调试和进一步优化的机会。 本文介绍了生成与 JMP Graph Builder 平台一起使用的自定义地图的过程。 该技术提供了一种利用高度交互式工具探索空间驱动信号的有价值的方法。 通过释放 JMP 中自定义地图的强大功能,推动流程改进。
索引术语— 自定义地图、超热图、根本原因分析、SoC、片上系统、良率。
一、简介
当今的 SoC 通常是基于尖端半导体工艺技术构建的相对较大的设备,旨在不断提高性能和功效。 它由一组重复且独特的块组成,这些块服务于各种芯片功能,例如 I/O、计算和图形。 这些块可以根据它们在管芯上的物理位置来表示为地图。 通过使用此类地图作为 JMP 中的自定义地图,工程师或分析师可以创建强大的可视化效果,从而更快地调试过程、测试或良率问题。 反过来,这有助于更快地提高产量和质量,从而加快新产品设计的投资回报 (ROI)。 通过根据晶圆上的物理位置在图形生成器中组合基于芯片的热图,以前未被注意到的效果变得清晰起来。 这是因为许多半导体制造挑战都强烈依赖于晶圆内的空间位置,例如中心效应或边缘效应。 这些位置依赖性的清晰说明大大缩小了潜在根本原因的范围,并加速了流程改进。
二.使用自定义地图的好处
目前,工程师或分析师可以使用多种工具来识别异常响应。 其中的一些示例包括直方图和箱线图。 尽管这些工具很有价值且利用率很高,但它们缺乏说明物理定位以更快地识别模式的能力。 了解这些模式有助于缩小后续分析和根本原因隔离的范围,从而缩短调试周转时间并提高产量。
尽管本文重点关注半导体行业,但自定义地图的应用在许多具有空间信号的环境中非常有用。
三.在 JMP 中创建自定义地图
JMP 中自定义地图形状的生成是通过一一连接每个形状的顶点来执行的。 为了实现此目的,JMP 需要两个定义文件形式的顶点坐标信息:“-Name”文件和“-XY”文件。 “-Name”文件包含所需的数字形状ID和姓名列和“-XY”文件包含形状 ID、零件 ID、X和是顶点的坐标。这形状ID列将“-XY”文件中的坐标链接到“-Name”文件中的形状名称。
如果顶点坐标可用,则可以通过几个步骤生成“-Name”和“-XY”文件。
汇总坐标文件,使每个形状在数据表中占据一行。 按升序(从 1 开始)创建“形状 ID”列,为每个形状提供唯一的 ID。 形状 ID 必须是表中的第一列。将表另存为 ' $$$ -Name.jmp' 其中$$$是一个选择的前缀。 在此文件中,应该有一个用户友好的名称列来表示每个形状。 在此列的列属性中,选择“映射角色”并将其设置为“形状名称定义”(参见图 1)。 这是重要的一步,因为此列中的值将用于链接原始数据以进行叠加。
- 如图。 1 。 形状名称定义贴图角色属性设置
在原始坐标表仍然打开的情况下,合并刚刚创建的唯一形状 ID 列,并按形状 ID 升序对表进行排序。 将数据表另存为 ' $$$ -XY.jmp' 其中$$$必须与“-Name”文件使用的前缀相同。
此“-XY”文件需要四个必填列,形状ID , X ,是, 和零件编号。 在当前状态下,文件应该包含所有这些信息,并且可能只需要重命名列。 但是,它将缺少零件编号柱子。 此列本质上告诉 JMP 某些形状是否具有多个独立部分,例如由多个岛屿组成的夏威夷州。 通常情况下,每个形状只有一个部分。 在这些情况下,零件 ID 列可以设置为全部。 这X和是列包含每个形状中每个顶点的坐标。 值得强调的一个微妙细节是“-XY”文件中每个形状顶点的出现顺序很重要,因为如果配置错误,它可能会导致形状表示不准确。 使用“-XY”映射文件,JMP 可以跟踪形状从一个顶点到另一个顶点的步进(从文件中的第一行到最后一行)。 新的跟踪以每个新的形状 ID 或零件 ID 开始。 图 2 显示了一个示例,说明顶点的顺序对于追踪简单的矩形形状有何影响。
- 如图。 2 。 形状的正确和不正确的顶点排序
如果原始坐标数据在多种类型的自定义地图中保持一致,则用于创建“-XY”和“-Name”形状定义文件的 JMP 脚本语言 (JSL) 脚本将非常有用。
有关自定义地图生成的更多信息,请查看以下资源:帮助>帮助内容>基本绘图>创建地图>图形生成器>自定义地图文件。
最后要注意的一点是,“-Name”和“-XY”形状定义文件必须保存在具有相同前缀的同一目录中,以便映射能够正确运行。
四.自定义地图使用
配置定义文件后,即可将数据导入到 JMP 中。 在图形生成器中可视化数据之前,需要最后一个准备步骤将数据与自定义地图定义文件链接。 数据中必须有一列的值与定义中找到的值完全匹配形状名称定义列,否则 JMP 将无法链接自定义地图。
要将数据表链接到自定义地图,请打开数据表中存储形状名称的列的列属性。 在“地图角色”属性中,确保选择“形状名称使用”选项,并选择“-Name”文件作为“地图名称数据表”,并选择适当的形状定义列(参见图 3)。 请注意,在 JMP11 中,这些选项没有用于搜索“-Name”文件的交互式文件对话框,因此需要将其复制并粘贴或键入到文本框中(包括“.jmp”扩展名)。
- 如图。 3 。 形状名称 使用贴图角色 文件选择
JMP 还支持将“-Name”和“-XY”文件放置在软件自动检查的特定目录中。然而,在我们的应用程序中,我们在不同的 SoC 产品中使用相同的形状名称和不同的映射。因此,为了避免名称冲突,我们采用文件选择方法。 请参阅 JMP 的帮助,根据您计算机的操作系统查找自动目录位置。
完成所有准备工作后,打开图形生成器并将链接的形状列从数据表拖放到窗口左下角的地图形状放置区中(参见图 4)。 然后,JMP 将在数据表中找到的所有形状实例(也在形状定义文件中找到)填充显示。
- 如图。 4 。 图形生成器地图形状放置区域位置
在某些情况下,形状定义文件可能无法识别数据表中找到的某些形状,这可能是由于名称不相同、命名约定不同或根本没有列出。 这些无法识别的形状在图形生成器窗口的底部显示为“未找到地图形状”(参见图 5)。 合并这些缺失的形状需要修改数据以匹配形状定义文件或更新形状定义文件本身。
- 如图。 5 。 当数据中的形状无法识别时图形生成器显示
此时可以将数据列拖放到颜色放置区,根据列数据和建模类型提供适当的颜色叠加。
下一节将介绍一些详细的示例,概述不同的用例场景和成功案例。
五、例子
- A. 产量数据
与介绍相呼应的是,在 SoC 设计中重复使用块的好处是可以比较各个块的性能和产量。 在块级别上配置的测试程序是很常见的,例如扫描(触发器和通用逻辑)和内置自测试(BIST,存储器测试和修复)。 对于 SoC,这些块称为块。 图 6 通过汇总数千个单元的结果描述了每个图块的特定测试的产量。 红色(并以白色编号)的瓷砖是低产量的异常瓷砖,值得更多关注。 下一小节将显示,还有另一种力量正在驱动这些异常值,但在此视图中描绘时,这种力量并不明显。
- 如图。 6 。 具有异常值的 SoC Tile 良率热图
- B. 超热图
继续前面的产量示例,有一组明显的异常值图块。 然而,尚不清楚它们可能出了什么问题。 图 7 描绘了超热图,该图利用了晶圆上每个芯片位置的嵌套每个 SoC 图块视图。 X组和Y组下降区。 人口稀少的模具位置的瓷砖故障率较低。 图 6 中的编号异常值已添加到图 7 中,表示导致这些切片良率降低的芯片位置。 对于瓷砖1 , 2 , 和3 ,主要原因是它们是与某些芯片 X、Y 位置的晶圆边缘相邻的角块。当紧邻晶圆边缘时,这些瓦片在晶圆制造过程中会受到边缘影响,而在晶圆的其他区域不会发生这种影响。 为了更清楚地查看包含许多对象的超热图,过滤掉颜色变量的基线或预期级别可能很有用。图7就是这样过滤的。瓦4良率下降主要集中在晶圆的中心,那里也存在由于制造工艺而产生的已知变化效应。 制造工艺会导致整个晶圆出现各种不均匀性,这些不均匀性通常在中心或边缘区域更严重。 该超热图可以快速了解问题区域所在的位置,而无需花费资源来尝试确定瓷砖本身是否需要设计优化。
- 如图。 7 。 晶圆级超热图通过过滤基线良率突出显示异常芯片位置
- C. 参数数据
图 8 是如何在晶圆级超热图上可视化参数数据的示例。 显示的每个图块都包含一个模拟测量结构,其值用作与设备性能相关的度量。 数据表包含数百个晶圆,该特定视图显示晶圆上每个芯片位置处每个块的测量平均值。 覆盖层描绘的同心圆清楚地表明了熟悉的制造过程残留。
- 如图。 8 。 模拟表征结构的晶圆级超热图
六.成功的故事
大批量产品显示出明显的异常瓷砖产量比其他产品差(见图 9)。在这种情况下,红色表示产量较低的瓷砖,蓝色表示产量较高的瓷砖。
- 图 9. 通过异常值平铺观察获得初始 SoC 级良率
利用热图进行进一步分析后发现,这是晶圆左下边缘异常瓦片的系统晶圆边缘特征,该瓦片与晶圆边缘相邻(见图 10)。 这一信号引起了代工厂的注意,这促使他们实施了工艺改进——在晶圆最边缘优化光刻调整。 由于这一工艺改进,整体晶圆良率显着提高。
- 图 10. 晶圆级观察左下晶圆边缘处异常瓦片
在超热图视图之前,对该产量信号的初步调查集中在图块本身上,即本例中的方向错误。一旦晶圆边缘良率相关性明确,正确的所有者就能够立即开始持续改进工作。
七.提示与技巧
A。显示缺失的形状
在图形生成器平台内的列选择框下方,有一个标题为的复选框,显示缺失的形状。 选择此选项会使用定义文件中但在当前数据表中找不到的形状轮廓填充显示(参见图 11)。 这对于发现丢失的数据或获取地图的整体图片很有用。
- 图 11. 图形生成器显示缺失的形状复选框
B.启用数据标签叠加
启用将鼠标悬停在形状上或在每个形状上方显示标签的功能对于快速识别模式非常有用。 右键单击所选列并选择标记/取消标记首次将鼠标悬停在图形生成器中的形状上时显示列数据。 要静态显示形状上的标签,请选择感兴趣的数据表中的行,然后选择标记/取消标记。
C。使用过滤器和色谱柱切换器实现自动化
在分析体积数据时,搜索微妙的模式可能是一项繁重的任务,而最大限度地减少鼠标点击次数总是有帮助的。 利用过滤自动化和列切换器功能(图形生成器红色箭头>脚本)是扫描不同条件下的大量空间数据的有效方法。
D .使用 JMP12 进行帧分页
Graph Builder 平台在最近的 JMP12 更新中进行了一些显着的功能升级,即能够使用页拖放区。 将数据列放入此放置区域会根据该列中找到的唯一值的数量生成图形生成器框架的多个实例。 该报告可以保存为交互式 HTML 文档以供共享。
E.使用组和环绕放置区进行帧分割
如晶圆超热图示例所示,可以通过使用帧内的嵌套列来分割帧X组和Y组下降区。 晶圆超热图使用芯片 X 和 Y 坐标进行分割,但可以使用任何列。 其他经常使用的例子有电压测试点、测试温度和频率测试点。 这裹drop-zone 具有类似的功能,空间利用率更高,但列嵌套不可用。 右键单击组变量允许用户选择视图中的级别数,以有效地放大感兴趣的区域(参见图 12)。
- 图 12. 在视图选项中选择级别团体变量区
F。修改图形生成器颜色设置
在分析自定义地图叠加数据时,通常对颜色设置进行简单修改就可以显着强调异常模式的外观。 作者建议对单向数据(产量、速度等)使用带有连续颜色主题的深色背景(图形>背景颜色),对两侧数据使用发散颜色主题。 右键单击图例可以在渐变设置中访问颜色主题。 默认情况下,图形生成器会在每个形状周围添加灰色边框,宽度为一个像素,这可能会掩盖一些较小的形状。 要删除此边框,请在框架中单击鼠标右键,然后选择“自定义”>“地图形状”,然后将线宽更改为零。
八.已知问题和注意事项
- A. 重叠的形状可能无法显示所需的颜色
当自定义地图中定义的形状具有重叠区域时,就会出现这种情况。 在图 13 中,丙烯酰胺和国民银行块共享一个公共区域,但只使用一种颜色。 创建包含任何重叠形状的自定义地图时需要注意这一点。
- 图13。 两个重叠形状的颜色叠加不正确
- B. 拖动标签创建指针显示未标记的行
图 14 显示了拖动所需标签(黑色虚线边框)如何导致未标记的行出现无关标签(红色虚线边框)。此问题已在 JMP 12 中修复。
- 图14。 拖动标签(黑色)会导致出现未标记的行(红色)。
- C. 更改视图中的级别会重置框架自定义
图 15 显示了首先为默认视图设置框架自定义的过程,使用其中一个选择视图中的四个级别团体变量,最后当返回到原始视图时,最初应用的自定义将丢失。
- 图 15. 更改视图功能中的级别会导致框架自定义丢失
- D.Map角色列属性和汇总表
如果某列应用了映射角色属性,并且汇总了数据表(包括该列),则图形生成器无法识别该列属性。 它只是指出,没有找到任何形状文件,即使它已在“地图角色”属性中定义。 解决方法是删除“地图角色”属性并重新添加。 或者,如果保存、关闭并重新打开文件,则“地图角色”属性将按预期运行。
- E. 无法更新地图角色属性
使用“地图角色”列属性时,我们发现一旦设置了该属性并应用了形状定义文件,更改为选择其他文件将不会更新到新文件的设置。 此外,形状定义列无法更新。 解决方法是删除“映射角色”属性,然后使用新的文件和列设置再次添加它。
九.提升机会
Graph Builder 平台中的自定义地图是一个出色的执行器,可通过卓越的交互界面分析与空间数据相关的模式。 正如本文所述,此功能成功实现了根本原因分析,从而产生了真正的财务影响。 通过广泛使用此功能,其收益是显而易见的,并且通过一些优化来扩展其实用性只会带来更好的结果。
以下是作者根据自己的经验整理出的一些增强机会。
A。视图中级别的更多选项
图形生成器提供了使用以下方式分割视图的能力团体两个区域上的拖放区X和是轴。 右键单击菜单提供了一些用于设置视图级别数的选项,但它相当严格(参见图 16)。 通常需要超过四个级别的视图(但少于所有级别),但目前该选项不存在。 可以根据组列中的值的数量将其更改为动态的。
- 图 16. 查看选项中的级别仅限于 1-4 或全部
B.支持多列分页
这是一个非常有用的功能,只需滚动鼠标即可快速扫描多个视图。 如果可以允许多于一列来分割帧,则可以进一步优化该功能,类似于“经过'其他平台上的功能。 现在的解决方法是创建一个新列并将多个列中的数据连接在一起以获得不同的组合,但多列分页将是一种更干净的解决方案。
十、致谢
作者要感谢 Paul Shook 在向 AMD 平面图软件添加特殊输出格式方面提供的帮助,该格式对转换为 JMP 的自定义地图格式有很大帮助。此外,我们还要感谢 AMD 的分析师同事帮助评估 JMP 中 SoC 良率可视化自定义映射的使用情况。
AMD、AMD 箭头徽标及其组合是 Advanced Micro Devices, Inc. 的商标。本出版物中使用的其他产品名称仅用于识别目的,可能是其各自公司的商标。