@wafertools/wafermap 0.32.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +7 -7
- package/CHANGELOG.md +374 -1
- package/README.md +5 -5
- package/dist/packages/canvas-adapter/chartPopulation.d.ts +15 -10
- package/dist/packages/canvas-adapter/chartPopulation.js +1 -1
- package/dist/packages/canvas-adapter/charts/barPanel.d.ts +7 -0
- package/dist/packages/canvas-adapter/charts/barPanel.js +1 -1
- package/dist/packages/canvas-adapter/charts/binCluster.d.ts +7 -1
- package/dist/packages/canvas-adapter/charts/binCluster.js +1 -1
- package/dist/packages/canvas-adapter/charts/boxplot.js +1 -1
- package/dist/packages/canvas-adapter/charts/capability.js +1 -1
- package/dist/packages/canvas-adapter/charts/chartShell.d.ts +57 -15
- package/dist/packages/canvas-adapter/charts/chartShell.js +1 -1
- package/dist/packages/canvas-adapter/charts/correlation.js +1 -2
- package/dist/packages/canvas-adapter/charts/groupedBarPlot.d.ts +2 -0
- package/dist/packages/canvas-adapter/charts/groupedBarPlot.js +1 -1
- package/dist/packages/canvas-adapter/charts/histogram.d.ts +16 -0
- package/dist/packages/canvas-adapter/charts/histogram.js +1 -1
- package/dist/packages/canvas-adapter/charts/palette.d.ts +2 -0
- package/dist/packages/canvas-adapter/charts/palette.js +1 -1
- package/dist/packages/canvas-adapter/charts/plotChart.d.ts +27 -0
- package/dist/packages/canvas-adapter/charts/plotChart.js +1 -0
- package/dist/packages/canvas-adapter/charts/pointInteractions.d.ts +45 -0
- package/dist/packages/canvas-adapter/charts/pointInteractions.js +1 -0
- package/dist/packages/canvas-adapter/charts/regionYieldDiagram.d.ts +2 -0
- package/dist/packages/canvas-adapter/charts/regionYieldDiagram.js +1 -1
- package/dist/packages/canvas-adapter/charts/scatter.d.ts +19 -0
- package/dist/packages/canvas-adapter/charts/scatter.js +1 -1
- package/dist/packages/canvas-adapter/charts/sweep.d.ts +12 -0
- package/dist/packages/canvas-adapter/charts/sweep.js +1 -1
- package/dist/packages/canvas-adapter/charts/testPassRate.d.ts +7 -0
- package/dist/packages/canvas-adapter/charts/testPassRate.js +1 -1
- package/dist/packages/canvas-adapter/charts/trend.d.ts +11 -0
- package/dist/packages/canvas-adapter/charts/trend.js +1 -1
- package/dist/packages/canvas-adapter/confirmDialog.d.ts +13 -0
- package/dist/packages/canvas-adapter/confirmDialog.js +1 -0
- package/dist/packages/canvas-adapter/dataTab.d.ts +131 -0
- package/dist/packages/canvas-adapter/dataTab.js +1 -0
- package/dist/packages/canvas-adapter/dieList.d.ts +39 -4
- package/dist/packages/canvas-adapter/dieList.js +6 -7
- package/dist/packages/canvas-adapter/drilldown.d.ts +20 -3
- package/dist/packages/canvas-adapter/drilldown.js +1 -1
- package/dist/packages/canvas-adapter/guideWindow.d.ts +96 -0
- package/dist/packages/canvas-adapter/guideWindow.js +1 -0
- package/dist/packages/canvas-adapter/identityHeader.d.ts +16 -0
- package/dist/packages/canvas-adapter/identityHeader.js +1 -1
- package/dist/packages/canvas-adapter/index.d.ts +3 -3
- package/dist/packages/canvas-adapter/index.js +1 -1
- package/dist/packages/canvas-adapter/insightsTab.d.ts +73 -54
- package/dist/packages/canvas-adapter/insightsTab.js +1 -1
- package/dist/packages/canvas-adapter/maplessSummary.d.ts +2 -2
- package/dist/packages/canvas-adapter/plotEditor.d.ts +29 -0
- package/dist/packages/canvas-adapter/plotEditor.js +1 -0
- package/dist/packages/canvas-adapter/plotItems.d.ts +32 -0
- package/dist/packages/canvas-adapter/plotItems.js +1 -0
- package/dist/packages/canvas-adapter/plotModal.d.ts +30 -0
- package/dist/packages/canvas-adapter/plotModal.js +1 -0
- package/dist/packages/canvas-adapter/plotStore.d.ts +52 -0
- package/dist/packages/canvas-adapter/plotStore.js +1 -0
- package/dist/packages/canvas-adapter/plotTab.d.ts +30 -0
- package/dist/packages/canvas-adapter/plotTab.js +1 -0
- package/dist/packages/canvas-adapter/renderWaferGallery.d.ts +3 -2
- package/dist/packages/canvas-adapter/renderWaferGallery.js +1 -1
- package/dist/packages/canvas-adapter/renderWaferMap.d.ts +51 -2
- package/dist/packages/canvas-adapter/renderWaferMap.js +1 -1
- package/dist/packages/canvas-adapter/summaryPanel.d.ts +49 -11
- package/dist/packages/canvas-adapter/summaryPanel.js +2 -3
- package/dist/packages/canvas-adapter/summaryRail.d.ts +7 -0
- package/dist/packages/canvas-adapter/summaryRail.js +1 -0
- package/dist/packages/canvas-adapter/sweepEditor.d.ts +17 -0
- package/dist/packages/canvas-adapter/sweepEditor.js +1 -0
- package/dist/packages/canvas-adapter/tableExport.d.ts +22 -0
- package/dist/packages/canvas-adapter/tableExport.js +3 -0
- package/dist/packages/canvas-adapter/toCanvas.js +1 -1
- package/dist/packages/canvas-adapter/toolbar.d.ts +74 -93
- package/dist/packages/canvas-adapter/toolbar.js +2 -2
- package/dist/packages/canvas-adapter/userGuideHtml.d.ts +1 -1
- package/dist/packages/canvas-adapter/userGuideHtml.js +409 -51
- package/dist/packages/canvas-adapter/version.d.ts +2 -2
- package/dist/packages/canvas-adapter/version.js +1 -1
- package/dist/packages/canvas-adapter/viewSwitch.d.ts +13 -0
- package/dist/packages/canvas-adapter/viewSwitch.js +1 -0
- package/dist/packages/canvas-adapter/virtualTable.d.ts +44 -0
- package/dist/packages/canvas-adapter/virtualTable.js +1 -0
- package/dist/packages/core/aggregates.d.ts +6 -0
- package/dist/packages/core/aggregates.js +1 -1
- package/dist/packages/core/classify.d.ts +3 -2
- package/dist/packages/core/classify.js +1 -1
- package/dist/packages/core/compact.d.ts +205 -0
- package/dist/packages/core/compact.js +3 -0
- package/dist/packages/core/passBins.d.ts +23 -4
- package/dist/packages/core/passBins.js +1 -1
- package/dist/packages/core/ringCount.d.ts +22 -0
- package/dist/packages/core/ringCount.js +1 -0
- package/dist/packages/core/tableCsv.d.ts +43 -0
- package/dist/packages/core/tableCsv.js +3 -0
- package/dist/packages/renderer/axisTicks.d.ts +14 -0
- package/dist/packages/renderer/axisTicks.js +1 -1
- package/dist/packages/renderer/binColors.d.ts +6 -6
- package/dist/packages/renderer/binColors.js +1 -1
- package/dist/packages/renderer/buildView.d.ts +27 -2
- package/dist/packages/renderer/buildView.js +1 -1
- package/dist/packages/renderer/buildWaferMap.js +1 -1
- package/dist/packages/renderer/compactView.d.ts +22 -0
- package/dist/packages/renderer/compactView.js +1 -0
- package/dist/packages/renderer/xyIndicator.d.ts +27 -0
- package/dist/packages/renderer/xyIndicator.js +1 -0
- package/dist/packages/stats/analyzeWaferLot.d.ts +28 -0
- package/dist/packages/stats/analyzeWaferLot.js +1 -1
- package/dist/packages/stats/analyzeWaferMap.d.ts +36 -1
- package/dist/packages/stats/analyzeWaferMap.js +1 -1
- package/dist/packages/stats/binPareto.d.ts +1 -1
- package/dist/packages/stats/binPareto.js +1 -1
- package/dist/packages/stats/binRows.d.ts +38 -0
- package/dist/packages/stats/binRows.js +1 -0
- package/dist/packages/stats/filterFindings.d.ts +25 -0
- package/dist/packages/stats/filterFindings.js +1 -1
- package/dist/packages/stats/findingText.d.ts +9 -0
- package/dist/packages/stats/findingText.js +2 -0
- package/dist/packages/stats/histogram.d.ts +27 -0
- package/dist/packages/stats/histogram.js +1 -1
- package/dist/packages/stats/index.d.ts +2 -0
- package/dist/packages/stats/index.js +1 -1
- package/dist/packages/stats/lotDrift.d.ts +16 -0
- package/dist/packages/stats/lotDrift.js +1 -0
- package/dist/packages/stats/lotPattern.d.ts +33 -0
- package/dist/packages/stats/lotPattern.js +1 -0
- package/dist/packages/stats/math.d.ts +60 -6
- package/dist/packages/stats/math.js +1 -1
- package/dist/packages/stats/patternClassification.d.ts +32 -1
- package/dist/packages/stats/patternClassification.js +1 -1
- package/dist/packages/stats/plotData.d.ts +258 -0
- package/dist/packages/stats/plotData.js +1 -0
- package/dist/packages/stats/plotId.d.ts +3 -0
- package/dist/packages/stats/plotId.js +1 -0
- package/dist/packages/stats/plotSpec.d.ts +119 -0
- package/dist/packages/stats/plotSpec.js +4 -0
- package/dist/packages/stats/presentation.d.ts +44 -0
- package/dist/packages/stats/presentation.js +1 -0
- package/dist/packages/stats/regions.d.ts +15 -0
- package/dist/packages/stats/regions.js +1 -1
- package/dist/packages/stats/renderSummaryReport.d.ts +23 -5
- package/dist/packages/stats/renderSummaryReport.js +32 -27
- package/dist/packages/stats/reportHtml.d.ts +54 -9
- package/dist/packages/stats/reportHtml.js +145 -55
- package/dist/packages/stats/scatter.d.ts +6 -0
- package/dist/packages/stats/scatter.js +1 -1
- package/dist/packages/stats/sweep.d.ts +37 -1
- package/dist/packages/stats/sweep.js +1 -1
- package/dist/packages/stats/sweepText.d.ts +14 -0
- package/dist/packages/stats/sweepText.js +1 -0
- package/dist/packages/stats/sweepXFromName.d.ts +14 -0
- package/dist/packages/stats/sweepXFromName.js +1 -1
- package/dist/packages/stats/synthesis.d.ts +76 -0
- package/dist/packages/stats/synthesis.js +2 -0
- package/dist/packages/stats/testPassRate.d.ts +6 -0
- package/dist/packages/stats/testPassRate.js +1 -1
- package/dist/packages/stats/trend.js +1 -1
- package/dist/packages/stats/types.d.ts +2 -2
- package/dist/packages/stats/yield.d.ts +15 -6
- package/dist/packages/stats/yield.js +1 -1
- package/dist/packages/stats/yieldRows.d.ts +31 -0
- package/dist/packages/stats/yieldRows.js +1 -0
- package/llms.txt +16 -4
- package/package.json +3 -3
- package/dist/packages/stats/findingsNarrative.d.ts +0 -3
- package/dist/packages/stats/findingsNarrative.js +0 -1
|
@@ -31,7 +31,7 @@ export const USER_GUIDE_HTML=`<div class="wmap-guide">
|
|
|
31
31
|
@media print{
|
|
32
32
|
/* Print only the guide's own content, never the host page, and never a
|
|
33
33
|
clipped single screenful. The guide window opens one of two ways
|
|
34
|
-
(
|
|
34
|
+
(guideWindow.ts's openUserGuideWindow) and this must handle both:
|
|
35
35
|
- a real popup (openGuideInPopup): buildGuideContent's content div
|
|
36
36
|
(class wmap-guide-content) is body's ONLY child directly \u2014 body
|
|
37
37
|
itself is height:100vh;overflow:hidden for the screen layout, which
|
|
@@ -72,7 +72,7 @@ export const USER_GUIDE_HTML=`<div class="wmap-guide">
|
|
|
72
72
|
.wmap-guide-toc{display:none!important}
|
|
73
73
|
}
|
|
74
74
|
</style>
|
|
75
|
-
<h1 id="wafer-map-user-guide">Wafer Map \u2014 User Guide<span class="wmap-guide-version" title="Built 2026-
|
|
75
|
+
<h1 id="wafer-map-user-guide">Wafer Map \u2014 User Guide<span class="wmap-guide-version" title="Built 2026-10-06T09:21:15.198Z">v0.34.0</span></h1>
|
|
76
76
|
<p class="wmap-guide-online-link">This is a quick reference. <a href="https://wafertools.github.io/wafermap/user-guide/" target="_blank" rel="noopener">View the full illustrated guide online \u2197</a></p>
|
|
77
77
|
<p>This guide describes the display and analysis features of the wafer map viewer.
|
|
78
78
|
It is written for users who may be semiconductor test engineers, device engineers, and yield engineers
|
|
@@ -80,7 +80,7 @@ or anyone else who may use a wafer map application \u2014 not for developers int
|
|
|
80
80
|
<p>Some features depend on what data the application has loaded (bin names, test
|
|
81
81
|
definitions, test limits, reticle geometry). Where this applies it is noted.</p>
|
|
82
82
|
<p><strong>Getting oriented.</strong> The wafer map is an interactive viewer. A toolbar is always
|
|
83
|
-
present at the
|
|
83
|
+
present above the map, at the right of its title row \u2014 use it to change what the colours represent,
|
|
84
84
|
toggle overlays, rotate or flip the wafer, zoom, select dies, and open the summary
|
|
85
85
|
panel. Hover any die for a tooltip; the panels and tooltips always report the
|
|
86
86
|
original die grid coordinates, never the on-screen position after a rotate or flip.</p>
|
|
@@ -97,7 +97,10 @@ display does not change the coordinate labels \u2014 a die at (3, \u22122) alway
|
|
|
97
97
|
<h3 id="12-wafer-orientation">1.2 Wafer orientation</h3>
|
|
98
98
|
<p>The notch (shown as a V-notch or flat edge) marks the physical reference edge of
|
|
99
99
|
the wafer as configured. Use the <strong>Orientation</strong> toolbar controls to rotate or flip
|
|
100
|
-
the display to match your convention; die coordinates are unaffected
|
|
100
|
+
the display to match your convention; die coordinates are unaffected. The first rotate
|
|
101
|
+
or flip also switches on the <strong>XY indicator</strong> (the +X/+Y arrows in the Overlays menu), so
|
|
102
|
+
you can see which way the die coordinates now run. It stays on until you switch it off
|
|
103
|
+
there; <strong>Reset orientation</strong> leaves it as it is.</p>
|
|
101
104
|
<div data-wmap-demo="bin-map" class="wmap-demo"></div><p><em>An example wafer bin map above and below the same wafer rotated 90\xB0. The notch has moved, but die coordinates \u2014 shown in tooltips \u2014 remain their original grid/prober values.</em></p>
|
|
102
105
|
<div data-wmap-demo="orientation" class="wmap-demo"></div><h3 id="13-die-appearance">1.3 Die appearance</h3>
|
|
103
106
|
<table>
|
|
@@ -260,10 +263,10 @@ expression it was computed from, e.g. <code>t[1020] - t[1010]</code>. The number
|
|
|
260
263
|
square brackets are the test numbers it reads. In a CSV export the expression
|
|
261
264
|
appears in a <strong>Derived from</strong> column instead.</p>
|
|
262
265
|
<h2 id="3-toolbar-controls">3. Toolbar controls</h2>
|
|
263
|
-
<p>The toolbar sits at the
|
|
266
|
+
<p>The toolbar sits above the map, at the right of its title row (each card in a gallery has its own), and is always visible. Controls that
|
|
264
267
|
are not applicable to the current mode are hidden automatically. (Hovering the map
|
|
265
268
|
shows die tooltips \u2014 a separate thing from the toolbar, which is always present.)</p>
|
|
266
|
-
<p><img src="data:image/png;base64,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" alt="Single-map toolbar"></p>
|
|
269
|
+
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA54AAAA+CAIAAADMGVPDAAAQAElEQVR4nOydB3wTR9rGR5I7blTTjLEpxpiOHWroPVRTQwmdVAIkJLlLcpfLd7lLLp2EQAiEDqH33nsx1RQbMLj33qssfc/u2BtFkmWrr2H+P/3IWlopI+3szPOWeccmK69IyUMIoQdlZQp5Wflz3LMMBoPBYDAYDIaYkOAhIVKJRCbDA//lwPM2yr9SUqooUzBBy2AwGAwGg8EQL0rOJ0sUSqVcobRRKG1tytXtX6RtcYlCwbtvnRxs8bDHWVIJYTAYjMopU5BiOQYX7sBaZjHGKZmUSKXEXsYdMBgMBuO5B5q1uFReUFSKh7xMqVCW2dvK8LwkPTuf6tpSOZeHAC1bz83J3s6GMBgMRlUUlnK6VlTY2xBHW8JgMBiMF4SiEnl6dgGUro1MwnllCZ9iW6bgdC2O67nXYrqWwWBUCQaMnCLR6VqAJuUWkTKWV8VgMBgvBg52NnDL4oDz3SqU0oqlY9xrtRztqC+XwWAwdFPCJyGIE+jaEvFpbgaDwWCYCbhlIWIJp24V5dJWSLElDAaDURU0v1bMoHnMcctgMBgvDk72nIiFnpVWlP3inrW3ZakIDAajaorLiPgRufhmMBgMhgmx5fMOFIRwWpaqW8KXB2MwGIwqgddW/ChqQiMZDAaDYRJktKgX9doK0pbBYDCqQ42QtjWikQwGg8EwLSwDgcFgPJ8wk53BYDBeQMqLfxEGg8FgMBgMBqOGY1PTdW10dDT+9fLyIgxGTYP1XoYmrFdYkufj12bfQjywbyEGWEICg8FgMGoYRcUl98Mi0jNz6tZ27eDXwt6eVa5kMBjlMGnLYDAYjJpEYkr6z2v3pqZn0T8b1HNfOCeoYf06hGEohUXFsQmpmlHc2m4u+HkJg1GjYNKWwdDCvbCIa7ce4qBXYHt/3+akxvLHvtP499WxAwmD8VwQl5j6zcrtBYVFOPaoVzs5LTMlLWv52r2fvT/T1obNaIZw9GzwniMXKnvVt4Xn0jcmk5pMXkFhdFxydk5+bl4B/nRxdnJzreXV1MPZyZEwLEhBYfGDRxG4hbNUroW7m7Nno/r+vt5OjvbERLCBQBdpGdm4GRwd7Wu7OTs6mOxHNzmsnaZl//HLh05dpcc3Qh6PG9Z7xMDupAayatPBm/ceE25kL5o/9RViVQpKSFyGwque1L5i1EnNVSZmKWvZSVp4/FlS+1myMr9E2chdUt+l/MmiUhKTrvBwlfI7hJsRKCSZTIoAN3muwT2YlZOHA3dXZ0zwpEYRHZ/83a874GJ0cnRYNG+8T7NGTyJioXQhcO+HRXZp34ow9CQnr0CHrgWPn8VevvGgV2A7wtsV+45dwu9f2cmNGtSdPn4wEQfFxaXHzgWHhD6FQ1rrCc2aNOjk33Jo30A7u5qa0JKRlSuEL1QpKSmtV9cNl4OIg/DI+N1Hzj+LStBxTivvpuNf6dPCqzExGiZt1UEvOXH+ZnhkXHxSmurzmANaNm/yUic/kYyerJ1m4vc/jly7HYoDRwc7hUJZXFK699ilxJSMua+OIDWKTbtOUF0Lgu+EOdjbzbDelLP7hnzd+VIcBPpIPwvirJr8YjJ/dZGcLz27eJjdoHbcLjJHQuQrTnKn2UjJ5rcdnXnz57/7i29HcecF+EiXDLM3k8DFnP359xtw8J+P5j1nEdhHT2Puh0WER8VnZuVSUUujztR0gMCt7e6CSaWDnw/8c0QEFBWXPHgUCUsYHp3WPk3r1y2/HFGxSd+u2g69AsP4/dcnQZfgydY+nq7OTtBnSakZhKE/6BX0YMaEIfCCq726esuh7Nx8WA70zyOnr4WEPtPxaU8i4hDm6tzO+qP6zZDH2/afQeOFZ9BParu54CAzOzeHdxnGxKfgceHavanjBoqhzfoCG+Oj/6zS/pqSu82//vT1Ou4uxKrkFxThQtBZVTfQCV8t3wojavLo/kY6v0wvbdGz0fVj4pMVKnsBSaXSZk08OrZtgXGKiJiDJ68cOHFF60twddy69wSP9m28Z0wYCr8jsR6sneYAIc6f1+59GhWPY4zO86eOxOCwZuvhh4+jcFumZ+a8M3ssfEWkJrBx14mL1+9xR/gOEqWESC5cC1Eqla9NGEIszuG75bqWqNSaVc3pKynTUqdFcOQKuyTejFD8errko1F2xAwkpZQLo9iElOdD2kbFJZ25dPvOg6dQihov/iluIXbxiIxJPHH+BuwfmJr9e3Vu3rQhsRLQr79uOoDbTXhm4qh+Q/oERMQkfv/bDuhae3tbQdcS3o9LZYqmLGPoBQL0Xk081J60teVFQkUO7tRxg7w8G+IqVPYhjTzqWl0jwmG5fscxBNzon+39fLp19uvUtqXqWsPCohJ4c6/dCn34JAr9f8WG/T26tp0zpYb5L7SCcZ4bMyUSiZKkZmRZV9riRv5h9c7k1HLTCJcgsGObzv4tG9SrTc2MjOyc1LSs2w/Ccb1w4fAMQgQYjhbPn0BPMAxJUloWNKhcwRW49fRwI8YB59DqrYd1nICo6Eud/YjpMFWJioLC4hUb9iHyQv90dXHC4N7csyFu9ZT0rOi4ZAy4glcAvoS3Z401iductdO67RRITc/GxAlHEY5f7tZBVQIKMrFeHbf3FkyqX9fY20TATAVWNu85ef5qCOGCg3USU9L5g3r0oH/PTpiciNFkFepx8sRlhYWlpEtz6egutu2bVZGQEJ6kwMlqCQkPYhV7b5aGxHDW8qGleqTHuVf7XPh4Vm0+iIM3Zozu2qE1sR7G9wpM2+t3HL19P1x4xs2lVmCnNu58IpCjvd2+E5cw+I8d0quwuASOn4zMHBiZqv6tgI6+syYNs7d4lBZRyx9X7ywpleO4YYM6gr2BWePuw6eY+RA4hq71adaIPi/k3cIa+ey9WXa2ejtrzFfkCPrvaXS8an4nHOQY5cxRzMGYb4HR+Itlm3Dw6eIZmtL271+uxqg4vP9LQSP6EDNjkmsBLfXT2j0JfJCwa/vWY4f31r2+EAPj3qOX7jzgbpYmDeu9OzeojrtRKUkWLpullpCQkpa54+DZouJS3hhR/nPJTMEI1AuTfAvcnj/8tpNantAAIwZ079O9Q2UJ8bjrMc8iLEDPx5D13oKJjRvWI3oSm8xN4qb02j6LSqC6FkMSuhQ8tcJLUM8YOiFlcELdOm7WFTGa5OUXfrl8S0oa1z9qOTlg7n+pUxvN0zDOrt1+FPYEhiq4zRfNG9/O15tYENZOM4EJdfm6PZDjOEYoZNDLXVVfhcxt7FF3+4GzGOK/WLZx0bwJwswqQnCXUV0LW2L8yD7f/boDx9OCBu08dA5z2Nkrdwf3CTShOq+S+ExlIe/iCQq07eQlVX0J4lXQrwKtGkrVnnGw5VIRJBLbkBjuAiVkKhvXlhBGJUDnQe1hUiEVPpKeAe1aeTdRPef4+RuQtoEqd+WrYwci4AbfxNXboVCQEPpwtHzw5hRHB7P4yLVSXFK6Yv0+qmvfmjkGzj/ccT9DpiSno2H0nMV8fi09Vsm7tX971jgDdK2ZCH0SfeF6CKY8ra/CcOrTvWPbVqxusemBUQcPBZ16xg7r/Uo11kg0alAXne3Qqav7j1+OT0r7ftXOTxbNsGS3NxI4ZQW/LCJOOw6eg651sLfFT8H7ba22cQFMZfhrqU7t4OezYPoo3aYy7t+BvbtgsFq16QBc6Xj797/t/Mfi1wxbDyBb+uHf4L5WKLmpws3Z8GArxqDl6/ZilIHW/nzpbGgU3xaewqNNy2a9AtrBz4zB69HTmE7+LU0V2M3O5hS6u7vhAUSMpN/+uh2jJ+F9A0vmT4BzUeuZzrUc4c9Dpw+PjCtTKBDp69i2hauLhdZhsHaaieC7jzB9lsrLcGthjOsR4K95jo9X4+ZNPeA3wqhxKfh+00b1EXcjRmN879UEvyoi0fDXwhGO2436mwf06jK4T9fYhFQYwf16diJGUySv7pmujpIHcQoPN8m0XkY5qyBn6eeMDdBDwThU+/+JHku1CByWjT2sufbCyF6xaffJ0CdROOjepe27c8cjFKu5MO4C1ysk8KCoPskViG3bovdL7bNy8jHH5+Tm5xUU4pYklgKRnLNX7mAq7ujnM2ZobzyDaSKggy/mOUyQ8NcunjdByAbGyd+vgq4twQCy9I0puCWJQZj2HoRF8duWQ9BJifwASHhnbaP68AM6K5RKGm/FS4iDP42K92raEK8SU2DMt4Bfme8PBIIb7VR79fSl27D5YRr5mV+LG38tMJLDgMfBlDEDhvYLrP4bW/t4wkB6+Dgqv6AoOj6pR1d/YijmGNWrA3Tt1yu2FRVzd8S0oMGYT0kl17Q6GPktIANwe1IbY0ifgNlThtvIZNV5o62NrHvXtrDP4fPC/PU4IhZfgehDTj7nATHczH3wOBKWPRQtrYQXEZMol5cRvktp1ebwH8Afhtseb/nXd+u9mnKBD1gVMDjQqzCeEisBB3hMfAoO0JvnTBle5fmD+wQ0bFD3p993Y5xatengvz+cQywCa6c5OHDiysGTXDawq7PTkgUTdUyQmPX/vnAaDa+s3Lh/zNBeIwf1IKLk3TlBmk8iEg2/OLEG/51kmmoYpvocI8Gwu+vwBehgl1qOPQP8RVU9AzPK1VsPMSS3aN4IJuWNu4+0niaXwzSRQLVofRVuUYQ1I2OSYBdhPLeYN7Rl8yZ13FwysnPvhUXgF57wChcBh/jDfYd5rl4dN0Gj/zXvdrJhIVeTo1pZxd+3OUwLGAaqq2Hg+oF5fPVWaFh4NB6ffbtOzMNIZWB411EhoUE9d2NSJI0B/Rm/Kg5GDOgG/x/REwTr4Ck8djYYTvdzV+/262ECF4DFgKX33aod0LVQX++/Mdl6vtpyDp28QmUA7oKJo/qpvlQql+NHDr7ziGYkNuXKfjWf8Epf1XMw7OTmFyJWA0MFtxVuE6InBo5Zu49cQOM0n580qh98HpW9C/Ev6No9Ry9CjCP4JTyPWx1C+Y0Zo4nFgYl28uItwid2VL/2Z/s23r0COSc0rg18flqj7aZFdzvz8guv3wlr7dPUs3EDMbezMizfTgoMLTr34+6Cf6vKpWw47dPFr0HdJqak436Dn2/BtJGE8SIBPwSibDQnGxp377FLIaHPYBQ52IsigpmZTVe7K9Mzcs5evlP5idxSEx0nFHIrzzA9SrJz8oQCBeYmNDw6g28/pPnxc8H2djajBvckfKRStXTDs6gEXAJMInj+vQWTqJfE6qzZevg6nzWBsMmcKSMwpmmeA5kLgx+P2/fDN+46jtESwwj60qxJw0gN4fzVkM17Tuo4QSaT/vCvty1f2xH9gdoVCBGPG/4yMYjxI/qgdyGKePDEFVwm+xpSEYyrHPLrdvwCaPB7r0/yauJBXdfWIisnj8oABAnVKgthzIQEp6qXgkAHHghiLJk3UTUNff7UV2LikiEJjp+7gUijm57hXEOkbXR8MtW16EOwsyX8AmbY036tmlWZfz18QDcI3MfPYukCWIyv+j7SaQAAEABJREFU6Eb4Ey4QdKkWzS2dg3v55gMaJJo/baSQXoP4yy/r99at7SY4HWE97Dt+GQOQUOEBug1yHKGcc1fuWECKaW2nAJwrMBi8mzX6eOE0tZdE1U4dWLidcG79uHpneCRXDKGdr/ebr42uZl1DyN9P3p2+ctN+hK4gizHxL54/weqF4jOycg1bBgslZAEXS2ou50PQTKu11ucYDCaPZb/vorqWbhZAeA/i8nV7RVLTHq2ysZHBL+Lk5KBDMG3efQKyVUf90XXbjmbn5uGmsJiuhZGAgA/hcwcxpaRn5iKiUlRcOnHkX9w5uAQ/rd2Df/E1F8+fKJKs91/W74M7lvAO74Vzg9Q2AkCHwSypmhbSpX0rhPiXrdmNyRQmPWact2aOIVYCWpwerN9+TLNmPu3teuaJWeEOvXY7FC4eHARVW9fiNoGNATnYyb+l8CRiBV8u34rQHIZ3KwaTq4+gazlLT2WFpRWB/UNj+GM1vK3b9p8RdG1jj7plCgUtngD5d/jMNbVrN3por982H8RlgsLRN7hhyJQsLHt///VJRH8QV8JD+BNK6O1PluEgMjbR8tL2Lp+P4tm4vqpXYM0fh3mncty44b3pxA8TJDU9a+WG/f98byb17eF+6Nu9IwZfyCPcUcLoYMl2ChTw4aG8/ALNl0TVTh1YuJ2bdp2gutaAigGwLBfPm0CrEKCfbN59cvbkqvMuzMeZy3f+2Hcabm99fT9rtx1F8Hrq2IH9e3UmZoPWr8WBUKfWup9jDL//caQ8e6xvICTXs+iEFev3YRbEkHj8/I2hffXI7TMfowf3hKGbmJy+ZuuhaeMGa91Lj1/jK9E6C0Ki0RWTEiIZM6QnMTMY/y8G3z954SZ1diDu9O7cIAjBb1Zuw5x34vwNWxvZ2GG9hfPjElLpPmRwqqmtjbMWuI+oroWv553Z41RdfUfPBp+7cjcji/tqmPVwow3pE0BfcnF2+uCtKcvW7MJAdOdBOMaT6UHWKTsNzQ3vWkJSGl16qBVB/PXt0dHL00NH8a8G9dytsgaLJso3b9rQuyptBzn1+Gns9Tuh0LWI4P/9namqr/p4Ncb8FZuQig8Uv7RVjWCIx9Kj4QtXZye1MnDZufkI0RM+DvPhW6/SeAucRD+u2YWD0xdvqUnbwI6+mF5xv+NaWELa0lImuhdZo8egNVQEw5vbpX3rynz7cAzgnsdImqNSesZiwGdMuC1J/gxpwft9PyyC8LnPgkNr8uj+//vlj7yCQsxknyyaTp8U3gXnv7n3YtVsZ/Vh7VQDLltaPnpwn4BJf00Dqj6Yh2xkstOXbl+5+RDeL2s5btEA2ME4KCtT6PveMr7y9NZ9pxVKpQGpadUkIVNB92VIzFRoVj+w/OcYDIYFWiEIMx91JbbwarxkwUT4eKDPdh067+vjWdmKSUuCyJi8rAxWYmp6NuYMDNRtWzf3b928bavmlZWdglIJDY96+CQK0wz10oFxw3oPMZtYLywquXE37P6jSPwfS+XlaxIR0Js9eRi9lT54cwqGXDgUDp++puQbQ8+B+4OLt8Ynw5GDidzq4gPi+yq/IzeMeTVfzxc/bkI7hT/xw+48eA6+QIR96DOYE9F/fly9CxYy7OSG9euo1WaxGB+/Mw0dANJWqZGjCVcO+o+qy9mKNY8rA+qHZtkGdPLVcRps0eu3Q2+EPKb+XcJXpPJupu5QC+jYBtIWUUTIGJEkGmkF1+vbVdupf3ThnCBVS0+ozN2grqWLPccnpdFiZJplXmEt4/fEr4ogrZBHhLkehhNX2q9UrhlF7Na5zdkrd/FNESLTq3C1WeZjGENb9p7MyS13IuLO3334AqZ/Vbe/GMgvKKIHQooquv6uw+dxgNFTNfe5ZfMm40f02X3kQlRcEuawCfzEJqxdqMhvs1w7CZ9fix8WMwSOn/IOyPyCYro/glQq6di2hXCyeNqphrXaSSu8Eu62MarEMt5OF+IkpWRC7hCLc+7qXapr4S56baLeezHMmjQU9uSjpzH4EJlMWrOWTVgeYYXQvFf/3LK4aaP6C6aNXL5uL45Xbjzw2XszTbgNusGMGtwTQva3LYfgL4TAhWyi9eAwkddxc63t7pLBb0C1YsP+zKxceBWEsZoCNYzv6GO2Eo1w0P7np83URUKBp23UoB7t/XyEZ9xcav3tnanfrNiWlJpxBOpWqRQ8OpjF/7diK74X+i0GEFMVGTAAzOI7D3HzRf267moZBRiKqa6FXqcT3+373A41CB+jIwkuKOj4t2eNxa+BaACc5biRDS71YAyweeBgq4nbcVEiY5LoQWDHSpPZPv9+g6ZbunsXf4lG9kT3Ln57j14kfKwfV4SIlXuhz6iuhYGk1k5HB/v/fbJAJpNZ3oMeEV2+lW5AB3UzA+PP50tn4c5VC+oK6S7QCbX/6jIN6OgLaUt4/7SVpS3MnZUb9xPO2nOhQ9X9sGeZ2Xm/rN+Hcd8q921l0D0nCe+GoQcYXOjBO3PGqZ08rP9LIaHPnkbFI/I48OWusGXxBdGBCouKhc+xWDtJRX6t6mmwXOlif3AvLELIuxVbO1WxSjv/XD2qLSUMDUAfVqq4LxAexTfSXBghVG5WKPX2mBoPftWjZ64T3ts9rH9gRHSi5jnCphhwhGvbkorr1eg2MfEpW/acgtwJMnT5hQ7gYf1gpJ1UQox0tZrqcwwDBkBEDPcLwxWhVkUc6oougoSO/L8fNuA37NC2hRWdPbiOmK3h3fz3h3OC74TB0xwaHk2nQEhYPGCf0+5NndACNjaytq28oG+6dfGD5KKfY45U7OC7j6iupaUh/X29tQZSEdD86O1Xv/pla3JqJro64hLUWe7mWmvBtFGQg4jDwrVmTJ0mI1m37Sjhf7d35waplbM8fYlbRoPQn+AiealTG0RIzl6+c+byHdXoKt64cHbQP75Zi+P1O459umgGYegJ9Ybgl6xsyQECyFrTLbpq2+a9jrsrtD5CGdAtRMT069kZATe/ll5aMzmN3HjCYIQfTau7B61Sa1hSSsaFayH0WLPqouD50tfhZXppS5dPwsm8eN4E+kypvP9Pv+/B3LB176kP33qViAY72/LwXHaF0wLe2Uh+AoMgo4tzBbgNtOI40xAuDWEpPa2BYu5gtGY7Ce/nEEwfmEGYVm1tbYQZAl9E9RNE0k5NrNJOHRw9G7znyAWtL00a1W9wRZ6c1dm8++R5OhwoSXR80o+rd+s+fxO3bKgKoB5KSuRTxvQnpqZvm2pVNLTY5xjAgROX6cEobSlfU8cNgicSQxz+Xb31MLTv5+/PItZA2FP+p38vhDGGeD0eiPSFPonCCJZfWFRUVAIjp5i3c+zt7eDUgQqHJkB8UDWqpvY5xKQIW/YoFAq1YVYN51qOmDK+WbkN8x9C/zKphO6J1dyzIULk+LUzs8wb4dHB1Vuh1C87cWQ/tf2uYBXQ/V86/LUqMKwgSFvIehgY8GAJzzdsUGfy6P5wrOAawRox7Yad1QQuQHwdrQkJXdq3ruUk6g3GqTfEofJt3oK1VcHTmo1AcbCzg7TNyrZa76oOCBCJsHKcoEGrXJmdV1B4+NS1U3wtBcJvAqp5jjD46Hunm1hDwJ9M3dEDe/+ZMwSlMrB3F4z74ZHxGGTFs2eMa0UkKzYhJZCvWQb5Eh4ZhzAEwklwMAsBGgxGP6/dA8+HvZ3tornlkl2or2HuXQY020n4GLQQg6C12Nxda2ldpi2edurGYu2sjJy8gsp0Ldhx8Bycc6baasRUmHazGYXCCu5n8UPHLsLXaIQK0TwBYxr8dvuOXT7B7fJlTYTMHwivARWrA9E8yFa98sHghKYHRcWlJpe2rX2ajh7Sk64Z/WntHq1lmAUwqnz45pSveXUL6ysrJ3/OlOHwN9NlZwbsw2kqpNLyoI9mWSJJRZC7shtKqSEh3aw06FF++n33/UeRlb2658jFf70/S9gUSrR1beVlZVqfx49992G45vOd/FtJKqnloKDb1CqtXR62BiL8aHRb7MpOQ0TxmxXbciqykpo1aaBW2pZSXFK+YLFMz7nJxCpTSJ9Si8cJ+WfZOfmW3ORTNwg6oDFwecaoJPsvmjv+/37YCMvj9z+OfPfPt+jCC4Rr6QbrC6aP8qhfnvAhLBEwd8Fwre2sPqyd1USwC2dMGKKa1oObEF5SwucIikTaTh8/2NHRHvYMJtFmTTyCRvS2kWm5l4WWzxg/ROi3qmAygJqn1ViGD+hmjoQEcP4RN+UY73M11efoi5CnNHpIpZXDYcAjXD5maK+EpDSt8tcyICALCYJhFn2jfRtvw0p3odscOxdMP63KYs+GAWdtRHTig8eR98MiXv/oO39fb//Wzf1aeWndB85FULfJGVdvPUxOzYhLSiN8zQFzr4vVQbfOfnDBPotOQEjEt6WnasEv/Ghwc+YXFN0Li1DdxCsk9Bnhxbra3qFwX9G4CmJclnfZYsSmuhbeHM1M8ScRcWjejZBHdImbOOvaUsNALWVc4ElErNaXdFSZpErGzdUsnd9gMFDD9dYzwN/yZYOrj+DhQvBWh9iDA5HqWtzdQ/sFVlZeBkNZ+cdaoK6tDmCxYYgvlcuj45JU1+vRLG++SqJYdC2lg1+L05duP3wclZCcTkdVhMAWzgn6avkWGB/c3h68tKVG6vgRfTqoLHSgBc8xSDUxv+dAs53Vh7VTXxCc9VIp8iDYaQoxGfHojYjJwuiK4epM34DXUDORQ1gRz30jjcr2uE9/+n0P1bXTggaZaRlZbLrym0OcK7FNIwcPN8MLXprqc/Tl8OlrNEtvSN/AKocv+EetXiQBZszydXthnH/81Zrh/V8a1CfAtdoLrTDZnLxwU9iOBzYeMRtvzBi9+F+/yOVyhUJ5PzSC1qWharVDGx+EelRdPpj/3pk59lM+IZUmPYO5r46wbknpWZOH/ePrtZCwP/++Z+mbk1Ubg0Al3NIItsInguhfWVnZ3YdPaYEqtWokcG7h7dTdrlbf3jLQYmqE/zpeGsVt/v7lav3rF1m6rq2ge+KT0jSnj2C+FpUa0PGVZcoh6kgP1CwQy1BZjrtQJAuOzBEDuhGxonItUnUMmJ39W8GKa+3dtG8PXfvoxiaWXwt360pb0Ll9K26Dg2OX4EyiGxwgnHeAX97UtX1rIjL6dO9IF7mv2Xron0tm0ic9G9f/x5LXZFKZ0LPfnDkG3b2Vd1PhjYdOXaUT3oCeZqwJqrudAnB4RMYkquWtEvG1UwcWbufzAcSoUqHcuu80brGNO0/oOy+u33Ecb8TB1LEDzVceoai03B7IKVQaI0lN9Tl6AbcihjLCSy4DNnu0Ch3btpg9efi67dwKp6Nng/HwbNygbSsvroRTHVfNVcbJaZlp6dmh4dGhT6JUl9rMm/pKO19vYjZgd328cOpXy7eWlMqhhZREKSESqCihngPULRoApUsXH9+6/4S+EWfa29ktnD1O64hnSRrWr4N7Bzcg1PYv6/cJy0sI77yOj+YAABAASURBVJa+fT8cv+eNu49Utztu3rSh2s7MP6/bS8X6jPGD9VoDbhXEWddWsNvDwqPVpC2XjRD6VPgTrqvAjr7durRtUXkBkFC+jhjhU7qJZaksxx3fi+pa2Htd2ou6kIVwLfAz6kiCwu0/f+orVX0YCau4FvpuOmh6aTt5dP97oc/g7/xm5TYE5srKFLTIGbrUpNH9iMiAZzGgo+/NkMexCalHz1wfXmEMqS0LgN9OVdfSfVYJl+NsN9AilQgrayelsnxWsbWzMizfzucGutsCJlcbG73D9DYyrtSAubdsaFRbasOXNGhc26jKBqb6nOqzYefxS8H3CT8Kvz1rrHgWCVQJQpbNmjTYc/QidYXCLMfjeEUeMELn0LhQiGmZ2ULBPlXa+/kgJmCB4Ak09+L5E79e8QfhC6T06d4hIirx8bNYWukWdhceuw6fx9wBFUu3RejWue3L3drD0lCttGpFcO/EJKSgn8Cphi+yaN4EoYL7396ZunHXCVWXIa6L6g5wcL/9sHrnsyhudQrC/fALkJqACOvaurs6o8MjAAUlpFYbmGYjYAaHIkTn8W3pKZNWMYCEPeHklE+zRmq7ylkAuiMMd5CeJXjQaUo64QshL31jspo4ERtQSpjHEYWgP6ORUGlby8lB31qEph+sEfz6+N1pKzbsT0rJwIM+6VG/9juzx1m+o1SHKWMGPI2Mz8rJw0yAsFeVNcAxSXy3aic9nvfqKxbbZtqAdsIjwi8zkoi8nV+inTCuJRZt53MDJtdO7VoasHQDvr2xw3qbe82Hsz1ZPZ9LUK5lXHqYqT6n+tDMSOjad+eMF1XVQt1AS0kkksBObd6dEwQnKJyddx6EU/1EySsoxEPzjZCP6EgBHXypahQ+h5iTVt5NMGJs238mKzsP6vBvb3NbQ0GOhIXHYFZ7xi9Kzssv5LY5lBBbG9m0oIFiSzScOXEo18KHTyFBvl25feHcIJoBgqEMfqlp4wamZeQgxAw5rtpy6K2fft9NFxhAdcElRBhGAAchpO29sIjU9GzVOHhBYREuEK1nV53PSUrNePgkivDRDyIC0Kl+XL1TLi+DOn//9Uli2BSmSnAtrt4KxS+JW1g111wVmK+bdvHrQCZUuuERBgSq9Q2ouGwWP0SjBnU/XTQD4S26dzZNn7JuUpQO3FxqvTs36Muft+K3hp/m5r3HmPIrW6+KuDn1LxKunKFNbQuWjtO3nfuOce3E7y+VSiUSyyU/GfB78rKWa6FNzXGMiQqD5all1jLXdzFN9zPV51STiSP7wkgbPbSXdVev60Vmdt7qrYcJv2tXHXdXjL1D+3JLNKC9YEMWFBWrFf/CfOngYOfkYN+siYdqgScM3fRzWvt4mjvjcGDvLtFxyVdvPYT+xogBIYL/KR5jhvaCX/PJs9jdRy7E8+vGOvj5iHMBDZz6dOftqLikT75a88rA7sP6v0RfcnJ0aNZEfe3pkdPXjpy5Tld/v9ytw2vmzGl+QejTreOxs8ElpfKNu46rbgunrypav/0Y4Q1aMTjRI2ISoWvxpXCffvjWFNW9kMTMoJcD6Ia6iFp8+ff5Ws9BcIZu49crsJ3WpGd86w07j9FjA8pumktJwGCtQVuboMeg38Dnn5tXwHkO/vubX8tmHf1bdvZv5eriRKtCwihHdE+oVWFnZ1NSIv/21+0fvDnZYh4dvdrJa0Wlra1taal8xcb9S+ZPpKnPYmsn4fS3EnYCDNOf1+6xZDsZDB306Opvxe0ADMPWtjwv5czlO6rFdBDTr8x9opUz/JpOwucIEfMzZ8pw+HgiYxIR2W/WuIGQIYN5BLM71bVwBb3x2hgiVqYHDW5Q133nofOwHKDFoVzR4ICOvjQ+S/g0yicRcTdDHiMaIBTPgrN2UI1KwdKxuySlYYM6L5nZ068VGGCjh/Tadfj8o6cxqvu96cWBE1dooGDs0N64ZYhVQc//ftWOGqdrCV/jiO5iQy1krTm1zRp70OgQPKFaP2TN1sN09wfYGPouSSeGSVvqw4DbH65+42shFRQW013La1m1J8HP/9mSmZt2nwjhN6+7/ygSj827TzZuWC+BH1gFcD1emzC0jrvL/1b8gfv8m5UWVbf6ttPF2RH6Gz8ygl/vzh1vMdVoQDu/XrENs8KyNbtgc5tvk88XAZqYpTagYDZdveUQvOMLdZYRNUt7TpTAzlo4xFiRZKrPeY5xdnLEvRMRnXD28p2G9etUmQ6klfPXQs7xm1tCltlZKkFo4exxn3+/ITs3f+u+04086tLFA7sOnacpwi28Gi+YPpKImyF9A1u38Nxx4Fx4ZBxuN0hA6pfi15yUYcZUPRlD8eTRA6xV6PAvVMRCuD0LNTQrPCP8OeUn6d5dkuLTrBHCBcTiDO0X+OBxJKQtIoEyqXS4nmUEjp4Nptt5tm3tZXV7IzElffOuk/DrOznaL31jcg3StRT07YjoRHyL4Dthrs5Omvk2cHJ99fGCyt6+bf8Zuldik4b1JlXs56cXhkhbwXuMkah7l7YymeFlJnHDX7sdSo+tnhwNs++d2eNi4lNOXbx56354CR8tUtVh+OK9Atv36NqW/vnRW69+uXwr9L2F1a2+7cSNIajbD96cou9KQ4u1E4YpVbff/7bTrO0UinlxNfOMWGMtbLsiqvzg1PQsunjo+1U7x4/sQ5/kftVVO+l2erAkLTnxJGUpT9zj6tH2bKXo6m34CrDgZwr6ORNeUjZyt3R1oRoEAvr//XlzcXEpgvsXg+8P6NW5fRsfzXqlmuQXFEEZnLl0my7Yh68RH0UshYuzE2zvf/+4Ece/rN/36aIZe49dpNWyMLQunj9BtCltqjRv2hDj2MMnUVdvPrxesYBMWHNC6dbZr0eAv3/r5kQc1K1Iq9u0q9I9CxtUFEjWvbsk4evaWkXXUt6aOfY/yzYlp2VCf8cmpCyYPqqab/xt88EbIY8JX+EBH0KsipIot+wu17WQGY2tXQ3TADB6LFkw4Ytlm3JyC05dvJWcmvH69NH29lVPlAgIrNp0gKY7QxOrrsvUC0lSWpZCoZAruCnH06O6PRJu/+PnTLnvDhzOny+dTfQnOppbQOflpUesrTqUyuXPohLSM3Oyc/IcHR1quznjltZMuYtLTIWupd5rS6pbfduJm5yqW7TzvQUTLaZuDW4nbowP33rVfL/nO58sw8ABb8qYIb1cKqp+Jqdm0sLpals2aH0e7qUDxy9jDMXx6m+WEoMwU+/dsufUuauc161xg7oJKWn8Qb2ElHTCrzmbOnYgMZqsQj1OnrissLCUeNaVzOht29VbZl8hUVJzlYlZylp2khYef0rVZ8nK/BJOvAqZtUWl5EZE2eZLpfGZXP2vQ0v1CO+4V/tcRIpXbT5IuH0Zerb28STGYcwSfuN7RWxCKuxYuvsoBZLLr1UzxFgdHewdHOydnRyUvJYtKiqGfzE3vzAsPFrYDpDwW70vmhtk+TkVcnANn+Mr0Mq7CeIM5kuxNdM9CGBdILqNq5CTm49oCcYZd1dnuJ+rM8Hri5HfQhB2WkG3+e/f5lkgy9kk1wKzzPJ1e2kZO4/6tacHDda9HWZoePSWPSfpciXMOOhsCMkSIzDmW8D78MWPm3gXucTB3nbKmIGqdoIld3ozybXAVfjht5007RBDyvSgQe1VdgbQ5O7Dp1v3nqY+I+haxG8NGIJik7nwiIHSlvAVHzEZwANkzGZ0uOHRjbw9G3Xv6m9YUpf5BqZqwqvbbVBjuBJffDTP8iX9qgm8p9+t4lQjP07NF207MSvj98R0a9bfE8oP+o+YgsCOvtX3Dahhvt67affJC9e44qB0J14JH3Ts073jDJXaQ8agl7Q9fFe+8lR5IcxAH+lnQdwcmV9Mpv1SKOd3T1w8zG5QOy74cyREvuIkd6aNlGx+29GZn0z/uav4dlT5Losv+8o+GqVHlzBA2pqK/3w0D1MR0R+T9AoYk2cu3zl14ZaqwK0OMDsHvtwVvl5reUnhbzt65jo9DuzUZsE08+YhWH0GMQnGf4vwyDiFQvtUDsGnusTQfJjqWiBCuEGl7JpfKy8YSC28msCfUpH3XBIRkxARnfAkIo7W9iZ8bv2cKcOJ0RjzLR4/jf3m123QRXSjX83132r1bs2Hqa5FRlbu97/tgHuI/tnap6lvi2YtmjdGrKA2TAglycjOycjMfRoVjwuBf+lpiOEvWTDRMBuDSlvDB692vt5mLehdU8Btj+j5D6t38r1QvFtON2vSYOkbk39cvUsmk1mwXoLeeDauj4geTD2J1Iy/Z78enZydHDGJ0qLLBtO+jfcUUzhBTQ4kLGzOi9fvSSoy6V7u1sFUulZfXulk4+oo2XixFD5a4UnVS1tSpuVCC51U6K4BPtLXB5jLJDNgpYKYgTCltRHgB7rz4OndB+EJyek6zod3pJN/y87tWlq9amnQ8JcxscFp0sijLuxGwrAIqoXbazp2fNk19Odt+07DZYiIhFD5H5E6DIyC0qIgfjh13CAxbIVQr64bRmzOHyEhEu2butWwXCzI048XTj906urJCzcJv28zHjrOt7GR9e/ZedTgHkYqeMO9tiJBJDY3vIxSqVT8NVnpylbRumwFLPZ7wkks7DNJuI1G82VSmaaLQvN5WxtZg3q1jVxFa+7eu2LDPsgawhXObP3ma6OJ6dDLaysQlapsVFuiOyEhPElRWErUEhJi0hUerlK36u4X+yfu+lyf1PTsjKwcYgrq13Wr4261hITKyENfLy/+xbnGERmnxb/EWXHcMjCvrXgw+bdAPz9x4QbGQGHvXDXg8YEChgVowuWSRn6LhKS09KxcrRvEQJdbrBChya9Fdk7+mcu374VFqG55qAq8hLgW/Xt1rv7G4FoxNiFBJDwftzTjxcQCvXfDzuPwer42wcTrgQyTtpbHvQZqNjamWRImCsWDWY266LjkrOy8XK4sJpf37OZay6uphzmMOnYtdINL8DQqHgIXfiWpVNKkYT2I2pbNm7gYp2gFjE1IYDAY4seSi9wZDAZDhEDCiqckxQsOJGzndq3Mve+BhXZjZzAYDAaDwWAwzA2TtgwGg8FgMBiM54Qan2vLYDAsD8u1ZTAYDIbYoLm2zGvLYDAYDAaDwXhOYNKWwWDoTY0orljDKkAyGAwGwxQwactgMPRGVhNGjhrRSAaDwWCYFmnFTm7cbkCV7bPHYDAYqjBpy2AwGAxRUSFildzYL+xTXCIvIwwGg1EV9jWhInaNaCSDwWAwTEJJKS9iJRUJCVIJJ3XzCkoIg8FgVIVUQhzEvau0oy3XSAaDwWC8IOQWFONfiVLJJSQAqnALi0uLS+SEwWAwqsLBhsjEqh3RMOayZTAYjBeHwmJ5UYlcwqWiScqlLfdfosBradkFRUzdMhiMauDiIEYFiSahYQwGg8F4QYBwzcgpIFyGrQJyVpKamatQKJRKJb9xg4QWzHFysHVysLO3lUlZSI/BYOikTEGKy4hCwR1YayFQpZaWAAAAtUlEQVQqb6lzGQjQtWz1GIPBYLwIlCmUJaXygqJSPPgnlDZSpVQqtaFOW8IvJpNJFGVKHEtVzmMwGAwGg8FgMMSLhCikEiWfhCD5i7SF1OVqJyihg6mzVsqKnjMYDAaDwWAwRAdft5bLN+BELYGIpZr2T2mLpxQKBf5VKpUSJaVMyRcJwxFhMBgMBoPBYDCsjeCTVYOqWxuiUteW6lo1hA9iApfBYDAYDAaDYS0EyUq0SVvK/wMAAP//v+QnOgAAAAZJREFUAwC+7N98tCSfxAAAAABJRU5ErkJggg==" alt="Single-map toolbar"></p>
|
|
267
270
|
<h3 id="single-map">Single map</h3>
|
|
268
271
|
<table>
|
|
269
272
|
<thead>
|
|
@@ -281,7 +284,7 @@ shows die tooltips \u2014 a separate thing from the toolbar, which is always pre
|
|
|
281
284
|
<tr>
|
|
282
285
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yIDEyczMuNi03IDEwLTcgMTAgNyAxMCA3LTMuNiA3LTEwIDctMTAtNy0xMC03eiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiLz48L3N2Zz4K" width="20" height="20"></td>
|
|
283
286
|
<td>Overlays</td>
|
|
284
|
-
<td>Check-menu of optional display layers: XY axis indicator, ring boundaries, quadrant lines, die coordinate labels, reticle grid (when geometry is configured), Limit pass/fail (Test Value mode with limits), Test pass/fail (Test Value mode, active test is functional or has recorded verdicts), and <strong>Mark failing dies</strong> (bin modes only). <strong>Clear overlays</strong> at the foot turns off everything in the menu at once, and is greyed when nothing is on \u2014 so the menu also answers "is anything active?" without you auditing every row.</td>
|
|
287
|
+
<td>Check-menu of optional display layers: axis labels, XY axis indicator, ring boundaries, quadrant lines, die coordinate labels, reticle grid (when geometry is configured), Limit pass/fail (Test Value mode with limits), Test pass/fail (Test Value mode, active test is functional or has recorded verdicts), and <strong>Mark failing dies</strong> (bin modes only). <strong>Compact layout</strong> and <strong>Layout diagnostics</strong> sit at the top of the menu (see <a href="#compact-layout" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'compact-layout\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Compact layout</a>). <strong>Clear overlays</strong> at the foot turns off everything in the menu at once, and is greyed when nothing is on \u2014 so the menu also answers "is anything active?" without you auditing every row.</td>
|
|
285
288
|
</tr>
|
|
286
289
|
<tr>
|
|
287
290
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Im0xNC42MjIgMTcuODk3LTEwLjY4LTIuOTEzIi8+PHBhdGggZD0iTTE4LjM3NiAyLjYyMmExIDEgMCAxIDEgMy4wMDIgMy4wMDJMMTcuMzYgOS42NDNhLjUuNSAwIDAgMCAwIC43MDdsLjk0NC45NDRhMi40MSAyLjQxIDAgMCAxIDAgMy40MDhsLS45NDQuOTQ0YS41LjUgMCAwIDEtLjcwNyAwTDguMzU0IDcuMzQ4YS41LjUgMCAwIDEgMC0uNzA3bC45NDQtLjk0NGEyLjQxIDIuNDEgMCAwIDEgMy40MDggMGwuOTQ0Ljk0NGEuNS41IDAgMCAwIC43MDcgMHoiLz48cGF0aCBkPSJNOSA4Yy0xLjgwNCAyLjcxLTMuOTcgMy40Ni02LjU4MyAzLjk0OGEuNTA3LjUwNyAwIDAgMC0uMzAyLjgxOWw3LjMyIDguODgzYTEgMSAwIDAgMCAxLjE4NS4yMDRDMTIuNzM1IDIwLjQwNSAxNiAxNi43OTIgMTYgMTUiLz48L3N2Zz4K" width="20" height="20"></td>
|
|
@@ -306,7 +309,7 @@ shows die tooltips \u2014 a separate thing from the toolbar, which is always pre
|
|
|
306
309
|
<tr>
|
|
307
310
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBvbHlnb24gcG9pbnRzPSIxNi4yNCA3Ljc2IDE0LjEyIDE0LjEyIDcuNzYgMTYuMjQgOS44OCA5Ljg4IDE2LjI0IDcuNzYiIGZpbGw9IiMzNzQxNTEiIHN0cm9rZT0ibm9uZSIvPjwvc3ZnPgo=" width="20" height="20"></td>
|
|
308
311
|
<td>Orientation</td>
|
|
309
|
-
<td>Menu of display transforms: <strong>Rotate 90\xB0 clockwise</strong> (applies cumulatively), <strong>Flip horizontal</strong>, <strong>Flip vertical</strong>, and <strong>Reset orientation</strong>. These change only how the wafer is drawn \u2014 die coordinates in tooltips and labels are always the original values, whatever the orientation. Reset is worth knowing about: rotation and mirroring do not combine in the order you applied them, so undoing a few clicks by clicking again does not reliably get you back \u2014 Reset does, and is greyed when you are already there.</td>
|
|
312
|
+
<td>Menu of display transforms: <strong>Rotate 90\xB0 clockwise</strong> (applies cumulatively), <strong>Flip horizontal</strong>, <strong>Flip vertical</strong>, and <strong>Reset orientation</strong>. The first rotate or flip also switches on the XY indicator (see Overlays), which stays on until you switch it off. These change only how the wafer is drawn \u2014 die coordinates in tooltips and labels are always the original values, whatever the orientation. Reset is worth knowing about: rotation and mirroring do not combine in the order you applied them, so undoing a few clicks by clicking again does not reliably get you back \u2014 Reset does, and is greyed when you are already there.</td>
|
|
310
313
|
</tr>
|
|
311
314
|
<tr>
|
|
312
315
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Im0xMyAxMy41IDItMi41LTItMi41Ii8+PHBhdGggZD0ibTIxIDIxLTQuMy00LjMiLz48cGF0aCBkPSJNOSA4LjUgNyAxMWwyIDIuNSIvPjxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiLz48L3N2Zz4K" width="20" height="20"></td>
|
|
@@ -344,14 +347,9 @@ shows die tooltips \u2014 a separate thing from the toolbar, which is always pre
|
|
|
344
347
|
<td>Opens a menu of charts drawn from the selected dies, or from the whole wafer when nothing is selected (see <a href="#44-charting-dies-and-wafers" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'44-charting-dies-and-wafers\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Section 4.4</a>). Only shown when there is something to chart.</td>
|
|
345
348
|
</tr>
|
|
346
349
|
<tr>
|
|
347
|
-
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyAzdjE4aDE4Ii8+PHBhdGggZD0iTTE4IDE3VjkiLz48cGF0aCBkPSJNMTMgMTdWNSIvPjxwYXRoIGQ9Ik04IDE3di0zIi8+PC9zdmc+Cg==" width="20" height="20"></td>
|
|
348
|
-
<td>Insights</td>
|
|
349
|
-
<td>Swaps the map for this wafer's own chart suite \u2014 yield, bin breakdown, process capability, and more (see <a href="#8-insights-tab" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'8-insights-tab\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Section 8</a>). Only shown when the application has enabled it.</td>
|
|
350
|
-
</tr>
|
|
351
|
-
<tr>
|
|
352
350
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xNSAzaDZ2NiIvPjxwYXRoIGQ9Ik05IDIxSDN2LTYiLz48cGF0aCBkPSJNMjEgM2wtNyA3Ii8+PHBhdGggZD0iTTMgMjFsNy03Ii8+PC9zdmc+Cg==" width="20" height="20"></td>
|
|
353
351
|
<td>Expand</td>
|
|
354
|
-
<td>Opens the map in an enlarged modal overlay. A maximise button in the modal grows it to fill the window (or press <strong>F</strong>). Press <strong>Esc</strong> or click outside to close. Useful for detailed inspection without changing the main view. Works in the Insights view too, where it opens the whole chart suite in a wide modal \u2014 useful because those charts interact and are best read side by side. Individual charts also have their own expand button.</td>
|
|
352
|
+
<td>Opens the map in an enlarged modal overlay. Opening the Summary panel in it widens the modal by the panel's width, so the map keeps its size. A maximise button in the modal grows it to fill the window (or press <strong>F</strong>). Press <strong>Esc</strong> or click outside to close. Useful for detailed inspection without changing the main view. Works in the Insights view too, where it opens the whole chart suite in a wide modal \u2014 useful because those charts interact and are best read side by side. Individual charts also have their own expand button.</td>
|
|
355
353
|
</tr>
|
|
356
354
|
<tr>
|
|
357
355
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMy45OTcgNGEyIDIgMCAwIDEgMS43NiAxLjA1bC40ODYuOUEyIDIgMCAwIDAgMTguMDAzIDdIMjBhMiAyIDAgMCAxIDIgMnY5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjlhMiAyIDAgMCAxIDItMmgxLjk5N2EyIDIgMCAwIDAgMS43NTktMS4wNDhsLjQ4OS0uOTA0QTIgMiAwIDAgMSAxMC4wMDQgNHoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSIzIi8+PC9zdmc+Cg==" width="20" height="20"></td>
|
|
@@ -396,6 +394,8 @@ highlighting one bin at a time.</p>
|
|
|
396
394
|
<h3 id="overlays">Overlays</h3>
|
|
397
395
|
<p>Use the <strong>Overlays</strong> menu to toggle optional display layers on and off:</p>
|
|
398
396
|
<ul>
|
|
397
|
+
<li><strong>Axis labels</strong> \u2014 the die coordinates along the bottom and left edges. They appear when you zoom; this row shows
|
|
398
|
+
them all the time, or hides them. <strong>Clear overlays</strong> returns to showing them on zoom</li>
|
|
399
399
|
<li><strong>XY axis indicator</strong> \u2014 shows X and Y axis lines through the wafer centre</li>
|
|
400
400
|
<li><strong>Ring boundaries</strong> \u2014 concentric ring divisions that match the spatial analysis zones</li>
|
|
401
401
|
<li><strong>Quadrant lines</strong> \u2014 divides the wafer into N, S, E, W quadrants</li>
|
|
@@ -405,6 +405,33 @@ highlighting one bin at a time.</p>
|
|
|
405
405
|
<li><strong>Test pass/fail</strong> \u2014 pass/fail colouring for Test Value mode, coloured by the tester's recorded verdict; always on for a functional (no measured value) active test</li>
|
|
406
406
|
</ul>
|
|
407
407
|
<div data-wmap-demo="overlays" class="wmap-demo"></div><p><em>Ring boundaries, quadrant lines, and XY indicator all active.</em></p>
|
|
408
|
+
<h3 id="compact-layout">Compact layout</h3>
|
|
409
|
+
<p>On a multi-project wafer, each reticle holds only a few of your dies, so the map is mostly empty and the dies you care
|
|
410
|
+
about are small. When the occupied columns and rows repeat at a regular pitch, the Overlays menu offers
|
|
411
|
+
<strong>Compact layout</strong>. Switch it on and the empty rows and columns disappear, so your dies are drawn as one grid at a
|
|
412
|
+
much larger size, with each group of dies outlined so you can still see the reticles they came from.</p>
|
|
413
|
+
<ul>
|
|
414
|
+
<li><strong>Nothing is left out.</strong> Only the arrangement changes. Every die is still drawn and counted, so the legend, yield
|
|
415
|
+
and statistics are the same as in the wafer view. A die that has no bin (for example one that carries metadata only)
|
|
416
|
+
keeps its place, shown in the no-data grey.</li>
|
|
417
|
+
<li><strong>Coordinates stay original.</strong> Hovering a die and the axis labels give its real die coordinates, not its position
|
|
418
|
+
in the compact grid.</li>
|
|
419
|
+
<li><strong>Orientation.</strong> The notch marker shows the wafer orientation and follows rotation and flips. The <strong>XY indicator</strong>
|
|
420
|
+
works as it does on the wafer view, drawn in a margin beside the grid.</li>
|
|
421
|
+
<li><strong>No wafer outline.</strong> The wafer circle, ring boundaries, quadrant lines and reticle grid describe the physical
|
|
422
|
+
wafer, which the compact grid no longer follows, so those rows are greyed out while the layout is on.</li>
|
|
423
|
+
<li><strong>Galleries.</strong> All cards share one layout, built from every wafer shown, so wafers can be compared cell for cell.
|
|
424
|
+
Each card is as tall as its map needs, so more of them fit on screen; a quarter turn swaps a card's width and height.</li>
|
|
425
|
+
<li><strong>Axis labels.</strong> With the Axis labels row on, the first column of each group of dies is labelled with its real die
|
|
426
|
+
coordinate, which marks the reticle boundaries; zoom in far enough and every die is labelled.</li>
|
|
427
|
+
<li><strong>When it is offered.</strong> The layout is offered when the occupied columns and rows repeat. If you supply
|
|
428
|
+
<code>reticleConfig</code>, it is offered when they repeat at the reticle width and height or a multiple of it (a product on every second reticle repeats at twice the width). Random missing dies do not repeat, so
|
|
429
|
+
a wafer that merely has holes is not offered it. Developers can switch it on regardless with
|
|
430
|
+
<code>viewOptions: { compact: true }</code>.</li>
|
|
431
|
+
</ul>
|
|
432
|
+
<p><strong>Layout diagnostics</strong> (also in the Overlays menu) shows what the detector saw as counts and scores only: it holds no
|
|
433
|
+
die positions, bins, test values or wafer names. If a layout is not recognised the way you expect, copy the text or save
|
|
434
|
+
it as a file and send it to whoever supports this software.</p>
|
|
408
435
|
<h3 id="keyboard-shortcuts">Keyboard shortcuts</h3>
|
|
409
436
|
<table>
|
|
410
437
|
<thead>
|
|
@@ -490,6 +517,11 @@ highlighting one bin at a time.</p>
|
|
|
490
517
|
<td>Sets the number of columns. <strong>Auto</strong> fits as many cards as stay readable; a number divides the full width between that many columns.</td>
|
|
491
518
|
</tr>
|
|
492
519
|
<tr>
|
|
520
|
+
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDNhMiAyIDAgMCAwLTIgMiIvPjxwYXRoIGQ9Ik0xOSAzYTIgMiAwIDAgMSAyIDIiLz48cGF0aCBkPSJNMjEgMTlhMiAyIDAgMCAxLTIgMiIvPjxwYXRoIGQ9Ik01IDIxYTIgMiAwIDAgMS0yLTIiLz48cGF0aCBkPSJNOSAzaDEiLz48cGF0aCBkPSJNOSAyMWgxIi8+PHBhdGggZD0iTTE0IDNoMSIvPjxwYXRoIGQ9Ik0xNCAyMWgxIi8+PHBhdGggZD0iTTMgOXYxIi8+PHBhdGggZD0iTTIxIDl2MSIvPjxwYXRoIGQ9Ik0zIDE0djEiLz48cGF0aCBkPSJNMjEgMTR2MSIvPjwvc3ZnPgo=" width="20" height="20"></td>
|
|
521
|
+
<td>Select on every wafer</td>
|
|
522
|
+
<td>A toggle. Off (the default), each card selects on its own. A badge counts the selected die positions; clicking the button while something is selected clears it. On, a box, a click or a clear on any card applies to every card at the same die positions, so a region is read lot-wide; right-click then opens charts and tables of those dies across all the wafers (see <a href="#43-box-select" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'43-box-select\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Section 4.3</a>).</td>
|
|
523
|
+
</tr>
|
|
524
|
+
<tr>
|
|
493
525
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMy45OTcgNGEyIDIgMCAwIDEgMS43NiAxLjA1bC40ODYuOUEyIDIgMCAwIDAgMTguMDAzIDdIMjBhMiAyIDAgMCAxIDIgMnY5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjlhMiAyIDAgMCAxIDItMmgxLjk5N2EyIDIgMCAwIDAgMS43NTktMS4wNDhsLjQ4OS0uOTA0QTIgMiAwIDAgMSAxMC4wMDQgNHoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEzIiByPSIzIi8+PGNpcmNsZSBjeD0iNS41IiBjeT0iNC41IiByPSIwLjgiIGZpbGw9IiMzNzQxNTEiIHN0cm9rZT0ibm9uZSIvPjxjaXJjbGUgY3g9IjgiIGN5PSI0LjUiIHI9IjAuOCIgZmlsbD0iIzM3NDE1MSIgc3Ryb2tlPSJub25lIi8+PGNpcmNsZSBjeD0iNS41IiBjeT0iNyIgcj0iMC44IiBmaWxsPSIjMzc0MTUxIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSI4IiBjeT0iNyIgcj0iMC44IiBmaWxsPSIjMzc0MTUxIiBzdHJva2U9Im5vbmUiLz48L3N2Zz4K" width="20" height="20"></td>
|
|
494
526
|
<td>Save image</td>
|
|
495
527
|
<td>Downloads the full gallery grid as a single PNG.</td>
|
|
@@ -520,11 +552,6 @@ highlighting one bin at a time.</p>
|
|
|
520
552
|
<td>Opens or closes the Summary panel covering every wafer in the gallery.</td>
|
|
521
553
|
</tr>
|
|
522
554
|
<tr>
|
|
523
|
-
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyAzdjE4aDE4Ii8+PHBhdGggZD0iTTE4IDE3VjkiLz48cGF0aCBkPSJNMTMgMTdWNSIvPjxwYXRoIGQ9Ik04IDE3di0zIi8+PC9zdmc+Cg==" width="20" height="20"></td>
|
|
524
|
-
<td>Insights</td>
|
|
525
|
-
<td>Swaps the grid for a chart suite covering every wafer \u2014 yield, bin breakdown, process capability, and more (see <a href="#8-insights-tab" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'8-insights-tab\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Section 8</a>). Only shown when the application has enabled it.</td>
|
|
526
|
-
</tr>
|
|
527
|
-
<tr>
|
|
528
555
|
<td><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMzNzQxNTEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTAuMjkgMy44NiAxLjgyIDE4YTIgMiAwIDAgMCAxLjcxIDNoMTYuOTRhMiAyIDAgMCAwIDEuNzEtM0wxMy43MSAzLjg2YTIgMiAwIDAgMC0zLjQyIDB6Ii8+PHBhdGggZD0iTTEyIDl2NCIvPjxwYXRoIGQ9Ik0xMiAxN2guMDEiLz48L3N2Zz4K" width="20" height="20"></td>
|
|
529
556
|
<td>Data warnings</td>
|
|
530
557
|
<td>Appears only when something is worth reporting about the wafers shown. Collected across every wafer and de-duplicated, so a problem affecting all of them is stated once rather than repeated per card.</td>
|
|
@@ -573,22 +600,51 @@ their shape \u2014 a block, a ring or scattered dies. A finding highlighted from
|
|
|
573
600
|
Summary panel is shown the same way.</p>
|
|
574
601
|
<p>Use <strong>Ctrl / Cmd + click</strong> to add or remove individual dies. Press <strong>Esc</strong>, or
|
|
575
602
|
click outside the wafer, to clear the selection.</p>
|
|
603
|
+
<p><strong>In a gallery</strong>, each card selects on its own unless you turn on <strong>Select on every
|
|
604
|
+
wafer</strong> in the toolbar. Then a selection made on one card is made at the same die
|
|
605
|
+
positions on every card \u2014 draw a box round the edge ring, a scratch zone or a
|
|
606
|
+
reticle corner once, and see that region on all the wafers. Right-click (or use
|
|
607
|
+
the <strong>Chart</strong> menu) and the charts and tables open on those dies across the whole
|
|
608
|
+
lot: <strong>Dies</strong>, <strong>Test statistics</strong> and a <strong>Wafers</strong> table with one row per wafer,
|
|
609
|
+
each stating "selected at the same die positions on N wafers".</p>
|
|
610
|
+
<p><strong>Pick whole wafers instead</strong> with <strong>Ctrl / Cmd + click</strong> on a card's header: the card is
|
|
611
|
+
outlined and the toolbar counts "N wafers picked \u2715" (click it to clear). Right-click
|
|
612
|
+
one of the picked cards and the charts and tables open on every die of every picked
|
|
613
|
+
wafer, with a <strong>Wafers</strong> table. Dies selected on a map take precedence over a pick.</p>
|
|
614
|
+
<p>The button shows how many die positions are selected. <strong>Clear it</strong> by clicking an
|
|
615
|
+
empty part of any map, pressing <strong>Esc</strong>, or clicking the button itself (it clears
|
|
616
|
+
the selection and stays on); a second click turns the mode off. Turning it off
|
|
617
|
+
always clears the selection on every card.</p>
|
|
576
618
|
<div data-wmap-demo="box-select" class="wmap-demo"></div><p><em>A block of dies near the centre is shown pre-selected. Drag on the map to make
|
|
577
619
|
your own selection, or Ctrl/Cmd + click individual dies.</em></p>
|
|
578
620
|
<h3 id="44-charting-dies-and-wafers">4.4 Charting dies and wafers</h3>
|
|
579
|
-
<p><strong>Right-click</strong> a population to open a menu of charts drawn from just
|
|
580
|
-
dies. Picking one opens it in a window over the map. This is how you look at a
|
|
621
|
+
<p><strong>Right-click</strong> a population to open a menu of charts and tables drawn from just
|
|
622
|
+
those dies. Picking one opens it in a window over the map. This is how you look at a
|
|
581
623
|
cluster, a scratch or an edge region on its own, or at one wafer out of a lot.</p>
|
|
582
624
|
<p>What you right-click decides the population:</p>
|
|
583
625
|
<ul>
|
|
584
626
|
<li><strong>Selected dies</strong> \u2014 select some dies, then right-click on the map. Right-
|
|
585
627
|
clicking a die that is <strong>not</strong> selected selects that die alone first;
|
|
586
628
|
right-clicking a selected die, or empty space, keeps the selection.</li>
|
|
629
|
+
<li><strong>Dies selected on several wafers of a gallery</strong> \u2014 by clicking a finding, or by selecting on more than one card.
|
|
630
|
+
Right-click a selected die on any of those cards and the menu opens on every selected die, with a first row,
|
|
631
|
+
<strong>Only this wafer</strong>, that narrows it to the dies selected on the card you clicked (and <strong>All selected</strong> to go back).</li>
|
|
632
|
+
<li><strong>A bin in the legend</strong> \u2014 right-click its entry, on a map's legend or the gallery's lot legend. The menu opens on that
|
|
633
|
+
bin's dies (on this wafer, or on every wafer for the lot legend), and nothing is selected: the legend only filters what
|
|
634
|
+
is drawn. With several bins filtered in, right-clicking one of them opens on all of them, with an <strong>Only bin N</strong> row to
|
|
635
|
+
narrow it (and <strong>All filtered bins</strong> to go back). On the lot legend the Menu key or Shift + F10 works on a focused entry.</li>
|
|
636
|
+
<li><strong>Plots and sweeps you have saved</strong> \u2014 they open in their editor over just those dies, so you can change one there; the
|
|
637
|
+
change is saved to the plot.</li>
|
|
638
|
+
<li><strong>A finding</strong> \u2014 right-click it in the Summary panel. If it is not already shown, its dies are selected first, then
|
|
639
|
+
the menu opens on them: on all the wafers of a gallery that the finding selects dies on. A finding that is about
|
|
640
|
+
whole wafers and selects no dies (a wafer's yield) opens the menu on those wafers.</li>
|
|
587
641
|
<li><strong>A whole wafer</strong> \u2014 right-click empty map space with nothing selected, a
|
|
588
642
|
gallery card anywhere outside its map (its header, the space around the map),
|
|
589
643
|
or one wafer's bar, box or point in an Insights chart (<em>Yield by wafer</em>,
|
|
590
644
|
<em>Test value distribution</em>, <em>Wafer-to-wafer trend</em> \u2014 their tooltips say
|
|
591
645
|
"right-click to chart this wafer").</li>
|
|
646
|
+
<li><strong>Dies dragged out of the Correlation scatter</strong> \u2014 across any number of wafers.
|
|
647
|
+
The menu then also offers a <strong>Wafers</strong> table, one row per wafer the dies fall on.</li>
|
|
592
648
|
</ul>
|
|
593
649
|
<p>On the map you can also press the <strong>Menu</strong> key or <strong>Shift + F10</strong>, or use the
|
|
594
650
|
<strong>Chart</strong> toolbar button, which charts the selection when there is one and the
|
|
@@ -596,12 +652,18 @@ wafer otherwise.</p>
|
|
|
596
652
|
<p>The menu offers:</p>
|
|
597
653
|
<ul>
|
|
598
654
|
<li><strong>Value histogram</strong> \u2014 one test's distribution, opening on the test the map
|
|
599
|
-
is showing
|
|
655
|
+
is showing. <strong>Edit as new plot</strong> beside its population line closes it and
|
|
656
|
+
opens the same test as a draft plot over the same dies, to change its axes, colour or limits and keep it if you want.</li>
|
|
600
657
|
<li><strong>Process capability</strong> \u2014 every test normalised to its spec limits, or its
|
|
601
658
|
test limits when it has none, with its
|
|
602
659
|
Ppk. Below 30 dies the chart says each Ppk is a rough estimate: a Ppk from a
|
|
603
660
|
handful of dies can be far from the process's real capability.</li>
|
|
604
|
-
<li><strong>
|
|
661
|
+
<li><strong>Plots</strong> you have saved, sweeps included (see <a href="#plots" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'plots\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Plots</a> and <a href="#sweep-cards" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'sweep-cards\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Sweep cards</a>), and <strong>New plot\u2026</strong> and <strong>New sweep\u2026</strong>.</li>
|
|
662
|
+
<li><strong>Dies</strong> and <strong>Test statistics</strong> \u2014 the same tables as Insights' Data tab (see
|
|
663
|
+
<a href="#data-tables" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'data-tables\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Data tables</a>), over just these dies: every die as a row, or the
|
|
664
|
+
Test Values and Functional Tests tables. Each has Export CSV and Copy, and a
|
|
665
|
+
saved file carries the population ("selected on W03") in its name and in a
|
|
666
|
+
Wafer column, so it cannot be mistaken for the whole lot.</li>
|
|
605
667
|
</ul>
|
|
606
668
|
<p>What every chart opened this way does:</p>
|
|
607
669
|
<ul>
|
|
@@ -616,15 +678,15 @@ with the reason \u2014 for instance when none of the dies has values for its tes
|
|
|
616
678
|
or when the map is a lot stack, whose dies are averages across wafers rather
|
|
617
679
|
than measured dies.</li>
|
|
618
680
|
</ul>
|
|
619
|
-
<p>A map with only bin data
|
|
620
|
-
|
|
681
|
+
<p>A map with only bin data has no charts to draw, but its menu still opens with
|
|
682
|
+
<strong>Dies</strong>: the selected dies, or the whole wafer, as a table.</p>
|
|
621
683
|
<hr>
|
|
622
684
|
<h2 id="5-findings-panel">5. Findings panel</h2>
|
|
623
685
|
<p>When spatial analysis has been run, the <strong>Findings</strong> panel lists statistically
|
|
624
686
|
detected patterns on the wafer. Open it from the toolbar.</p>
|
|
625
687
|
<p>Each finding shows:</p>
|
|
626
688
|
<ul>
|
|
627
|
-
<li><strong>Severity</strong> \u2014 Unusual, Notable, or
|
|
689
|
+
<li><strong>Severity</strong> \u2014 Unusual, Notable, or Minor (ordered most to least significant)</li>
|
|
628
690
|
<li><strong>Description</strong> \u2014 plain-language summary of what was detected and where</li>
|
|
629
691
|
<li><strong>Click to highlight</strong> \u2014 clicking a finding fades the rest of the wafer and outlines the
|
|
630
692
|
affected dies. A finding about a bin also filters the legend to that bin, so the legend
|
|
@@ -689,7 +751,8 @@ supporting detail.</p>
|
|
|
689
751
|
<h2 id="6-summary-panel">6. Summary panel</h2>
|
|
690
752
|
<p>The Summary panel docks next to the map and gives you the wafer or lot at a
|
|
691
753
|
glance, with findings sitting directly under the headline numbers so a clicked
|
|
692
|
-
finding can highlight the affected dies right there. Open it from the toolbar
|
|
754
|
+
finding can highlight the affected dies right there. Open it from the toolbar, or from
|
|
755
|
+
the <strong>Summary</strong> tab on the edge of the map area, which shows while the panel is closed.</p>
|
|
693
756
|
<div data-wmap-demo="summary-panel" class="wmap-demo"></div><p><em>The Summary panel open alongside a single wafer. Click any finding to
|
|
694
757
|
highlight the affected dies.</em></p>
|
|
695
758
|
<p>Sections, top to bottom:</p>
|
|
@@ -698,31 +761,57 @@ highlight the affected dies.</em></p>
|
|
|
698
761
|
panel is computed over. For several wafers the heading names them: <strong>Lot
|
|
699
762
|
LOT123 \xB7 13 wafers</strong> when every wafer comes from that one lot, otherwise
|
|
700
763
|
<strong>26 wafers from 2 lots</strong> (or just <strong>13 wafers</strong> when the data records no lot).
|
|
701
|
-
The panel only says "lot" when it really is one lot. "Mean wafer yield" is an
|
|
764
|
+
The panel only says "lot" when it really is one lot. "Mean per-wafer yield" is an
|
|
702
765
|
<em>unweighted</em> mean of each wafer's own yield; it is deliberately not the same
|
|
703
766
|
statistic as the bin breakdown's pass-bin share, which weights every die
|
|
704
767
|
equally. The two agree only when die counts are even across the wafers.</li>
|
|
705
|
-
<li><strong>
|
|
768
|
+
<li><strong>What stands out</strong> \u2014 the headline (the yield, and for a lot its spread across
|
|
769
|
+
wafers), then the items ranked by how many dies each costs: the largest in a tinted
|
|
770
|
+
box with its full sentence, the others as a compact list (impact, name, and share of the dies).
|
|
771
|
+
Anything costing less than 1% of the dies is left to the findings list. A line says what
|
|
772
|
+
was compared. An item names a region, a wafer or a test and, for a region, the failing bins that make up
|
|
773
|
+
its shortfall; a test is an item when it is outside its limits (or a functional test
|
|
774
|
+
fails) on a share of the dies that clears the same floor. Its three dots and word (High, Moderate or Low impact) say how
|
|
775
|
+
much of the lot it costs: the higher of its share of all the dies (2% moderate, 4% high)
|
|
776
|
+
and its share of the dies that fail (15% moderate, 40% high), so a small area that is most
|
|
777
|
+
of a good lot's loss still reads as high. Click a name to highlight that finding on the map.
|
|
778
|
+
A <strong>Watch</strong> line (at most two) follows for things that cost no dies yet: a lot of five or more
|
|
779
|
+
wafers whose yield, or a test's mean, trends up or down across the wafers <em>in the order given</em>
|
|
780
|
+
(said as "input order": the order is only a physical one if you know it is), and a test whose
|
|
781
|
+
Ppk against its limits is under 1.0.
|
|
782
|
+
A wafer or lot with nothing over a yield point says so: "Nothing stands out".
|
|
783
|
+
The reports open with the same section, and <strong>Full report</strong> at the foot of it opens the
|
|
784
|
+
report; in a report opened from the panel, clicking a finding's row shows it on the map.</li>
|
|
785
|
+
<li><strong>Findings</strong> \u2014 detected anomalies, most severe first, each group marked with
|
|
786
|
+
three dots filled by severity (Unusual, Notable, Minor). Severity chips narrow
|
|
706
787
|
the list; Kind and Region dropdowns appear once there are enough findings to
|
|
707
|
-
be worth narrowing.</li>
|
|
788
|
+
be worth narrowing. <strong>Detail</strong> opens the same sentences above a readable list.</li>
|
|
708
789
|
<li><strong>Bin breakdown</strong> \u2014 bars as a share of dies, pass bins first and then failing
|
|
709
790
|
bins by descending count, so the dominant failure mode is at the top. It
|
|
710
791
|
follows the map's plot mode: a soft-bin map gets a soft-bin breakdown. When a
|
|
711
792
|
wafer carries both bin types, a <strong>Hard / Soft</strong> selector in the section header
|
|
712
793
|
overrides that.</li>
|
|
713
794
|
<li><strong>Region yield</strong> \u2014 ring yield by default, with a <strong>Ring / Quadrant</strong> selector.
|
|
795
|
+
Each row prints its difference from the wafer's yield in points and is tinted
|
|
796
|
+
when it is 1, 2 or 4 or more points below it (nothing above is tinted).
|
|
714
797
|
Ring is the default because edge roll-off is the pattern that dominates real
|
|
715
798
|
wafer maps; a genuinely asymmetric quadrant is reported as a finding above,
|
|
716
799
|
with a significance test behind it.</li>
|
|
717
800
|
<li><strong>Wafer yield</strong> (several wafers only) \u2014 one bar per wafer with the median
|
|
718
|
-
marked
|
|
801
|
+
marked, each row's difference from the median in points, and a tint when it is
|
|
802
|
+
1, 2 or 4 or more points below it. Wafers are in slot order by default, since that is what makes a
|
|
719
803
|
slot-correlated pattern visible; a <strong>Slot / Yield</strong> selector re-sorts. Wafers
|
|
720
|
-
|
|
804
|
+
well below or above the rest are labelled "low outlier" or "high outlier"
|
|
805
|
+
(3 or more wafers, and at least 3 points from the median \u2014 the same rule as the
|
|
806
|
+
outlier-wafer findings).</li>
|
|
721
807
|
<li><strong>Test values</strong> \u2014 per test: mean, <strong>Ppk</strong>, and limit yield. Ppk (not Cpk)
|
|
722
808
|
because it measures against the <em>overall</em> spread, including wafer-to-wafer
|
|
723
809
|
variation, which is what the dies actually ship against. The full descriptive
|
|
724
810
|
statistics \u2014 min, quartiles, median, max, \u03C3, both test limits, and all four
|
|
725
|
-
capability indices \u2014 are in the
|
|
811
|
+
capability indices \u2014 are in the CSV export, and the wafer summary report shows
|
|
812
|
+
N, min, quartiles, median, mean, max, \u03C3 and limit yield (a lot's report has N, min, mean,
|
|
813
|
+
max, \u03C3 and limit yield: quartiles cannot be combined from each wafer's own). Both reports
|
|
814
|
+
also carry the full Cp, Cpk, Pp and Ppk table.</li>
|
|
726
815
|
<li><strong>Functional tests</strong> \u2014 pass/fail counts and pass rate per functional test.</li>
|
|
727
816
|
</ul>
|
|
728
817
|
<p>Every section header can be collapsed, and stays collapsed as the panel
|
|
@@ -730,7 +819,14 @@ re-renders.</p>
|
|
|
730
819
|
<p>A <strong>Summary report</strong> button (when present) opens a printable full-detail
|
|
731
820
|
report \u2014 yield, bin breakdown, ring and quadrant statistics, the full per-test
|
|
732
821
|
table with Cp/Cpk/Pp/Ppk, and the findings list \u2014 and can be saved as a PDF
|
|
733
|
-
from your browser's print dialog
|
|
822
|
+
from your browser's print dialog. It opens with <strong>What stands out</strong>: the yield,
|
|
823
|
+
up to three regions, fail bins or wafers ranked by how many dies each costs, and a
|
|
824
|
+
line saying what was compared. An item is listed only when it costs at least one
|
|
825
|
+
yield point of the dies analysed; a lot with none says so. Each figure links to its
|
|
826
|
+
row in the Findings table below. Severity is drawn as three dots and a word, so it reads in a
|
|
827
|
+
black-and-white print; yields carry a bar, and a wafer or region is tinted only when it is
|
|
828
|
+
at least a point below the rest.</p>
|
|
829
|
+
<p>A <strong>Data tables</strong> button beside it opens the same tables as Insights' Data tab (<a href="#data-tables" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'data-tables\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Data tables</a>) over this wafer, or over the whole lot in a gallery: Statistics, every die, and, for a lot, one row per wafer \u2014 each with Export CSV and Copy. It does not need Insights to be switched on.</p>
|
|
734
830
|
<h3 id="why-some-findings-name-two-bins">Why some findings name two bins</h3>
|
|
735
831
|
<p>A finding may read <strong>"hard bin and soft bin 3 (Fail) (same dies)"</strong>. That is one
|
|
736
832
|
group of dies counted in two bin spaces, not two separate groups added together.
|
|
@@ -824,9 +920,9 @@ across all wafers in the gallery.</p>
|
|
|
824
920
|
bin 1 (Pass) or bin 2 (Fail) at that location.</em></p>
|
|
825
921
|
<hr>
|
|
826
922
|
<h2 id="8-insights-tab">8. Insights tab</h2>
|
|
827
|
-
<p>The <strong>Insights</strong>
|
|
828
|
-
for a chart suite computed from the same die data \u2014 without leaving the
|
|
829
|
-
toolbar.
|
|
923
|
+
<p>The <strong>Insights</strong> side of the <strong>Maps | Insights</strong> switch (at the far right of the toolbar row, single map or
|
|
924
|
+
gallery) swaps the wafer view for a chart suite computed from the same die data \u2014 without leaving the
|
|
925
|
+
toolbar. Choose <strong>Maps</strong> to return to the map; the switch stays where it is. Independent of the Findings
|
|
830
926
|
sidebar (Section 6) \u2014 the two toggle independently, and opening one never
|
|
831
927
|
hides the other's toolbar button, since Findings has nothing to highlight
|
|
832
928
|
against once the map is replaced.</p>
|
|
@@ -834,8 +930,9 @@ against once the map is replaced.</p>
|
|
|
834
930
|
<em>Test value distribution</em>, a point in <em>Wafer-to-wafer trend</em> \u2014 can be
|
|
835
931
|
right-clicked to chart that wafer on its own (see
|
|
836
932
|
<a href="#44-charting-dies-and-wafers" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'44-charting-dies-and-wafers\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Section 4.4</a>); its tooltip says so.</p>
|
|
837
|
-
<p>Insights is organised into three sub-tabs,
|
|
838
|
-
|
|
933
|
+
<p>Insights is organised into three chart sub-tabs, a <strong>Data</strong> sub-tab holding the
|
|
934
|
+
same numbers as tables (see <em>Data tables</em> below), and a <strong>Plot</strong> sub-tab for your
|
|
935
|
+
own charts and sweeps (see <em>Plots</em> and <em>Sweep cards</em> below):</p>
|
|
839
936
|
<ul>
|
|
840
937
|
<li><p><strong>Overview</strong> \u2014 a <strong>test pass rate</strong> chart showing which test fails most (and,
|
|
841
938
|
with "Group by" active, whether it fails more in one split than another). It
|
|
@@ -849,7 +946,7 @@ picking one for you. Alongside it, headline tiles stating the population (wafers
|
|
|
849
946
|
and for a lot the mean wafer yield \u2014 an <em>unweighted</em> mean of each wafer's own
|
|
850
947
|
yield, not the die-weighted figure), a yield bar labelled with the pass bins
|
|
851
948
|
actually in use and marked with the median, a hard/soft bin pareto, and
|
|
852
|
-
ring/quadrant regional yield
|
|
949
|
+
ring/quadrant regional yield.</p>
|
|
853
950
|
</li>
|
|
854
951
|
<li><p><strong>Distributions</strong> \u2014 process capability (Cp/Cpk/Pp/Ppk for tests with both a
|
|
855
952
|
lower and upper limit \u2014 spec limits where given, otherwise test limits; tests
|
|
@@ -891,7 +988,12 @@ offer one.</p>
|
|
|
891
988
|
<li><p><strong>Correlation</strong> \u2014 a test-to-test correlation matrix and a die-level scatter
|
|
892
989
|
plot, both stating the sample size the coefficients are computed over.
|
|
893
990
|
Clicking a matrix cell drives the scatter plot onto that pair, where <code>r</code> and
|
|
894
|
-
<code>n</code> for that pair are printed and update as you filter the legend
|
|
991
|
+
<code>n</code> for that pair are printed and update as you filter the legend. Hover a
|
|
992
|
+
point to see which wafer and die it is; <strong>click</strong> it to open that wafer on the
|
|
993
|
+
X test. <strong>Drag</strong> a rectangle over the plot to select the dies inside it \u2014 across
|
|
994
|
+
as many wafers as they fall on \u2014 and a menu opens with charts and tables of
|
|
995
|
+
just those dies (see <a href="#44-charting-dies-and-wafers" onclick="(function(e){e.preventDefault();var g=e.target.closest('.wmap-guide');var el=g&&g.querySelector('[id=\\'44-charting-dies-and-wafers\\']');if(el)el.scrollIntoView({behavior:'smooth'});})(event)">Section 4.4</a>). The
|
|
996
|
+
selection stays ringed until you change the X or Y test or click empty space.</p>
|
|
895
997
|
</li>
|
|
896
998
|
</ul>
|
|
897
999
|
<p>In a gallery with more than one wafer, a <strong>Group by</strong> control appears whenever
|
|
@@ -902,15 +1004,11 @@ Histogram, correlation, and scatter also offer a <strong>Wafer</strong> picker t
|
|
|
902
1004
|
from "all wafers pooled" down to one wafer at a time. Clicking a yield bar or
|
|
903
1005
|
box-plot row for one wafer opens that wafer's own map \u2014 a box-plot click opens
|
|
904
1006
|
directly on the test you were looking at.</p>
|
|
905
|
-
<div data-wmap-demo="analysis" class="wmap-demo"></div><p><em>Insights tab open on a single wafer, Overview sub-tab: yield and bin pareto
|
|
906
|
-
ring/quadrant yield
|
|
907
|
-
own dies. The Distributions sub-tab has process capability, a test-value box
|
|
1007
|
+
<div data-wmap-demo="analysis" class="wmap-demo"></div><p><em>Insights tab open on a single wafer, Overview sub-tab: yield and bin pareto and
|
|
1008
|
+
ring/quadrant yield \u2014 all computed from this wafer's own dies. The Distributions sub-tab has process capability, a test-value box
|
|
908
1009
|
plot and histogram; Correlation has a correlation matrix with scatter plot.
|
|
909
1010
|
In a gallery, Overview also gains a "Group by" control and per-wafer
|
|
910
1011
|
yield/box-plot rows.</em></p>
|
|
911
|
-
<p><em>Gallery Insights, Overview sub-tab: lot-wide yield by wafer (click a bar to
|
|
912
|
-
open that wafer's map), hard/soft bin pareto, ring and quadrant yield, and
|
|
913
|
-
pooled per-test statistics. The "\u2039 Gallery" tab returns to the card grid.</em></p>
|
|
914
1012
|
<p><em>Distributions sub-tab: process capability (coloured by Ppk \u2014 green capable,
|
|
915
1013
|
orange marginal, red poor; tests without limits are muted and dashed), a
|
|
916
1014
|
per-wafer test-value box plot, and a value histogram. Clicking a capability
|
|
@@ -919,9 +1017,242 @@ box drives the box plot and histogram onto that test.</em></p>
|
|
|
919
1017
|
positive, orange = negative; intensity = strength) and a die-level scatter
|
|
920
1018
|
plot coloured by hard bin. Clicking a matrix cell drives the scatter plot
|
|
921
1019
|
onto that pair.</em></p>
|
|
1020
|
+
<h3 id="what-a-click-does">What a click does</h3>
|
|
1021
|
+
<p>Every mark on an Insights chart stands for something, and a click opens it:</p>
|
|
1022
|
+
<table>
|
|
1023
|
+
<thead>
|
|
1024
|
+
<tr>
|
|
1025
|
+
<th>Click</th>
|
|
1026
|
+
<th>Opens</th>
|
|
1027
|
+
</tr>
|
|
1028
|
+
</thead>
|
|
1029
|
+
<tbody><tr>
|
|
1030
|
+
<td>A wafer's bar, box or point (Yield by wafer, the box plot, the trend, the scatter, a Plot-tab chart)</td>
|
|
1031
|
+
<td>that wafer's map, on the test the chart is about (the bins, for Yield by wafer)</td>
|
|
1032
|
+
</tr>
|
|
1033
|
+
<tr>
|
|
1034
|
+
<td>A <strong>bin</strong> in the bin pareto (or a sub-bar of the grouped one)</td>
|
|
1035
|
+
<td>the right-click menu on the dies in that bin</td>
|
|
1036
|
+
</tr>
|
|
1037
|
+
<tr>
|
|
1038
|
+
<td>A <strong>test</strong> in a pass-rate chart</td>
|
|
1039
|
+
<td>the menu on the dies that fail that test, judged as the card is</td>
|
|
1040
|
+
</tr>
|
|
1041
|
+
<tr>
|
|
1042
|
+
<td>A bar of the <strong>value histogram</strong> (with Group by on, a column of it)</td>
|
|
1043
|
+
<td>the menu on the dies whose values fall in that bar, across the groups, or in the one group the legend has emphasised</td>
|
|
1044
|
+
</tr>
|
|
1045
|
+
<tr>
|
|
1046
|
+
<td>A level of a <strong>sweep</strong> curve</td>
|
|
1047
|
+
<td>the menu on the dies measured at that level</td>
|
|
1048
|
+
</tr>
|
|
1049
|
+
<tr>
|
|
1050
|
+
<td>A <strong>drag</strong> across the wafer-to-wafer <strong>trend</strong></td>
|
|
1051
|
+
<td>the menu on the dies of the wafers whose points the drag crossed (a click on a point still opens that wafer)</td>
|
|
1052
|
+
</tr>
|
|
1053
|
+
<tr>
|
|
1054
|
+
<td>A <strong>ring</strong> or <strong>quadrant</strong> of the yield diagrams</td>
|
|
1055
|
+
<td>the menu on the dies it counts</td>
|
|
1056
|
+
</tr>
|
|
1057
|
+
<tr>
|
|
1058
|
+
<td>A cell of the correlation matrix</td>
|
|
1059
|
+
<td>that pair in the scatter</td>
|
|
1060
|
+
</tr>
|
|
1061
|
+
<tr>
|
|
1062
|
+
<td>A test in the process-capability chart</td>
|
|
1063
|
+
<td>that test in the other distribution charts</td>
|
|
1064
|
+
</tr>
|
|
1065
|
+
<tr>
|
|
1066
|
+
<td>A row of the <strong>Wafers</strong> table</td>
|
|
1067
|
+
<td>that wafer's map</td>
|
|
1068
|
+
</tr>
|
|
1069
|
+
<tr>
|
|
1070
|
+
<td>A row of the <strong>Dies</strong> table</td>
|
|
1071
|
+
<td>that die, ringed on its wafer's map</td>
|
|
1072
|
+
</tr>
|
|
1073
|
+
</tbody></table>
|
|
1074
|
+
<p>The menu offers the charts and tables for just those dies (and your own plots), and its heading names
|
|
1075
|
+
them, for example "412 dies in hard bin 3, across 13 wafers". A mark that has no dies behind it does nothing.
|
|
1076
|
+
Right-click on any wafer's bar, box or point opens the same menu for the whole wafer.</p>
|
|
1077
|
+
<h3 id="data-tables">Data tables</h3>
|
|
1078
|
+
<p>The <strong>Data</strong> sub-tab shows the wafers Insights is scoped to as tables, one at a
|
|
1079
|
+
time, chosen with the <strong>Statistics | Dies | Wafers</strong> control. It follows the
|
|
1080
|
+
same "Group by" and "Show" scope as the charts.</p>
|
|
1081
|
+
<ul>
|
|
1082
|
+
<li><strong>Statistics</strong> \u2014 the <strong>Test Values</strong> table (count, min, quartiles, mean, \u03C3,
|
|
1083
|
+
Ppk, limits and the limit yield for each test, with its N stated) and the
|
|
1084
|
+
<strong>Functional Tests</strong> pass-rate table. With "Group by" active there is one set
|
|
1085
|
+
per group.</li>
|
|
1086
|
+
<li><strong>Dies</strong> \u2014 one row per die: wafer, X, Y, ring, quadrant, site, bins, a column
|
|
1087
|
+
for each test, and the wafer's metadata. Only the rows in view are drawn, so a
|
|
1088
|
+
lot of hundreds of thousands of dies scrolls smoothly. Click a column heading
|
|
1089
|
+
to sort by it (again to reverse; a die with no value sorts last).</li>
|
|
1090
|
+
<li><strong>Wafers</strong> \u2014 one row per wafer: lot, split and any other metadata, the die
|
|
1091
|
+
counts, the yield (the same figure as the yield chart), and the mean of each
|
|
1092
|
+
test (the first 50).</li>
|
|
1093
|
+
</ul>
|
|
1094
|
+
<p>In the Dies table, <strong>click a row</strong> to show that die on its map: the table steps
|
|
1095
|
+
aside (or Insights closes) and the die is ringed, on its own card in a gallery. The
|
|
1096
|
+
ring goes with the next click on the map, or Esc.</p>
|
|
1097
|
+
<p><strong>Export CSV</strong> saves the table as shown, in the order shown. Numbers are written
|
|
1098
|
+
in full, as plain numbers, not as the formatted text on screen (<code>0.5123457</code>, not
|
|
1099
|
+
<code>512 mV</code>), with the unit in the column heading. <strong>Copy</strong> puts the table on the
|
|
1100
|
+
clipboard as tab-separated text, ready to paste into a spreadsheet; it is offered
|
|
1101
|
+
for tables up to about 200,000 cells. For the Dies table, <strong>Export format</strong> (Wide | Long) chooses
|
|
1102
|
+
the layout of the file: wide has a column per test, long has a row per die per
|
|
1103
|
+
test (a die with no result for a test has no row), the shape statistics tools
|
|
1104
|
+
prefer. The note under the buttons says how many rows the file will have, and
|
|
1105
|
+
warns when that is more than a spreadsheet can open (1,048,576).</p>
|
|
1106
|
+
<h3 id="plots">Plots</h3>
|
|
1107
|
+
<p>The <strong>Plot</strong> sub-tab is where you build your own charts. <strong>+ New plot</strong> starts one,
|
|
1108
|
+
already filled in with the first two tests of the lot, and opens it beside a large
|
|
1109
|
+
copy of the chart. <strong>Add examples</strong> draws one plot of each chart type the lot can
|
|
1110
|
+
show (a scatter of the first two tests, a histogram, a box, a bar of yield by the
|
|
1111
|
+
first lot field that divides the wafers, a line over wafer order, and a sweep of the
|
|
1112
|
+
first tests in test order), to start from
|
|
1113
|
+
or to see what each type is for; pressing it again adds only what is missing. Every change you make there is drawn at once; there is no Apply
|
|
1114
|
+
button, and the plot is kept as you go.</p>
|
|
1115
|
+
<p>In <strong>Setup</strong>, choose the <strong>chart type</strong>, then the field for each role:</p>
|
|
1116
|
+
<table>
|
|
1117
|
+
<thead>
|
|
1118
|
+
<tr>
|
|
1119
|
+
<th>Chart type</th>
|
|
1120
|
+
<th>What it shows</th>
|
|
1121
|
+
<th>Fields</th>
|
|
1122
|
+
</tr>
|
|
1123
|
+
</thead>
|
|
1124
|
+
<tbody><tr>
|
|
1125
|
+
<td><strong>Scatter</strong></td>
|
|
1126
|
+
<td>one point per die (or per wafer)</td>
|
|
1127
|
+
<td>X and Y, both numbers</td>
|
|
1128
|
+
</tr>
|
|
1129
|
+
<tr>
|
|
1130
|
+
<td><strong>Histogram</strong></td>
|
|
1131
|
+
<td>how often each value occurs</td>
|
|
1132
|
+
<td>the values</td>
|
|
1133
|
+
</tr>
|
|
1134
|
+
<tr>
|
|
1135
|
+
<td><strong>Box</strong></td>
|
|
1136
|
+
<td>quartiles, with whiskers to the minimum and maximum, for each category</td>
|
|
1137
|
+
<td>categories (wafer by default), values</td>
|
|
1138
|
+
</tr>
|
|
1139
|
+
<tr>
|
|
1140
|
+
<td><strong>Bar</strong></td>
|
|
1141
|
+
<td>one aggregated value for each category (or a count)</td>
|
|
1142
|
+
<td>categories, values (optional), how to combine them</td>
|
|
1143
|
+
</tr>
|
|
1144
|
+
<tr>
|
|
1145
|
+
<td><strong>Line</strong></td>
|
|
1146
|
+
<td>one aggregated value at each X, joined</td>
|
|
1147
|
+
<td>X, Y, how to combine them</td>
|
|
1148
|
+
</tr>
|
|
1149
|
+
</tbody></table>
|
|
1150
|
+
<ul>
|
|
1151
|
+
<li><strong>X axis</strong> and <strong>Y axis</strong> (a histogram has one <strong>Values</strong> field; a box or bar has
|
|
1152
|
+
<strong>Categories</strong> instead of a numeric X). Any measured test, a die's X or Y position,
|
|
1153
|
+
a wafer's yield or die count, or a lot field with numbers in it (slot, temperature).
|
|
1154
|
+
The list is grouped Tests \xB7 Die \xB7 Wafer and filters by name or test number, so with
|
|
1155
|
+
a few hundred tests you type <code>1050</code> or <code>vth</code> rather than scrolling. A field the chart
|
|
1156
|
+
type cannot use is not offered; switching type keeps your fields where they still
|
|
1157
|
+
apply and brings back the ones that did not when you switch back.</li>
|
|
1158
|
+
<li><strong>Colour</strong>: a category such as wafer, split, hard bin, site or ring, or, on a
|
|
1159
|
+
scatter, a measured value or wafer figure drawn on a gradient (a colour bar under
|
|
1160
|
+
the title states its range). <strong>Follow Group by</strong> (the default) takes the colours from
|
|
1161
|
+
the Group by control above, so changing it recolours every plot that follows it;
|
|
1162
|
+
<strong>None</strong> draws one colour.</li>
|
|
1163
|
+
<li><strong>Combine values by</strong> (bar and line, and any plot with one mark per wafer): mean,
|
|
1164
|
+
median, minimum, maximum, sum or count. <strong>Pooled yield</strong> is offered for Yield: it is
|
|
1165
|
+
the passing dies over the judged dies of all the wafers in a bar, not an average of
|
|
1166
|
+
their percentages (the plain mean of Yield is the mean of per-wafer yields, and is
|
|
1167
|
+
labelled so).</li>
|
|
1168
|
+
<li><strong>One mark per</strong>: Automatic uses the finest level the fields allow. <strong>Wafer</strong> makes
|
|
1169
|
+
every mark a wafer, combining its dies' values as chosen above, which is how "mean
|
|
1170
|
+
Idsat per wafer against slot" is drawn. Yield can be split by a per-die field
|
|
1171
|
+
(ring, quadrant, bin, die position) in a <strong>bar</strong> (pooled yield per ring) or a <strong>line</strong>, which take the pass verdict of each die; a box,
|
|
1172
|
+
scatter or histogram of yield cannot, and says why.</li>
|
|
1173
|
+
</ul>
|
|
1174
|
+
<p>When fields do not go together, the list says so before you choose: a field that would leave a plot that cannot be
|
|
1175
|
+
drawn is dimmed in the <strong>X</strong>, <strong>Y</strong> and <strong>Colour</strong> lists with the reason after it, and does nothing when picked. A plot
|
|
1176
|
+
that cannot be drawn says in words what is wrong and what to use instead.</p>
|
|
1177
|
+
<p>In <strong>Customise</strong>, the <strong>title</strong> and each <strong>axis title</strong> are written for you until
|
|
1178
|
+
you type your own (the box shows what it would say, and clearing it brings that
|
|
1179
|
+
back). If you type a title and later change the fields, the plot says when the title
|
|
1180
|
+
still names a test it no longer shows, or names only one of the two it does, with a
|
|
1181
|
+
button to go back to the automatic title; a title that names none of the fields ("Process
|
|
1182
|
+
check") is yours and is left alone. Each axis can have a <strong>minimum</strong>, a <strong>maximum</strong>, a <strong>log scale</strong> (offered
|
|
1183
|
+
whatever the values, but it stays linear, and says so, if any value is zero or
|
|
1184
|
+
negative) and <strong>reverse direction</strong>. A histogram also has a number of <strong>bins</strong>. A category axis has a title only.</p>
|
|
1185
|
+
<p>When a plotted test has limits they are drawn as dashed lines on the axis that measures it (a histogram's values, a scatter's X or
|
|
1186
|
+
Y, a box, bar or line's values when they are measured values or their mean, median, minimum or maximum): short dashes for the
|
|
1187
|
+
test's own limits, long for its specification limits, each labelled with its value. The axis widens to include them when that
|
|
1188
|
+
leaves the data at least a third of it, as in Insights, and a limit off the edge is marked there instead of vanishing. Choose
|
|
1189
|
+
which are drawn under <strong>Limits</strong> in Customise. Where the wafers in view disagree about a test's limits none are drawn, as in
|
|
1190
|
+
Insights: the reconciled test list drops conflicting limits.</p>
|
|
1191
|
+
<p>Under every plot is a line stating what it shows: the wafers and dies, how values
|
|
1192
|
+
were combined ("median of Vth per wafer"), and how many dies were left out for
|
|
1193
|
+
having no value ("12 dies without Idsat not plotted"). A plot never drops a die
|
|
1194
|
+
without saying so.</p>
|
|
1195
|
+
<p><strong>Hover</strong> a point, bar, box or line to see its values and how many dies or wafers it
|
|
1196
|
+
stands for. <strong>Click</strong> a point (or a wafer's bar or box) to open that wafer, on the plot's own
|
|
1197
|
+
test, so its map shows the values the plot is about and not the bins (a plot with no test in it,
|
|
1198
|
+
like yield against wafer order, opens the default map). Click any other bar, box, histogram bar or
|
|
1199
|
+
line point to open the right-click menu on the dies it counts, and <strong>drag</strong> a rectangle over a
|
|
1200
|
+
scatter to select the dies (or wafers) inside it. The selection opens the same
|
|
1201
|
+
right-click menu as on a map, so a few dies from a plot can be charted and tabulated
|
|
1202
|
+
in turn.</p>
|
|
1203
|
+
<p><strong>Keeping your plots.</strong> A plot is a recipe, not a picture: it says which fields go
|
|
1204
|
+
where, and nothing about which wafers. It is therefore kept by your application
|
|
1205
|
+
between sessions and drawn again on the next lot. If you open a lot that lacks a
|
|
1206
|
+
test a plot needs, the plot stays in the list, dimmed, with the reason ("Needs test
|
|
1207
|
+
3001 (Leak), which is not in these dies"); it is not removed. <strong>Export plots\u2026</strong>
|
|
1208
|
+
writes them all to a file, and <strong>Import plots\u2026</strong> adds the plots of such a file to
|
|
1209
|
+
yours, as copies where a plot with the same identity already exists, never
|
|
1210
|
+
replacing one. Each card has <strong>Edit</strong>, <strong>Duplicate</strong> and <strong>Delete</strong>; a deleted plot
|
|
1211
|
+
can be restored with <strong>Undo</strong> for ten seconds. <strong>Delete all plots\u2026</strong> removes every
|
|
1212
|
+
plot, sweeps included, after asking you to confirm (the question says how many, and
|
|
1213
|
+
that <strong>Export plots\u2026</strong> first keeps a copy); <strong>Undo</strong> restores the whole list for ten
|
|
1214
|
+
seconds. It is dimmed while there are no plots.</p>
|
|
1215
|
+
<p><strong>Three different ways to divide the data, kept apart.</strong> A plot divides data in
|
|
1216
|
+
three places, and they do different jobs, so neighbouring plots can ask different
|
|
1217
|
+
questions:</p>
|
|
1218
|
+
<table>
|
|
1219
|
+
<thead>
|
|
1220
|
+
<tr>
|
|
1221
|
+
<th>What it decides</th>
|
|
1222
|
+
<th>Where</th>
|
|
1223
|
+
<th>Kept with the plot?</th>
|
|
1224
|
+
</tr>
|
|
1225
|
+
</thead>
|
|
1226
|
+
<tbody><tr>
|
|
1227
|
+
<td>The categories on an axis</td>
|
|
1228
|
+
<td>the plot's own <strong>X</strong> field</td>
|
|
1229
|
+
<td>yes</td>
|
|
1230
|
+
</tr>
|
|
1231
|
+
<tr>
|
|
1232
|
+
<td>The colour series within it</td>
|
|
1233
|
+
<td>the plot's own <strong>Colour</strong> field</td>
|
|
1234
|
+
<td>yes</td>
|
|
1235
|
+
</tr>
|
|
1236
|
+
<tr>
|
|
1237
|
+
<td>Which wafers are in view</td>
|
|
1238
|
+
<td>the <strong>Show</strong> control above</td>
|
|
1239
|
+
<td>no, it is the scope</td>
|
|
1240
|
+
</tr>
|
|
1241
|
+
</tbody></table>
|
|
1242
|
+
<p><strong>Plots in the right-click menu.</strong> Every saved plot is also a row in the menu that
|
|
1243
|
+
opens on a selection or a wafer (<strong>Plots</strong> section), drawn over just those dies and
|
|
1244
|
+
captioned with them.</p>
|
|
1245
|
+
<p><img src="images/guide-plot-drilldown.png" alt="The right-click menu on a selection, with the Plots section"> <strong>New plot\u2026</strong> and <strong>New sweep\u2026</strong> in the same menu start a draft on the selection;
|
|
1246
|
+
a draft is kept only if you press <strong>Add to my plots</strong>.</p>
|
|
1247
|
+
<p>Every change is kept as you make it. If you make a mistake, <strong>Reset</strong> (under the settings) puts the plot back as it was
|
|
1248
|
+
when you opened the editor, and <strong>Cancel</strong> does the same and closes it. Closing the window with its own button keeps what
|
|
1249
|
+
you changed.</p>
|
|
922
1250
|
<h3 id="sweep-cards">Sweep cards</h3>
|
|
923
|
-
<p>A <strong>sweep</strong>
|
|
924
|
-
|
|
1251
|
+
<p>A <strong>sweep</strong> is a card on the <strong>Plot</strong> sub-tab, beside your other plots. <strong>+ New
|
|
1252
|
+
sweep</strong> starts one on the first tests of the lot, and <strong>Edit</strong> opens it beside a
|
|
1253
|
+
live copy of the curve. A sweep is kept, duplicated, deleted, exported and
|
|
1254
|
+
imported like any plot, and is offered in the right-click menu's <strong>Plots</strong>
|
|
1255
|
+
section. It exists for a test program that measures the same quantity at a
|
|
925
1256
|
series of drive levels and records each level as its own test number \u2014 often one
|
|
926
1257
|
block sweeping up and another sweeping down. Read one test at a time that is a
|
|
927
1258
|
row of unrelated distributions; read as a sweep it is a pair of response curves,
|
|
@@ -949,6 +1280,23 @@ would read as "they meet here".</li>
|
|
|
949
1280
|
</ul>
|
|
950
1281
|
<p>Only the <strong>first two</strong> curves are measured. Any further ones are drawn for
|
|
951
1282
|
context.</p>
|
|
1283
|
+
<p>:
|
|
1284
|
+
test numbers and ranges, such as <code>1010, 1011, 1020..1030</code> (a range means the
|
|
1285
|
+
tests declared between its ends). Then choose where each test's X comes from:
|
|
1286
|
+
<strong>Test order</strong> (the position in the run, labelled by test), <strong>Values</strong> (one
|
|
1287
|
+
number per test, in the same order) or <strong>From test name</strong> (a pattern such as
|
|
1288
|
+
<code>LRS_STATS_{x}</code>, for programs that record the swept value only in the test
|
|
1289
|
+
text). The editor lists the first few test names with what your pattern reads
|
|
1290
|
+
from each as you type, and <strong>Pattern examples</strong> shows worked ones: <code>@ {x}</code>
|
|
1291
|
+
reads 0.55 from <code>Fmax @ 0.55 V</code>, and <code>-{x}</code> reads 5 from <code>1234-5</code>). Text that is not a test number or a range is flagged under the box,
|
|
1292
|
+
naming the word, and is not applied, so the curve beside it never shows
|
|
1293
|
+
something you did not mean. <strong>+ Add series</strong> adds a curve and <strong>Remove</strong> drops
|
|
1294
|
+
one; the crossing and widths appear once there are two.</p>
|
|
1295
|
+
<p><strong>A sweep remembers what its tests were called.</strong> The editor and <strong>+ New sweep</strong> record each test's name
|
|
1296
|
+
alongside its number. Open the sweep on a lot where a number now carries a different name (a test program that
|
|
1297
|
+
reuses numbers for other measurements) and that test is not drawn: the card names it, and the crossing and widths
|
|
1298
|
+
are not measured, rather than presenting another quantity as the original curve. Renaming a test in the selector
|
|
1299
|
+
has the same effect. A sweep written by hand, or imported from a file without names, is not checked.</p>
|
|
952
1300
|
<p><strong>The x axis is the sweep, not the lot</strong> \u2014 that is what distinguishes this card
|
|
953
1301
|
from the wafer-to-wafer trend, which walks one test across wafers. If the
|
|
954
1302
|
application supplied the real swept quantity, the axis is in those units (dBm,
|
|
@@ -973,8 +1321,18 @@ at the wrong level, which gives a plausible curve and a wrong crossing.</p>
|
|
|
973
1321
|
<p>Every chart panel has a <strong>camera</strong> button that saves the current view as a PNG at the displayed
|
|
974
1322
|
resolution. To get a clean full-resolution render, use the panel's expand (corner-arrows)
|
|
975
1323
|
button first to open it in the fullscreen modal, then click the camera button.</p>
|
|
976
|
-
<p>The saved image is the chart as shown,
|
|
977
|
-
|
|
1324
|
+
<p>The saved image is the chart as shown, under a header that says what it is: its <strong>title</strong>,
|
|
1325
|
+
what its controls are set to (<strong>Test: vth_n_mV \xB7 1001</strong>, <strong>Wafer: W03</strong>, <strong>Sort: yield</strong>), the
|
|
1326
|
+
lines the chart states about itself (the population and N, how values were combined, what
|
|
1327
|
+
the box and whiskers mean, how the bars are normalised), and its colour key (the legend, or
|
|
1328
|
+
the colour bar's name and range). The instructions that only make sense on screen ("click a
|
|
1329
|
+
point to open this wafer") are left out. A chart on the <strong>Plot</strong> tab carries the line stating
|
|
1330
|
+
its wafers and dies in the same place. The image takes the card's own background, so a dark
|
|
1331
|
+
theme saves a dark chart. The file name identifies the lot, wafers and chart (see below).</p>
|
|
1332
|
+
<p><strong>Printing.</strong> The dropdowns, toggles and buttons (camera, expand and, on the Plot tab, New
|
|
1333
|
+
plot, Add examples, Import, Export, Delete all, Edit, Duplicate and Delete) are left off the printed page.
|
|
1334
|
+
In their place each chart prints a small block under its title giving the same settings and
|
|
1335
|
+
lines as the saved image, so a printed histogram says which test it is of.</p>
|
|
978
1336
|
<h3 id="names-of-saved-files">Names of saved files</h3>
|
|
979
1337
|
<p>Every image and CSV you save is named for what it shows: the lot, then the wafer (or how many
|
|
980
1338
|
wafers), then the content. For example, <code>LOT123_W05_hard-bin.png</code>, <code>LOT123_W05_die-list.csv</code> or
|