SemiMatrix / TOPICS / DESIGN FOR TESTABILITY (DFT & JTAG)
SILICON TESTABILITY & FAULT COVERAGE

Design for Testability (DFT)
Scan Insertion, ATPG Compression, MBIST & IEEE 1149.1 JTAG

Synopsys TestMAX / TetraMAX Siemens Tessent TestKompress March C+ MBIST & BISR IEEE 1149.1 TAP Controller

ในชิปเซมิคอนดักเตอร์ยุค Sub-3nm ที่มีทรานซิสเตอร์นับหมื่นล้านตัว การตรวจจับข้อบกพร่องทางกายภาพ (Manufacturing Defects) ผ่านขา I/O ภายนอกเป็นสิ่งที่เป็นไปไม่ได้ โครงสร้าง Design for Testability (DFT) จึงทำหน้าที่เปลี่ยนวงจรปิด (Black Box) ให้กลายเป็นวงจรโปร่งใส (White Box) เพื่อให้สามารถควบคุม (Controllability) และสังเกต (Observability) สถานะตรรกะภายในได้ 100%

📍 CAREER ROADMAP CONTEXT
STAGE 03 — DESIGN FOR TESTABILITY: Scan, BIST & Silicon Bring-Up
แทรก Scan Chains ด้วย Synopsys TestMAX หรือ Siemens Tessent, สร้าง Test Patterns ด้วย ATPG, ออกแบบ Memory BIST (March C+) สำหรับ SRAM arrays, วาง IEEE 1149.1 JTAG TAP controller และทดสอบบนเครื่อง ATE (Advantest 93000 / Teradyne)
Industry Tools: Synopsys TestMAX (TetraMAX/DFTMAX), Siemens Tessent, Cadence Modus, Advantest SmarTest
Related: ATE Test Platforms · Wafer Sort & Probe Cards · RTL Architecture · HDL Sandbox Lab
Role: DFT Engineer / Silicon Test Engineer / ATE Product Engineer

01 ทำไม DFT จึงจำเป็นในอุตสาหกรรมเซมิคอนดักเตอร์?

ข้อบกพร่องในการผลิต เช่น อนุภาคฝุ่นละอองขนาดจิ๋ว (Particle Contamination), โลหะเชื่อมแตะกัน (Metal Bridge), รูเวียไม่เปิด (Open Contact) หรือความแปรปรวนของสารโดป (Dopant Fluctuation) ทำให้เกิดทรานซิสเตอร์ที่ทำงานผิดพลาด หากปราศจาก DFT วิศวกรจะต้องใช้เวลาทดสอบนานหลายนาทีต่อชิปหนึ่งตัวบนเครื่อง Automated Test Equipment (ATE) ซึ่งมีค่าใช้จ่ายสูงถึง $0.05 – $0.15 ต่อวินาที การทำ DFT ช่วยบีบอัดเวลาทดสอบลงเหลือเพียง ไม่กี่ร้อยมิลลิวินาที และรับประกันอัตราชิปเสียหลุดรอด (Defective Parts Per Million - DPPM) ต่ำกว่า < 1 DPPM สำหรับมาตรฐานยานยนต์ (AEC-Q100)

02 โครงสร้าง Scan Chains & Muxed-D Flip-Flops

หัวใจหลักของ Digital Logic DFT คือการเปลี่ยน Flip-Flop ทุกตัวในวงจรให้กลายเป็น Scan Flip-Flop (Muxed-D Flop):

1
Shift Mode (SE = 1)
ต่อ Flip-Flop ทุกตัวเข้าด้วยกันแบบอนุกรมกลายเป็น Shift Register ขนาดยาว (Scan Chain) ป้อนเวกเตอร์ทดสอบ (Test Vector) เข้าทางขา Scan-In (SI) โดยใช้สัญญาณนาฬิกา Shift Clock ความถี่ปานกลาง (50–100 MHz)
2
Capture Mode (SE = 0)
สลับกลับเข้าสู่โหมดการทำงานปกติ 1 หรือ 2 คาบสัญญาณนาฬิกา (At-Speed Clock เช่น 1–3 GHz) เพื่อให้ Combinational Logic ประมวลผลและจับค่าสถานะเอาต์พุตลงใน Flip-Flop ปลายทาง
3
Unload Mode (SE = 1)
เลื่อนข้อมูลผลลัพธ์ออกจาก Scan Chain ผ่านขา Scan-Out (SO) ไปยังเครื่อง ATE เพื่อเปรียบเทียบกับคำตอบอุดมคติ (Golden Signature) พร้อมกับเลื่อนเวกเตอร์ชุดถัดไปเข้ามาพร้อมกัน
LOCKUP LATCH FOR CROSS-CLOCK DOMAIN SCAN CHAINS
\text{Lockup Latch} = \text{Negative-Level Sensitive Latch triggered on } \overline{\text{CLK}_{\text{domain1}}}
เมื่อ Scan Chain วิ่งข้ามระหว่าง Clock Domain หรือข้ามระหว่าง Clock Tree Buffers ที่มี Skew สูง จะเกิดความเสี่ยง Hold Time Violation ในระหว่าง Shift การใส่ Lockup Latch ขวางไว้ที่รอยต่อจะหน่วงเวลาข้อมูลไว้ครึ่งคาบ ($T_{\text{clk}}/2$) เพื่อรับประกันความปลอดภัยของการ Shift 100%

03 โมเดลความผิดพลาด ATPG & Fault Coverage

โปรแกรม Automatic Test Pattern Generation (ATPG) ใช้อัลกอริทึม (เช่น D-Algorithm, PODEM, FAN) ในการสร้างแพทเทิร์นทดสอบตามโมเดลข้อบกพร่อง:

Fault Model พฤติกรรมทางกายภาพ วิธีการกระตุ้นและการวัดผล
Stuck-At Faults (SA0 / SA1) สายสัญญาณหรือเกตลอจิกค้างอยู่ที่ 0 (Short to GND) หรือค้างอยู่ที่ 1 (Short to VDD) Static DC Test: สั่งให้โหนดเป็น 1 เพื่อตรวจจับ SA0 หรือสั่งให้โหนดเป็น 0 เพื่อตรวจจับ SA1
At-Speed Transition Delay (TDF) ทรานซิสเตอร์สวิตช์ช้ากว่าปกติ (Slow-to-Rise / Slow-to-Fall) เนื่องจาก High-R Via 2-Pulse Launch & Capture: ยิงพัลส์คู่ด้วยความถี่ทำงานจริง (Launch-off-Capture / LOC)
Cell-Aware Faults (CAF) ความผิดพลาดแฝงอยู่ภายในโครงสร้างทรานซิสเตอร์ย่อยของ Standard Cell วิเคราะห์ Parasitic Layout ภายใน Library Cell เพื่อสร้างแพทเทิร์นเจาะจงระดับทรานซิสเตอร์
Bridging Faults เส้นลวดสองเส้นที่เดินขนานกันเกิดเศษโลหะแตะช็อต (Wired-AND / Wired-OR) ใส่ค่าตรงข้ามกัน (0 บนสาย A และ 1 บนสาย B) เพื่อดูการดึงรั้งของระดับแรงดัน
TEST COVERAGE VS FAULT COVERAGE FORMULAS
\text{Fault Coverage (FC)} = \frac{\text{Detected Faults}}{\text{Total Faults in Design}} \times 100\%
\text{Test Coverage (TC)} = \frac{\text{Detected Faults}}{\text{Total Faults} - \text{Untestable Faults (Tied / Blocked)}} \times 100\%
ในชิประดับ Tier-1 Signoff เกณฑ์ Test Coverage สำหรับ Stuck-At Faults ต้องมากกว่า ≥ 99.5% และสำหรับ At-Speed Transition Delay ต้องมากกว่า ≥ 90-95%

04 เทคนิค Test Compression (Embedded Deterministic Test - EDT)

เนื่องจากเวกเตอร์ทดสอบส่วนใหญ่มีบิตที่ไม่สนใจผล (Don't Care Bits: X-bits) สูงถึง 98-99% เทคนิคบีบอัดแพทเทิร์น (เช่น Synopsys DFTMAX Ultra, Siemens TestKompress):

  • On-Chip Decompressor (LFSR / Ring Generator): รับบิตบีบอัดขนาดเล็กจากขา ATE เพียง 4-8 ขา แล้วแตกออกเป็น Scan Chains ภายในชิปกว่า 200–1,000 เส้นพร้อมกัน
  • On-Chip Compactor (MISR / XOR Network): นำผลลัพธ์จาก Scan Chains นับพันเส้นมายุบรวมด้วย XOR Matrix ให้เหลือเพียงขา Scan-Out ภายนอก 4-8 ขา
  • อัตราการบีบอัดข้อมูล (Compression Ratio): ช่วยลดเวลาทดสอบและขนาดหน่วยความจำของเครื่อง ATE ลงได้ถึง $50\times - 400\times$

05 Memory Built-In Self-Test (MBIST) & March C+

ในชิปประมวลผลขนาดใหญ่ หน่วยความจำ SRAM ครองพื้นที่ชิปมากกว่า 50-70% วงจร MBIST Controller จะทำหน้าที่กำเนิดอัลกอริทึมทดสอบและวิเคราะห์ผลบนตัวชิปเองโดยไม่ต้องพึ่งพา ATE ภายนอก:

MARCH C+ ALGORITHM FLOW (COMPLEXITY: 6N)
\{\Updownarrow (w0); \Uparrow (r0, w1); \Uparrow (r1, w0); \Downarrow (r0, w1); \Downarrow (r1, w0); \Updownarrow (r0)\}
เมื่อ $w0, w1$ คือการเขียนค่า 0 หรือ 1, $r0, r1$ คือการอ่านและตรวจเทียบค่า, $\Uparrow$ คือการวิ่งแอดเดรสจากต่ำไปสูง, $\Downarrow$ คือการวิ่งแอดเดรสจากสูงไปต่ำ อัลกอริทึม March C+ สามารถตรวจจับ Address Decoder Faults, Transition Faults, Stuck-At Faults, และ Coupling Faults ระหว่างบิตเซลล์ข้างเคียงได้อย่างสมบูรณ์แบบ

หากตรวจพบ Bitcell เสีย วงจร Built-In Self-Repair (BISR) จะคำนวณตำแหน่งและสั่งยิงเลเซอร์หรือเบิร์น eFuse Arrays เพื่อสลับเอาแถวสำรอง (Redundant Row/Column) เข้ามาแทนที่ ทำให้ชิปกลับมาใช้งานได้สมบูรณ์ (เพิ่ม Yield)

06 IEEE 1149.1 JTAG Boundary Scan & TAP Controller

มาตรฐาน IEEE 1149.1 (Joint Test Action Group - JTAG) ใช้อินเตอร์เฟซ 4-5 สัญญาณ:

  • TCK (Test Clock), TMS (Test Mode Select), TDI (Test Data In), TDO (Test Data Out), และ TRST_N (Optional Asynchronous Reset)
  • 16-State TAP Controller FSM: ควบคุมสเต็ปการ Shift และ Update ผ่านสาย TMS (Test-Logic-Reset → Run-Test/Idle → Select-DR-Scan → Capture-DR → Shift-DR → Update-DR)
  • Boundary Scan Cells (BSC): วางอยู่รอบๆ I/O Pads ทุกขาเพื่อทดสอบรอยบัดกรีบนแผ่น PCB (Interconnect Solder Bridge / Open) โดยไม่ต้องใช้เข็มสัมผัส

07 โฟลว์การสังเคราะห์และรัน DFT Signoff

วิศวกร DFT จะรันคำสั่งร่วมกับ Logic Synthesis:

# Synopsys TestMAX Synthesis & Scan Insertion Script
set_scan_configuration -chain_count 128 -style multiplexed_flip_flop
set_scan_signal test_scan_enable -port SE
insert_dft
check_dft -verbose

# TetraMAX ATPG Execution
set_faults -model transition
add_faults -all
run_atpg -auto_compression
report_summaries fault_coverage

08 ปฏิบัติการจำลองบน HDL & Logic Sandbox Lab

คุณสามารถทดสอบการเขียนวงจร Shift Registers, การทำ Muxed-D Flip-Flop และการจำลองสัญญาณควบคุม Scan Enable ได้โดยตรงในเบราว์เซอร์:

HDL & Digital Logic Sandbox

ทดลองต่อวงจร Scan Register, ตรวจสอบเวฟฟอร์ม Shift/Capture และดูการสลับโหมดตรรกะในเบราว์เซอร์

เปิดห้องแล็บ HDL Sandbox →