Skip to main content

STDF (Standard Test Data Format) file reader, parser, and analysis tool for semiconductor test data

Project description

STDF Reader Tool

A Comprehensive STDF/STD File Analysis Solution

PyPI Version Python Versions License PyPI Downloads


Table of Contents


Overview

The STDF Reader Tool is a comprehensive desktop application and command-line toolkit designed for the AP (Application Engineering) team to process and analyze Teradyne's STDF (Standard Test Data Format) and STD files. This tool provides an intuitive graphical interface for parsing test data, generating statistical reports, and performing advanced data analysis operations.

STDF is the industry-standard format for storing test data from semiconductor manufacturing. This tool simplifies the process of extracting valuable insights from test data, enabling engineers to:

  • Quickly convert raw test data into analyzable formats
  • Generate comprehensive statistical reports (CP, CPK, mean, standard deviation)
  • Visualize test results through wafer maps and histograms
  • Perform correlation analysis between different test lots
  • Extract specific test results for detailed investigation

PyPI Package

This project is available on PyPI as stdf-reader:

STDF (Standard Test Data Format) file reader, parser, and analysis tool for semiconductor test data.


Features

Core Functionality

1. STDF/STD to CSV Conversion

  • Parse binary STDF/STD files into human-readable CSV format
  • Support for multiple STDF versions (V4, V42007)
  • Fast and efficient parsing with configurable options
  • Ability to skip specific record types for improved performance

2. CSV File Processing

  • Upload and process previously generated CSV files
  • Handle large datasets efficiently
  • Support for partial data loading with row limits
  • Real-time data validation and error handling

3. Comprehensive Data Analysis

  • Statistical Analysis: Calculate mean, standard deviation, min, max values
  • Process Capability: Compute CP and CPK indices for process monitoring
  • Duplicate Detection: Identify duplicate test numbers with different names
  • Bin Summaries: Generate detailed bin distribution reports
  • Wafer Mapping: Visualize test results across wafer coordinates

4. Report Generation

  • XLSX Reports: Create Excel workbooks with:
    • Multiple sheets for different test analyses
    • Formatted tables with conditional formatting
    • Statistical summaries and charts
    • CP/CPK calculations with color-coded results
  • PDF Reports: Generate professional PDF documents containing:
    • Test result summaries
    • Wafer map visualizations
    • Statistical charts and graphs
    • Custom formatting and branding options

5. Correlation Analysis

  • Compare test results between two different lots or test runs
  • Identify correlations between test parameters
  • Scatter plot visualization with trend lines
  • Statistical correlation coefficients

6. Advanced Features

  • XLSX Conversion: Direct STDF to Excel table conversion
  • Diagnosis Log Parsing: Extract STR (Software Test Record), PSR (Part Site Record), and PMR (Part Master Record) from diagnosis logs
  • Sub-CSV Generation: Create filtered CSV files containing only selected tests
  • Table Transposition: Convert between row-based and column-based data representations
  • ASCII Conversion: Convert legacy STDF formats to ASCII-readable format

7. Data Visualization

  • Histograms for test value distributions
  • Scatter plots for correlation analysis
  • Wafer maps with bin code visualization
  • Trend lines for temporal analysis
  • 3D visualization capabilities

Installation

Prerequisites

  • Python 3.9 or higher
  • pip package manager
  • Windows, macOS, or Linux operating system

Option 1: Install from PyPI (Recommended)

# Basic installation (CLI + analysis tools)
pip install stdf-reader

# With GUI support
pip install stdf-reader[gui]

Option 2: Install from Source

Step 1: Clone the Repository

git clone https://github.com/showjim/STDFReader.git
cd STDFReader

Step 2: Create Virtual Environment (Recommended)

# On Windows
python -m venv venv
venv\Scripts\activate

# On macOS/Linux
python3 -m venv venv
source venv/bin/activate

Step 3: Install Dependencies

pip install -r requirements.txt

Building an Executable (Optional)

To create a standalone executable:

pyinstaller STDF_Reader_GUI.spec

The executable will be located in the dist/ directory.


Usage

CLI Usage

After installing via pip, the CLI tool is available as stdf-reader:

# Show available commands
stdf-reader --help

# Parse STDF/STD file(s) to CSV
stdf-reader convert-csv <file(s)> [-o output_name]
# Options: --ignore-tnum, --ignore-chnum, --no-merge

# Parse STDF/STD file to XLSX table
stdf-reader convert-xlsx <file>

# Generate analysis report (XLSX) from CSV
stdf-reader report <csv_file(s)> [-o output.xlsx]

# Generate PDF charts for selected tests
stdf-reader pdf <csv_file(s)> [-o output.pdf]
# Options: --tests "name", --regex "pattern", --all, --no-limits, --group-by-file

# Generate correlation report
stdf-reader correlation <csv_file(s)> [-o output.xlsx]

# Generate site-to-site correlation report
stdf-reader s2s <csv_file(s)> [-o output.xlsx] [--cherry-pick "1,3,5"]

# Extract specific records (DTR, GDR, TSR, GDR_ZIP)
stdf-reader extract-record <file> --type <record_type>

# Extract sub-CSV for specific tests
stdf-reader extract-tests <csv_file(s)> [-o output.csv]

# List all test instances in a CSV file
stdf-reader list-tests <csv_file(s)> [--filter "pattern"]

# Transpose a CSV file (rows <-> columns)
stdf-reader transpose <csv_file> [-o output.csv]

# Parse diagnosis log
stdf-reader convert-diag <file>

GUI Usage

After installing with GUI support (pip install stdf-reader[gui]), launch the GUI:

stdf-reader-gui

Or run directly from source:

python STDF_Reader_GUI.py

Quick Start Guide

  1. Launch the Application

    • Run stdf-reader-gui or execute the built binary
    • The main window will open with the "Some Tools" tab active
  2. Load an STDF File

    • Click the "Select STDF/STD File" button
    • Navigate to your test data file and select it
    • The file will be parsed into *.csv format
    • Load the CSV file
  3. Generate Basic Reports

    • Use the "Select Test" dropdown to choose a specific test
    • Click "Generate PDF" to create a PDF report
    • Click "Generate XLSX" to create an Excel report
  4. Perform Data Analysis

    • Navigate to different tabs for various analysis options
    • Use "Data Statistics" for comprehensive statistical analysis
    • Access "Wafer Map" for spatial visualization
    • Try "Correlation" to compare two datasets

Screenshots

Sample Screenshots


Special Thanks

  • The original PySTDF library for providing robust STDF parsing capabilities
  • The matplotlib and numpy communities for exceptional visualization and numerical computing tools
  • All users who have provided feedback and bug reports to improve this tool

License

This project is licensed under the GNU General Public License v2.0.


Built for the semiconductor testing community

If you find this tool useful, please consider giving it a star!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stdf_reader-0.10.6.tar.gz (97.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stdf_reader-0.10.6-py3-none-any.whl (107.0 kB view details)

Uploaded Python 3

File details

Details for the file stdf_reader-0.10.6.tar.gz.

File metadata

  • Download URL: stdf_reader-0.10.6.tar.gz
  • Upload date:
  • Size: 97.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stdf_reader-0.10.6.tar.gz
Algorithm Hash digest
SHA256 cd036afc53ab1fa17078a9e045b6a488dd3c41602482e6cc62b953be60bfdf93
MD5 75d709689e0828efabf88fe677e579c8
BLAKE2b-256 50777e1111750481b51453e8e7857f7ddc8e24217d2bfce84a8c1588754a52f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for stdf_reader-0.10.6.tar.gz:

Publisher: publish.yml on showjim/STDFReader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stdf_reader-0.10.6-py3-none-any.whl.

File metadata

  • Download URL: stdf_reader-0.10.6-py3-none-any.whl
  • Upload date:
  • Size: 107.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stdf_reader-0.10.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c57b0dd1ca9fea3ee3564a80da73e123945a98dfaffd3d88a8c669204b34cfce
MD5 4c11e338828b01ced0dff56f6b29b4b3
BLAKE2b-256 ac0f2bc5ef0a9771c5f85009d8b0deb785efe52c2e4d89d3f60bda9b0ab8aa65

See more details on using hashes here.

Provenance

The following attestation bundles were made for stdf_reader-0.10.6-py3-none-any.whl:

Publisher: publish.yml on showjim/STDFReader

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page