TDA 2.0.1

dotnet add package TDA --version 2.0.1
                    
NuGet\Install-Package TDA -Version 2.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TDA" Version="2.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TDA" Version="2.0.1" />
                    
Directory.Packages.props
<PackageReference Include="TDA" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TDA --version 2.0.1
                    
#r "nuget: TDA, 2.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TDA@2.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TDA&version=2.0.1
                    
Install as a Cake Addin
#tool nuget:?package=TDA&version=2.0.1
                    
Install as a Cake Tool

TDA Framework

半导体芯片量产测试数据分析框架。提供 STDF V4 文件解析、多 Sublot/复测数据关联、并行统计分析(Cp/Cpk)、图表可视化以及数据导入导出能力。

Packages

Package Description
TDA 核心库 — STDF 解析、数据分析、导入导出
TDA.GUI WinForms 可视化控件 — 趋势图、直方图、箱线图、晶圆图、数据表格

Installation

dotnet add package TDA
dotnet add package TDA.GUI

Quick Start

加载 STDF 数据并进行良率分析

using TDA;
using TDA.Analysis;

// 1. 配置
var setup = new DataPrismSetup
{
    Sublots = new[]
    {
        new SublotConfig
        {
            SublotName = "Lot001_SL00",
            TestRounds = new[]
            {
                new TestRoundConfig // 初测
                {
                    StdfFilePaths = new[] { "C:\\data\\lot001_sl00_ft1.stdf.gz" }
                },
                new TestRoundConfig // 复测:仅复测 HardBin=2,3 的芯片
                {
                    StdfFilePaths = new[] { "C:\\data\\lot001_sl00_rt1.stdf.gz" },
                    RetestedHardBins = new[] { 2, 3 }
                }
            }
        }
    }
};

// 2. 解析
using var prism = new DataPrism(setup);
prism.Load();

// 3. 查询
Console.WriteLine($"Total devices: {prism.TotalDevices}");
Console.WriteLine($"Yield: {prism.OverallYield:P2}");
Console.WriteLine($"HardBin 1 (Pass): {prism.HardBinCount(1)} devices");

// 4. 按 TestID 获取测试数据并进行统计
var testID = new TestID(testNumber: 1001, testText: "VDD_Isb_Stby");
var stats = prism.GetStatistics(testID);
Console.WriteLine($"Mean={stats.Mean:F4}, StdDev={stats.StdDev:F4}, Cp={stats.Cp:F2}, Cpk={stats.Cpk:F2}");

// 5. 导出
prism.ExportToNedaCsv("C:\\output\\summary.csv");

GUI 图表(TDA.GUI)

using TDA.GUI.Controls;

// 趋势图 — 按芯片测试顺序展示测试值变化
var trendChart = new TrendChart();
trendChart.SetData(prism, testID);
trendChart.Show();

// 直方图 — 支持 Sturges/Scott/FD/Sqrt 四种分箱算法
var histogram = new HistogramPlot();
histogram.SetData(prism, testID);
histogram.Show();

// 晶圆图 — 彩色渲染 Bin 分布(CP 数据专用)
var waferMap = new WaferMapControl();
waferMap.SetData(prism);
waferMap.Show();

Key Concepts

  • Lot — 一批同型号芯片,包含一个或多个 Sublot
  • Sublot — Lot 的子分组,数据独立但需合并分析
  • 初测 (First Test) — 所有芯片的第一轮测试
  • 复测 (Retest) — 初测 Fail 芯片的再次测试,可多轮执行(直至回收率低于阈值)
  • HardBin / SoftBin — 硬件/软件判定分类,1 号通常为 Pass Bin
  • TestID — 由 TestNumber + TestText + TestSequence 三元组唯一标识一个测试项
  • DataPrism — TDA 的核心分析引擎,统一管理多 Sublot、多轮次数据的加载和查询

详细背景知识请参阅 Docs/TermsAndTerminology.md

Documentation

文档 说明
TermsAndTerminology 术语定义与概念说明
TDA Project Structure 项目结构概览
DataGrid Design TDADataGrid 虚拟表格设计
STDF Merge & RT Replacement STDF 合并与复测替换逻辑
About Export 数据导出格式说明
Notes for TDA 开发笔记

API 文档内嵌于各程序集的 XML 文档注释中(<GenerateDocumentationFile>true</GenerateDocumentationFile>),IDE 中悬停即可查看。

License

© TDA Project Contributors

Product Compatible and additional computed target framework versions.
.NET net8.0-windows10.0.19041 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on TDA:

Package Downloads
TDA.GUI

WinForms visualization controls for semiconductor test data. Includes trend charts, histograms (4 binning methods), box plots, cumulative probability plots (Normal/LogNormal/Weibull), wafer maps with color-coded bin visualization, chart linking, and a high-performance virtual data grid — built on ScottPlot and SkiaSharp.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.1 34 7/29/2026