Getting data in

Lesson 01

Learn tsmap

Learn tsmap · 01 Getting data in

In this lesson

Most of the time, opening a file is a simple drag and drop. This lesson also covers the cases where you need more: many files, or a table whose columns tsmap has to be told about.

  • Open files from inside the app, and build one lot from several files
  • Choose and rename tests in the test selector
  • Map the columns of a CSV, JSON or Parquet file
Learn tsmap · 01 Getting data in

Opening test data files

Learn tsmap · 01 Getting data in

The quickest start

Load sample data opens an example lot: 25 wafers from five process corners. More sample lots, one per feature, are listed in the user guide.

The start screen, with Load sample data outlined

Learn tsmap · 01 Getting data in

What tsmap reads

Whatever test data you have, you can probably open it in tsmap.

  • STDF and ATDF: tester files, read directly
  • CSV, JSON and Parquet: tables, after a simple column mapping step
  • .gz, .bz2 and .zip: compressed files are read without unpacking first
Learn tsmap · 01 Getting data in

Drag and drop

Drop one or more files anywhere in the window. It is the same as picking them. In the desktop app, dropping a folder scans it.

The start screen: both drop hints outlined

Learn tsmap · 01 Getting data in

Open files ▾

Open files ▾ opens a menu that offers Choose files… or Scan a folder…

The Open files menu

Learn tsmap · 01 Getting data in

Recent files

Desktop app only.

The last 8 file sets you opened are listed on the start screen, with when you opened each. Click one to open it again, or × to forget it.

The desktop app's start screen with three recent file sets

Learn tsmap · 01 Getting data in

Recent files in the menu

Once data is loaded the start screen is gone, so the same list sits under Open files ▾, below Choose files… and Scan a folder…. Opening a recent set replaces what is loaded. Add files ▾ has no list, because adding from a recent set is not offered.

The Open files menu in the desktop app, with Recent below the two choices

Learn tsmap · 01 Getting data in

Scanning a folder

Hundreds of files? Let tsmap tell you what is in them before you load any.

Learn tsmap · 01 Getting data in

The file filter

Scanning a folder reads only each file's header data, so it is quick even for a big batch. You then choose what to load.

  • Click a column heading to sort; click ▾ to filter that column
  • Search across every column

The file filter after scanning six files

Learn tsmap · 01 Getting data in

Select, then load

The usual routine: search for a string like EDGE, Select all of what is shown, then Load selected…. You load only the files you want.

Two of the six files selected

Learn tsmap · 01 Getting data in

Filters you use again

  • Save filter… keeps the filters in a file; Load filter… reselects matching rows
  • A mixed folder: buttons above the table pick which kind of file to load
  • Pick more than five files with Open files and tsmap offers this filter table
Learn tsmap · 01 Getting data in

One lot from separate files

The two files of EDGE-LOT-01 hold one wafer each, and they load as one lot, EDGE-LOT-01. Files that name the same lot open straight away, as long as no wafer appears in more than one of them. A lot tested in several sessions arrives like this, one file per session. The six files used here are in the scan-folder zip on the sample files page.

Two wafers of EDGE-LOT-01, loaded from two files

Learn tsmap · 01 Getting data in

Add files

Add files appends wafers to what is already loaded. The confirmation warns when the new wafers differ from the ones you have: another die count, other bins, or a wafer ID that's already loaded. Read it and confirm before you continue, because mixing unlike wafers can mislead.

The confirmation before adding a wafer

Learn tsmap · 01 Getting data in

The lot grows

Once the third file is added, its wafer joins the same gallery, Summary and yield.

Three wafers of EDGE-LOT-01, the added one outlined

Learn tsmap · 01 Getting data in

Naming the wafers

When the files come from different lots, tsmap suggests a label per wafer. A plain ID such as W01 gets its lot in front, so the W01 of EDGE-LOT-01 and the W01 of HY-LOT-04 stay separate, instead of being mistaken for one wafer. Edit any label, then Continue →

The wafer labels step for W01 of two lots

Learn tsmap · 01 Getting data in

Test units across files

When files are combined, a test can arrive in different units.

  • One file in mV and another in V? tsmap converts the later file to the first file's unit, and the log says so
  • Any other difference, mV against MV included, may be another measurement. That test is left out of the views that compare wafers, so unlike numbers are never compared.
Learn tsmap · 01 Getting data in

Two more ways to open test data

  • A link that tells the web app which files to load
  • The command line, which opens the files you name in the desktop app

Both are in lesson 12.

Learn tsmap · 01 Getting data in

Choosing tests

Learn tsmap · 01 Getting data in

The test selector

A test program can have hundreds or thousands of tests, and you rarely need them all at once. The test selector is where you choose what you need to analyse. A small lot imports every test by default, and Setup ▾ → Tests… opens the selector at any time.

The test selector for the sample lot

Learn tsmap · 01 Getting data in

Edit limits…

Edit limits… in the selector opens a table of every test, where you can change its name, limits, units and type before the tests are imported. Lesson 02 explains test and spec limits, then walks through the table.

Learn tsmap · 01 Getting data in

Narrow, then select

  • 1 Search by name or number
  • 2 Show one type of test
  • 3 Select a range, such as 1001-1004

The selector's search, type filter and range box, each numbered

Learn tsmap · 01 Getting data in

Big lots start with no tests selected

Every test you import costs memory, so a large lot asks you to choose before it loads.

  • A lot with many tests opens the selector first, nothing ticked
  • The footer estimates memory: amber is slow, red asks first
Learn tsmap · 01 Getting data in

Many files, many tests

  • Several files: Scan all N files lists tests from every file
  • Later, removing a test applies at once; adding one rereads the files
Learn tsmap · 01 Getting data in

Rename a test

Test names from a tester can be cryptic. Click into a name and type a clearer one. Enter keeps it; only the displayed name changes, not the data.

Test 1006 renamed to Max frequency

Learn tsmap · 01 Getting data in

Save and load definitions

4 Save definitions writes the selection, names, limits, units and test type to a CSV. 5 Load definitions reapplies it, which also gives limits to a program that shipped without them.

The selector's Save definitions and Load definitions buttons

Learn tsmap · 01 Getting data in

Mapping columns

CSV, JSON and Parquet only

Learn tsmap · 01 Getting data in

Not for STDF or ATDF

STDF and ATDF name every field in their records, so they go straight to the test selector without any need for column mapping.

A CSV, JSON or Parquet table can lay its columns out any way, so tsmap has to ask which column is the X position, which is the bin, and so on.

Learn tsmap · 01 Getting data in

Column mapping

Every column gets a role. Common names are detected for you, so most of the time you only need to check that they are right, then Continue →

The column mapping for a wide CSV

Learn tsmap · 01 Getting data in

Wide format

In wide format there is one column per test. Each test column takes the Test value role 1.

A test column with the Test value role

Learn tsmap · 01 Getting data in

Long format

In long format there is one row per die per test: a test number or name column, and a result column.

A long-format CSV: test_num and test_val outlined

Learn tsmap · 01 Getting data in

Roles worth knowing

Most columns are a test value or something to ignore. A few roles do more.

  • Lot ID: map it so two lots' W01 stay two separate wafers
  • Pass/fail test: a PASS/FAIL column, chosen for you
  • Display info: a wafer fact, such as temperature, to group by
  • X and Y are optional: without them, dies have no position
Learn tsmap · 01 Getting data in

Many columns at once

1 Filter the columns by name, then give every shown column one role: 2 Test value or 3 Ignore.

The column filter and the two bulk buttons

Learn tsmap · 01 Getting data in

Pass bins

Pass bin(s) says which hard bins count as a pass, and the yield figure follows it. The default is 1. If your program passes in another bin, or several, list them with commas, such as 1,7.

The Pass bin(s) field at the foot of the column mapping

Learn tsmap · 01 Getting data in

Saved mappings

The roles you confirm are remembered for that set of columns, so the next file with the same columns needs no checking. Reset to auto-detected forgets them.

The same file again: the saved mapping applied

Learn tsmap · 01 Getting data in

Long format asks first

When you press Continue → on a table in which several rows share the same X and Y, tsmap says it looks like long format and offers to Render as long format, pivoting it to one column per test. Cancel returns you to the mapping.

The Long-format CSV detected prompt

Learn tsmap · 01 Getting data in

No position columns

With no X or Y column, tsmap asks before it carries on. Continue without position data shows each wafer as a bin and value summary and a die list, not a map. Yield, histograms and correlation work as normal; only spatial analysis, such as rings and clusters, is unavailable.

The No X/Y columns assigned prompt

Learn tsmap · 01 Getting data in

Bin names

A file may carry only bin numbers. Tables show them as bare numbers until you name them in Bin definitions… or load a bin definitions file, which also names the bins in the legend. Lesson 04 covers the window and lesson 12 the files.

Learn tsmap · 01 Getting data in

Making it yours

Learn tsmap · 01 Getting data in

Colour theme

Choose a colour theme. Auto follows your system, or pick a light or dark theme. Your choice is remembered.

The colour theme list

Learn tsmap · 01 Getting data in

The whole app follows

Maps, charts and panels all take the theme's colours.

The sample CSV in the Dark theme

Learn tsmap · 01 Getting data in

The log panel

The log panel shows what each load did. Warnings are counted on the Log button until you open it.

The log panel, open

Learn tsmap · 01 Getting data in

Copy the log

Right-click in the log for Select all and Copy all, which puts every entry on the clipboard: the thing to paste into a bug report.

The log menu: Select all and Copy all

Learn tsmap · 01 Getting data in

Try it yourself

  1. Open the small sample CSV in the web app: check the roles, then Continue →
  2. Clear files, then Load sample data
  3. Setup ▾ → Tests…: rename a test, then apply
  4. Download and unzip the scan-folder zip, then Open files ▾ → Scan a folder…: how many files does it list?
  5. Switch to a dark theme, then open the log
Learn tsmap · 01 Getting data in

Check your results

  1. Six files, from four lots. Set the filter to one lot to list only its files.
Learn tsmap · 01 Getting data in

Recap

  • Drop files, Open files, or scan a folder and filter by lot
  • Add files grows the lot; Setup ▾ → Tests… chooses and renames tests
  • Tables need a column mapping, and tsmap remembers it

With your data loaded and your tests chosen, you are ready to read the maps.

More in the user guide: Loading your data

Learn tsmap · 01 Getting data in

Next lesson

02 · Reading a map and the toolbar →

Plot modes, colours, overlays, orientation and the gallery layout.

Learn tsmap · 01 Getting data in