KR20150054899A - 링 발진기들에 대한 테스트 솔루션 - Google Patents

링 발진기들에 대한 테스트 솔루션 Download PDF

Info

Publication number
KR20150054899A
KR20150054899A KR1020157008839A KR20157008839A KR20150054899A KR 20150054899 A KR20150054899 A KR 20150054899A KR 1020157008839 A KR1020157008839 A KR 1020157008839A KR 20157008839 A KR20157008839 A KR 20157008839A KR 20150054899 A KR20150054899 A KR 20150054899A
Authority
KR
South Korea
Prior art keywords
test
ring oscillator
ring
oscillators
chain
Prior art date
Application number
KR1020157008839A
Other languages
English (en)
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 KR20150054899A publication Critical patent/KR20150054899A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • 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/2851Testing of integrated circuits [IC]
    • G01R31/2884Testing of integrated circuits [IC] using dedicated test connectors, test elements or test circuits on the IC under test
    • 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/318502Test of Combinational circuits
    • 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/31708Analysis of signal quality
    • G01R31/31709Jitter measurements; Jitter generators

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

복수의 링 발진기들의 테스트를 위한 방법 및 장치가 본 명세서에 개시된다. 일 실시예에 있어, 장치는, 백-투-백으로 연결된 홀수의 인버터들을 갖는 링 발진기를 가지며 진동 출력을 생성하도록 동작할 수 있는 적어도 하나의 링 발진기 구조체, 및 가관측성 체인 입력 또는 테스트 입력을 링 발진기에 제공하고 링 발진기로부터 피드백으로서 진동 출력을 수신하도록 연결된 테스트 구조체를 포함한다.

Description

링 발진기들에 대한 테스트 솔루션{TEST SOLUTION FOR RING OSCILLATORS}
본 발명의 실시예들은 링 발진기들에 관한 것으로서; 더 구체적으로, 본 발명의 실시예들은, HDCP(high-definition content protection)에서 시크릿 키(secret key) 생성을 위한 난수 발생기에서 이용될 수 있는 것과 같은 복수의 링 발진기들의 테스트에 관한 것이다.
랜덤성(randomness)은 데이터 송신의 보안을 보장하기 위한 암호기법에서 결정적인 역할을 하는 것으로 여겨진다. 하드웨어적으로 랜덤성을 구현하기 위하여, 플립-플롭(flip-flop) 또는 클럭 지터(clock jitter)의 준안정성(metastability)이 랜덤성의 소스로서 사용된다. 다수의 구현예들은 클럭으로서 링 발진기들을 이용한다. 아주 많은 수의 링 발진기들이 흔히 필요한 레벨의 랜덤성을 유지하기 위해 이용된다. 안전한 데이터 송신을 위한 시크릿 키 생성을 위해 HDCP 2.0에서 사용되는 256개의 링 발진기들이 존재한다.
도 1은 HDCP에서의 데이터 암호화의 간략화된 도면을 예시한다. 도 1을 참조하면, 시크릿 키(101)는 순수 난수 발생기(True Random Number Generator: TRNG)(102)로부터 생성되는 난수로부터 구성된다. 난수는 소스 및 싱크 둘 모두에서 시크릿 키들을 계산하는데 사용된다. 먼저 난수가 소스로부터 생성되며, 시크릿 키가 연산된다. 동시에, 자체적인 시크릿 키를 계산할 수 있도록 난수가 싱크로 송신될 수 있다. 소스는 XOR 연산(120)을 통해 시크릿 키를 사용하여 비디오 스트림인 비디오 데이터(110)를 암호화하며, 암호화된 비디오 스트림(111)이 싱크로 송신된다. 싱크는 수신된 암호화된 비디오 스트림(111)을 복호화하기 위해 자체적인 시크릿 키를 사용한다.
TRNG(102)는 난수를 생성하기 위해 많은 수의 링 발진기들을 이용한다. 도 2는 TRNG의 일 예를 예시한다. 도 2를 참조하면, 링 발진기들(RO들)(2011-N)은 도시된 바와 같이 조합 피드백을 통해 백-투-백(back-to-back)으로 연결된 홀수의 인버터들(210)이다. 링 발진기들(2011-N)의 출력들이 XOR 로직(202)을 사용하여 조합되며, XOR 로직의 출력이 플립-플롭(203)에 연결된다. 샘플링 클럭(Fs)이 난수들을 획득하기 위하여 XOR 로직(202)의 출력의 스트림을 캡처하기 위해 제공된다.
링 발진기들(2011-N)의 고유한 조합 피드백에 기인하여, 스턱-엣(stuck-at) 테스트와 같은 경제적인 구조 테스트들을 사용하는 링 발진기들(2011-N) 각각의 테스트가 어려울 수 있다. 흔히, 링 발진기들(2011-N)이 별개로 한번에 하나씩 기능적으로 테스트된다. 이러한 종래의 링 발진기 테스트들은 테스터에서의 링 발진기 출력의 직접적인 관찰 또는 테스트되는 링 발진기에 의해 생성되는 진동을 검출하기 위한 어떤 온-칩 카운터들의 이용을 수반할 수 있다. 테스터에서 링 발진기의 출력을 테스트하는 것은 링 발진기의 비동기적 본질 및 비효율적인 테스트 액세스에 기인하여 비용이 많이 들 수 있다. 온-칩 카운터들을 이용하는 테스트 방법은 각각의 개별적인 링 발진기의 테스트 셋업에 기인하여 하드웨어 및 테스트 시간 오버헤드를 겪을 수 있다.
따라서, 링 발진기들의 수가 많고 증가하는 경우, 기능 테스트의 비용이 상당할 수 있다. 문제 크기(problem size), 즉, 이용되는 링 발진기들의 수의 증가에 가격적으로 민감하지 않은 낮은 비용의 테스트 솔루션들을 제공하는 것이 중요하며, 증가하지 않는다면, 상용 IC들의 가격이 지속적으로 압력을 받고 있지만 그들의 테스트 비용이 유지될 때 특히 그러하다.
복수의 링 발진기들의 테스트를 위한 방법 및 장치가 본 명세서에 개시된다. 일 실시예에 있어, 장치는, 백-투-백으로 연결된 홀수의 인버터들을 갖는 링 발진기를 가지며 진동 출력을 생성하도록 동작할 수 있는 적어도 하나의 링 발진기 구조체, 및 가관측성(observability) 체인 입력 또는 테스트 입력을 링 발진기에 제공하고 링 발진기로부터 피드백으로서 진동 출력을 수신하도록 연결된 테스트 구조체를 포함한다.
본 발명이 이하에서 주어지는 상세한 설명으로부터 그리고 본 발명의 다양한 실시예들의 첨부된 도면들로부터 더 완전하게 이해될 것이지만, 본 발명의 다양한 실시예들이 본 발명을 특정 실시예들에 한정하는 것으로 여겨지지 않아야 하며, 본 발명의 다양한 실시예들은 오로지 설명 및 이해를 위한 것이다.
도 1은 HDCP에서의 데이터 암호화를 예시한다.
도 2는 순수 난수 발생기(true random number generator: TRNG)의 일 예를 예시한다.
도 3은 종래기술의 링 발진기의 기능도를 예시한다.
도 4는 링 발진기 테스트 구조체(test structure: TS)를 갖는 링 발진기 장치의 일 실시예를 예시한다.
도 5는 링 발진기 테스트 구조체의 일 실시예의 거동을 예시한다.
도 6a는 링 발진기 장치의 부분으로서 사용되는 테스트 구조체의 일 실시예를 예시한다.
도 6b는 테스트 구조체의 다른 실시예를 예시한다.
도 7은 테스트 구조체의 일 실시예의 셋업(setup) 및 유지(hold) 시간들을 예시한다.
도 8은 테스트 구조체의 일 실시예에 대한 테스트 시퀀스를 설명하는 비동기 FSM을 예시한다.
도 9는 링 발진기 테스트에 대한 테스트 액세스의 일 실시예를 예시한다.
도 10은 계층적 링 발진기 테스트 구조체의 일 실시예를 예시한다.
도 11은 테스트가능 링 발진기(testable ring oscillator: TRO)의 정상-상태 거동 모델을 예시한다.
HDCP(high-definition content protection)에서 비디오 암호화 및 복호화를 위해 시크릿 키 생성을 위한 순수 난수 발생기에서 이용되는 다수의 링 발진기들을 테스트하기 위한 기법이 설명된다. 개시된 온-칩 링 발진기 테스트 솔루션을 사용하는 일 실시예에 있어, 모든 링 발진기들이 스턱-엣(stuck-at) 구조 테스트 또는 제안된 의사-기능 테스트에 의해 진동에 대해 즉시 테스트될 수 있다. 일 실시예에 있어, 테스트 구조체는 모듈식이며, 연결될 때 테스트 구조체들의 집합이 링 발진기들, 특성(characterization) 및 실리콘 디버그(silicon debug)의 병렬 테스트를 위한 테스트 액세스를 구성한다. 본 명세서에서 설명되는 테스트 솔루션의 이점은 상세 성능 명세 테스트 이전의 결함 부분들의 빠른 결정이며, 그 결과 전체 제조 테스트 시간이 감소될 수 있다.
일 실시예에 있어, 설명된 링 발진기 테스트 기법은 구조 테스트 동안 다른 시스템 로직으로 링 발진기들을 테스트함으로써 다수의 링 발진기들의 테스트 비용을 제거할 수 있거나, 또는, 그들이 별개로 테스트되는 경우 테스트 비용(즉, 링 발진기들의 인버터 체인의 지연)을 사소한 수준으로 감소시킬 수 있다. 일 실시예에 있어, 링 발진기 테스트 기법은 기존의 링 발진기를 본 명세서에서 "링 발진기 테스트 구조체"로서 지칭되는 더 테스트가능한 형태로 변환함으로써 목표를 달성한다. 링 발진기 테스트 구조체는 링 발진기들을 링 발진기들의 병렬 기능 테스트 및 스턱-엣 구조 테스트를 가능하게 하는 테스트가능 구조로 재구성할 수 있다. 설명되는 기법은 더 많은 수의 링 발진기들에 대해 테스트 시간 증가를 사소한 수준으로 감소시킬 수 있다.
다음의 설명에서, 본 발명의 더 철저한 설명을 제공하기 위해 다수의 상세내용들이 기술된다. 그러나, 본 발명이 이러한 특정 상세내용들 없이 실시될 수 있다는 것이 당업자에게 자명할 것이다. 다른 예들에 있어, 잘-알려진 구조들 및 디바이스들이 본 발명을 모호하게 하는 것을 회피하기 위해 상세하게 도시되지 않고 블록도의 형태로 도시된다.
다음의 상세한 설명들의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 심볼 표현들 및 알고리즘들과 관련하여 제공된다. 이러한 알고리즘적 설명들 및 표현들은 데이터 프로세싱 분야에서 당업자들이 그들의 작업의 본질을 다른 당업자들에게 효율적으로 전달하기 위해 사용되는 수단들이다. 본 명세서에서 그리고 일반적으로 알고리즘은 희망되는 결과를 야기하는 단계들의 자기-무모순(self-consistent) 시퀀스로서 여겨진다. 단계들은 물리적 수량들의 물리적 조작들을 요구하는 것들일 수 있다. 필수적이지는 않지만, 일반적으로 이러한 수량들은 저장되고, 전송되며, 결합되고, 비교되며, 그리고 달리 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취한다. 원칙적으로 공통적인 사용을 위하여, 이러한 신호들을 비트들, 값들, 엘러먼트들, 심볼들, 캐릭터들, 용어들, 숫자들 등으로 지칭하는 것이 때때로 편리하다는 것이 증명되었다.
그러나, 이러한 그리고 유사한 용어들이 적절한 물리적 수량들과 연관되며, 단순히 이러한 수량들에 적용되는 간편한 라벨들이라는 것을 명심해야 한다. 다음의 설명과 명백하게 다르게 언급되지 않는 한, 설명 전체에 걸쳐 "프로세싱" 또는 "연산" 또는 "계산" 또는 "결정" 또는 "디스플레잉" 등과 같은 용어들을 사용하는 설명이 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 수량들로서 표현된 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 이러한 다른 정보 저장, 송신 또는 디스플레이 디바이스들 내의 물리적 수량들로서 유사하게 표현되는 다른 데이터로 변환하고 조작하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스들을 지칭하는 것으로 이해되어야 한다.
또한 본 발명은 본 명세서의 동작들을 수행하기 위한 장치에 관한 것이다. 이러한 장치는 특별히 요구되는 목적들을 위해 구성될 수 있거나, 또는 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 비제한적으로, 플로피 디스크들, 광 디스크들, CD-ROM들, 및 자기-광 디스크들을 포함하는 임의의 유형의 디스크, 판독-전용 메모리들(ROM들), 랜덤 액세스 메모리들(RAM들), EPROM들, EEPROM들, 자기 또는 광 카드들, 또는 전자적 명령들을 저장하기에 적합하고 각각이 컴퓨터 시스템 버스에 연결된 임의의 유형의 매체와 같은 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
본 명세서에서 제공되는 알고리즘들 및 디스플레이들이 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 연관되지는 않는다. 다양한 목적의 시스템들이 본 명세서의 교시에 따른 프로그램들과 함께 사용될 수 있거나, 또는, 요구되는 방법 단계들을 수행하기 위해 더 특화된 장치를 구성하는 것이 편리할 수도 있다. 이러한 다양한 시스템들에 대해 요구되는 구조가 이하의 설명으로부터 나타날 것이다. 이에 더하여, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본 명세서에서 설명되는 바와 같은 본 발명의 교시들을 구현하는데 사용될 수 있다.
기계-판독가능 매체는 기계(예를 들어, 컴퓨터)에 의해 판독가능한 형태로 정보를 저장 또는 송신하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계-판독가능 매체는 판독 전용 메모리("ROM"); 랜덤 액세스 메모리("RAM"); 자기 디스크 저장 매체; 광 저장 매체; 플래시 메모리 디바이스들; 등을 포함한다.
개괄
일 실시예에 있어, 링 발진기 아키텍처는 적어도 하나의 링 발진기 구조체를 가지며, 각각의 링 발진기 구조체는 링 발진기 및 테스트 구조체를 갖는다. 링 발진기는 백-투-백으로 연결되고 진동 출력을 생성하도록 동작할 수 있는 홀수의 인버터들을 구비한 인버터 체인을 갖는다. 테스트 구조체는 링 발진기에 연결되며, 가관측성(observability) 체인 입력 또는 테스트 입력 중 하나를 링 발진기에 제공하고 링 발진기로부터 진동 출력을 피드백으로서 수신한다. 일 실시예에 있어, 테스트 구조체는, 링 발진기가 특정 지터(jitter) 제한 내에서 의도된 진동 주파수를 생성할 수 있는지 여부를 검증하기 위해, 링 발진기를 링 발진기의 기능 테스트 및 구조적 스턱-엣 테스트 중 하나 이상을 가능하게 하는 테스트가능 구조로 재구성하도록 동작할 수 있다. 일 실시예에 있어, 링 발진기 아키텍처는 또한 한쌍의 입력들 및 출력을 갖는 AND 게이트를 포함하며, 출력은 링 발진기의 입력에 연결된다.
일 실시예에 있어, 테스트 구조체는 복수의 제어 신호들에 응답한다. 일 실시예에 있어, 제어 신호들 중 하나는 링 발진기 아키텍처 내부의 레지스터로부터의 테스트 제어 신호를 포함한다. 일 실시예에 있어, 제어 신호들 중 하나는 테스트 중인 링 발진기가 기능 모드 또는 테스트 모드에 있는지 여부를 나타내는 테스트 모드 신호를 포함한다.
일 실시예에 있어, 각각의 링 발진기 구조체는 직렬 체인으로 연결된 링 발진기 구조체들의 그룹을 포함하며, 여기에서 직렬 체인의 마지막 링 발진기 테스트 구조체의 테스트 출력이 체인의 첫번째 링 발진기 구조체의 테스트 입력으로 사용되기 위해 피드백된다. 일 실시예에 있어, 직렬 체인은 홀수의 인버터들을 포함한다. 일 실시예에 있어, 각각의 링 발진기 구조체는 피드백 인에이블(enable) 신호에 기반하여 테스트 출력을 피드백하기 위한 피드백 경로를 조건부로 활성화하는 게이트를 더 포함한다. 일 실시예에 있어, 각각의 링 발진기 구조체는 마지막 테스트 구조체로부터의 피드백되는 테스트 출력과 테스트 입력을 XOR 연산하기 위한 XOR 게이트를 더 포함한다. 일 실시예에 있어, 테스트되는 링 발진기들 각각의 인에이블 신호를 어써팅(assert)함으로써 하나 이상의 (전부보다는 적은) 링 발진기들이 테스트를 위해 선택된다.
도 3은 링 발진기의 일 실시예를 예시한다. 도 3을 참조하면, 링 발진기의 기능은 osc_out(311)에서 진동 출력을 생성하는 것이다. 진동 출력인 osc_out(311)은 암호화 및 복호화를 위해 난수들을 생성하는데 이용될 수 있고 온-칩 회로부에 클럭을 제공하는데 사용될 수 있다. 도 3의 링 발진기는 링 발진기의 기능도를 도시한다. 일 실시예에 있어, 링 발진기들은 아날로그 회로들로 구현된다. 다른 실시예에 있어, 링 발진기들은 디지털 회로들로 구현된다. 링 발진기는 기능적으로 AND 게이트(300)를 통한 Enable 신호(310)에 의해 인에이블되는 조합 루프-백을 갖는 홀수(2N+1)의 인버터들로서 보여질 수 있다. Enable 신호(310)가 1인 경우, 링 발진기는 osc_out(311)에서 진동 출력을 생성할 수 있다. 그렇지 않은 경우, 출력이 논리 상태로 고정될 수 있으며, 예를 들어, osc_out(311)이 ~Enable과 동일할 수 있으며, 여기에서 심볼 ~는 논리 부정(logical negation)을 나타낸다. 도 3에 도시된 링 발진기의 거동은 "forever osc_out = Enable? (~osc_out: 1)"로서 요약될 수 있다. Enable 신호(310)가 0인 경우, 홀수의 반전때문에 osc_out(311)이 1이다. 그렇지 않으면, osc_out(311)에서 진동 출력을 생성하기 위해 osc_out(311)이 연속적으로 보수화(complemented)될 수 있다.
테스트 제한 및 요건이 애플리케이션마다 상이할 수 있기 때문에, 각 애플리케이션에 대한 테스트 관심사의 초점이 상이할 수 있다. 예를 들어, 암호화에서 이용되는 다수의 링 발진기들의 테스트를 위하여, 진동 출력의 생성 능력을 검증하는 것이 경제적인 관점에서의 상세한 성능 분석보다 더 중요할 수 있다. 링 발진기들이 발진할 수 있는 한, 링 발진기들이 난수들을 생성하기 위한 랜덤성의 소스로서 성공적으로 기여할 수 있을 수 있다. 따라서, 예를 들어, 난수 발생에서 사용되는 링 발진기들의 테스트에 있어, 진동 기능이 상세 성능 스펙 테스트에 앞서 목표가 될 수 있다. 그러나, 필요한 경우, 상세 성능 스펙 테스트가 그들의 기본적인 기능성의 테스트 이후에 이어질 수 있다.
설명되는 링 발진기 기법은 성능 테스트를 위한 테스트 액세스를 제공할 수 있다. 성능 스펙 테스트는 링 발진기가 특정 지터 제한 내에서 의도된 주파수의 진동 출력을 생성할 수 있는지 여부를 검증하는 것이다. 테스트 품질 및 테스트 비용 이득이 정당화될 수 있는 경우, 링 발진기들의 기본 성능의 테스트가 기능 속도에서 수행되어야만 하는 것이 아니라 더 느린 속도로 수행될 수 있다. 기능 테스트가 기능 테스트가 성능 스펙과 상이한 레이트(rate)에서 수행될 때, 테스트는 의사-기능(pseudo-functional) 테스트로서 지칭된다. 다양한 주파수들에서 의사-기능 테스트를 달성하기 위하여, 링 발진기의 주기가 테스트 엔지니어들에 의해 제어될 수 있어야 할 필요가 있다.
일 실시예에 있어, 의사-기능 테스트는 링 발진기 내에 내장된 테스트 제어 메커니즘에 의해 구현된다. 테스트 제어 메커니즘은 링 발진기의 주파수가 테스트 동안 1차 입력으로부터 제어되도록 한다. 제공되는 테스트 제어를 사용하면, 링 발진기는 가능한 대로 링 발진기의 스펙 주파수의 이하 및 이상의 임의의 허용가능한 주파수들로 동작하도록 강제된다. 이러한 특징은 링 발진기들의 기본 성능에 대한 링 발진기들의 테스트에 유용할 수 있으며, 또한 링 발진기들의 구조 테스트를 구현하는데 유용할 수 있다.
일반적으로, 기능 테스트들은 고장 모델들을 수반하지 않는다. 고장 모델은 물리적 결함의 논리적 표현으로서 보여질 수 있다. 물리적 결함들의 거동을 모델링하기 위해 이용가능한 상이한 고장 모델들이 존재한다. 고장 모델들은 고장 모델들에 기저를 둠으로써 제공되는 추상적인 레벨로 결함들의 거동에 대한 이유를 결정하는데 도움을 줄 수 있다. 추정 고장 모델 중 하나가 스턱-엣 고장 모델이다. 스턱-엑 고장 모델은 파워(VDD)에 대한 단락(스턱-엣 논리 1 또는 SA-1로서 모델링되는) 및 접지(GND)에 대한 단락(SA-0으로서 모델링되는)으로부터 기인하는 물리적인 결함들을 표현할 수 있다. 이러한 고장 모델에서, SA-0 및 SA-1 고장들은 게이트의 각 포트에 있는 것으로 가정된다.
다음에서, 링 발진기(ring oscillator: RO) 테스트 구조체의 일 실시예가 설명된다. RO 테스트 구조체로부터 구성된 테스트 액세스가 또한 계층적 링 발진기 테스트 구조체의 구성과 함께 설명된다. 일 실시예에 있어, 테스트 액세스는 RO 테스트 구조체들을 직렬 방식으로 연결함으로써 형성된다. 일 실시예에 있어, 계층적 RO는 RO 체인의 입력으로부터 더 큰 RO를 형성하는 출력으로 백-투-백 연결을 수립함으로써 테스트 액세스로부터 구성된다. 일 실시예에 있어, 계층적 RO는 RO 체인 내에 포함된 모든 링 발진기들을 포함한다. 계층적 RO는 개별적 RO와 동일한 방식으로 테스트될 수 있으며, 총 지연 결함을 검출하는데 사용될 수 있다. 따라서, 이하의 설명에서, 의사-기능 테스트가 논의되며, 그 다음 구조 테스트가 논의된다. 테스트들 둘 모두가 개시된 테스트 액세스를 통해 수행된다.
제안된 링 발진기 테스트 구조체의 일 실시예
테스트 동안 링 발진기의 비동기적 거동을 제어하기 위하여, 링 발진기의 출력이 테스트 입력의 제어 하에서 변경될 수 있도록 테스트 포인트가 링 발진기 내로 통합될 수 있다. 따라서, 링 발진기의 주파수가 테스트 입력으로부터 제어될 수 있다.
도 4는 RO 테스트 구조체의 일 실시예이다. RO 테스트 구조체는 링 발진기 내의 어디에든 위치될 수 있다. 도 4를 참조하면, RO 테스트 구조체는 AND 게이트(401), 인버터 체인(402), 및 RO 테스트 구조체(403)를 포함한다. Enable 신호(410)가 AND 게이트(401)의 하나의 입력 및 RO 테스트 구조체(403)의 입력에 연결된다. AND 게이트(401)의 다른 입력은 RO 테스트 구조체(403)로부터 출력되는 osc_in(411)에 연결된다. AND 게이트(401)의 출력은 인버터 체인(402)의 입력에 연결된다. 일 실시예에 있어, 인버터 체인(402)은 홀수개의 인버터들(예를 들어, 2N+1개의 인버터들)을 포함한다. 인버터 체인(402), 및 RO의 출력이 osc_out(412)이며, 이는 또한 RO 테스트 구조체(403)의 osc_out 출력(427)에 연결된다.
osc_out(412)은 RO 테스트 구조체(403)를 통해 AND 게이트(401)의 입력을 통해 osc_in(411)에 연결될 수 있다. 일 실시예에 있어, 초기화에서, osc_in(411)이 논리 1로 리셋되며, 이는 비-제어 논리 값을 AND 게이트(401)에 제공하고, 그에 따라 enable 신호(410)가 osc_out(412)에서 관찰될 수 있다.
개시되는 테스트가능 발진기들은 링 발진기 테스트를 조직하기 위한 전역 테스트 제어 신호들을 포함할 수 있다. 일 실시예에 있어, 테스트 제어 신호들이 널리 공지된 IO 인터페이스들(예를 들어, I2C, IEEE STD 1149.1 바운더리 스캔(Boundary Scan), 등)을 통해 액세스될 수 있는 내부 레지스터들로부터 제공된다. 일 실시예에 있어, 구조적 스턱-엣 테스트의 경우에 있어, 테스트 입력 신호가 내부 레지스터로부터 제공되며, 테스트 출력이 또한 마찬가지로 내부 레지스터 내로 캡처된다.
링 발진기 테스트 모드(oscillator test mode: OTM) 신호(412)는 테스트 중인 링 발진기가 기능 모드인지 또는 테스트 모드인지를 결정한다. OTM(421)이 0인 기능 모드에서, 테스트 구조체는 대기중이며 링 발진기의 기능에 영향을 주지 않는다. 테스트 모드에서, 제어 포인트 인에이블(control point enable: CPE)(424)이 링 발진기가 자유 구동(free running)으로 또는 테스트 입력 제어형 주파수로 구동될 수 있는지 여부를 결정한다. 예를 들어, 제어 포인트가 인에이블되면(즉, CPE(424)가 1이면), 링 발진기의 주파수는 테스트 입력(test_in(422))의 주파수에 의존한다. 그렇지 않으면, 링 발진기는 RO가 인에이블되는 경우 자유 구동으로 또는 기능 속도로 구동될 수 있다. 일 실시예에 있어, CPE(424)는 OTM(421)이 0일 때 CPE가 디세이블될 수 있도록 최고 레벨로 OTM(421)과 게이팅(gate)될 것으로 가정된다.
일 실시예에 있어, 가관측성 체인 입력(obc_in)(423) 및 출력(obc_out)(426)이 enable 신호(410) 및 osc_out(412)상의 고장들을 관찰하는데 사용된다. osc_in 신호(411) 및 osc_out 신호(412)가 각기 인버터 체인의 입력 및 출력이다. enable 신호(410)가 1인 경우, osc_out(412)은 ~osc_in과 동일하다. 그렇지 않은 경우, osc_out(412)은 ~Enable 또는 논리 1이다. 테스트 출력(test_out(425))은 osc_in(411)의 복제이다. osc_out(412)은 test_in(422)의 제어 하에서 osc_in(411)으로 전달될 수 있다.
일 실시예에 있어, 테스트 구조체는, OTM(421)이 1이고 CPE(424)가 0이며 enable 신호(410)가 0일 때 초기화된다. 초기화에서, 테스트 입력(test_in(422))이 osc_in(411)과 동일한 신호 상태로 설정될 것으로 가정되며, 즉, test_in(422)이 1이고, osc_out(412)은 ~Enable이다. CPE(424)가 1이고 Enable 신호(410)가 1인 경우, osc_in(411)은 test_in(422)의 변화들을 추적할 수 있다. 발진기 출력(osc_out(412))이 osc_in(411)의 반전된 출력이기 때문에, osc_out(412)의 변화들이 test_in(422)에 의해 직접적으로 제어된다.
테스트 동안의 링 발진기 테스트 구조체의 거동이 도 5에 도시된다. OTM(421)이 1이고 CPE(424)가 1일 때, 링 발진기의 주파수는 삽입된 테스트 포인트로부터 제어될 수 있다. enable 신호(410)가 1인 경우, 링 발진기가 인에이블되며 링 발진기의 상태를 변화시키기 위해 test_in(422)을 기다린다. test_in(422)이 변화될 때까지 링 발진기의 출력은 변화되지 않은 채로 유지된다. 일 실시예에 있어, 로우-투-하이(low-to-high) 또는 하이-투-로우(high-to-low) 중 하나인 test_in(422)의 모든 신호 천이(transition)가 발진기로 하여금 osc_out(412) 및 test_out(425) 둘 모두에서 동일한 신호 천이를 생성하게끔 한다. 따라서, 링 발진기의 출력이 test_in(422)의 제어 하에서 신뢰성 있게 측정되거나 또는 관찰될 수 있다. 링 발진기가 테스트 동안 test_in(422)의 주파수로 동작될 수 있다는 것을 주목해야 한다.
도 6은 링 발진기 테스트 구조체의 일 실시예이다. 테스트 구조체가 구비된 링 발진기는 본 명세서에서 테스트가능 링 발진기(testable ring oscillator: TRO)로서 지칭된다. OTM(421)이 테스트를 위해 테스트 구조체를 활성화하며, 정상 기능 모드를 위해 테스트 구조체를 비활성화한다. OTM(421)이 1이고 CPE(424)가 1인 경우, 링 발진기는 테스트 구조체의 제어하에 있다. 그렇지 않으면, 링 발진기는 자유-구동이다.
멀티플렉서(606)가 제어 포인트를 구현하기 위하여 osc_out(427)과 osc_in(411) 사이에 삽입된다. 멀티플렉서(606)는 그 선택 입력에 연결된 TRACK(610)의 신호 상태에 따라 osc_in(411)으로 osc_out(427) 또는 래칭된(latched) 출력을 출력한다. TRACK(610)은 입력 NAND 게이트(605)(여기에서, 배타적 XOR 게이트(604)의 출력이 NAND(605)의 입력에 연결된다)에 연결된 CPE(424)에 의해 인에이블된다. CPE(424)가 1일 때, TRACK(610)이 test_in(422) 및 osc_in(411)의 신호 상태들에 의해 결정된다. 그들의 신호 상태들이 동일한 경우, TRACK(610)이 0이며, 그렇지 않은 경우, TRACK(610)은 1이다. TRACK(610)이 1인 경우, osc_out(427)을 osc_in(411)에 연결함으로써 기능 경로가 수립된다. TRACK(610)이 0인 경우, 래치가 멀티플렉서(606)를 통한 조합 피드백에 의해 형성된다. 래치는 3의 논리 게이트 지연(게이트들 1 내지 3을 통한) 후 test_in(422)과 동일한 논리 상태로 비동기적으로 초기화될 수 있다. OTM(421)이 0이거나 또는 CPE(424)가 0인 경우, 래치는 투과성(transparent)일 수 있다.
바이패스 멀티플렉서(603)는 제안된 테스트 액세스를 구현할 수 있다. 바이패스 멀티플렉서는 디세이블된 링 발진기가 테스트로부터 배제되도록 할 수 있다. 바이패스 MUX(603)는 MUX(603)의 선택 입력에 연결된 출력을 갖는 AND 게이트(602)의 하나 입력에 연결되는 Enable 신호(410)에 의해 제어된다. AND 게이트(602)의 입력이 OTM(421)에 연결된다. 바이패스 MUX(603)는 테스트 동안 테스트 경로를 구성한다. Enable = 1인 경우, 링 발진기 출력이 test_out(425)에 연결될 수 있다. 그렇지 않은 경우, test_in(422)이 test_out(425)으로 직접 바이패스될 수 있다. 상보적 입력들이 테스트가능성을 증가시키기 위해 바이패스 멀티플렉서(603)에서 사용될 수 있다. 즉, osc_in(411)은 정상-상태에서 test_in(422)과 동일하다. 정상-상태는 출력이 유효한 논리적 상태에 있고 입력이 변화되지 않는 한 변화되지 않는 채로 남아 있는 신호 상태로서 정의될 수 있다.
바이패스 특징부는 또한 특징화(characterization) 및 실리콘 디버그 둘 모두에 유용하다. 특징화에 있어, 임의의 링 발진기가 다른 모든 링 발진기들을 바이패스시킴으로써 별개로 특징지어질 수 있다. 유사하게, 의심되는 링 발진기가 별개로 테스트될 수 있거나 또는 고장난 TRO가 추가적인 진단을 위해 바이패스될 수 있다.
가관측성 체인의 XOR 게이트(601)는 obc_in(423) 및 osc_out(427)에 연결된 입력을 가지며, obc_out(426)을 출력한다. 일 실시예에 있어, XOR 게이트(601)가 enable 신호(410) 및 osc_out(427)에서 SA 고장들을 검출하는데 사용된다. enable 신호(410)는 CPE(424)가 1일 때 정상-상태에서 테스트될 수 있다. enable 신호(410)는 SA-1 테스트 및 SA-0를 위해 각기 디세이블되고 인에이블될 수 있다. enable 신호(410)가 0인 경우, osc_out(427)이 1이고 obc_out(426)이 ~obc_in과 동일하다. 그렇지 않은 경우, obc_out(426)은 obc_in(423)과 동일하다. 따라서, obc 체인 거동을 위반하는 enable 신호(410) 상의 임의의 SA 고장이 obc_out(426)에서 검출될 수 있다. 일 실시예에 있어, XOR 게이트의 사용은 게이트의 출력에서 관찰되는 복수의 검출가능한 SA 고장들이 반드시 홀수여야만 한다는 것을 암시한다. 예를 들어, obc_in(423) 및 인에이블 경로 둘 모두가 고장인 경우, 이러한 짝수의 고장들은 XOR 게이트(601)의 출력에서 마스킹된다. 임의의 수의 SA 고장 검출이 요구되는 경우, 단일-비트 obc 구조는 테스트 커버리지를 증가시키기 위하여 하나의 비트에서 AND 로직을 이용하고 다른 비트에서 OR 로직을 이용하는 2-비트로 대체될 수 있다. 결과적으로, 1-비트 obc_in 및 obc_out이 2-비트 obc_in[1:0] 및 obc_out[1:0]으로 확장된다. test_in = 1일 때, 모든 링 발진기들이 각기 인에이블되고 디세이블된 경우, Enable 신호들 상의 모든 스턱-엣-0 및 1 고장들이 osc_out에서의 스턱-엣-1 및 0 고장들을 통해 각기 검출될 수 있다. 이는 도 6b에 예시된다.
래치는 테스트를 인에이블하기 전에 논리 1을 유지하도록 초기화될 수 있다. 이는 osc_in(411)이 1인 것을 보장할 수 있으며, 이는 그 출력이 오로지 enable 신호(410)에 의해서 결정될 수 있도록 AND 게이트(602)의 입력에 비-제어 값을 제공한다. 예를 들어, 모든 링 발진기들에 대해 OTM(421)이 1이고, CPE(424)가 1이며, test_in(422)이 1인 경우, Enable 신호 경로(410) 상의 SA 고장이 obc_out(426)을 보수화할 수 있으며 그에 따라 검출될 수 있다.
TRACK(610)이 0인 경우 테스트 구조체가 래치를 형성할 수 있기 때문에, 래치는 도 7에 도시된 바와 같이 셋업 시간 및 유지 시간 제한들을 겪는다. 셋업 시간 및 유지 시간은 osc_out(412)이 안정적일 지속기간들을 특정한다. test_in(422)의 천이가 osc_out(427)의 천이를 야기하기 때문에, 발진기 내의 인버터 체인의 지연이 유지 시간보다 더 큰 경우, 타이밍 제한들이 용이하게 충족될 수 있다.
도 8은 비동기 유한 상태 머신(asynchronous finite state machine: AFSM)에 의해 설명될 수 있는 테스트 동안의 TRO의 거동을 도시한다. 도 8을 참조하면, 상향 및 하향 화살표들은 각기 논리 0으로부터 논리 1 그리고 논리 1로부터 논리 0으로의 신호 천이들을 나타낸다. 논리 0으로부터 논리 1 그리고 논리 1로부터 논리 0으로의 신호 천이는 각기 하이(high) 및 로우(low) 천이들로 지칭된다. 상태는 test_in(422), osc_in(411), 및 test_out(425)의 순서로 입력 및 출력 신호들의 신호 상태들로 열거된다. 역 슬래시 심볼은 테스트 구조체의 입력들을 출력들과 구분하기 위해 사용된다. 예를 들어, 초기화 후(즉, OTM(421)이 1이며, CPE(414)가 0이고, enable 신호(410)가 0이다), test_in = 1, osc_in = 1 및 test_out = 1(또는, 1/11)이다.
Enable(410)은 시작시 디세이블되는 것으로 가정된다(즉, Enable(410)이 0이다). CPE(424)가 1이고 test_in(422)이 1인 상태(1/11)에서, 테스트가 1인 Enable(410)에 의해 개시될 수 있다. enable 신호(410)가 1인 경우, 테스트 구조체는 1/11 상태에 있으며, test_in(422)의 로우 천이를 기다린다. 1/11 상태에서, osc_in(411) 및 test_in(422) 둘 모두가 동일한 논리 상태에 있으며 그 결과 TRACK(610)이 0이고, 이는 osc_out(427)로부터 osc_in(411)로의 기능 경로를 차단한다. osc_out(427)(및 test_out(425))이 인버터 체인을 통해 osc_in(421)의 상보적 신호 상태로 갱신된다.
test_in(422)이 0일 때, 상태가 0/11 상태로 변경된다. 입력들의 신호 상태가 TRACK(610)의 하이 천이를 야기한다. TRACK(610)이 1일 때, osc_out(427)은 osc_in(411)이 보수화될 수 있도록 osc_in(411)에 연결된다. 테스트 구조체의 상태는 0/01 상태로 진행된다. TRACK(610)의 상태가 0이며, osc_in(411)의 갱신된 신호 상태가 래칭될 수 있다. 동시에, test_out(425)이 osc_in(411)을 따를 수 있으며, 상태가 0/00 상태로 변경된다. TRACK(610)이 0일 때, osc_out(427)이 인버터 체인 지연 후 1로 변경된다. osc_out(427)의 변경의 멀티플렉서(606)에 의해 차단되며, osc_in(411)으로 전파되지 않는다. 테스트 구조체는 test_in(422)이 변경될 때까지 현상태를 유지할 수 있다. 이러한 프로세스가 입력 및 출력 신호들의 반대 천이들에 대해 반복될 수 있다. 유사하게, OTM(421)이 1이고, CPE(424)가 1이며 그리고 enable 신호(410)가 1인 경우, 전체 테스트 프로세스가 계속될 수 있다.
일 실시예에 있어, 테스트 구조체들이 계층적 테스트 구조체를 형성하기 위하여 test_in(422) 및 test_out(425)을 통해 직렬 방식으로 연결된다. 계층적 테스트 구조체는 특징화 및 실리콘 디버그를 위한 테스트 액세스로서 기능한다. 도 9는 구성된 테스트 액세스의 일 예를 예시한다. test_in 및 test_out은 테스트 액세스 포트들로서 기능할 수 있다. TRO들의 각각의 체인은 본 명세서에서 테스트가능 발진기 체인(testable oscillator chain: TOC)으로서 지칭된다. 도 9를 참조하면, 각각의 TRO 체인은 2개의 입력들, 즉, obc_in 입력 및 test_in 입력을 갖는다. TOC에 대해, obc_in 입력 및 test_in 입력은 체인 내의 첫번째 TRO를 제외하고는 체인 내의 선행 TRO로부터 나온다. TRO[1, N1-1]와 같은 체인 내의 첫번째 TRO의 입력들은, 인버터(901)의 출력 및 OR 게이트(9021)와 같은 OR 게이트의 출력에 연결된다. 인버터(901)의 입력은 OTM 신호에 연결되며, OTM 신호는 또한 OR 게이트들(9011-K)의 하나의 반전 입력에 연결된다. OR 게이트들(9011-K)의 다른 입력은 test_in 신호에 연결된다.
일 실시예에 있어, 전용 Enable 신호가 각각의 링 발진기에 제공될 수 있는 경우, 계층적 테스트 구조체 내의 임의의 수의 링 발진기들이 별개로 테스트되고 특징화될 수 있다. 각 링 발진기의 Enable 신호는 테스트를 위해 TRO의 계합(engagement) 및 분리(disengagement)를 결정하거나 또는 프로그래밍하는데 사용될 수 있다. 도 6에 도시된 테스트 구조체 내의 멀티플렉서(603)가 테스트로부터 분리된 링 발진기들을 배제하거나 또는 바이패스하도록 설정될 수 있다. 예를 들어, 특징화를 위해 CPE(424)가 0이며, 각각의 링 발진기가 링 발진기의 기능 거동이 전자 스코프들 및 ATE와 같은 기구들을 통해 test_out에서 관찰될 수 있도록 Enable 신호들을 프로그래밍함으로써 하나씩 인에이블될 수 있다.
계층적 RO 테스트 구조체(또는 간단히 계층적 테스트 구조체)는 도 10에 도시된 바와 같이 XOR 게이트(1001, 1002)를 통해 test_out[k]로부터 test_in[k]로의 피드백 경로를 수립함으로써 제안된 테스트 액세스로부터 구성될 수 있다. 피드백 제어 신호 fb_en[k]가 피드백 루프를 조건부로 활성화시키기 위해 AND 게이트(1003, 1004)를 사용하여 포함될 수 있다. fb_en[k]가 1인 경우 피드백이 인에이블될 수 있으며, 그렇지 않은 경우 디세이블될 수 있다. 피드백이 인에이블되는 경우, 계층적 링 발진기가 test_in[k]
Figure pct00001
fb[k]와 동일한 test_in[k,Nk-1]에 의해 수립되는 피드백 루프를 이용해 구성될 수 있다. test_in[k]가 fb[k]를 보수화하기 위한 제어 입력으로서 기능할 수 있다는 것을 주목해야 한다.
일 실시예에 있어, 계층적 링 발진기는 모든 인에이블된 링 발진기들의 인버터 체인들로 구성된다. 링 발진기로서 기능하기 위해, 계층적 링 발진기 내의 반전들의 수가 홀수여야만 한다. 링 발진기에 대해 요구되는 홀수의 반전들이 도 10에 도시된 바와 같은 test_in[k]의 신호 상태에 의해 제공될 수 있다. 테스트 동안, 주어진 계층적 테스트 구조체 내의 인에이블된 TRO들의 수가 홀수인 경우, 어떠한 추가적인 반전도 필요하지 않다. 그러나, 인에이블된 TRO들의 수가 짝수인 경우, 요구되는 반전을 제공하기 위하여 test_in = 1이다. fb_en[k] = 0인 경우, 계층적 테스트 구조체는 예상과 같은 테스트 액세스 구조체로 감소될 수 있다.
계층적 테스트는 테스트 입력(test_in[k])의 상호작용 없이 자동으로 구동될 수 있다. 이러한 테스트에 있어, 오로지 출력(test_out[k])만이 테스트 결정을 위해 측정되어야만 할 수 있다. 계층적 테스트 구조체가 인에이블된 링 발진기들의 임의의 세트를 포함할 수 있기 때문에, 이러한 테스트가 단지 링 발진기들의 기능성을 검증할 뿐만 아니라 이들 사이의 총 지연 결함을 검출할 수 있다. 예를 들어, 계층적 링 발진기의 주파수가 테스트 제한보다 더 낮은 경우, 지연 결함이 판단될 수 있다. 제안된 계층적 RO는 또한 실리콘 웨이퍼 프로세스 특징화에 이용될 수도 있다. 임의의 수의 TRO들을 인에이블함으로써, 계층적 RO가 작업 웨이퍼들 및 스펙 외(out-of-spec) 웨이퍼들을 그 지연 및 지터 특성에서 상관시키는데 사용될 수 있다.
개시된 링 발진기 테스트 구조체는 칩 상의 아주 많은 수의 링 발진기들의 테스트가능성을 증가시키기 위하여 구조 테스트 및 의사-기능 테스트와 같은 다양한 테스트 방법론들에 의해 이용될 수 있다. 테스트 절차 또는 단계들과 관련하여 구조 테스트가 의사-기능 테스트와 유사하기 때문에, 의사-기능 테스트가 주로 논의되고, 구조 테스트는 의사-기능 테스트를 참조하여 논의된다.
의사-기능 테스트는 링 발진기 테스트 구조체를 사용하여 수행될 수 있으며, 이는 이하에서 논의된다.
링 발진기들의 의사-기능 테스트
개시된 테스트 구조체 및 테스트 액세스를 이용하면, 셋업 및 유지 시간이 충족되는 경우 의사-기능 테스트가 임의의 속도로 구동될 수 있다. 일 실시예에 있어, 개시된 기법은 임의의 주어진 테스트에 대해 홀수의 링 발진기들이 인에이블되는 것을 가정한다. 홀수의 링 발진기들이 개시된 테스트 액세스 내에 내장된 고장 검출 특징부를 반영할 수 있다. 일 실시예에 있어, 개시된 기법은 2개의 전역 enable 신호를 사용하며, 각각의 enable 신호(예를 들어, enable 신호(410))는 홀수의 링 발진기들에 의해 공유될 수 있다. 그러나, 임의의 수의 enable 신호가 이용될 수 있으며, 각각의 enable 신호가 임의의 수의 링 발진기들에 의해 공유될 수 있다. 일 실시예에 있어, 별개의 enable 신호가 각각의 링 발진기들에 대해 이용가능하다. 대안적으로, 단일 enable이 모든 링 발진기들에 대해 이용될 수 있다. 테스트 액세스 구조체를 사용하는 의사-기능 테스트의 일 실시예가 다음과 같이 요약된다.
의사-기능 테스트 절차
Figure pct00002
의사-기능 테스트는 단계 1 내지 2에서 초기화될 수 있다. fList[k]로서 표시된 TOC[k]의 고장 리스트가 각각의 테스트로부터 검출되는 고장 링 발진기들의 리스트를 유지할 수 있다. fList[k]는, 단계 3에서
Figure pct00003
로서 표시된 빈 리스트로 재설정되거나 또는 초기화될 수 있다. polarity[k]는 TOC[k]에 포함된 TRO들의 수가 홀수인지 또는 짝수인지 여부를 나타낸다. 수가 홀수인 경우 polarity[k] = 1이며, 그렇지 않은 경우 polarity[k] = 0이다. mod2는 모듈로(modulo)-2 연산을 나타낸다. N mod2는, N이 홀수 및 짝수인 경우 각기 1 및 0을 반환한다. 다음의 논의를 위하여, 사소한 경우 정수로부터 2진수로의 유형 변환이 명시적으로 언급되지는 않는다. 예를 들어, 2진수인 polarity[k]에 대해 할당이 이루어지기 전에 정수인 mod2 연산의 결과가 2진수로 변환될 수 있다.
의사-기능 테스트는 단계 5에서 수행된다. 일 실시예에 있어, 기능 및 바이패스 경로들 둘 모두를 테스트하기 위하여, 단계들 5.1 내지 5.3이 2번 반복된다. Enable[i]에 따라 TRO들이 인에이블되거나 또는 디세이블되며, 테스트가 단계 5.2에서 수행된다. 첫번째 테스트 실행에 있어, 예를 들어, Enable[0]에 의해 인에이블된 TRO들은 TOC[k]에서 테스트된다. 따라서, 테스트 경로는 인에이블된 TRO들의 기능 경로 및 디세이블된 TRO들의 바이패스를 포함한다. 유사하게, 두번째 테스트 실행에 있어, enable 신호들이 인에이블되었던 TRO들이 디세이블되거나 또는 이의 역이될 수 있도록 보수화될 수 있다. 단계 5.2의 고장-검출 테스트 절차는 주어진 TOC[k], polarity 및 테스트가 수행될 발진기들의 수(N)에 대해 검출된 고장 리스트를 결정한다. 테스트 후, 결과가 fList1[k]로 보고된다. 일 실시예에 있어, fList1[k]는 각각의 테스트로부터의 TOC[k]의 테스트 결과를 포함한다. 일 실시예에 있어, fList1[k] 내에 포함된 고장들의 리스트는 테스트의 말단(end)에서 fList[k]에 연관된다. 검출된 고장들이 단계 5.3에서 축적되며, Enable[i]가 단계 5.4에서 리셋된다.
각기 인에이블된 TRO들 및 디세이블된 TRO들 모두를 이용하여 기능 경로 및 바이패스 둘 모드를 테스트하는 것이 짝수의 바이패스되거나 또는 인에이블된 고장난 링 발진기들을 검출하는데 도움을 주며, 이는 이러한 고장들이 테스트 액세스에 의해 형성된 계층적 링 발진기들의 주기(period) 또는 지연을 변경할 수 있기 때문이다. 예를 들어, 짝수의 고장난 인에이블된 TRO들이 존재하는 경우, test_in[k]로부터 test-out[k]까지의 지연이 더 길어질 것이다. 계층적 링 발진기의 주기가 지연과 동일한 양만큼 연장될 수 있다. 유사하게, 고장난 디세이블된 TRO들이 지연 및 주기를 단축시킬 수 있다.
고장-검출 테스트 절차의 일 실시예가 이하에서 제공된다.
고장-검출( TOC [k], polarity [k], N, fList )
Figure pct00004
고장-검출 테스트 절차는 검출된 고장들을 테스트하고 저장한다. test_out[k]가 test_in[k]의 반전인지 여부가 단계 1에서 결정된다. 반전은 TOC[k] 내의 디세이블된 TOR들의 수에 의해 결정될 수 있다. TOC[k] 내에 홀수의 디세이블된 TRO들이 존재하는 경우 반전이 1일 수 있으며 TOC[k] 내에 짝수의 디세이블된 TRO들이 존재하는 경우 반전이 0일 수 있다. acc_status는 테스트 결과를 저장하고 단계 2에서 리셋된다.
단계 3에서, N개의 발진기들이 매 천이마다 test_out[k] 및 obc_out[k]에서 측정될 수 있다. 단계 3.2에서, test_out[k]이 test_in[k]의 매 천이에 대해 정상 상태에서 측정되며, 단계 3.1에서 획득된 예측된 test_out[k]과 비교된다. exp_test_out[k]로서 표시된 예측된 test_out[k]는 exp_test_out[k] = test_in[k]
Figure pct00005
inversion[k]에 의해 결정될 수 있으며, 여기에서 심볼
Figure pct00006
는 XOR 연산을 나타낸다. 측정된 test_out[k]가 예상과 동일하지 않는 경우, 고장이 결론지어질 수 있다. 일 실시예에 있어, 고장이 검출되는 경우, 상태가 status = 01로 설정된다.
유사하게, 인버터 체인을 포함하는 Enable 경로와 연관된 고장들이 obc_out[k]에서 검출될 수 있다. 일 실시예에 있어, Enable 경로가 정상-상태에서 각각의 천이 후 연속적으로 관찰될 수 있으며, exp_obc_out[k]로서 표시된 예측된 obc_out[k]가 obc 체인에서 발생된 반전들의 수에 의해 결정된다. 일 실시예에 있어, 각각의 TRO 내의 obc_out에서의 반전은 osc_out = 1에 의해 야기된다. osc_out은 Enable, test_in 및 polarity[k]에 의존한다. Enable = 0인 경우, test_in과 무관하게 osc_out = 1이다. 그렇지 않은 경우, 정상-상태에서 osc_out = ~test_in이다. 따라서, test_in[k] = 1인 경우, 모든 인에이블된 TRO들의 osc_out이 논리 0일 수 있으며, 그에 따라 exp_obc_out[k] = inversion[k]이다. 그렇지 않은 경우, 모든 TRO들의 osc_out은 논리 1이며, exp_obc_out[k] = polarity[k]이다. obc_out[k]는 단계 3.7에서 측정될 수 있으며, 테스트 결정을 위해 단계들 3.5 및 3.6에서 획득된 예측된 obc_out[y]와 비교된다.
일 실시예에 있어, 상태가 비트-와이즈(bit-wise) OR 연산을 사용하여 상태들을 조합함으로써 축적된다. 고장들이 단계들 3.3 및 3.8 둘 모두에서 검출된 경우, acc_status = 11이라는 것을 주목해야 한다. 고장들이 일단 검출되면, 고장-검출 테스트 절차가 종료될 때까지 고장들이 검출된 채로 유지된다. 단계 3.11에서, test_in[k]가 보수화되며, 테스트가 N개의 발진기들에 대해 계속될 수 있다.
테스트가 완료된 후, 고장이 발견되지 않았거나 또는 status = 00인 경우, fList가 수정되지 않은 채로 반환된다. 그렇지 않은 경우, 고장난 TOC[k]의 인덱스 및 축적된 최종 상태가 fList에 첨부된다.
동일한 테스트가 구조 테스트에 의해 달성될 수 있으며, 이는 이하에서 설명된다.
구조 테스트를 통한 링 발진기들의 테스트
구조 테스트는 주로 디지털 랜덤 로직에 적용되는 저비용 테스트이다. 구조 테스트에 있어, 내부 레지스터들(또는 플립-플롭들)이 소위 스캔 체인인 테스트 액세스를 형성하기 위해 직렬로 연결된다. 스캔 체인은 테스트를 위해 내부 레지스터들을 초기화하는데 사용되며 내부 레지스터들이 캡처된 후 테스트 결과들을 관찰하는데 사용된다. 스캔 체인을 로딩(load)함으로써 내부 레지스터들이 임의의 상태로 초기화될 수 있기 때문에, 구조 테스트는 순서(sequential) 회로를 테스트하는 것의 문제를 조합의 문제로 변환한다. 구조 테스트는 일반적으로 비동기 피드백에 기인하여 링 발진기들의 테스트에 직접적으로 적용될 수 없다.
구조 테스트에 있어 개시된 TRO의 이점은 제어된 비동기 피드백이다. 정상-상태 신호 상태들이 관련되는 한, 피드백이 파괴(break)되는 것으로 또는 존재하지 않는 것으로 나타난다. 따라서, TRO가 비동기 피드백이 없는 랜덤 로직으로 취급될 수 있으며, 동일한 구조 테스트를 사용하여 다른 랜덤 로직으로 테스트될 수 있다. 다른 이점들은 TOC 내의 TOC의 수의 증가에 기인하는 사소한 패턴 카운트 증가를 포함한다. 제안된 테스트 액세스가 TOC 내에 포함된 인버터 체인들을 직렬로 연결하기 때문에, TRO 상의 고장들을 검출하는 테스트 패턴들이 동일한 TOC 내에 포함된 다수의 TRO들 상의 고장들을 검출할 수 있다. 즉, 직렬로 연결된 TRO들은 추가적인 노력 없이 하나의 고장의 검출이 잠재적인 다수의 등가 고장들의 검출을 초래할 수 있도록 등가 고장들을 증가시킬 수 있다.
도 11은 정상-상태의 링 발진기 테스트 구조체의 일 실시예를 예시한다. CPE = 1일 때 비동기 피드백이 파괴된다는 것을 주목해야 한다. 일 실시예에 있어, 도 11에 도시된 정상-상태 거동 모델이 사용 ATPG 툴들에 의해 수행될 수 있는 자동 테스트 패턴 생성(automatic test pattern generation: ATPG)에 이용된다. 구조 테스트 패턴은 보통 이하에 제공되는 구조 테스트 절차를 따른다. 논의를 위하여, 구조 테스트 절차는 통합될 링 발진기들의 테스트 방법으로 주석이 달린다.
구조 테스트 절차
Figure pct00007
단계 1에서 구조 테스트 모드 STM = 1일 때 구조 테스트가 인에이블된다. SE = 1일 때, 스캔 체인들이 단계 2에서 인에이블되며, TRO를 포함하는 조합 시스템 로직이 디세이블된다. OTM은 구조 테스트 동안 그것이 테스트되고 CPE가 scan enable(SE)에 의해 제어될 수 있도록 내부 레지스터로부터 제공되는 것으로 가정된다. 단계 3에서 test_in 및 obc_in이 테스트를 위해 로딩된다. 테스트 입력이 로딩된 후, SE는 링 발진기 로직이 인에이블되도록 비활성화된다(SE = 0). 단계 5에서 필요한 1차 입력(primary input: PI)이 강제되며, 단계 6에서 1차 출력(PO)이 측정된다. 그들이 구조 테스트 동안 각기 PI 및 PO에 연결된 경우, 테스트 입력들(test_in 및 obc_in)이 강제되고 및 테스트 출력들(test_out 및 obc_out)이 측정된다. 그렇지 않은 경우, 이들은 단계 7에서 내부 레지스터들 내로 캡처되며, SE가 단계 2에서 테스트 결과를 언로딩하기 위해 활성화된다(SE = 1). 캡처된 테스트 결과가 단계 3에서 테스트 결정을 위해 ATE에서 체크된다. 테스트 입력의 로딩이 테스트 결과의 언로딩과 겹칠 수 있기 때문에, 이들이 단계 3에서 병합된다.
의사-기능 테스트에서 논의된 테스트 셋업이 단계 4 및 5에서 달성된다. 정상-상태에서 Enable = 0 및 osc_in = ~test_in인 경우, 제어된 비동기 피드백은 osc_in이 정상-상태에서 test_in의 논리 상태와 동일하게 되도록 강제하거나 또는 osc_in = ~Enable이 되도록 강제한다. 대안적으로, 동일한 테스트 셋업이 추가적인 로직 게이트들을 이용하여 단계 2에서 스캔 인에이블 신호에 의해 달성된다. 예를 들어, SE = 1인 경우, 이는 CPE =1, Enable[1:0] = 00 및 test_in = 1을 강제하는데 사용된다. 그렇지 않은 경우, 테스트 제어 신호들은 시스템 로직에 의해 결정된다.
구조 테스트는 보통 필수 테스트이며, 제안된 링 발진기 테스트보다 더 긴 테스트 시간을 소요할 수 있다. 링 발진기 테스트가 다른 랜덤 로직 테스트와 겹치기 때문에, 링 발진기의 테스트 비용이 제거되거나 또는 작을 수 있다. 또한, 이용가능한 테스트 시간이 일부 테스트 애플리케이션들, 특히, 전용 Enable이 이용가능할 때 링 발진기 테스트의 진단 분해능(resolution)을 개선하는데 사용될 수 있다.
따라서, HDCP 및 다른 암호화 칩들에서의 보안 키 생성을 위해 순수 난수 발생기에서 이용되는 아주 많은 수의 링 발진기들을 테스트하는 문제에 대한 비용 효과적인 테스트 해법이 설명되었다. 개시된 기법은 구조 테스트가 링 발진기의 테스트에 통합될 수 있게 한다. 개시된 기법은 또한 증가된 크기 문제를 잘 스케일링(scale)하며, 그 결과 링 발진기들의 수가 증가된 경우에도 테스트 비용이 미미할 수 있다. 개시된 방법론은, IP 및 최종 제품들에 적용되는 경우, 테스트 비용을 절감하고, 테스트 품질을 개선하며, 테스트 개발시 엔지니어링 노력을 최적화할 수 있다.
반면 본 발명의 다수의 변경예들 및 수정예들이 의심할 여지 없이 이상의 설명을 읽은 당업자에게 명백해 질 것이며, 예시로서 도시되고 설명된 임의의 특정 실시예가 어떤 경우에도 제한적으로 간주되지 않도록 의도된 것으로 이해되어야 한다. 따라서, 다양한 실시예들의 상세내용들에 대한 참조들이 청구항들의 범위를 제한하도록 의도되지 않으며, 청구항들 내에서 청구항들은 본 발명에 본질적으로 관련된 이러한 특징들만을 열거한다.

Claims (21)

  1. 장치로서,
    적어도 하나의 링 발진기 구조체(structure)로서,
    백-투-백(back-to-back)으로 연결된 홀수의 인버터들을 갖는 인버터 체인을 가지며 진동 출력을 생성하도록 동작할 수 있는 링 발진기; 및
    상기 링 발진기에 가관측성(observability) 체인 입력 또는 테스트 입력을 제공하며, 상기 링 발진기로부터 피드백으로서 상기 진동 출력을 수신하도록 연결된 테스트 구조체를 갖는, 상기 적어도 하나의 링 발진기 구조체를 포함하는, 장치.
  2. 청구항 1에 있어서,
    상기 테스트 구조체는 상기 링 발진기의 구조적 스턱-엣(stuck-at) 테스트 및 기능 테스트 중 하나 이상을 가능하게 하기 위해 상기 링 발진기를 테스트가능(testable) 구조체로 재구성하도록 동작할 수 있는, 장치.
  3. 청구항 1에 있어서,
    상기 테스트 구조체는 상기 링 발진기가 특정 지터(jitter) 제한 내에서 의도된 진동 주파수를 생성할 수 있는지 여부를 검증하도록 동작할 수 있는, 장치.
  4. 청구항 1에 있어서,
    상기 적어도 하나의 링 발진기 구조체는 직렬 체인으로 연결된 링 발진기 구조체들의 그룹을 포함하며,
    상기 직렬 체인 내의 상기 링 발진기 테스트 구조체들의 마지막 링 발진기 테스트 구조체의 테스트 출력은 상기 체인 내의 첫번째 링 발진기 테스트 구조체로의 테스트 입력으로 사용하기 위해 피드백되는, 장치.
  5. 청구항 4에 있어서,
    피드백 인에이블(enable) 신호에 기초하여 상기 테스트 출력을 피드백하기 위한 피드백 경로를 조건부로 활성화시키는 게이트를 더 포함하는, 장치.
  6. 청구항 4에 있어서,
    상기 테스트 구조체들의 상기 마지막 테스트 구조체로부터 피드백되는 상기 테스트 출력과 상기 테스트 입력을 XOR 연산하기 위한 XOR 게이트를 더 포함하는, 장치.
  7. 청구항 4에 있어서,
    하나 이상의 링 발진기들의 각각의 인에이블 신호를 어써팅(assert)함으로써 상기 하나 이상의 링 발진기들이 테스트를 위해 선택되며, 상기 하나 이상의 링 발진기들은 상기 장치 내의 모든 링 발진기들보다 적은, 장치.
  8. 청구항 4에 있어서,
    상기 직렬 체인은 홀수의 인버터들을 포함하는, 장치.
  9. 청구항 1에 있어서,
    출력 및 한쌍의 입력들을 갖는 AND 게이트를 더 포함하며, 상기 출력은 상기 링 발진기의 상기 입력에 연결되는, 장치.
  10. 청구항 1에 있어서,
    상기 테스트 구조체는 복수의 제어 신호들에 응답하는, 장치.
  11. 청구항 1에 있어서,
    상기 제어 신호들 중 적어도 하나는 상기 장치 내부의 레지스터로부터의 테스트 제어 신호인, 장치.
  12. 청구항 1에 있어서,
    상기 제어 신호들 중 적어도 하나는 테스트 중인 상기 링 발진기가 기능 모드인지 또는 테스트 모드인지 여부를 나타내는 링 발진기 테스트 모드 신호인, 장치.
  13. HDCP에서 시크릿 키를 생성하기 위한 난수 발생기로서, 청구항 1의 상기 장치를 포함하는, 난수 발생기.
  14. 장치로서,
    복수의 링 발진기 구조체들을 포함하며,
    각각의 링 발진기 구조체는,
    백-투-백으로 연결된 인버터들을 갖는 인버터 체인을 가지며, 제 1 진동 출력을 생성하도록 동작할 수 있는 링 발진기, 및
    상기 링 발진기로 가관측성 체인 입력 또는 테스트 입력 중 하나를 제공하고, 피드백으로서 제 2 진동 출력을 수신하도록 연결된 링 발진기 테스트 구조체로서, 상기 링 발진기 테스트 구조체는 상기 링 발진기가 의도된 진동 주파수를 생성할 수 있는지 여부를 검증하기 위해 상기 링 발진기의 구조적 스턱-엣 테스트 및 기능 테스트 중 하나 이상을 가능하게 하는 테스트가능 구조체로 상기 링 발진기를 재구성하도록 동작할 수 있는, 상기 링 발진기 테스트 구조체를 가지며,
    상기 복수의 링 발진기 구조체들은 직렬 체인으로 연결되며, 상기 직렬 체인 내의 상기 링 발진기 구조체들의 마지막 링 발진기 구조체의 테스트 출력은 상기 체인 내의 첫번째 링 발진기 구조체의 테스트 입력으로 사용되기 위해 피드백되는, 장치.
  15. 청구항 14에 있어서,
    피드백 인에이블 신호에 기초하여 상기 테스트 출력을 피드백하기 위해 피드백 경로를 조건부로 활성화시키는 게이트를 더 포함하는, 장치.
  16. 청구항 14에 있어서,
    상기 링 발진기 테스트 구조체들의 상기 마지막 링 발진기 테스트 구조체로부터 피드백되는 상기 테스트 출력과 상기 테스트 입력을 XOR 연산하기 위한 XOR 게이트를 더 포함하는, 장치.
  17. 청구항 14에 있어서,
    하나 이상의 링 발진기들의 각각의 인에이블 신호를 어써팅함으로써 상기 하나 이상의 링 발진기들이 테스트를 위해 선택되며, 상기 하나 이상의 링 발진기들은 상기 장치 내의 모든 링 발진기들보다 적은, 장치.
  18. 청구항 14에 있어서,
    상기 직렬 체인은 홀수의 인버터들을 포함하는, 장치.
  19. 청구항 14에 있어서,
    구조적 스턱-엣 테스트를 위해 정상 상태(steady state)에서 상기 복수의 링 발진기들 중 적어도 하나의 피드백을 디세이블(disable)하도록 연결된 게이트 로직을 더 포함하는, 장치.
  20. 암호화에서 시크릿 키를 생성하기 위한 난수 발생기로서, 청구항 14의 상기 장치를 포함하는, 난수 발생기.
  21. 장치로서,
    직렬 체인으로 연결된 복수의 테스트가능 링 발진기들을 포함하고,
    상기 복수의 테스트가능 링 발진기의 각각은 테스트 모드 동안 인접한 테스트가능 링 발진기의 인버터 체인과 직렬로 연결되는 인버터 체인을 가지며, 상기 직렬 체인의 첫번째 상기 테스트가능 링 발진기는 상기 복수의 테스트가능 링 발진기들 중 둘 이상에서 잠재적으로(potentially) 고장(fault)들을 야기하는 테스트 패턴을 수신하는, 장치.
KR1020157008839A 2012-09-06 2013-08-15 링 발진기들에 대한 테스트 솔루션 KR20150054899A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/605,708 US8841974B2 (en) 2012-09-06 2012-09-06 Test solution for ring oscillators
US13/605,708 2012-09-06
PCT/US2013/055176 WO2014039226A1 (en) 2012-09-06 2013-08-15 Test solution for ring oscillators

Publications (1)

Publication Number Publication Date
KR20150054899A true KR20150054899A (ko) 2015-05-20

Family

ID=50186712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157008839A KR20150054899A (ko) 2012-09-06 2013-08-15 링 발진기들에 대한 테스트 솔루션

Country Status (7)

Country Link
US (1) US8841974B2 (ko)
EP (1) EP2893639A4 (ko)
JP (1) JP2015534673A (ko)
KR (1) KR20150054899A (ko)
CN (1) CN104604131A (ko)
TW (1) TWI593234B (ko)
WO (1) WO2014039226A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6423277B2 (ja) * 2015-01-09 2018-11-14 株式会社メガチップス 乱数生成装置及び乱数生成方法
US9891276B2 (en) 2015-07-28 2018-02-13 International Business Machines Corporation Performance-screen ring oscillator (PSRO) using an integrated circuit test signal distribution network
US10078114B2 (en) * 2015-09-24 2018-09-18 Renesas Electronics Corporation Test point circuit, scan flip-flop for sequential test, semiconductor device and design device
CN106874177A (zh) * 2015-12-14 2017-06-20 中国航空工业第六八研究所 一种基于场景的锁存器测试方法
CN106656460A (zh) * 2016-11-22 2017-05-10 浙江大学 一种针对密码芯片电磁脉冲故障分析的防御装置
WO2020029141A1 (zh) * 2018-08-08 2020-02-13 深圳市汇顶科技股份有限公司 随机数发生器的建模方法、装置、介质及随机数发生器
US11316687B2 (en) * 2019-03-04 2022-04-26 Cypress Semiconductor Corporation Encrypted gang programming
US10761809B1 (en) * 2020-03-12 2020-09-01 Katholieke Universiteit Leuven Random number generator
TWI719917B (zh) * 2020-07-14 2021-02-21 金麗科技股份有限公司 將類比動態電路運用於數位測試工具的處理方法
CN112504519B (zh) * 2020-11-23 2022-05-20 深圳市绘王动漫科技有限公司 一种压力检测电路、装置及压力输入装置
US20230259433A1 (en) * 2022-02-11 2023-08-17 Stmicroelectronics S.R.L. Systems and methods to test an asychronous finite machine

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0770573B2 (ja) * 1989-07-11 1995-07-31 富士通株式会社 半導体集積回路装置
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
US6069849A (en) * 1996-09-17 2000-05-30 Xilinx, Inc. Method and system for measuring signal propagation delays using the duty cycle of a ring oscillator
JP2000183694A (ja) * 1998-12-18 2000-06-30 Mitsumi Electric Co Ltd 発振回路
JP2002311091A (ja) * 2001-04-10 2002-10-23 Mitsubishi Electric Corp 半導体装置
JP2004096237A (ja) * 2002-08-29 2004-03-25 Nec Electronics Corp 発振回路及び半導体集積回路
US6798230B1 (en) * 2003-01-15 2004-09-28 Advanced Micro Devices, Inc. Structure and method for increasing accuracy in predicting hot carrier injection (HCI) degradation in semiconductor devices
US7205854B2 (en) * 2003-12-23 2007-04-17 Intel Corporation On-chip transistor degradation monitoring
US7233212B2 (en) * 2005-03-31 2007-06-19 International Business Machines Corporation Oscillator array with row and column control
US7675372B2 (en) * 2006-08-09 2010-03-09 Qualcomm Incorporated Circuit simulator parameter extraction using a configurable ring oscillator
US7532078B2 (en) * 2007-02-09 2009-05-12 International Business Machines Corporation Scannable virtual rail method and ring oscillator circuit for measuring variations in device characteristics
CN101373203A (zh) * 2007-08-21 2009-02-25 中芯国际集成电路制造(上海)有限公司 环形振荡器速度测试结构
US8676870B2 (en) * 2007-09-18 2014-03-18 Seagate Technology Llc Active test and alteration of sample times for a ring based random number generator
JP2009117894A (ja) * 2007-11-01 2009-05-28 Univ Of Tokyo 注入同期型発振器
JP4427581B2 (ja) * 2008-01-08 2010-03-10 株式会社東芝 乱数生成回路
US8081037B2 (en) * 2008-06-11 2011-12-20 Qualcomm Incorporated Ring oscillator using analog parallelism
DE102008048292B4 (de) * 2008-09-22 2012-07-12 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
JP2010087275A (ja) * 2008-09-30 2010-04-15 Panasonic Corp 半導体集積回路および電子機器
CN101819515B (zh) * 2010-02-08 2012-06-20 清华大学 基于环型振荡器的真随机数发生电路及真随机数发生器
US8381144B2 (en) * 2010-03-03 2013-02-19 Qualcomm Incorporated System and method of test mode gate operation

Also Published As

Publication number Publication date
US8841974B2 (en) 2014-09-23
EP2893639A4 (en) 2016-06-22
EP2893639A1 (en) 2015-07-15
TW201419758A (zh) 2014-05-16
JP2015534673A (ja) 2015-12-03
WO2014039226A1 (en) 2014-03-13
TWI593234B (zh) 2017-07-21
CN104604131A (zh) 2015-05-06
US20140062606A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
US8841974B2 (en) Test solution for ring oscillators
US9231567B2 (en) Test solution for a random number generator
US6961886B2 (en) Diagnostic method for structural scan chain designs
EP1890234B1 (en) Microcomputer and method for testing the same
US10386413B2 (en) Circuit and method for testing flip flop state retention
US8479068B2 (en) Decoded register outputs enabling test clock to selected asynchronous domains
US8819508B2 (en) Scan test circuitry configured to prevent violation of multiplexer select signal constraints during scan testing
JP2004233084A (ja) 半導体集積回路およびスキャンテスト法
Da Rolt et al. A smart test controller for scan chains in secure circuits
US9666302B1 (en) System and method for memory scan design-for-test
US9234938B2 (en) Monitoring on-chip clock control during integrated circuit testing
US20160349318A1 (en) Dynamic Clock Chain Bypass
US9568551B1 (en) Scan wrapper circuit for integrated circuit
US10996271B1 (en) Fast IJTAG
US9983262B1 (en) Built-in self test controller for a random number generator core
US20060195738A1 (en) Merged MISR and output register without performance impact for circuits under test
Vo et al. Design for board and system level structural test and diagnosis
US10520550B2 (en) Reconfigurable scan network defect diagnosis
US10459029B2 (en) On-chip clock control monitoring
Karmakar et al. On securing scan obfuscation strategies against ScanSAT attack
US7962766B2 (en) Method and system for encryption-based design obfuscation for an integrated circuit
Dubrova et al. Secure and efficient LBIST for feedback shift register-based cryptographic systems
US9506983B2 (en) Chip authentication using scan chains
JP2005339675A (ja) 半導体集積回路装置
Meschkov et al. Is your secure test infrastructure secure enough?: Attacks based on delay test patterns using transient behavior analysis

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid