SoC Test 실습 강성호 (연세대학교, 전기전자공학과) Copyrightⓒ2003.

Slides:



Advertisements
Similar presentations
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
Advertisements

IspLEVER 6.1 을 이용한 회로 설계 (Schematic). Table of Contents ispLEVER ispLEVER 6.1 tool 의 시작프로그램 2.Lattice Device 의 Design 1) 프로그램시작 2) 새로운 Project 만들기.
SK하이닉스 2014년 상반기 미주지역 우수인재 모집
ASIC (Application Specific Integrated Circuit)
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
Project Goal..! Milestone Role Division Achievement Result
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
제 2장 컴퓨터 구조.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
마이크로프로세서 메모리 및 입출력장치 인터페이스
Computer System Architecture
제6장 FUSING.
Sequential logic circuit
순차로직 개요.
(제5강) CSR에 대한 전략적 접근방법(2) [컨설팅방법론의 개발 및 활용] 강연: 나도성 한성대학교 컨설팅 대학원 교수
팀 명: Con Spirito 팀 원: 경주리 김다정 김소담 최은미
10장 주변장치 (PIO) Slide 1 (of 28).
Install & Simulation VLSI 시스템 설계
 midi LOGGER GL220   신제품 소개 Dec, 2011.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
임베디드 하드웨어 Lecture #6.
컴퓨터 구조학 정보보호학과.
12. 데이터베이스 설계.
Verilog HDL 이론.
(Integrated System Design Lab)
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
공학실험.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
DSP와 TMS320F28X의 이해
DSP와 TMS320F28x의 이해.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
MAX+PLUS II 설치 및 디지털 시스템의 설계 방법
순차회로 모델링 Sun, Hye-Seung.
컴퓨터 구조.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
가상플랫폼을 사용한 임베디드SW 개발 (CoWare CoWare Virtual Platform Designer 사용)
논리회로 설계 및 실험 2주차.
1장. 디지털 논리 회로 다루는 내용 논리 게이트 부울 대수 조합 논리회로 순차 논리회로.
Quartus 를 이용한 ROM 설계 ROM table 의 작성
UNIT 02 Microprocessor 로봇 SW 교육원 조용수.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
OrCad Capture 정원근.
Electronic Engineering 2
Chapter 06 명령어와 번지지정 방식.
HDL의 이해 Lecture #3.
Flip-Flop 설계.
디지털 시스템 설계(3).
임베디드 소프트웨어 설계.
Fault Diagnosis for Embedded Read-Only Memories
Computer System Architecture
Programmable Logic Device
Chapter 4 The Von Neumann Model.
Introduction to OrCAD Capture
한양대 교육공학과 석사과정 양선영 Cmap Tool 사용법 한양대 교육공학과 석사과정 양선영
A Web-Based Little Man Computer Simulator
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Electronic Engineering 2
7주차 FPGA 보드 사용법.
Chapter 12 Memory Organization
논리회로 설계 및 실험 2주차.
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
Lecture #6 제5장 기억장치 (1).
IBM Corporation {haoxing, eleve, kravets,
반도체 테스트 분야 산학협력 교육 및 연구 한양대학교 박성주 교수.
DEGITAL LOGIC CIRCUIT Term Project – 4 bit ALU.
컴퓨터구조 강의소개 정보통신공학과 한성대학교.
논리회로 설계실험 ICE ICE 담당교수 : 김 인 수.
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
ADLAD System MANUAL [ ] SEM. Digital Appliance ADLAD System ?
Presentation transcript:

SoC Test 실습 강성호 (연세대학교, 전기전자공학과) Copyrightⓒ2003

과목 개요(Learning Map) Copyrightⓒ2003

(모듈18) 목차 Introduction DFTCompiler를 이용한 Scan 구조 삽입 TetraMax ATPG를 이용한 테스트 패턴 생성 SoCbist를 이용한 Bist 구조 삽입 SoCbist를 이용한 Wrapper 구조 삽입 Copyrightⓒ2003

과목 개요 학습 목표 SoC 내부에 존재하는 코어를 기반으로 구축되는 SoC 테스트 방법을 실습을 통하여 구체적으로 이해한다. 이를 위하여 Synopsys 사의 DFTCompiler, Tetramax, SoCBIST를 이용하여 각 코어 수준의 테스트 접근과 SoC 수준의 테스트 환경을 구축한다. 선수지식 SoC Test 및 Design for Testability 관련 이론 Copyrightⓒ2003

SoC Test Scheme Test Automation Fault simulation Testability measure RF/Analog Core User Defined Core User Defined Core DRAM IP ROM UDL BIST Mem BIST Test Access SoC Test Controller IO Pad Low cost external ATE Memory test algorithm Memory BIST, BISR Testable design Analog Fault modeling Mixed signal Built-In Self Test Built-In Self Calibration Testable core design Logic BIST Test reuse Hierarchical testing Core access architecture Parallel access & bypass Core isolation IP-system test interface Test spec. Test hardware control Test scheduling Automatic test pattern Fault simulation Testability measure Scan insertion & synthesis BIST circuit synthesis Boundary scan insertion & synthesis Test Automation Copyrightⓒ2003

DFTs for SoC Test Scan 구조 삽입 Wrapper 구조 삽입 BIST 구조 삽입 순차회로인 코어를 테스트하기 위한 필수적인 사항 Wrapper 구조 삽입 SoC의 외부 핀으로부터 테스트 대상 코어까지의 접근 경로를 제공하며, 동시에 필요에 의한 코어의 고립(isolation)상태 제공 BIST 구조 삽입 ATE의 과중한 load 분담 및 at-speed test와 같은 고사양의 테스트를 위한 사항 회로의 동작에 영향을 주지 않아야 함 Copyrightⓒ2003

Test Scheme using Synopsys Test Technologies Supporting Tools DFTCompiler Scan Insertion SoCBIST : DBIST BIST Insertion BSD Architect Boundary Scan Insertion SoCBIST : SoCTest Wrapper Insertion TetraMax ATPG Copyrightⓒ2003

(모듈18) 목차 DFTCompiler를 이용한 Scan 구조 삽입 Introduction TetraMax ATPG를 이용한 테스트 패턴 생성 SoCbist를 이용한 bist 구조 삽입 SoCbist를 이용한 wrapper 구조 삽입 Copyrightⓒ2003

Scan Testing for SoC Core Sequential element에 대한 controlability와 observability의 확보 Normal mode / test mode Primary Outputs Inputs F/F Core Primary Outputs Inputs F/F SCAN IN SCAN OUT MODE MUX Core Copyrightⓒ2003

(모듈18) DFT Compiler DFT Compiler는 gate 수준의 회로에 대하여 scan 구조를 삽입함으로써 순차 회로에 대한 테스트를 가능하게 한다. Copyrightⓒ2003

Read Input Files 사용할 library와 scan을 삽입하고자하는 gate 수준의 파일을 읽는다. dc_shell> read target_library dc_shell> read mydesign.v –format verilog Copyrightⓒ2003

Scan Ready Synthesis Scan chain을 삽입할 수 있도록 합성한다. Scan을 위해 사용되는 flip-flop의 종류와 full scan 및 partial scan의 사용여부를 결정한다. 제공하는 scan flip-flop은 multiplexed flip-flop, clocked flip-flop, LSSD등이다. dc_shell> current_design design_name dc_shell> set_scan_configuration –style \ multiplexed_flip_flop dc_shell> set_scan_configuration –methodology full_scan dc_shell> compile -scan Copyrightⓒ2003

Set Test Clock & Scan Signals Scan chain과 관련된 입출력 port를 지정한다. dc_shell> create_test_clock –period 100 –waveform \ {40, 60} find(port, “clk”) dc_shell> set_scan_signal test_scan_in –port si_name dc_shell> set_scan_signal test_scan_out –port so_name dc_shell> set_scan_signal test_scan_enable –port se_name Copyrightⓒ2003

Scan Specification & Preview 사용할 scan chain의 개수를 지정한다. Scan의 specification과 관련된 사항을 검사함으로써 삽입될 scan에 관한 정보를 확인한다. dc_shell> set_scan_configuration –chain_count 1 dc_shell> preview_scan Copyrightⓒ2003

Scan Chain Synthesis & Check Design에 존재하는 scan cell을 앞서 설정한 내용에 맞추어 scan chain으로 구성한다. Scan design rule에 적합한 design인지 검사한다. Scan cell의 개수와 같은 design에 대한 정보를 확인할 수 있다. dc_shell> insert_scan dc_shell> check_test Copyrightⓒ2003

Write Out Files Scan을 삽입한 verilog netlist를 저장한다. spf(Stil Protocol file)은 ATPG를 위해 필요하다. dc_shell> write –format verilog –hierarchy –output my_scan.v dc_shell> write_test_protocol –format stil –out my_scan.spf Copyrightⓒ2003

(모듈18) 목차 TetraMax ATPG를 이용한 테스트 패턴 생성 Introduction DFTCompiler를 이용한 Scan 구조 삽입 TetraMax ATPG를 이용한 테스트 패턴 생성 SoCbist를 이용한 bist 구조 삽입 SoCbist를 이용한 wrapper 구조 삽입 Copyrightⓒ2003

Automatic Test Pattern Generation ATPG(Automatic Test Pattern Generation)는 테스트 대상이 되는 회로를 통하여 검출하고자 하는 고장 모델에 대한 적합한 테스트 패턴을 추출하는 과정이다. 조합회로(combinational circuit)에 대해서는 바로 ATPG 과정을 통하여 높은 고장 검출률을 보장하는 패턴을 얻을 수 있으나, 순차회로(sequential circuit)에 대해서는 DFTCompiler를 통하여 scan 구조를 삽입한 후 ATPG를 수행하여야 충분한 고장 검출률을 얻을 수 있다. ATPG Tests Circuit Fault Model Set Copyrightⓒ2003

ATPG by TetraMax Tetramax는 회로의 고장 유무를 판단할 수 있는 테스트 패턴 생성 과정인 Automatic Test Pattern Generation를 지원한다. 이 과정의 주요 목적은 가장 적은 개수의 테스트 패턴을 통하여 사용자가 요구하는 가장 높은 고장 검출률을 보장하는 것이다. Copyrightⓒ2003

A Simple TetraMax Flow Copyrightⓒ2003

TetraMax Main Window Command toolbar GSV toolbar Graphical Schematic Viewer Transcript Window Command Line Copyrightⓒ2003

Read Input Files 사용할 library와 design 파일을 읽는다. Tetramax는 .db 형태의 library가 아닌 verilog format의 library를 받아들인다. BUILD> read netlist target_library BUILD> read netlist my_design.v Copyrightⓒ2003

Build Model ATPG를 수행하고자하는 design의 이름을 정한다. Design에 포함된 scan chain의 정보를 입력한다. BUILD> run build_model top_module_name BUILD> add clock 0 clk BUILD> add scan enable 1 test_se Copyrightⓒ2003

Run DRC 앞서 DFTCompiler를 통해서 추출했던 .spf 파일을 통해 design rule check를 수행한다. 이를 통하여 ATPG를 수행함에 있어서 필수적인 테스트 동작시의 회로의 동작이 입력된다. BUILD> run drc filename.spf Copyrightⓒ2003

Run ATPG ATPG를 통하여 검출하고자하는 고장 및 수행 시간, 고장 검출률 등의 제한 사항을 입력한다. BUILD> set atpg –merge medium BUILD> set faults –model stuck BUILD> add faults –all BUILD> run_atpg –auto 1. Copyrightⓒ2003

Review Results ATPG를 수행한 결과를 추출한다. 검출 가능한 고장의 개수와 고장 검출률, 테스트 패턴의 개수 등의 정보를 확인할 수 있다. BUILD> report_summaries Copyrightⓒ2003

Compress 앞서 얻어진 테스트 패턴을 압축한다. 앞서 얻어진 테스트 패턴 중에는 중복되는 고장을 검출할 수 있는 테스트 패턴이 다수 포함되어 있다. 따라서 패턴 압축 과정을 통하여 동일한 고장 검출률을 보장하는 최소의 패턴을 추출한다. BUILD> run pattern_compression 20 BUILD> report_summaries Copyrightⓒ2003

Save Patterns 생성된 테스트 패턴을 보기 위해서는 다음을 수행한다. 생성된 패턴을 파일로 저장한다. 지원되는 포맷은 WGL(Waveform Generation Language)와 STIL(Standard Test Interface Language)가 있다. 생성된 패턴을 verilog 포맷으로 저장하여 시뮬레이션을 통해 검증할 수 있다. BUILD> report patterns -all BUILD> write pattern ~.wgl(stil) –format WGL(STIL) BUILD> write pattern ~.v –format verilog Copyrightⓒ2003

(모듈18) 목차 SoCbist를 이용한 bist 구조 삽입 Introduction DFTCompiler를 이용한 Scan 구조 삽입 TetraMax ATPG를 이용한 테스트 패턴 생성 SoCbist를 이용한 bist 구조 삽입 SoCbist를 이용한 wrapper 구조 삽입 Copyrightⓒ2003

BIST(Built-In-Self-Test) Test Pattern Generator Test Response Analyzer BIST Controller BIST는 ATE가 수행해야 할 테스트 패턴의 입력과 결과의 분석을 칩에 내장된 장치를 통해서 수행한다. ATE는 테스트 대상 회로에 대한 다양한 정보를 저장하고 있어야 하므로, 이에 대한 메모리의 오버헤드가 크다. 이러한 문제는 다수의 코어를 내장하고 있는 SOC에서는 더욱 커지므로, 이에 대하여 효과적인 테스트 방안으로 BISt는 각광받고 있다. 따라서 ATE와 BIST의 역할을 적절히 분담하는 다양한 방안과 효과적인 BIST 적용을 위한 다양한 연구가 진행되고 있다. Copyrightⓒ2003

SoCBIST : DBIST Test-ready core로부터 테스트 관련 정보를 파악하여 BIST-ready core를 추출한다. BIST-ready core에 실제 BIST 구조를 삽입한다. Copyrightⓒ2003

Creating a BIST-Ready Design Copyrightⓒ2003

Read and Link Test-ready Design BIST를 삽입하고자 하는 대상 회로를 읽는다. 회로의 top_module을 지정한다. dc_shell> read –format db my_design.db dc_shell> link dc_shell> current_design my_top Copyrightⓒ2003

Test Clock 생성 Clock을 생성한다. dc_shell> create_test_clock my_clock –waveform {45 55} Copyrightⓒ2003

BIST 삽입을 위한 구성 BIST와 wrapper를 삽입하기 위한 명령 SoC에서 BIST를 삽입하려면 외부 core에 대한 완전한 isolation이 이루어져야하므로, wrapper의 구성이 필요하다. dc_shell> set_dft_configuration –core_wrapper -bist dc_shell> set_core_wrapper_configuration \ –dedicated wrapper_cell WC_D1 \–default_safe_state 0 dc_shell> set_bist_configuration –bist_ready Copyrightⓒ2003

Check Design Rules Test design rule을 검사한다. BIST design rule을 검사한다. 삽입될 scan 구조를 확인한다. dc_shell> check_dft dc_shell> check_dft -bist dc_shell> preview_dft Copyrightⓒ2003

테스트 구조의 삽입 테스트 포인트를 삽입하고, X-propagation을 보정한다. dc_shell> insert_dft Copyrightⓒ2003

Check Design Rules Wrapper가 삽입되었으므로, design rule을 check하기 전에 test mode를 INTEST로 변경한다. Test design rule을 검사한다. BIST design rule을 검사한다. dc_shell> current_test_mode wrp_if dc_shell> check_dft dc_shell> check_dft -bist Copyrightⓒ2003

Write Out Files 최종적으로 생성된 BIST-ready netlist와 test model을 저장한다. dc_shell> write –output mydesign.db dc_shell> write_test_model –output my_test_model.db Copyrightⓒ2003

Inserting the BIST Controller and Reconfiguring Scan Chain Copyrightⓒ2003

Specify Current design을 지정하고 필요한 변수를 지정한다. dc_shell> current_design my_top dc_shell> test_stil_netlist_format = verilog Copyrightⓒ2003

BIST 설정 BIST controller의 삽입을 위한 설정 BIST controller의 type을 선택한다. dc_shell> remove_dft_configuration dc_shell> set_dft_configuration -bist dc_shell> set_bist_configuration –integration –type dbist dc_shell> set_bist_configuration –integration –type xdbist Copyrightⓒ2003

Check Design Rules Test design rule을 검사한다. 삽입될 scan 구조에 대한 확인한다. dc_shell> check_dft dc_shell> preview_dft Copyrightⓒ2003

BIST controller 삽입 삽입된 controller를 확인한다. dc_shell> insert_dft dc_shell> report_test -bist Copyrightⓒ2003

Write Out Files Controller가 삽입된 netlist를 저장한다. Verilog 및 STIL 파일을 저장한다. dc_shell> write mydesign.db dc_shell> write –format verilog –hierarchy –output \ my_design.v dc_shell> write_test_protocol –format stil –test_mode \ BIST_Mode –output top_scan.stil Scan_Mode –output scan.stil Controller_Mode –output ctrl.stil Copyrightⓒ2003

(모듈18) 목차 SoCbist를 이용한 wrapper 구조 삽입 Introduction DFTCompiler를 이용한 Scan 구조 삽입 TetraMax ATPG를 이용한 테스트 패턴 생성 SoCbist를 이용한 bist 구조 삽입 SoCbist를 이용한 wrapper 구조 삽입 Copyrightⓒ2003

Test Access for SoC core IEEE P1500 Wrapper를 이용한 테스트 접근 TAM Test controller core Scan Chain pi po Scan Chain SoC 내부에 존재하는 코어 수준의 테스트 접근을 위하여 현재 IEEE P1500 표준 제정이 진행중이다. 이 표준안은 현재 필수적인 테스트 구조에 대한 표준을 지정하고 있다. 즉 SoC 내부의 단일 코어 수준에서 보면 코어에 존재하는 스캔 체인 및 wrapper라 명명된 외부와의 Acess 및 isolation을 위한 테스트 접근 구조를 지정하고 이외 테스트 수행에 필수적인 bypass 및 instruction register등을 제안한다. 이를 전체 SoC 수준으로 확장하면, 칩 외부와 내부 코어간의 접근 경로를 위한 TAM(Test Access Mechanism)이라 명명된 구조와 전체 테스트를 관장하기 위한 Controller가 추가되는데, 이는 현재 User-define에 의해 구성되도록 하고 있다. 따라서 단일 코어 수준에서는 전체 SoC 수준에서 동작이 가능하도록 Wrapper 구조를 추가하는 과정이 필요하다. Bypass TDO TDI Instruction Register Copyrightⓒ2003

SoCBIST : SoCTest 테스트 구조가 삽입된 회로를 인식하여 이에 적합한 wrapper 구조를 삽입할수 있도록 준비한다. SoCTest를 통해서 SoC에 내장될 코어에 wrapper를 삽입함으로써 SoC 환경에서의 테스트 접근 및 isolation을 가능하게 한다. Copyrightⓒ2003

Inferring Test Models 회로내에 존재하는 테스트 관련 구조를 파악 테스트 용도로 사용되는 외부핀등을 지정 테스트 구조의 삽입은 없음 CTL 형태의 결과를 저장 DFTCompiler에 의한 단일 scan chain만을 인식 Copyrightⓒ2003

Test Model Inference Flow Copyrightⓒ2003

Test Protocol 정의 Normal test mode를 정의한다. Functional mode 특성을 정의한다. Clock, test control signal등을 정의 dc_shell> define_test_mode my_mission_mode –type Normal \ -existing dc_shell> create_clock CLK –period 100 –waveform {45 55} dc_shell> set_test_hold 0 TM Copyrightⓒ2003

Infer The Test Protocol 앞선 과정에서 정의한 functional test protocol을 추정 이 결과가 design rule에 적합한지 검사한다. Design rule에 위배되는 결과가 나오면, 이에 대하여 test protocol을 다시 정의하여 이를 수정한다. dc_shell> infer_test_protocol dc_shell> check_dft Copyrightⓒ2003

Scan Protocol 정의 Internal scan test mode를 정의한다. dc_shell> define_test_mode my_internal_scan –type \ InternalTest -existin dc_shell> set scan_configuration –style \ multiplexed_flip_flop dc_shell> set_signal_type test_scan_en se dc_shell> set_signal_type test_scan_in si dc_shell> set_signal_type test_scan_out so Copyrightⓒ2003

Infer The Scan Protocol 이 결과가 design rule에 적합한지 검사한다. Design rule에 위배되는 결과가 나오면, 이에 대하여 test protocol을 다시 정의하여 이를 수정한다. dc_shell> infer_test_protocol dc_shell> check_dft Copyrightⓒ2003

Report & Write The Test Model Test model은 CTL format으로 저장된다. dc_shell> report_test_model dc_shell> write -format db -hier -output mydesign_infer.db dc_shell> write_test_model -format db -output ~.ctldb dc_shell> write_test_model -format ctl -output ~.ctl Copyrightⓒ2003

Scan-Stitched Core Flow Copyrightⓒ2003

Wrapper 구성 코어에 wrapper를 구성한다. 실제 wrapper와 scan cell을 삽입하기 전에 검사한다. dc_shell> set_dft_configuration -core_wrapper dc_shell> preview_dft -test_wrapper all Copyrightⓒ2003

Wrapper cell 삽입 실제로 wrapper cell을 삽입하고 이를 체인으로 구성한다. 코어에 포함된 test model을 확인한다. dc_shell> insert_dft dc_shell> report_test_model Copyrightⓒ2003

Wrapper 삽입 검증 다양한 test mode에 대하여 이들이 모두 design rule에 위배되지 않는지 확인한다. 새롭게 생성된 design이 ATPG가 가능한지 확인한다. dc_shell> current_test_mode wrp-if dc_shell> check_dft Copyrightⓒ2003

Wrapped core 저장 dc_shell> write_test_model -format ctl -out \ mydesign_wwrpr.ctl dc_shell> write -f verilog -hier -out mydesign_wwrpr.v dc_shell> write -f db -hier -out mydesign_wwrpr.db Copyrightⓒ2003

Homework ISCAS ’89 벤치마크 회로중 s13207회로에 대하여 다음을 수행한다. DFTCompiler를 이용하여 scan 구조를 삽입 SoCTest를 이용하여 wrapper 구조 삽입 TetraMax ATPG를 이용하여 테스트 패턴 생성 동일한 회로에 대하여 다음을 수행한다. SoCBIST를 이용하여 BIST 구조를 삽입한다. 제출할 결과물 최종 추출된 회로(HDL 코드) ATPG 결과물(테스트 패턴, 고장 검출률) Copyrightⓒ2003

(모듈18) 참고문헌 http://www.synopsys.com P. Kurup, T. Abbasi, “Logic Synthesis Using Synopsys,” Seond Edition, KAP, 1997. Copyrightⓒ2003