[go: up one dir, main page]

KR101006822B1 - 투명한 테스트 방법 및 스캔 플립 플롭 - Google Patents

투명한 테스트 방법 및 스캔 플립 플롭 Download PDF

Info

Publication number
KR101006822B1
KR101006822B1 KR1020097000531A KR20097000531A KR101006822B1 KR 101006822 B1 KR101006822 B1 KR 101006822B1 KR 1020097000531 A KR1020097000531 A KR 1020097000531A KR 20097000531 A KR20097000531 A KR 20097000531A KR 101006822 B1 KR101006822 B1 KR 101006822B1
Authority
KR
South Korea
Prior art keywords
input
scan
dft
user
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020097000531A
Other languages
English (en)
Other versions
KR20090051157A (ko
Inventor
팻 홈
스티븐 에플렛
라비 센굽타
에릭 웨스트
라일 스미스
Original Assignee
오트르소테크, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오트르소테크, 엘엘씨 filed Critical 오트르소테크, 엘엘씨
Publication of KR20090051157A publication Critical patent/KR20090051157A/ko
Application granted granted Critical
Publication of KR101006822B1 publication Critical patent/KR101006822B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318583Design for test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

IC 설계들(게이트 어레이, 표준 셀, 또는 로직 어레이 설계들을 포함)을 위한 로직 블록들은 스캔 시프팅과 관련된 DFT 규칙들과의 호환을 고유하게 보장하는 DFT-인에이블형 FF(Design-for Test-enabled flip-flop)들을 제공한다. 테스트 스캔-체인들은 임의의 사용자-삽입 테스트 구조들 또는 DFT 고려사항에 대한 다른 배려 없이 설계될 수 있는 사용자-설계 어플리케이션 회로들에 대해 투명(비가시) 방식으로 로직 블록의 인스턴스들을 데이지-체이닝함으로써 구성된다. 이들 DFT-인에이블형 FF들 상의 모든 사용자 핀들에 대한 모든 고착 고장(Stuck-At fault)들 및 사용자 비동기 세트 및 리세트 입력들이 캡쳐 및 스캔 아웃을 통해 관찰 가능하다. 이들 DFT-인에이블형 FF들의 제1 유형은 어플리케이션 회로를 분할 테스트하기 위해 어드레스 가능한 제어를 특징으로 한다. 이들 DFT-인에이블형 FF들의 제2 유형은 분할 테스트의 필요성을 제거하여 제어 로직을 간략화하고 필요한 테스트 벡터수를 감소시키는 통합 캡쳐 버퍼링을 특징으로 한다.
분할 테스트, 스캔 체인, 제어 로직, 고착 고장, 스캔 시프팅

Description

투명한 테스트 방법 및 스캔 플립 플롭{TRANSPARENT TEST METHOD AND SCAN FLIP-FLOP}
관련 출원에 대한 상호 참조
본 출원에 대한 우선권 이점 주장들은 첨부하는 출원 데이터 시트, 요청, 또는 전달(만약 존재한다면, 적합한 것)에서 행해진다. 본 출원의 유형에 의해 허용되는 한, 본 출원은 모든 목적을 위해 이하의 출원들, 즉, 발명자 Pat Hom에 의해 2006년 6월 9일에 출원된, "TRANSPARENT TEST METHOD AND SCAN FLIP-FLOP" 이라는 제목의 미국 가출원 제 60/804,283 호(문서 번호 LS.2006.08); 및 발명자 Pat Hom에 의해 2006년 6월 18일에 출원된, "TRANSPARENT TEST METHOD AND SCAN FLIP-FLOP" 이라는 제목의 미국 가출원 제 60/805,087 호(문서 번호 LS.2006.08A)을 참조하며, 이들 출원들은 본 출원의 소유자에 의해 소유된다.
성능, 효율성 및 유용성을 향상시키기 위해, 집적 회로 설계에서의 테스트 용이성을 위한 발전이 요구된다.
공개적이거나 잘 알려진 것으로서 명시적으로 식별되지 않는 한, 본 명세서에 있어서의 문맥, 정의 또는 비교 목적을 포함하는 기술 및 개념에 대한 언급은, 그러한 기술 및 개념이 이전에 알려진 것이거나 또는 종래 기술의 일부임을 인정하 는 것으로서 제한되어서는 않된다. 특허, 특허 출원 및 간행물을 포함하는 본 명세서에서 인용된 모든 참조 문헌(만약 존재하는 경우)은, 그것이 명확하게 통합되는지의 여부와 관계없이, 모든 목적을 위해 본 명세서에서 참조로 인용된다. 본 명세서에서의 어떠한 것도, 임의의 참조 문헌이 관련된 종래 기술임을 인정하는 것으로 제한되지 않으며, 또한, 이들 문서의 실제 간행의 내용 또는 일자에 관한 어떠한 인정도 제공하지 않는다.
집적 회로 칩은 제조 결함에 대해 테스트되어야 한다. 때때로 제조 결함은 고장 모델(fault model)을 이용하여 모델링된다. 고착(Stuck-At) 고장 모델은 가장 기본적인 고장 모델이다. 고착 고장은 회로에서의 특정한 접속이 (고착 0 또는 SA0으로서 알려진) 낮은 레벨로 유지("고착")되거나 또는 (고착 1 또는 SA1로서 알려진) 높은 레벨로 유지("고착")되는 경우에 발생된다. 접속 상에서의 SA0 고장은 회로가 해당 접속에 대해 1(하이) 값을 배치하도록 제어되지만, 0(로우) 값이 해당 접속에 대해 관찰되는 경우에 검출된다. 접속 상에서의 SA1 고장은 회로가 해당 접속에 대해 0 값을 배치하도록 제어되지만, 1 값이 해당 접속에 대해 관찰되는 경우에 검출된다. 내부 접속들이 쉽게 제어 및 관찰되는 회로는, 내부 접속들을 제어 및 관찰하는 것이 더 어려운 회로보다 테스트가 용이하다.
스캔 테스트(scan testing)는 집적 회로에서의 제조 결함을 검출하기 위해 널리 이용되는 기술이다. 스캔된 회로에서, 플립 플롭들의 일부 또는 전부가 스캔 플립 플롭들에 의해 대체된다. 스캔된 회로는, 모든 플립 플롭이 스캔 플립 플롭인 경우에 "전체 스캔(full scan)"을 이용하며, 그렇지 않은 경우, 회로는 "부분 스캔(partial scan)"을 이용한다. 스캔은 회로의 제어가능성 및 관찰가능성을 증가시키는 방법을 제공한다.
먹스-스캔(mux-scan)은 스캔 테스트를 구현하는 가장 일반적인 방법이다. 먹스-스캔 플립 플롭은 2개의 모드, 즉, 통상 동작 모드(normal operation mode) 및 스캔 시프트 모드(scan shift mode)를 갖는다. 통상 동작 모드 동안, 스캔 플립 플롭은 사용자의 원하는(비-테스트 모드) 거동을 구현한다. 스캔 시프트 모드 동안, 스캔 플립 플롭은 하나 이상의 시프트 레지스터들(스캔 체인들) 내로 상호접속된다.
도 1은 비동기 리세트 및 비동기 프리세트 핀들을 갖는 종래의 먹스-스캔 플립 플롭을 도시한다. SE(scan enable) 핀이 0 값에 있을 때, 플립 플롭은 통상 동작 모드에 있게 된다. SE 핀이 1 값에 있을 때, 플립 플롭은 스캔 시프트 모드에 있게 된다. 통상 동작 모드 및 스캔 시프트 모드 둘다에 있어서, 데이터를 플립 플롭으로 클록킹하기 위해 CLK 핀이 이용된다. RN 비동기 핀 상의 0 값은 플립 플롭을 0 값으로 로딩한다. SN 비동기 핀 상의 0 값은 플립 플롭을 1 값으로 로딩한다. SN 비동기 프리세트 및 RN 비동기 리세트 핀들은 모두, 스캔 시프트 모드 동안에 1 값으로 유지된다. 그렇지 않은 경우, 부정확한 값들이 스캔 체인들 내로 로딩될 것이다.
플립 플롭은 리세트 우선순위를 갖도록 설계될 수 있다(즉, SN 및 RN 둘다 0 값을 갖는 경우, 플립 플롭은 0 값으로 비동기 로딩된다). 또한, 플립 플롭은 프리세트 우선순위를 갖도록 설계될 수 있다(즉, SN 및 RN 둘다 0 값을 갖는 경우, 플립 플롭은 1 값으로 비동기 로딩된다).
스캔 플립 플롭을 스캔 시프트 모드에 배치하고, 클록들을 적용함으로써, 값들이 스캔 플립 플롭 내로 로딩(스캔-인(scan-in) 동작)되고, 스캔 플립 플롭으로부터 추출(스캔-아웃(scan-out) 동작)될 수 있다. 전형적인 스캔 테스트 시퀀스는, 스캔-인, (회로에 적용된 하나 이상의 클록을 갖는) 통상 동작 및 스캔-아웃이다. 회로 결함은 스캔-아웃 값들이 양호한 회로에 대해 예상되는 값들과 매칭되지 않는 경우에 검출된다. 하나의 스캔 테스트 시퀀스가 다수의 결함들을 검출할 수 있다.
회로를 테스트하기 위해, 다수의 스캔 테스트 시퀀스들이 통상적으로 필요하다. 통상적으로, ATPG(Automated Test Pattern Generation) 프로그램들은 스캔 테스트 시퀀스들을 생성한다. ATPG 프로그램들은 결함을 검출하기 위해 스캔 테스트 시퀀스들을 생성할 때에 스캔 플립 플롭들을 제어 포인트들(값들이 스캔 인(scanned in)될 수 있음) 및 관찰 포인트들(값들이 스캔 아웃(scanned out)될 수 있음)로서 이용한다. 일반적으로, 동일한 "통상 동작" 거동을 수행하는 2개의 회로가 주어지는 경우(하나의 회로는 전체 스캔을 이용하고, 다른 회로는 부분 스캔을 이용함), ATPG 프로그램들은 전체 스캔을 이용하는 회로로 보다 효율적으로 동작하여, 보다 높은 비율의 제조 결함을 검출할 수 있는 스캔 테스트 시퀀스들을 생성할 수 있다.
스캔 테스트를 이용하기 위해, 회로는 많은 DFT 규칙(design-for-test rule)들을 준수해야 한다. DFT 규칙을 준수하는 것은, 회로를 개발하는 비용 및 시간을 증가시킨다. DFT 규칙 위반은 정정되어야 하며, 설계자는 또한 DFT 규칙 위반을 정정하는 것이 회로의 통상 동작에 오류를 도입하지 않았음을 검증해야 한다. 설계자들은 일부 DFT 규칙 위반을 정정하지 않는 것으로 선택할 수 있으므로, 위반되는 스캔 플립 플롭을 비-스캔(non-scan) 플립 플롭으로 대체해야 하며, 그것은 부분 스캔 설계가 되도록 한다.
때때로 설계자들은 FPGA에서의 전형(prototype)을 만들며, 보다 높은 성능 및/또는 보다 낮은 비용이 요망되는 경우, FPGA 기반 설계는 게이트 어레이, 로직 어레이 또는 표준 셀 구현으로 변환된다. FPGA 디바이스들은 사전 테스트되므로, 통상적으로 설계자들은 설계를 개발할 때에 스캔 및 그의 관련된 DFT 규칙들을 고려하지 않는다. 그러나, 설계자는 게이트 어레이, 로직 어레이 또는 표준 셀 구현이 테스트되며, 통상적으로 스캔 테스트를 이용함을 보장할 책임이 있다. 이러한 관점에서, DFT 규칙들은 설계에 있어서의 커다란 변화를 초래할 수 있다. "전체 스캔" 테스트 용이성과 관련된 테스트 용이성을 여전히 제공하면서 설계자에게 투명한 테스트 방법은, 보다 신속하게 시장에 접근하기 위한 주된 이점일 것이다.
게이트 어레이와 같은 현존하는 기술들 및 로직 어레이와 같은 새로운 기술들은, 사용자 설계 회로가 표준 셀로 구현되는 것보다 신속하게 사용자 설계 회로가 제조될 수 있도록 한다. 게이트 어레이 및 로직 어레이 둘다, 사용자 설계 회로를 구현하기 위해 라우팅(routing)함으로써 구성될 수 있는 사전 설계된 로직을 이용한다. 주문화 라우팅 이전의 제조 단계들이, 사용자 설계 회로가 설계되기 전에 수행될 수 있다.
게이트 어레이에서의 사전 설계된 로직은 주문 설계 로직을 이용하여 통상적으로 구현된다. 통상적으로, 주문 설계된 로직은 표준 셀에서 구현된 로직보다, 설계 및 검증을 위한 시간이 더 많이 요구된다.
구조화된 어레이로서 알려져 있으며, 보다 최근에는 로직 어레이로서 알려져 있는 모듈형 어레이(modular array)는 표준 셀을 이용하여 사전 설계 로직을 구현한다. 이러한 기술은, 2003년 5월 28일에 출원되어, 2004년 12월 2일에 공개 번호 US 2004/0243966으로서 공개된, "Modular Array Defined by Standard Cell Logic" 이라는 제목의 미국 특허 출원 제 10/447,465 호에 기술되어 있으며, 이 문헌은 본 출원의 소유자에 의해 소유되고, 본 출원의 유형에 의해 허용되는 한, 모든 목적을 위해 본 명세서에서 참조로 인용된다. 표준 셀들로부터 로직 어레이 형성 블록들을 구성하는 것은, 주문 설계 로직을 이용하여 형성 블록들을 구현하는 것보다 신속하게, 로직 어레이가 구현되도록 한다.
게이트 어레이 및 로직 어레이 둘다의 이용가능한 매크로들은 사전 설계된 하위층들의 기본 어레이 부분 및 적어도 하나의 상위층의 주문 부분으로서 구현된다. 이들 매크로들은 사전 선택되어 사전 배치될 필요가 있다. (이것은 어플리케이션 회로의 설계자가 표준 셀 라이브러리로부터 복사된 셀들의 인스턴스들의 주로 비제한된 선택 및 배치를 허용하는 종래의 표준 셀 설계와 상반되는 것이다.) 이용가능한 매크로들은 어플리케이션 (사용자) 회로 네트리스트의 대응하는 함수들에 할당된다. 게이트 어레이의 경우, 매크로들은 주문 회로 설계를 이용하여 구현되며, 일반적으로 비교적 원시 함수들이다. 로직 어레이의 경우, 매크로들은 (로직 어레이 툴 공급자보다는 사용자에 의해 빈번하게 지정되는) 기존의 표준 셀 라이브러리를 이용하여 구현되며, 일반적으로 원시 및 비교적 고차(higher-order) 함수들 둘다를 포함한다.
표준 셀들은 로직 어레이의 사전 설계 로직을 구현하는데 이용되기 때문에, 먹스-스캔은 사용자 설계 회로를 테스트하는데 확실히 이용될 수 있다. 그러나, 설계자는 모든 관련 DFT 규칙들을 따라야 한다. DFT 규칙들과의 쉬운 자동 호환을 보장하고, 로직 어레이와 호환되는 테스트 방법을 제공하는 것은, 설계자가 사용자 설계 회로를 제조하는 것을 보다 용이하고 신속하게 만들 것이다.
분할 테스트는 미국 특허 제 6,223,313 호 및 제 6,611,932 호에 기술되어 있는 개념이며, 이들 문헌은 본 출원의 소유자에 의해 소유되고, 본 출원의 유형에 의해 허용되는 한, 모든 목적을 위해 본 명세서에서 참조로 인용된다.
본 발명은 프로세스, 제조 물품, 장치, 시스템, 물질의 조성, 및 프로그램 명령들이 광학 또는 전자 통신 링크들을 통해 송신되는 컴퓨터 판독가능 저장 매체 또는 컴퓨터 네트워크와 같은 컴퓨터 판독가능 매체를 포함하는 다양한 방식으로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태를 기술들로서 지칭할 수 있다. 일반적으로, 개시된 프로세스들의 동작 순서는 본 발명의 영역 내에서 변경될 수 있다. 상세한 설명은 위에서 식별된 필드에서의 성능, 효율성 및 유용성이 개선되도록 하는 본 발명의 하나 이상의 실시예들의 설명을 제공한다. 상세한 설명은 상세한 설명의 나머지에 대한 보다 신속한 이해를 위한 서론(introduction)을 포함한다. 서론은 본 명세서에서 기술된 개념들에 따른 하나 이상의 시스템, 방법, 제조 물품, 컴퓨터 판독가능 매체의 예시적인 실시예들을 포함한다. 결론에서 보다 상세히 기술되는 바와 같이, 본 발명은 허여된 특허청구범위의 영역 내의 모든 가능한 변형 및 수정을 포함한다.
(게이트 어레이, 표준 셀, 또는 로직 어레이 설계들을 포함하는) IC 설계들을 위한 논리 블록들(매크로 셀들)은 스캔 시프팅과 관련된 DFT 규칙들과의 호환을 고유하게 보장하는 DFT-인에이블형 FF(Design-for-Test-enabled flip-flop)들을 제공한다. 테스트 스캔 체인들은, 임의의 사용자 삽입 테스트 구조 또는 DFT 고려사항들에 대한 다른 배려없이 설계될 수 있는 사용자 설계 어플리케이션 회로에 대해 투명한 (볼 수 없는, 숨겨진) 방식으로 로직 블록의 인스턴스들을 데이지 체이닝(daisy-chaining)함으로써 구성된다. 이들 DFT-인에이블형 FF들 상의 모든 사용자 핀들에 대한 사용자 비동기 세트 및 리세트 입력들 및 모든 고착 고장이, 캡쳐 및 스캔 아웃을 통해 관찰가능하다. 이들 DFT-인에이블형 FF들 중 제1 유형은 어플리케이션 회로를 분할 테스트하기 위한 어드레스가능한 제어를 특징으로 한다. 이들 DFT-인에이블형 FF들 중 제2 유형은 분할 테스트에 대한 필요성을 제거하고, 제어 로직을 간략화하며, 필요한 테스트 벡터의 수를 감소시키는 통합 캡쳐 버퍼링(integral capture buffering)을 특징으로 한다.
주어진 설계 흐름에 DFT-인에이블형 FF 셀들을 제공하는 것은, 테스트 용이성에 대한 배려없이 또는 거의 없이 개발되었던 (FPGA 전형으로부터의 설계와 같은) 기존의 어플리케이션 설계를 포팅할 때에 DFT 규칙들과의 투명하고 용이한 자동 호환을 가능하게 한다. 일부 실시예에서, DFT 규칙의 관찰없이 설계된 게이트 레벨 네트리스트는, 각각의 어플리케이션 특정 FF에 대한 DFT-인에이블형 FF 셀들을 이용하고, DFT-인에이블형 FF 셀들을 상호접속하여 스캔 체인들을 형성함으로써, 단일 패스(single-pass)에서, 모든 DFT 규칙들과 호환되는 게이트 레벨 네트리스트로 변형된다.
다양한 실시예들에 따르면, DFT-인에이블형 FF들은 집적 회로들(칩들)의 설계를 위한 게이트 어레이, 표준 셀 및 로직 어레이 설계 흐름들에서 이용된다. 일부 표준 셀 흐름들에서, 적어도 한 가지 유형의 DFT-인에이블형 FF가 표준 셀 라이브러리에 추가된다. 게이트 어레이 및 로직 어레이 흐름들의 경우, 사전 배치되고 사전 선택된 로직 매크로들의 세트가, 적어도 한 가지 유형의 DFT-인에이블형 FF를 포함하도록 확장된다. 일부 실시예에서, DFT-인에이블형 FF 매크로들은 현존하는 표준 셀 라이브러리로부터의 컴포넌트들을 이용하여 구현된다. 다른 실시예에서, DFT-인에이블형 FF 매크로들은 주문 회로 설계들로서 구현된다.
도 1은 비동기 리세트 및 비동기 프리세트 핀들을 갖는 종래 기술의 먹스-스캔(mux-scan) 플립 플롭을 도시하는 도면.
도 2는 제1 DFT-인에이블형 FF 실시예를 도시하는 도면.
도 3은 이 DFT-인에이블형 FF의 통상 동작 모드, 스캔 시프트 모드, 및 캡쳐 모드와 연관된 고레벨 파형들을 도시하는 도면.
도 4는 코어 플립 플롭의 CLK 핀(MCLK 신호)에서의 상승 에지가 희망되지 않 을 때 DFT-인에이블형 FF의 CLK 핀을 0 값으로 설정하는 것을 예시하는 도면.
도 5는 캡쳐 모드의 고레벨 파형들을 도시하는 도면.
도 6은 DFT-인에이블형 FF의 변형을 도시하는 도면.
도 7은 캡쳐 모드 - 구체적으로 R과 S 둘다 1의 값을 가질 때, 코어 플립 플롭이 1의 최종 캡쳐 값을 갖게 되는 모드(프리세트 우선 순위)의 고레벨 파형들을 도시하는 도면.
도 8은 "FREEZE_LOW-equivalent" 신호를 생성하는 대안적인 방법으로서 도 2의 DFT-인에이블형 FF에 NOR 게이트를 추가한 것을 예시하는 도면.
도 9는 "FREEZE_LOW-equivalent" 신호를 생성하는 대안적인 방법으로서 도 6의 DFT-인에이블형 FF에 NOR 게이트를 추가한 것을 예시하는 도면.
도 10은 이러한 구현과 연관된 진리표 - CC와 CR 중 어느 하나 또는 둘다가 값 1로 설정될 때, FREEZE_LOW가 값 0에 있는 것을 도시하는 도면.
도 11은 DFT-인에이블형 FF가 DFT-인에이블형 래치로서 거동할 수 있도록 (이전의 도 2에 도시된) DFT-인에이블형 FF에 2개의 인버터와 2개의 NOR를 추가하는 방법을 도시하는 도면.
도 12는 DFT-인에이블형 FF가 DFT-인에이블형 버퍼 테스트 포인트로서 거동할 수 있도록 (도 2의) DFT-인에이블형 FF에 하나의 인버터를 추가하는 방법을 도시하는 도면.
도 13은 스캔 시프트 동안 플립 플롭과 같이 거동하지만 통상 동작 및 캡쳐 모드 동안 래치와 같이 거동하는 DFT-인에이블형 래치 실시예를 도시하는 도면.
도 14는 플립 플롭이 0에서 1과 1에서 0으로(between 0 to 1 and 1 to 0) 진동하는 불안정 회로의 2개의 예 중 하나를 도시하는 도면.
도 15는 링 오실레이터를 사용하는 비결정적 회로의 다른 예를 도시하는 도면.
도 16은 계속 진동하는 사용자 회로의 기능성에 영향을 미치지 않고, 2개의 DFT-인에이블형 버퍼가 어떻게 루프를 차단하는지를 도시한 도면.
도 17은 계속 진동하는 사용자 회로의 기능성에 영향을 미치지 않고, 하나의 DFT-인에이블형 버퍼가 어떻게 루프를 차단하는지를 도시한 도면.
도 18은 다음의 테스트 핀들 SDI, SCLK, FREEZE_LOW 및 출력 핀 Q이 도시된 DFT-인에이블형 FF의 간략도.
도 19는 간략화된 DFT-인에이블형 FF(도 18)가 어떻게 2차원 어레이에 배치되고 로우 및 컬럼 어드레싱을 이용하여 선택될 수 있는지를 도시하는 도면.
도 20은 회로 분할 필요성을 없애고, 루프 차단을 간략화하고, 회로 테스트에 필요한 벡터 카운트를 줄이는 DFT-인에이블형 FF를 예시한 도면.
도 21은 도 20의 DFT-인에이블형 FF의 타이밍을 예시한 도면.
본 발명의 하나 이상의 실시예들에 대한 상세한 설명이 본 발명의 선택된 상세들을 예시한 첨부 도면들과 함께 이하에 제공된다. 본 발명은 실시예들과 함께 설명된다. 본 발명의 모든 실시예를 총망라하여 설명하는 것은 필요하지도, 실용적이지도, 가능하지도 않다는 것을 잘 알 것이다. 그러므로, 본원에 설명된 실시 예들은 단지 예시를 위한 것이고, 본 발명은 본원에 설명된 실시예들 중 임의의 것 또는 전부로 명백히 한정되지 않으며, 본 발명은 다수의 대안들, 수정들 및 등가들을 포함한다는 것을 이해한다. 설명부에서 단조로움을 피하기 위해, 다양한 워드 라벨(제1, 최종, 소정, 다양한, 더, 다른, 특정, 선택, 일부, 및 현저한을 포함하지만 이것으로 한정되지 않음)이 실시예들의 개별 세트들에 적용될 수 있으며, 본원에서 이용되는 바와 같이, 이러한 라벨들은 품질, 또는 임의 형태의 선호도 또는 편견을 시사하는 것을 명백히 의미하지 않으며, 단지 개별 세트들 사이를 편리하게 구별하기 위한 것이다. 개시된 프로세스들의 일부 동작들의 순서는 본 발명의 범위 내에서 변경할 수 있다. 다수의 실시예들이 프로세스, 방법, 및/또는 프로그램 명령어 특징들의 변형을 설명하기 위해 제공되지만, 미리 결정되거나 동적으로 결정되는 판단기준에 따라 다수의 실시예에 각각 대응하는 다수의 동작 모드 중 하나의 정적 및/또는 동적 선택을 수행하는 다른 실시예들이 고려된다. 본 발명의 와전한 이해를 제공하기 위해 다수의 특정 상세가 다음의 설명에서 정의된다. 이들 상세는 예시의 목적으로 제공되며, 본 발명은 이들 특정 상세의 일부 또는 전부 없이도 특허청구범위에 따라 실시될 수 있다. 명확성을 위해, 본 발명에 관련된 기술분야에 알려져 있는 기술 자료는 본 발명을 불필요하게 불명료하게 하지 않도록 상세하게 설명하지 않았다.
서론
이 서론은 단지 상세한 설명의 더 빠른 이해를 용이하게 하기 위해서 포함되며, 본 발명은 (임의의 경우, 명백한 예들을 포함하는) 서론에 제공된 개념들로 한 정되지 않으며, 임의의 서론의 단락은 물론 완전한 주제의 요약이며 총망라적이거나 제한적인 설명인 것을 의미하지 않는다. 예를 들어, 다음에 오는 서론은 단지 특정 실시예들에 대해 공간 및 조직에 의해 한정된 개요 정보를 제공한다. 특허청구범위가 궁극적으로 얻어지는 것을 포함하여 많은 다른 실시예가 존재하며, 명세서의 나머지 부분에 걸쳐서 논의된다.
예시적인 실시예들
상세한 설명에 대한 서론을 종결함에 있어서, "ECs"(Example Combinations)로서 명시적으로 열거된 적어도 일부를 포함하여 예시적인 실시예들의 모음이 뒤따르며, 본원에 설명된 개념에 따라 다양한 유형의 실시예의 추가적인 설명을 제공하며, 이들 예는 상호 배타적, 총망라적, 또는 제한적인 것을 의미하지 않으며, 본 발명은 이들 예시적인 실시예에 한정되지 않고 오히려 청구된 특허청구범위의 범위 내에서 모든 가능한 수정 및 변형을 포함한다.
EC1) 집적 회로 설계 방법으로서,
집적 회로의 제조 공정 및 공정 완화 표준 셀 라이브러리(a process-qualified standard cell library)를 식별하는 단계;
복수의 순차 저장 기능을 포함하는 집적 회로의 적어도 일부를 특정하는 게이트 레벨 네트리스트(netlist)를 수용하는 단계; 및
통합 테스트용 설계 기능성(integral design-for-testability functionality)을 갖는 각자의 DFT-인에이블형 저장 회로를 통해 네트리스트의 각각의 순차 저장 기능을 구현하는 것을 포함하는 상기 집적 회로의 적어도 일부의 타겟 구현 아키텍처 상에 게이트 레벨 네트리스트를 프로그램적으로 매핑하는 단계
를 포함하고,
네트리스트에 의해 특정된 집적 회로의 적어도 일부에 대한 타겟 구현 아키텍처는 표준 셀 라이브러리를 이용하여 로직 어레이의 기능 블록들을 구현하며, 로직 어레이는 사전 설계된 하위층들의 베이스 어레이 부분 및 적어도 하나의 상위층의 주문화(customization) 부분을 가지며, 상기 기능 블록들은 네트리스트의 기능들에 할당가능한 집적 회로 설계 방법.
EC2) EC1에 있어서, DFT-인에이블형 저장 회로는 DFT-인에이블형 플립 플롭인 집적 회로 설계 방법.
EC3) EC1에 있어서, 상기 DFT-인에이블형 저장 회로는 DFT-인에이블형 래치인 집적 회로 설계 방법.
EC4) EC3에 있어서, 상기 래치는 시뮬레이트형 래치(simulated latch)인 집적 회로 설계 방법.
EC5) EC1에 있어서, 각각의 순차 저장 기능은 클록 입력 및 적어도 하나의 비동기 제어 입력을 포함하는 통상 동작 핀들을 갖는 집적 회로 설계 방법.
EC6) EC5에 있어서, 상기 DFT-인에이블형 저장 회로는 상기 통상 동작 핀들에 대한 모든 고착 고장들의 가관찰성(observability)을 제공하는 집적 회로 설계 방법.
EC7) EC1에 있어서, 상기 DFT-인에이블형 저장 회로의 테스트용 설계 기능성은 집적 회로의 통상 동작(예를 들어, 비 테스트 모드 동작)에 대해 투명한 집적 회로 설계 방법.
EC8) EC1에 있어서, 상기 방법 중 적어도 일부는 설계자에 의해 제어되는 EDA 툴을 통해 구현되는 집적 회로 설계 방법.
EC9) EC1에 있어서, 게이트 레벨 네트리스트는 테스트 가능성에 대한 배려 없이 생성되고 네트리스트 특정된 순차 저장 기능들은 통합 테스트용 설계 기능성을 갖지 않는 집적 회로 설계 방법.
EC10) EC1에 있어서, 프로그램적인 매칭 이전에, 게이트 레벨 네트리스트는 테스트용 설계 규칙들을 포함하도록 수정될 필요가 없는 집적 회로 설계 방법.
EC11) EC1에 있어서, 네트리스트에 대한 원래 타겟 구현 아키텍처는 필드 프로그래머블 게이트 어레이(field programmable gate array)인 집적 회로 설계 방법.
DFT-인에이블형 플립 플롭들, 래치들, 및 버퍼들
먹스-스캔(mux-scan)과 관련된 DFT 규칙들의 대부분과의 본래의 호환(inherent compliance)을 보장하는 DFT-인에이블형 FF 실시예들이 본원에 제공된다. 추가의 실시예들은 DFT-인에이블형 FF를 분할 테스트 기술들과 조합하여, 임의의 사용자 삽입(user-inserted) 테스트 구조들을 필요로 하지 않고 사용자 설계 회로를 테스트할 수 있는 테스트 방법들을 실현하는데, 즉, 테스트 방법들은 사용자에게 투명하다(transparent).
고레벨 설명에서, DFT-인에이블형 FF는 올바른 스캔 시프트 모드를 보장하는 로직을 포함하고, 또한 데이터를 관찰(캡쳐)하는 독창적인 방법을 제공한다.
도 2는 DFT-인에이블형 FF의 구현을 도시한다. 사용자 핀은 D, CLK, R, S, 및 Q이다. 사용자의 기능 관점에서(예를 들어, DFT-인에이블형 FF가 테스트 모드에 있지 않을 때), R이 값 1을 가질 때, 코어 플립 플롭은 값 0으로 비동기로 로드된다. 사용자의 기능 관점에서(예를 들어, DFT-인에이블형 FF가 테스트 모드에 있지 않을 때), S가 값 1을 가질 때, 코어 플립 플롭은 값 1로 비동기 로드된다. 이 도면에서, DFT-인에이블형 FF가 액티브 하이(active high) 신호로서 사용자 제어(user-controlled) 비동기 리세트 R 및 프리세트 S 핀을 구현하는 동안, 코어 플립 플롭은 액티브 로우(active low) 비동기 RN 및 SN 핀을 가지는데, 그 이유는, 현재의 일반적인 반도체 기술에서, 2-입력 NAND 게이트는 보통 등가 구동(equivalent drive)의 2-입력 OR 게이트보다 작은 면적을 갖기 때문이다. 이 도면은 코어 플립 플롭이 리세트 우선순위를 갖는 DFT-인에이블형 FF를 도시하며, 이것은 DFT-인에이블형 FF가 또한 리세트 우선순위를 구현해야 한다는 것을 의미한다.
테스트 핀은 SDI(scan data in), SCLK(scan clock), SE(scan enable), 및 FREEZE_LOW(freeze-active low)이다. 스캔 체인 내에서, 하나의 DFT-인에이블형 FF의 Q는 그 스캔 체인의 다음 DFT-인에이블형 FF의 SDI에 연결된다. 일부 DFT-인에이블형 FF 구현은 개별 SDO(scan data out) 핀을 포함할 수 있다. 그 경우, 하나의 DFT-인에이블형 FF의 SDO는 그 스캔 체인의 다음 DFT-인에이블형 FF의 SDI에 연결된다.
이 DFT-인에이블형 FF는 3개의 동작 모드, 즉, 통상 동작 모드, 스캔 시프트 모드, 및 캡쳐 모드를 갖는다. 통상적인 스캔 테스트 시퀀스는 스캔-인(scan-in), 캡쳐 모드, 및 스캔-아웃(scan-out)이다. 회로 결함들은 스캔-아웃 값들이 양호한 회로의 기대값들과 일치하지 않는 경우에 검출된다. 도 3은 이 DFT-인에이블형 FF의 통상 동작 모드, 스캔 시프트 모드, 및 캡쳐 모드와 연관된 고레벨 파형들을 도시한다. (N-비트 심도의 스캔 체인에서는, N개의 SCLK 사이클의 스캔-인과 N개의 SCLK 사이클의 스캔-아웃이 존재한다.)
DFT-인에이블형 FF의 SE 핀이 0 값에 있고, FREEZE_LOW가 1 값에 있을 때, DFT-인에이블형 FF는 통상 동작 모드에 있다.
DFT-인에이블형 FF의 SE 핀이 1 값에 있고, FREEZE_LOW는 0 값에 있을 때, DFT-인에이블형 FF는 스탠 시프트 모드에 있다. 스캔 시프트 모드 동안, 코어 플립 플롭 상의 비동기 리세트 RN 및 비동기 프리세트 SN 핀들은 R 및 S 에 대한 값들에 관계없이 1 값이 가해진다. 사용자 핀들, D 및 CLK도 바이패스되고 - SCLK는 코어 플립 플롭에 SDI 데이터를 클록킹하는데 사용된다. 스캔 시프트 모드 동안, DFT-인에이블형 FF는, 코어 플립 플롭이 통상 동작 (사용자 회로) 값들에 의해 영향을 받지 않는다는 것을 보장한다. 다른 말로, 코어 플립 플롭은 사용자 회로 입력들에 대해 "동결(frozen)"되어 있다.
결과적으로, 사용자 스캔-체인 관련 DFT 규칙들은 존재하지 않는다. 이것은 설계자가 스캔 체인들이 정확하게 시프트하는 것을 보장하기 위해 통상적으로 요구되는 DFT-관련 로직을 사용자 회로에 추가할 필요가 없다는 것을 의미한다.
스캔 시프트 모드 동안, 코어 플립 플롭 상의 비동기 리세트 RN 및 비동기 프리세트 SN 핀들은 R 및 S에 대한 값들에 관계없이 1 값이 가해지고, 그것은 설계자가 비동기 프리세트 및 리세트 신호들을 블로킹하기 위해 DFT-관련 로직을 추가할 필요가 없다는 것을 의미한다.
스캔 시프트 모드 동안, SCLK(사용자 핀 CLK가 아님)는 스캔 체인을 클록킹하고, 이는, 설계자가, 사용자 회로가 상승 에지에서 클록킹된 일부 플립 플롭들 및 하강 에지에서 클록킹된 일부 플립 플롭들, 멀티플 클록 도메인들, (클록 분할기들과 같이) 내부적으로 생성된 클록들 및/또는 게이팅된(gated) 클록들을 가질 때 요구되는 DFT-관련 로직을 추가할 필요가 없다는 것을 의미한다.
DFT-인에이블형 FF는 DFT-인에이블형 FF의 사용자 핀들 상의 값을 관찰하기 위해 DFT-인에이블형 FF가 스캔 시프트 모드를 빠져나와 캡쳐 모드로 들어갈 때 캡쳐 모드에 있다. 이러한 맥락에서, 스캔 시프트 모드를 빠져나오는 것은 "동결해제(unfreeze)" 또는 "동결해제함(unfreezing)"으로서 알려져 있는 반면, 스캔 시프트 모드로 들어가는 것은 "동결(freeze)" 또는 "동결됨(freezing)"으로서 알려져 있다.
캡쳐 모드는 모든 사용자 핀들(D, CLK, S 및 R) 상에 나타낸 사용자 회로 값들을 관찰할 수 있다. 일례로서, CLK 상태는 SCLK 및 FREEZE_LOW의 조작(manipulation)을 통해 추론할 수 있다. DFT-인에이블형 FF의 SCLK 핀은 0 값으로 설정되고, DFT-인에이블형 FF의 CLK 핀은 1 값으로 설정되면 - 상승 에지는, FREEZE_LOW가 0 값으로부터 1 값으로 변환할 때 코어 플립 플롭의 CLK 핀에서 자동적으로 생성된다. SE 신호는 0 값이므로, 코어 플립 플롭들은 그 D 입력에 제공된 값으로 클록킹한다. 도 3의 캡쳐 모드 파형은 코어 플립 플롭의 CLK 핀(MCLK 신호)에 제공된 상승 에지를 도시한다. 그러나, DFT-인에이블형 FF의 SCLK 핀이 0 값으로 설정될 때, DFT-인에이블형 FF의 CLK 핀이 0 값이면, 코어 플립 플롭의 CLK 핀(MCLK 신호)은 도 4에 도시된 바와 같이 (FREEZE_LOW 펄스에 관계없이) 상수 0 값으로 남아있을 것이다. 본 설계에서 고유하게는, DFT-인에이블형 FF의 CLK 핀 상에 0 값이 존재할 때, DFT-인에이블형 FF의 SCLK 핀이 1 값으로 설정되면, FREEZE_LOW가 1 값에서 0 값으로 천이할 때 상승 에지가 코어 플립 플롭의 CLK 핀(MCLK 신호)에 제공될 것이며, 코어 플립 플롭이 그 D 입력에 제공된 값으로 클록킹될 것이다.
캡쳐 모드 동안, 사용자 R 및 S 핀들 상의 값들은, FREEZE_LOW 신호가 참으로 (1 값으로) 스트로브(strobe)되기 때문에 코어 플립 플롭의 값에 영향을 미칠 수 있다. R 및 S 핀들 모두를 인에이블하고 또한 코어 플립 플롭에 대한 클록(MCLK)에 영향을 미치기 위해 단일 공통(single common) FREEZE_LOW 신호를 사용하는 능력은 요구되는 테스트 제어 신호들의 총수를 감소시킨다. 도면의 버퍼는, R 및 S 둘 다 DFT-인에이블형 FF가 캡쳐 모드에 들어갈 때 1 값을 갖는 경우, 코어 플립 플롭이 0 값으로 정확하게 로딩될 것임을 보장하기 위해, FREEZE_LOW_delay 신호에 충분한 지연을 추가한다. 도 5는 캡쳐 모드 - 특히, R 및 S 둘 다 1 값을 가질 때 코어 플립 플롭이 최종 캡쳐 값 0(리세트 우선순위)을 가짐 - 의 고레벨 파형을 도시한다.
(코스 통상 동작의) 캡쳐 모드 동안, R 및 S 핀들 상의 사용자 회로의 값들 은, 코어 플립 플롭의 비동기 리세트 및 프리세트 거동(behavior)을 제어하여 DFT-인에이블형 FF 내부의 이러한 기능적 경로들을 검증할 수 있게 한다.
모든 사용자 핀들 상에 제공된 회로 값들을 관찰하고, DFT-인에이블형 FF 내부의 기능적 경로들을 체크하는 능력은 본 기술분야의 진보이다.
도 6은 DFT-인에이블형 FF의 변경을 도시한다. 사용자 핀들은 D, CLK, R, S 및 Q이다. 사용자의 기능적 관점(예를 들어, DFT-인에이블형 FF가 테스트 모드에 있지 않을 때)에서, R이 1 값을 가질 때, 코어 플립 플롭은 0 값으로 비동기 로딩된다. 사용자의 기능적 관점(예를 들어, DFT-인에이블형 FF가 테스트 모드에 있지 않을 때)에서, S가 1 값을 가질 때, 코어 플립 플롭은 1 값으로 비동기 로딩된다. 이러한 도면이 도시하는 DFT-인에이블형 FF의 코어 플립 플롭은 프리세트 우선순위를 갖는데, 이는 DFT-인에이블형 FF도 프리세트 우선순위를 구현해야 한다는 것을 의미한다. 도면의 버퍼는, R 및 S 둘 다 DFT-인에이블형 FF가 캡쳐 모드에 들어갈 때 1 값을 갖는다면, 코어 플립 플롭이 정확하게 1 값으로 로딩될 것이라는 것을 보장하기 위해 FREEZE_LOW_delay 신호에 충분한 지연을 추가한다. 도 7은 캡쳐 모드 - 특히, R 및 S 둘 다 1 값을 가지면, 코어 플립 플롭이 최종 캡쳐 값 1(프리세트 우선순위)을 가짐 - 의 고레벨 파형을 도시한다.
도 8 및 9에 도시된 바와 같이, NOR 게이트를 각각의 DFT-인에이블형 FF에 추가하는 것은 "FREEZE_LOW_equivalent" 신호를 생성하는 대안적인 방법을 제공한다. 도 10은 이러한 구현 - CC 또는 CR 중 하나 또는 둘 다 1 값으로 설정되면, FREEZE_LOW가 0 값에 있음 - 과 관련된 진리표(true table)를 도시한다. 이러한 경우에, 테스트 핀들은 SDI(scan data in), SCLK(scan clock), SE(scan enable), 및 CC(cut column) 및 CR(cut row)이다. DFT-인에이블형 FF를 동결 모드로 배치하기 위해 2개의 신호를 사용하는 것은, DFT-인에이블형 FF들이 보통 2차원 어레이로 배열될 때, DFT-인에이블형 FF들의 서브-세트를 처리(선택)하는 편리한 방법을 제공한다. NOR 게이트를 DFT-인에이블형 시뮬레이트형 래치(simulated latch), DFT-인에이블형 버퍼들 및 DFT-인에이블형 래치들에 추가하는 것은 또한, 보통 2차원 어레이로 배열되도록 그들이 DFT-인에이블형 FF들과 혼합되게 한다.
DFT-인에이블형 FF는 사용자 회로에서 래치 거동을 구현할 수도 있다. 도 11은 2개의 인버터들 및 2 NOR들을 DFT-인에이블형 FF(도 2에 이전에 도시됨)에 추가하는 것이 어떻게 DFT-인에이블형 FF가 DFT-인에이블형 래치로서 거동하게 하는지를 도시한다. 사용자 핀들은 Latch_D, Latch_E 및 Q이다. 테스트 핀들은 SDI, SCLK, SE 및 FREEZE_LOW를 남긴다. 통상 동작 모드 및 캡쳐 모드 둘 다에서, Latch_E가 1 값을 가질 때, 코어 플립 플롭의 값은 Latch_D 값에 의존한다. Latch_E가 0 값을 가질 때, 코어 플립 플롭은 그의 현재 값을 유지한다.
DFT-인에이블형 FF는 사용자 회로의 버퍼 테스트 포인트를 구현할 수도 있다. 도 12는 하나의 인버터를 DFT-인에이블형 FF(도 2에 이전에 도시됨)에 추가하는 것이 어떻게 DFT-인에이블형 FF가 DFT-인에이블형 버퍼 테스트 포인트로서 거동하게 하는지를 도시한다. 사용자 핀들은 TA 및 TZ이다. 테스트 핀들은 SDI, SCLK, SE 및 FREEZE_LOW를 남긴다. 통상 동작 모드 및 캡쳐 모드 둘 다에서, TA가 1 값을 가질 때, 코어 플립 플롭의 값(및 TZ 핀)은 1이다. TA가 0 값을 가질 때, 코어 플립 플롭의 값(및 TZ 핀)은 0이다. DFT-인에이블형 버퍼 테스트 포인드들은 사용자 회로의 기능성을 수정하지 않고 사용자 회로의 테스트 가능성을 향상시키기에 유용한다.
이후 설명에서, 래치 거동(도 11에 도시됨)을 구현하는 DFT-인에이블형 FF는 DFT-인에이블형 시뮬레이트형 래치로서 지칭될 것이고, 버퍼 테스트 포인트(도 12에 도시됨)를 구현하는 DFT-인에이블형 FF는 DFT-인에이블형 버퍼로서 지칭될 것이다.
도 13은 스캔 시프트 동안 플립 플롭과 같이 거동하지만 통상 동작 및 캡쳐 모드 동안 래치처럼 거동하는 DFT-인에이블형 래치 구현을 도시한다. 사용자 핀들은 D,E 및 Q이다. 테스트 핀들은 SDI, SCLK, SE 및 FREEZE_LOW를 남긴다. DFT-인에이블형 FF들 및 DFT-인에이블형 래치들은 동일 스캔 체인 내에 위치될 수 있다. 사용자 핀 E가 하이로 연결되면(tied high), 그 후 DFT-인에이블형 래치는 DFT-인에이블형 버퍼로서 사용될 수 있다.
DFT-인에이블형 FF의 로직 중 일부를 집적 셀들에 통합하는 실시예들이 구상된다. 예로서, 먹스-스캔 플립 플롭 또는 먹스-플립 플롭은 개별 먹스 및 플립 플롭 대신에 사용될 수 있다. 다른 구상된 실시예들은 DFT-인에이블형 FF의 로직 모두를 하나의 집적 셀에 통합한다.
또한, DFT-인에이블형 FF들은 비동기 리세트만으로 또는 비동기 프리세트만으로 또는 임의의 비동기 리세트 또는 프리세트 없이 구현될 수 있다. 그러한 경우들에서, 적절한 NAND 게이트(들) 및 버퍼가 요구되지 않을 것이고, 최적으로서 제거될 수 있다. 도 11 및 12에 도시된 먹스들도 최적으로서 제거될 수 있다.
분할 테스트(partition test)에서의 DFT-인에이블형 플립 플롭 사용
DFT-인에이블형 FF, DFT-인에이블형 시뮬레이트형 래치, DFT-인에이블형 버퍼, 또는 DFT-인에이블형 래치 회로들이 어드레스 가능한 제어 및 분할 테스트와 결합되는 실시예들이 다음에 기술된다. 이러한 테스트 방법은 복잡한 DFT 규칙들 또는 임의의 사용자-삽입 테스트 구조들을 필요로 하지 않고 사용자 회로들을 테스트할 수 있다. 이러한 테스트 방법은 또한 "비안정적인(unstable)" 회로들도 테스트할 수 있는데; 비안정적인 회로들의 2개의 예들이 14 및 15에 도시된다. 이러한 회로들은 통상 스캔 테스트의 견지에서 보통 비결정론적이고 테스트 가능하게 않게 여겨진다
도 14에서, 플립 플롭은 0에서 1과 1에서 0으로 진동한다. 도면을 단순화하기 위해, 이러한 시나리오는 일반적으로 플립 플롭들에 적용되기 때문에 플립플롭의 사용자 핀들만이 도시된다. 플립 플롭 출력이 0 값을 가지면, 그 후 비동기 프리세트 S 핀이 어서트(assert)되고, 플립 플롭이 1 값으로 로딩된다. 플립 플롭 출력이 1 값을 가지면, 그 후 비동기 리세트 R 핀이 어서트되고 플립 플롭은 0 값으로 로딩된다. 공지된 값은 플립 플롭으로 스캔될 수 있다. 그러나, 이러한 플립 플롭에 대한 캡쳐(관찰된) 값은 제조, 온도 및 전압에 의해 생긴 속도 변화들로 인해 결정론적이지 않다.
도 15는 비결정론적 회로의 다른 예 - 이 경우, 링 발진기 - 를 도시한다. OZ 값은 0에서 1과 1에서 0으로 스위칭된다. 전력이 회로에 제공된 후, 특정 시간 X에서의 OZ 값은, 전력공급시의 초기 조건들이 충분히 제어될 수 없기 때문에 비결정론적이다. OZ가 플립 플롭의 사용자 클록 핀을 구동하면, 시간 X에서의 그 플립 플롭의 값은 결정될 수 없고, 이는 이 플립 플롭에 대한 캡쳐(관찰된) 값도 비결정론적임을 의미한다.
결정론적인 캡쳐 값들을 보장하는 것을 돕기 위해, "루프 차단(loop breaking)"으로서 알려진 개념이 도입된다. 우선, 회로 내의 컴포넌트 유형들이 3개의 상이한 카테고리들;0_break, 1_break 및 2_break로 할당된다. 카운팅 목적으로, 0_break는 무시되지만, 2개의 1_break들은 하나의 2_break와 동일하다.
모든 조합 셀들(combinational cells)은 0_break 셀들이다. DFT-인에이블형 시뮬레이트형 래치들(도 11), DFT-인에이블형 버퍼(도 12) 및 DFT-인에이블형 래치들(도 13)은 1_break 셀들이다. DFT-인에이블형 FF들은, 그들의 사용자 비동기 프리세트 또는 리세트 핀들을 통해 만나면, 1_break 셀들이다. DFT-인에이블형 FF들은, 그들의 사용자 클록 또는 D 핀을 통해 만나면, 2_break 셀들이다.
루프들을 검출하기 위해, 전체 사용자 회로는 (본 기술분야에서 일반적으로 공지된) 그래프 선회(traversal) 기술들을 이용하면서, 만나는 "차단들"의 수를 추적한다. 사이클이 존재하고(즉, 노드가 2 이상 방문됨) 차단들의 수가 2개보다 작다면, 루프가 검출된다. 차단의 수가 0이라면, 그 후 루프를 차단하기 위해 2개의 DFT-인에이블형 버퍼들을 삽입한다. 도 16은 사용자 회로의 기능성 - 사용자 회로가 계속 진동함 - 에 영향을 미치지 않고, 2개의 DFT-인에이블형 버퍼들이 루프를 차단하는 방법을 도시한다. 차단들의 수가 1이면, 루프를 차단하기 위해 하나의 DFT-인에이블형 버퍼를 삽입한다. 도 17은 사용자 회로의 기능성 - 사용자 회로가 계속 진동함 - 에 영향을 미치지 않고, 하나의 DFT-인에이블형 버퍼가 루프를 차단하는 방법을 도시한다. 도 16 및 17을 단순화하기 위해, 각각의 DFT-인에이블형 버퍼로부터의 사용자 핀들만이 도시된다. 도 16은 또한, DFT-인에이블형 FF의 사용자 핀들만을 도시한다. DFT-인에이블형 버퍼들을 삽입함으로써, 비안정적인 회로들은 이제 결정론적인 캡쳐 값들을 갖고, 또한 보다 테스트 가능하다.
이전에 논의된 바와 같이, DFT-인에이블형 FF가 동결해제될 때, 그것은 사용자 핀들에 대한 값들에 대해 민감하게 된다. DFT-인에이블형 시뮬레이트형 래치, DFT-인에이블형 버퍼, 및 DFT-인에이블형 래치도 그들이 동결해제될 때 사용자 핀들에 대한 값들에 대해 민감하게 된다.
남아있는 논의를 위해, 달리 특정되지 않는다면, DFT-인에이블형 FF(DFT-인에이블형 FF)에 기인한 모든 개념 및 능력들은, 또한 DFT-인에이블형 시뮬레이트형 래치(DFT-enabled simulated latch), DFT-인에이블형 버퍼, 및 DFT-인에이블형 래치에 적용된다.
만약 어떤 설계에서 모든 DFT-인에이블형 FF들이 동시에 동결해제되면(unfrozen), DFT-인에이블형 FF들로 캡쳐된 값들은 각 DFT-인에이블형 FF가 동결해제되는 순서에 의존한다. 동일한 사용자-설계 회로 모두를 구현하는 두 개의 흠없는(flawless) 회로들은 속도차이가 있을 수 있기 때문에 각각의 칩이 상이한 값들을 캡쳐하게 된다.
속도 차이들이 비결정론적인(non-deterministic) 값들이 캡쳐되도록 하지 않 는 것을 보장하기 위해, 이하의 분할 테스트 단계들이 취해진다.
사용자-설계 회로의 모든 루프를 식별하고 차단함;
사용자-설계 회로를 파티션들로 분할함; 및
사용자-설계된 회로를 한번에 하나의 파티션씩 테스트함.
DFT-인에이블형 FF들은 다음의 접근법을 사용하여 파티션들로 분할된다:
"인접한" DFT-인에이블형 FF들은 동일한 파티션에 있을 수 없다.
하나의 DFT-인에이블형 FF로부터의 출력이 다른 DFT-인에이블형 FF의 상태에 영향을 끼칠 때 두 개의 DFT-인에이블형 FF는 "인접한다"고 간주된다. 예를 들면, 두 개의 DFT-인에이블형 FF는, (1) 하나의 DFT-인에이블형 FF의 Q 출력으로부터 제2의 DFT-인에이블형 FF 상의 임의의 사용자 핀까지 직접 연결하는 라인들이 존재하거나 (2) (1)에 기재된 것과 같은 연결이 존재하지만 결합 로직만의 추가적인 삽입(interposition)을 구비할 경우에, 인접한다.
파티션들은 본 기술분야에서 일반적으로 공지된 그래프 컬러링 기술(graph coloring technique)들에 의해 결정된다.
파티션이 테스트되고 있을 때, 테스트된 파티션 내부의 DFT-인에이블형 FF들은 캡쳐 모드로 들어갈 수 있는 반면, 다른 모든 파티션 내의 DFT-인에이블형 FF들은 동결된(frozen) 채로 남아있어야 한다. 한번에 한 파티션씩 사용자 회로를 테스트함으로써(즉, 한번에 오직 하나의 파티션이 캡쳐 모드로 배치된다), 캡쳐 값들은 더이상 각각의 DFT-인에이블형 FF가 동결해제되는 순서에 의존하지 않는다. 다시 말하면, 파티션 테스트는 결정론적인 캡쳐 값들을 보장한다.
어드레스 가능한 제어(addressable control)는 (본 명세서에 기재된 유형의) DFT-인에이블형 FF들이 개별적으로, 그룹들로, 또는 전체가 통상 동작 모드, 스캔 시프트 모드 및 캡쳐 모드에서 동작하도록 선택되는 것을 가능하게 하는 방법이다. 어드레스 선택은 사전 설계형(pre-designed) 또는 하드와이어형(hardwired)일 수 있다.
사전 설계형 어드레싱 기법의 하나의 접근법은 각각의 DFT-인에이블형 FF가 고유한 로우 및 컬럼 어드레스에 할당되는 로우 및 컬럼 어드레싱을 이용한다. 로우 및 컬럼 어드레싱은 로직 어레이 또는 게이트 어레이에서 효과적일 것이다. 로우 및 컬럼 어드레싱은 로직 어레이(또는 게이트 어레이)에 구현될 수 있는 임의의 사용자-설계된 회로의 테스트를 가능하게 한다; 사용자-설계된 회로들에 대한 사전 지식은 필요하지 않다.
도 18은 DFT-인에이블형 FF의 개략도 - 다음의 테스트 핀들 SDI, SCLK, FREEZE_LOW 및 출력핀 Q이 도시됨- 이다. 테스트 핀 SE 및 사용자 핀들은 도시되지 않는다.
도 19는 (도 18의) 간략화된 DFT-인에이블형 FF들이 2차원 어레이에 배치될 수 있고 로우 및 컬럼 어드레싱을 이용하여 선택될 수 있는 방법을 도시한다. 본 예에서, (오른쪽에서 왼쪽으로 0 내지 M으로 넘버링된) M+1개의 컬럼들이 존재하고, (아래에서 위로 0 내지 N으로 넘버링된) N+1개의 로우들이 존재한다. 컬럼의 DFT-인에이블형 FF는 스캔 체인들로 연결된다. 본 예에서, M+1개의 스캔 체인들이 존재한다. 각각의 컬럼은 (오른쪽에서 왼쪽으로 CC_0 내지 CC_M으로 넘버링된) 그 자신의 컬럼 선택 라인을 갖는 반면, 각각의 로우는 (아래에서 위로 CR_0 내지 CR_N으로 넘버링된) 그 자신의 로우 선택 라인을 갖는다.
도 19에서, 하나의 로우는 그 로우의 선택 라인을 1 값으로 설정함으로써 동결되는 반면, 하나의 컬럼은 그 컬럼의 선택 라인을 1 값으로 설정함으로써 동결된다. DFT-인에이블형 FF는 그것의 로우 선택 라인 또는 컬럼 선택 라인들 중 하나 또는 둘 다가 1 값에 있을 때 동결된다. 도 8 및 도 9는 이러한 로우 및 컬럼 어드레싱 방법과 호환가능한 DFT-인에이블형 FF들의 두 개의 예를 도시한다. 이 경우에서, 각각의 DFT-인에이블형 FF의 CC 테스트 핀은 적절한 컬럼 선택 라인에 연결될 것이고, 각각의 DFT-인에이블형 FF의 CR 테스트 핀은 적절한 로우 선택 라인에 연결될 것이다.
로우 및 컬럼 선택 라인들을 사용함으로써, DFT-인에이블형 FF들은 개별적으로, 그룹들로, 또는 전체가 (동결 또는 동결해제로) 어드레싱될 수 있다. 파티션이 테스트될 때, 그 파티션의 DFT-인에이블형 FF들만이 캡쳐 모드에 들어가도록 선택될 수 있다.
DFT-인에이블형 FF들이 로우들 및 컬럼들로 배열되지 않을 때 - 예를 들면, 표준 셀 ASIC에서 - 하드 와이어형 어드레싱을 이용하여 사용자-설계 회로의 개별적인 DFT-인에이블형 FF들, DFT-인에이블형 FF의 그룹들 또는 DFT-인에이블형 FF들 모두를 선택한다. 하드 와이어형 어드레싱은 사용자-설계 회로에 대한 사전 지식을 필요로 한다. 사용자-설계된 회로의 DFT-인에이블형 FF들은 파티션들로 분할된다. 각각의 파티션은 분리된 및 별개의 FREEZE_LOW 신호를 필요로 한다. 소정의 파티션의 모든 DFT-인에이블형 FF는 동일한 FREEZE_LOW 신호를 공유한다. 스캔 시프트 모드동안, 모든 파티션의 FREEZE_LOW는 0값을 갖는다. 캡쳐 모드 동안, 오직 하나의 파티션의 FREEZE_LOW가 0-1-0 값들로 스위칭된다.
<출력 동결을 갖는 DFT-인에이블형 플립플롭>
도 20은 회로들을 분할할 필요성을 제거하고, 루프 차단(loop breaking)을 간략화하고, 회로들을 테스트하는 데 필요한 벡터 카운트를 감소시키는 DFT-인에이블형 FF(2000)를 나타낸다. 도 9의 DFT-인에이블형 FF(900)의 CC 및 CR로부터FREEZE_LOW를 생성하는데 사용되는 Nor 게이트(935)는 제거되고, 대신 단일 freeze_low 신호가 셀(2000) 내로 들어온다. 플립플롭(2025)의 출력은 freeze_output이라고 불리는 새로운 신호에 의해 제어되는 2-1 먹스(2040)를 통과한다. 먹스(2040)의 다른 입력은 래치(2030)의 출력에 연결되며, 래치(2030)는 새로운 먹스(2040)의 출력에 연결되는 D 입력 및 freeze_output 신호에 연결된 인에이블 입력을 갖는다.
도 21은 도 20의 DFT-인에이블형 FF(2000)의 타이밍을 나타낸다. 도 4의 타이밍과는 대조적으로, 통상 동작 및 스캔_시프트_모드 동안 freeze output 라인은 하이로 유지되고, 캡쳐 모드 사이클 동안 freeze_output은 로우이며 freeze_low 펄스를 둘러싼다.
도 9의 DFT-인에이블형 FF(900)의 경우를 상기하면, 인접한 FF들이 분리된 로직 콘(logic cone)들로 분할되어 제1 파티션에서의 테스트가 인접한 FF들의 상태를 부적절하게 변경하지 않는 것을 보장한다. 분리된 파티션들은 개별적으로 분리 된 테스트 사이클들에서 테스트된다. 도 20의 DFT-인에이블형 FF(2000)는 FF 출력들이 캡쳐되는 동안 "인접한" FF들에 대한 구동 자극(driving stimulus)을 효과적으로 동결시키기 때문에 분할이 제거될 수 있게 한다. 분할이 더이상 필요하지 않기 때문에, 개별적인 CC 및 CR 라인들은 더 이상 어느 파티션들이 캡쳐 모드인지를 선택할 필요가 없다. CC 및 CR 라인들은 하나의 freeze_low 라인으로 대체된다. 또한, 파티션이 없기 때문에, 모든 플롭은 각각의 테스트 사이클 동안 캡쳐될 수 있고 이는 테스트 벡터 카운트들을 감소시킨다.
도 20의 DFT-인에이블형 FF(2000)을 사용하면 루프 차단 또한 간단해지는데, 이는 그 자신의 세트 또는 리세트 핀으로 피드백하는 플립 플롭이 이제 문제가 아니며 그리하여 루프 차단 요소가 추가될 필요가 없기 때문이다. 순수한 결합 루프들이 여전히 차단되어야 하지만 그들은 어떤 상황 아래서든지 단지 단일 루프 차단을 필요로 한다.
<결론>
단지 편의를 위해 텍스트 및 도면들을 준비하는 데 있어서 명세서에서 소정의 선택들이 이루어졌으며 반대되는 표시(indication)가 없다면 선택들은 기술된 실시예들의 구조 또는 동작에 대한 추가 정보를 전달하는 것이므로 그 자체로 해석되어서는 안된다. 선택들의 예들은, 도면 넘버링에 대해 사용된 지정들의 특정한 조직 또는 할당 및 실시예들의 특징들 및 요소들을 식별 및 참조하기 위해 사용된 요소 식별자들의 특정한 조직 또는 할당(즉, 설명선(callout)들 또는 수적인 지정자(designator)들)을 포함한다.
이전의 실시예들이 설명 및 이해의 명료화를 위해 약간 자세하게 기술되었음에도 불구하고, 본 발명은 제공된 상세들에 한정되지 않는다. 본 발명의 다수의 실시예들이 존재한다. 개시된 실시예들은 예시적이고 제한적인 것이 아니다.
결론적으로 설명과 일치하는 구성, 배열 및 사용에 있어서의 많은 변형이 가능하며 허여된 특허청구범위의 영역 내에 있음을 이해할 것이다. 예를 들면, 상호접속 및 기능 유닛 비트-폭들, 클록 속도들, 및 사용된 기술의 유형은 각각의 컴포넌트 블록에서 다양한 실시예들에 따라 변할 수 있다. 상호접속 및 로직에 주어진 명칭들은 단지 예시적이고, 기술된 개념들을 제한하는 것으로서 해석되어서는 안된다. 플로우차트 및 흐름도 프로세스, 동작 및 기능 요소들의 순서 및 배열은 다양한 실시예들에 따라 변할 수 있다. 또한, 특별히 반대로 진술되지 않는 한, 특정된 값의 범위들, 사용된 최대 및 최소값들, 또는 다른 특정한 사양들은 단지 기술된 실시예들의 것이며 구현 기술에서의 개선들 및 변화들을 추적하도록 기대되며, 제한적으로 해석되어서는 안된다.
본 기술분야에서 주지된 기능적으로 동등한 기술들은 다양한 컴포넌트들, 서브 시스템들, 기능들, 동작들, 루틴들 및 서브루틴들을 구현하기 위하여 설명된 것 대신 채용될 수 있다. 실시예들의 다수의 기능적 양태들이 하드웨어(즉, 일반적으로 전용 회로) 및 소프트웨어(즉, 프로그램된 컨트롤러 또는 프로세서의 몇몇 방식을 통한) 중 어느 하나에서 선택적으로 실현가능하며, 그 이유는 실시예의 기능이 설계 제약조건들과, 고속 처리(이전에 하드웨어에 있던 기능들을 소프트웨어로 이동시키는 것을 용이하게 함) 및 고 집적 밀도(이전에 소프트웨어에 있던 기능들을 하드웨어로 이동시키는 것을 용이하게 함)의 기술 트렌드에 의존하기 때문이라는 것도 이해된다. 다양한 실시예에서 특정한 변형들은, 분할시 차이점들, 상이한 폼 팩터들 및 구성들, 상이한 운영 체제들 및 다른 시스템 소프트웨어의 사용; 상이한 인터페이스 표준들, 네트워크 프로토콜들, 또는 통신 링크들의 사용, 및 본 명세서에 기술된 개념들을 구현할 때 특정한 어플리케이션의 고유한 공학적 및 사업상 제약조건들에 따라 기대되는 다른 변형들을 포함하지만, 이에 제한되지는 않는다.
기술된 실시예들의 다수의 양태의 최소한의 구현을 위해 필요한 것보다 훨씬 많은 상세 및 환경적 컨텍스트와 함께 실시예들이 기술되었다. 본 기술분야의 통상의 기술자는 소정의 실시예들이 나머지 요소들 사이에서의 기본적인 협력(cooperation)을 변경하지 않고 개시된 컴포넌트들 또는 특징들을 생략함을 인식할 것이다. 그리하여 개시된 상세 중 다수가 기술된 실시예들의 다양한 양태들을 구현하는데 필요하지 않다는 것이 이해된다. 나머지 요소들이 종래 기술과 구별가능한 한, 생략된 컴포넌트들 및 특징들은 본 명세서에서 기술된 개념들에 대해 제한적이지 않음을 이해해야 한다.
모든 그러한 설계상의 변형들은 기술된 실시예들에 의해 전달되는 교시들에 관한 가공의 변화들을 포함한다. 본 명세서에서 기술된 실시예들이 다른 컴퓨팅 및 네트워킹 어플리케이션들에 대하여 넓은 적용가능성(applicability)을 가지며, 기술된 실시예들의 특정한 어플리케이션 또는 산업으로 제한되지 않는다는 것이 또한 이해된다. 그리하여 본 발명은 허여된 특허청구범위의 영역 내에 포함되는 모든 가능한 수정들 및 변형들을 포함하는 것으로 해석되어야 한다.

Claims (48)

  1. 집적 회로 설계 방법으로서,
    통합 테스트용 설계 (design-for-testability; DFT) 기능성을 갖는 각자의 로직 블록을 통해 게이트-레벨 네트리스트의 저장 기능을 구현하는 단계를 포함하는, 집적 회로의 적어도 일부의 타겟 구현 아키텍쳐 상에 상기 게이트 레벨 네트리스트를 매핑하는 단계를 포함하는, 집적 회로 설계 방법.
  2. 통합 테스트용 설계 기능성을 갖는 로직 블록으로서,
    제 1 제어 입력, 제 2 제어 입력, 사용자 데이터 입력, 스캔 데이터 입력, 사용자 클록 입력, 및 스캔 클록 입력을 포함하는 신호 라인들;
    코어 D 입력 및 코어 클록 입력을 포함하는 코어 클록형 D형 저장 플립 플롭;
    상기 제 1 제어 입력의 함수로서 상기 사용자 데이터 입력과 상기 스캔 데이터 입력 중에서 선택하여 상기 코어 D 입력을 구동하도록 구성된 D 입력 선택기; 및
    상기 제 2 제어 입력의 함수로서 상기 사용자 클록 입력과 상기 스캔 클록 입력 중에서 선택하여 상기 코어 클록 입력을 구동하도록 구성된 클록 입력 선택기를 포함하고,
    사용자 모드에서, 상기 로직 블록은 집적 회로의 적어도 일부를 특정하는 어플리케이션 네트리스트 내의 플립 플롭 매크로로서 동작하도록 구성되고,
    테스트 모드에서, 상기 로직 블록은 상기 사용자 데이터 입력의 값 또는 상기 사용자 클록 입력의 값과 상관없이 스캔 체인으로서 투명하게 동작하도록 구성되는, 로직 블록.
  3. 제 2 항에 있어서,
    상기 코어 클록형 D형 저장 플립 플롭은 코어 Q 출력을 더 포함하고,
    상기 스캔 체인은 상기 로직 블록의 제 1 인스턴스의 상기 코어 Q 출력을 상기 로직 블록의 제 2 인스턴스의 스캔 데이터 입력에 결합함으로써 구현되는, 로직 블록.
  4. 제 3 항에 있어서,
    상기 스캔 체인의 상기 로직 블록의 상기 제 1 인스턴스 및 상기 제 2 인스턴스의 대응하는 제 1 제어 입력과 제 2 제어 입력은 논리적으로 동일하고, 상기 제 1 제어 입력이 상기 사용자 데이터 입력으로 설정되고 상기 제 2 제어 입력이 상기 사용자 클록 입력으로 설정될 때에 상기 사용자 모드에서 동작하는, 로직 블록.
  5. 제 4 항에 있어서,
    상기 스캔 체인의 상기 로직 블록의 상기 제 1 인스턴스 및 상기 제 2 인스턴스는, 상기 제 1 제어 입력이 상기 스캔 데이터 입력으로 설정되고 상기 제 2 제어 입력이 상기 스캔 클록 입력으로 설정될 때에 상기 테스트 모드의 시프트 서브 모드에서 동작하는, 로직 블록.
  6. 제 4 항에 있어서,
    상기 스캔 체인의 상기 로직 블록의 상기 제 1 인스턴스 및 상기 제 2 인스턴스는, 상기 제 1 제어 입력이 상기 사용자 데이터 입력으로 설정되고 제 3 제어 입력이 캡쳐 Q 출력으로 설정될 때에 상기 테스트 모드의 캡쳐 서브 모드에서 동작하고,
    상기 로직 블록은, 상기 로직 블록의 상기 제 1 인스턴스의 캡쳐 결과가 상기 로직 블록의 상기 제 2 인스턴스의 캡쳐 결과에 영향을 미치지 않도록 구성되는, 로직 블록.
  7. 제 6 항에 있어서,
    상기 캡쳐 서브 모드에서, 상기 사용자 데이터 입력은, 상기 스캔 클록 입력, 상기 사용자 클록 입력, 및 상기 제 2 제어 입력의 함수로서 상기 코어 클록형 D형 저장 플립 플롭으로 선택적으로 클록킹되도록 구성되는, 로직 블록.
  8. 제 6 항에 있어서,
    상기 코어 클록형 D형 저장 플립 플롭은 코어 비동기 세트 입력 및 코어 비동기 리세트 입력을 더 포함하고,
    상기 로직 블록은,
    비동기 세트 입력 및 상기 제 2 제어 입력이 모두 활성 상태일 때 상기 코어 비동기 세트 입력을 활성으로 구동하기 위해 제 1 비동기 제어 신호를 생성하도록 구성된 세트 게이팅 로직; 및
    비동기 리세트 입력 및 상기 제 2 제어 입력이 모두 활성 상태일 때 상기 코어 비동기 리세트 입력을 활성으로 구동하기 위해 제 2 비동기 제어 신호를 생성하도록 구성된 리세트 게이팅 로직을 더 포함하고,
    상기 비동기 세트 입력 및 상기 비동기 리세트 입력은 단지 상기 사용자 모드 및 상기 캡쳐 서브 모드에서만 유효하도록 구성되는, 로직 블록.
  9. 컴퓨팅 디바이스에 의한 컴퓨터-실행가능 명령의 실행에 응답하여, 상기 컴퓨팅 디바이스를 인에이블하도록 구성된 상기 컴퓨터-실행가능 명령이 저장된 비일시적 컴퓨터 판독가능 매체로서,
    상기 컴퓨팅 디바이스로 하여금,
    통합 테스트용 설계 (DFT) 기능성을 갖는 각자의 로직 블록을 통해 게이트-레벨 네트리스트의 저장 기능을 구현하는 단계를 포함하는, 집적 회로의 적어도 일부의 타겟 구현 아키텍쳐 상에 상기 게이트 레벨 네트리스트를 매핑하는 단계를 포함하는 동작을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
  10. 제 1 항에 있어서,
    상기 매핑하는 단계는 표준 셀 라이브러리를 이용하여 상기 타겟 구현 아키텍쳐의 로직 어레이의 기능 블록들을 구현하는 단계를 포함하고,
    상기 로직 어레이는 적어도 하나의 사전 설계된 하위층의 베이스 어레이 부분 및 적어도 하나의 주문화가능한 상위층을 포함하는, 집적 회로 설계 방법.
  11. 제 1 항에 있어서,
    상기 로직 블록은 DFT-인에이블형 플립 플롭인, 집적 회로 설계 방법.
  12. 제 1 항에 있어서,
    상기 로직 블록은 DFT-인에이블형 래치인, 집적 회로 설계 방법.
  13. 제 1 항에 있어서,
    상기 로직 블록은,
    제 1 제어 신호, 제 2 제어 신호, 사용자 데이터 입력, 스캔 데이터 입력, 사용자 클록 입력, 및 스캔 클록 입력을 포함하는 신호 라인들;
    코어 D 입력 및 코어 클록 입력을 포함하는 코어 클록형 D형 저장 플립 플롭;
    상기 제 1 제어 신호의 함수로서 상기 사용자 데이터 입력과 상기 스캔 데이터 입력 중에서 선택하여 상기 코어 D 입력을 구동하도록 구성된 D 입력 선택기; 및
    상기 제 2 제어 신호의 함수로서 상기 사용자 클록 입력과 상기 스캔 클록 입력 중에서 선택하여 상기 코어 클록 입력을 구동하도록 구성된 클록 입력 선택기를 포함하는, 집적 회로 설계 방법.
  14. 제 3 항에 있어서,
    상기 신호 라인들은 총 Q 출력 및 제 3 제어 입력을 더 포함하는, 로직 블록.
  15. 제 14 항에 있어서,
    상기 제 3 제어 입력에 연결된 인에이블, 캡쳐 Q 출력, 및 캡쳐 D 입력을 포함하는 캡쳐 D형 저장 플립 플롭; 및
    상기 제 3 제어 입력의 함수로서 상기 코어 Q 출력과 상기 캡쳐 Q 출력 중에서 선택하여 상기 총 Q 출력을 구동하도록 구성된 출력 선택기를 더 포함하는, 로직 블록.
  16. 제 8 항에 있어서,
    상기 제 1 비동기 제어 신호와 상기 제 2 비동기 제어 신호가 동시에 활성으로 구동되는 경우에 상기 제 1 비동기 제어 신호와 상기 제 2 비동기 제어 신호 사이에 하강 에지 스큐를 제공하도록 구성된 적어도 하나의 지연 요소를 더 포함하는, 로직 블록.
  17. 통합 테스트용 설계 기능성을 갖는 로직 블록을 동작시키는 방법으로서,
    제 1 제어 입력의 함수로서 사용자 데이터 입력과 스캔 데이터 입력 중에서 선택하는 단계;
    상기 선택된 스캔 데이터 입력 또는 상기 선택된 사용자 데이터 입력 중 하나를 이용하여 상기 로직 블록의 코어 클록형 D형 저장 플립 플롭의 코어 D 입력을 구동하는 단계;
    적어도 부분적으로, 상기 로직 블록의 동작 모드에 기초하여 제 2 제어 입력의 함수로서 사용자 클록 입력과 스캔 클록 입력 중에서 선택하는 단계로서, 사용자 모드에서는 상기 사용자 클록 입력이 선택되고, 테스트 모드에서는 상기 스캔 클록 입력이 선택되는, 상기 사용자 클록 입력과 스캔 클록 입력 중에서 선택하는 단계;
    상기 스캔 클록 입력 또는 상기 사용자 클록 입력 중 선택된 하나를 이용하여 상기 코어 클록형 D형 저장 플립 플롭의 코어 클록 입력을 구동하는 단계; 및
    적어도 부분적으로, 상기 코어 클록형 D형 저장 플립 플롭의 코어 Q 출력 상에서 고장의 존재를 검출하는 단계를 포함하는, 로직 블록을 동작시키는 방법.
  18. 제 17 항에 있어서,
    상기 검출하는 단계는 적어도 부분적으로, 상기 사용자 데이터 입력 및 상기 사용자 클록 입력 상에서 고장의 존재를 검출하는 단계를 더 포함하는, 로직 블록을 동작시키는 방법.
  19. 제 17 항에 있어서,
    상기 로직 블록의 제 1 인스턴스의 상기 코어 Q 출력을 상기 로직 블록의 제 2 인스턴스의 스캔 데이터 입력에 결합하여 스캔 체인을 형성하는 단계를 더 포함하는, 로직 블록을 동작시키는 방법.
  20. 제 17 항에 있어서,
    제 3 제어 입력의 함수로서 캡쳐 D형 저장 플립 플롭의 캡쳐 Q 출력과 상기 코어 Q 출력 중에서 선택하며;
    상기 로직 블록의 총 Q 출력을 구동함으로써, 상기 테스트 모드의 캡쳐 서브 모드에서 상기 로직 블록을 동작시키는 단계를 더 포함하는, 로직 블록을 동작시키는 방법.
  21. 제 9 항에 있어서,
    상기 매핑하는 단계는 표준 셀 라이브러리를 이용하여 상기 타겟 구현 아키텍쳐의 로직 어레이의 기능 블록들을 구현하는 단계를 포함하고,
    상기 로직 어레이는 적어도 하나의 사전 설계된 하위층의 베이스 어레이 부분 및 적어도 하나의 주문화가능한 상위층을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  22. 제 9 항에 있어서,
    상기 동작은,
    상기 로직 블록의 제 1 제어 입력의 함수로서 상기 로직 블록의 스캔 데이터 입력과 상기 로직 블록의 사용자 데이터 입력 중에서 선택하는 단계;
    상기 선택된 스캔 데이터 입력 또는 상기 선택된 사용자 데이터 입력 중 하나를 이용하여 상기 로직 블록의 코어 D 입력을 구동하는 단계;
    적어도 부분적으로, 상기 로직 블록의 동작 모드에 기초하여 상기 로직 블록의 제 2 제어 입력의 함수로서 상기 로직 블록의 스캔 클록 입력과 상기 로직 블록의 사용자 클록 입력 중에서 선택하는 단계로서, 사용자 모드에서는 상기 사용자 클록 입력이 선택되고, 테스트 모드에서는 상기 스캔 클록 입력이 선택되는, 상기 로직 블록의 스캔 클록 입력과 상기 로직 블록의 사용자 클록 입력 중에서 선택하는 단계;
    상기 스캔 클록 입력 또는 상기 사용자 클록 입력 중 선택된 하나를 이용하여 상기 로직 블록의 코어 클록 입력을 구동하는 단계; 및
    적어도 부분적으로, 상기 로직 블록의 코어 Q 출력 상에서 고장의 존재를 검출하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
KR1020097000531A 2006-06-09 2007-06-09 투명한 테스트 방법 및 스캔 플립 플롭 Active KR101006822B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US80428306P 2006-06-09 2006-06-09
US60/804,283 2006-06-09
US80508706P 2006-06-18 2006-06-18
US60/805,087 2006-06-18

Publications (2)

Publication Number Publication Date
KR20090051157A KR20090051157A (ko) 2009-05-21
KR101006822B1 true KR101006822B1 (ko) 2011-01-10

Family

ID=38832108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000531A Active KR101006822B1 (ko) 2006-06-09 2007-06-09 투명한 테스트 방법 및 스캔 플립 플롭

Country Status (5)

Country Link
US (1) US8122413B2 (ko)
EP (1) EP2030114B1 (ko)
JP (1) JP5131997B2 (ko)
KR (1) KR101006822B1 (ko)
WO (1) WO2007146849A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332793B2 (en) 2006-05-18 2012-12-11 Otrsotech, Llc Methods and systems for placement and routing
US8667437B2 (en) * 2008-03-17 2014-03-04 Xilinx, Inc. Creating a standard cell circuit design from a programmable logic device circuit design
KR20100078431A (ko) * 2008-12-30 2010-07-08 주식회사 동부하이텍 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
WO2011114428A1 (ja) * 2010-03-15 2011-09-22 株式会社日立製作所 半導体装置およびそのテスト方法
KR101709071B1 (ko) 2010-05-19 2017-02-22 삼성전자주식회사 컴프레션 모드 스캔 테스트를 위한 집적 회로
US8788896B2 (en) * 2012-01-11 2014-07-22 Lsi Corporation Scan chain lockup latch with data input control responsive to scan enable signal
US9086457B2 (en) 2013-03-26 2015-07-21 International Business Machines Corporation Scan chain latch design that improves testability of integrated circuits
TWI508450B (zh) * 2013-04-10 2015-11-11 Mstar Semiconductor Inc 半動態正反器
CN104124946B (zh) * 2013-04-24 2016-10-05 晨星半导体股份有限公司 半动态触发器
CN103294600B (zh) * 2013-06-28 2015-08-19 哈尔滨工业大学 基于Perl的EDIF网表级电路的自动可测性设计系统的自动可测性设计方法
US9793881B2 (en) * 2013-08-05 2017-10-17 Samsung Electronics Co., Ltd. Flip-flop with zero-delay bypass mux
US9798845B2 (en) * 2013-09-06 2017-10-24 Blue Pearl Software, Inc. User grey cell
CN103530479B (zh) * 2013-10-31 2016-09-21 哈尔滨工业大学 基于Perl的EDIF网表级电路的部分可测性设计系统及部分可测性设计方法
CN103699422A (zh) * 2013-12-25 2014-04-02 哈尔滨工业大学 使用Perl语言对电路verilog网表描述进行可测性设计的系统及方法
KR101697213B1 (ko) * 2014-09-02 2017-01-17 성균관대학교산학협력단 디지털 회로의 방사선 내성평가 시스템 및 방사선 내성평가 방법
US10317464B2 (en) * 2017-05-08 2019-06-11 Xilinx, Inc. Dynamic scan chain reconfiguration in an integrated circuit
US10936774B1 (en) * 2018-02-15 2021-03-02 Real Intent, Inc. Methods for identifying integrated circuit failures caused by reset-domain interactions
CN109884516B (zh) * 2019-01-29 2021-01-12 中国科学院微电子研究所 异步复位触发器验证电路以及集成电路验证装置
CN110262616B (zh) * 2019-05-22 2021-01-15 西安理工大学 一种超细粒度控制门级单元电源供应的方法
CN110601811B (zh) * 2019-09-12 2022-10-21 北京大学软件与微电子学院 一种在dft中使用的安全性的测试模式译码电路
CN111931445B (zh) * 2020-10-09 2020-12-29 芯华章科技股份有限公司 用于调试逻辑系统设计的方法、仿真器及存储介质
US11901902B2 (en) 2021-05-25 2024-02-13 Samsung Electronics Co., Ltd. Integrated circuit including flip-flop and computing system for designing the integrated circuit
US11782092B1 (en) 2022-05-18 2023-10-10 Stmicroelectronics International N.V. Scan compression through pin data encoding
US12480993B2 (en) 2024-03-18 2025-11-25 Stmicroelectronics International N.V. Low pin count scan with no dedicated scan enable pin

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194046A1 (en) 2003-03-27 2004-09-30 Tempus Fugit Inc. Trace based method for design navigation
US20040230933A1 (en) 2003-05-15 2004-11-18 Weaver Edward G. Tool flow process for physical design of integrated circuits
US20060085709A1 (en) 2004-10-02 2006-04-20 Kim Chung-Hee Flip flop circuit & same with scan function
KR20060066634A (ko) * 2004-12-13 2006-06-16 양세양 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63300528A (ja) 1987-05-29 1988-12-07 Nec Corp ゲ−トアレイ集積回路
JP2945103B2 (ja) * 1990-05-15 1999-09-06 株式会社リコー テスト用スキャン回路装置
US5166604A (en) * 1990-11-13 1992-11-24 Altera Corporation Methods and apparatus for facilitating scan testing of asynchronous logic circuitry
JPH05341016A (ja) 1992-06-11 1993-12-24 Seiko Epson Corp 半導体集積回路装置およびテスト方法
US6096567A (en) 1997-12-01 2000-08-01 Electroglas, Inc. Method and apparatus for direct probe sensing
JP3556502B2 (ja) * 1999-01-20 2004-08-18 松下電器産業株式会社 D型フリップフロップ
US6393592B1 (en) 1999-05-21 2002-05-21 Adaptec, Inc. Scan flop circuitry and methods for making the same
US6701491B1 (en) * 1999-06-26 2004-03-02 Sei-Yang Yang Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
JP4428489B2 (ja) 1999-08-23 2010-03-10 パナソニック株式会社 集積回路装置及びそのテスト方法
JP3699019B2 (ja) * 2001-08-01 2005-09-28 Necマイクロシステム株式会社 スキャン用フリップフロップおよびスキャンテスト回路
US7127695B2 (en) * 2002-07-18 2006-10-24 Incentia Design Systems Corp. Timing based scan chain implementation in an IC design
FR2842913B1 (fr) * 2002-07-23 2004-11-19 Schlumberger Services Petrol Dispositif compact de mesure de vitesse et de sens de rotation d'un objet
US6938225B2 (en) * 2002-09-04 2005-08-30 Intel Corporation Scan design for double-edge-triggered flip-flops
US7313739B2 (en) 2002-12-31 2007-12-25 Analog Devices, Inc. Method and apparatus for testing embedded cores
US7134061B2 (en) * 2003-09-08 2006-11-07 Texas Instruments Incorporated At-speed ATPG testing and apparatus for SoC designs having multiple clock domain using a VLCT test platform
KR20050051856A (ko) 2003-11-28 2005-06-02 삼성전자주식회사 디버깅용 주사 체인을 가지는 반도체 장치 및 주사 체인을이용한 디버깅 방법
US7030651B2 (en) * 2003-12-04 2006-04-18 Viciciv Technology Programmable structured arrays

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194046A1 (en) 2003-03-27 2004-09-30 Tempus Fugit Inc. Trace based method for design navigation
US20040230933A1 (en) 2003-05-15 2004-11-18 Weaver Edward G. Tool flow process for physical design of integrated circuits
US20060085709A1 (en) 2004-10-02 2006-04-20 Kim Chung-Hee Flip flop circuit & same with scan function
KR20060066634A (ko) * 2004-12-13 2006-06-16 양세양 검증 성능과 검증 효율성을 높이는 동적검증 기법 방식의검증 장치 및 이를 이용한 검증 방법론

Also Published As

Publication number Publication date
KR20090051157A (ko) 2009-05-21
JP5131997B2 (ja) 2013-01-30
US8122413B2 (en) 2012-02-21
EP2030114A4 (en) 2011-05-18
US20100169856A1 (en) 2010-07-01
WO2007146849A1 (en) 2007-12-21
EP2030114A1 (en) 2009-03-04
JP2009540302A (ja) 2009-11-19
EP2030114B1 (en) 2013-01-23

Similar Documents

Publication Publication Date Title
KR101006822B1 (ko) 투명한 테스트 방법 및 스캔 플립 플롭
KR0156547B1 (ko) 집적 회로용 검사셀
CN101911491B (zh) 用于分析扫描链和确定扫描链中的保持时间故障的数目或位置的方法
US6861867B2 (en) Method and apparatus for built-in self-test of logic circuits with multiple clock domains
JP4361681B2 (ja) Asic用試験回路
US7761755B1 (en) Circuit for and method of testing for faults in a programmable logic device
US9903913B2 (en) Scan or JTAG controllable capture clock generation
Stroud et al. Using ILA testing for BIST in FPGAs
US8381050B2 (en) Method and apparatus for increased effectiveness of delay and transition fault testing
KR20100107493A (ko) 시스템 온 칩 장치
US11500018B2 (en) Asynchronous circuits and test methods
Cantoro et al. On the testability of IEEE 1687 networks
US10520550B2 (en) Reconfigurable scan network defect diagnosis
US4682329A (en) Test system providing testing sites for logic circuits
Josephson et al. Test methodology for the McKinley processor
Ko et al. RTL scan design for skewed-load at-speed test under power constraints
Rodriguez-Hall et al. Using pulsed-latch scan chains for non-destructive ASIC testing
Zadegan et al. Robustness of TAP-based scan networks
Koenemann Design-for-test
Pennings Analyzing Asynchronous Reset Glitches during Scan-Test
Patnaik et al. the state of VLSI testing
Bhuyan et al. Estimating Stuck at Coverage percentage through scan flops during scan
Smith et al. High-resolution delay testing of interconnect paths in Field-Programmable Gate Arrays
Waayers et al. Clock control architecture and atpg for reducing pattern count in soc designs with multiple clock domains
Zhang et al. Cell-aware fault analysis and test set optimization in digital integrated circuits

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20090109

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20100929

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20110103

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20110103

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20131227

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20141230

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20151230

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20161229

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20171228

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20181227

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20211229

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20221221

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20241223

Start annual number: 15

End annual number: 15