KR20100078431A - 표준 셀 라이브러리의 성능 개선을 위한 측정 장치 - Google Patents

표준 셀 라이브러리의 성능 개선을 위한 측정 장치 Download PDF

Info

Publication number
KR20100078431A
KR20100078431A KR1020080136692A KR20080136692A KR20100078431A KR 20100078431 A KR20100078431 A KR 20100078431A KR 1020080136692 A KR1020080136692 A KR 1020080136692A KR 20080136692 A KR20080136692 A KR 20080136692A KR 20100078431 A KR20100078431 A KR 20100078431A
Authority
KR
South Korea
Prior art keywords
output
ring oscillator
pulse
unit
value
Prior art date
Application number
KR1020080136692A
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 주식회사 동부하이텍
Priority to KR1020080136692A priority Critical patent/KR20100078431A/ko
Priority to US12/643,007 priority patent/US20100169045A1/en
Priority to TW098145148A priority patent/TW201027101A/zh
Publication of KR20100078431A publication Critical patent/KR20100078431A/ko

Links

Images

Classifications

    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • 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/2882Testing timing characteristics
    • 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
    • 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/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • 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/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks

Landscapes

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

Abstract

본 발명은 TEG(Test Element Group)를 통한 표준 셀 라이브러리의 성능을 검증에 있어서, 특히 여러 TEG들 중 링 오실레이터(Ring Oscillator)를 통한 표준 셀 라이브러리의 성능 검증 시에 표준 셀의 성능을 개선하기 위한 측정 장치에 관한 것으로, 외부에서 입력되는 인에이블 신호에 따라 활성화되어 측정 결과 값들을 출력하는 링 오실레이터 블록과, 상기 링 오실레이터 블록에서 출력되는 측정 결과 값들 중에서 하나 또는 그 이상을 선택적으로 출력하는 디코더와, 상기 디코더의 출력을 정해진 구간 동안 입력받아, 그 입력 값들의 최대 값과 최소 값과 평균을 출력하는 스테티스틱스 어시스터(statistics assistor)을 포함하되, 상기 링 오실레이터 블록은 상기 인에이블 신호에 따라 펄스를 생성하는 펄스 발생기와, 상기 펄스 발생기에서 생성된 펄스를 시스템 클록 펄스의 주기에 동기시키는 펄스 스테이블부(Pulse Stable)와, 상기 펄스 스테이블부에서 출력되는 펄스의 상태에 따라 상기 시스템 클록 펄스를 출력하는 클록 인에이블부(Clock Enable)와, 상기 클록 인에이블부에서 출력된 시스템 클록 펄스의 상승 엣지와 하강 엣지 중 어느 하나에 동작하는 카운터와, 상기 인에이블 신호에 따라 상기 카운터의 출력들을 입력받아서 최종 카운트 값을 저장 또는 상기 디코더로 출력하는 캡쳐 데이터 저장부를 구비하는 것이 특징인 발명이다.
TEG(Test Element Group), 링 오실레이터, 펄스 발생기,

Description

표준 셀 라이브러리의 성능 개선을 위한 측정 장치{measure apparatus for improving standard cell library}
본 발명은 TEG(Test Element Group)를 통한 표준 셀 라이브러리의 성능을 검증에 관한 것으로, 특히 여러 TEG들 중 링 오실레이터(Ring Oscillator)를 통한 표준 셀 라이브러리의 성능 검증 시에 표준 셀의 성능을 개선하기 위한 측정 장치에 관한 것이다.
도 1은 종래 기술에 따른 링 오실레이터를 나타낸 블록도이다.
일반적으로 링 오실레이터는 다수 지연시간 체인들(102 ~ 103)로 구성된다. 도 1에 도시된 바와 같이, 하나의 지연시간 체인(102)은 NAND 게이트(101)와 다수 인버터들(IV-1 ~ IV-N)의 체인 구조를 갖는다. 즉, 지연시간 체인(102)은 NAND 게이트(101)와, 그 NAND 게이트(10)의 출력이 입력으로 접속되는 제1인버터(Inverter, IV-1)와, 제1인버터(IV-1)의 출력이 입력으로 접속되는 제2인버터 (IV-2)와, 이와 같이 순차적으로 접속되는 방식으로 체인 구조로 접속되어 N번째 인버터(IV-N)까지 포함하여 구성된다.
N번째 인버터(IV-N)의 출력은 외부로 출력되는 동시에 NAND 게이트(101)의 입력으로 피이드백(Feedback)된다.
그리고 기타 표준 셀 타입의 지연시간 체인(103)이 추가 구성된다.
상기와 같이 구성된 링 오실레이터의 출력은 일정 주기를 가지는 펄스(104A, 104B)이다.
출력된 펄스(104A, 104B)의 너비는 링 오실레이터의 지연시간 체인들(102 ~ 103)을 구성하는 표준 셀들의 전달 지연시간이 누적된 값이다.
펄스(104A, 104B)의 너비를 오실로스코프를 통하여 측정한 후, 스파이스(SPICE)에서의 로-투-하이(Low to High) 전달 지연시간의 비를 그에 곱하여 링 오실레이터를 구성하는 표준 셀의 로-투-하이(Low to High) 전달 지연시간을 구한다.
도 2는 종래 기술에 따른 디지털 프로세스 모니터(Digital Process Monitor)의 회로 구성을 나타낸 블록도이다.
도 2를 참조하면, 종래 기술의 디지털 프로세스 모니터 회로는 링 오실레이터(201), 비동기식 리플 카운터(Asynchronous Ripple Counter)(202), 로컬 카운터(Local Counter)(203), 그리고 레지스터 인터페이스/제어기(Register Interface And Controller)(205)로 구성된다.
레지스터 인터페이스/제어기(205)는 외부로부터 클록 신호(CLK), 시작 명령(DPM_START)과 테스트 사이클의 주기(DPM_COUNT_DOWN)를 입력받으며, 테스트 종료 신호(DPM_DONE)와 비동기식 리플 카운터(202)에서 생성된 카운트 값(DPM_COUNT)을 출력한다.
레지스터 인터페이스/제어기(205)가 시작 명령(DPM_START)을 입력받으면, 링 오실레이터(201)의 동작을 시작하기 위한 인에이블신호(ENABLE)를 링 오실레이터(201)로 출력한다.
인에이블신호(ENABLE)를 입력받은 링 오실레이터(201)는 클록 펄스(204, RING_OSC_CLK)를 생성하여 비동기식 리플 카운터(202)와 레지스터 인터페이스/제어기(205)로 전달한다.
비동기식 리플 카운터(202)는 입력된 클록 펄스(204, RING_OSC_CLK)를 기반으로 다운 카운트한다.
레지스터 인터페이스/제어기(205)에 시작 명령(DPM_START) 신호가 인가되어있는 동안에, 로컬 카운터(203)는 테스트 사이클의 주기(DPM_COUNT_DOWN)를 레지스터 인터페이스/제어기(205)로부터 입력받는다. 테스트 사이클의 주기(DPM_COUNT_DOWN)를 입력받은 로컬 카운터(203)는 2DPM_COUNT_DOWN 만큼 다운 카운트를 한다.
로컬 카운터(203)의 값이 "0"에 도달하면, 로컬 카운터(203)는 테스트 종료 신호(DPM_DONE)를 레지스터 인터페이스/제어기(205)에 전달한다. 테스트 종료 신호(DPM_DONE)를 입력받은 레지스터 인터페이스/제어기(205)는 전체 회로 동작을 정지시킨다. 이때, 비동기식 리플 카운터(202)는 카운트 값(DPM_COUNT)을 생성하여 레지스터 인터페이스/제어기(205)에 전달한다.
그에 따라, 레지스터 인터페이스/제어기(205)는 비동기식 리플 카운터(202) 로부터 전달받은 카운트 값(DPM_COUNT)을 출력한다.
마지막으로 비동기식 리플 카운터(202)는 레지스터 인터페이스/제어기(205)로부터 리셋 신호(RESET)를 입력받아 초기화된다. 그때, 링 오실레이터(201)는 동기 정지(SYNC_STOP) 신호를 레지스터 인터페이스/제어기(205)로부터 입력받아서 정지한다.
레지스터 인터페이스/제어기(205)에서 출력된 카운트 값(DPM_COUNT)을 사용하여 링 오실레이터(201)의 클록 펄스(204)의 주기를 측정한다.
도 3은 종래 기술에 따른 링 오실레이터의 속도를 측정하기 위한 장치 구성을 나타낸 블록도이다.
도 3을 참조하면, 종래의 링 오실레이터의 속도 측정을 위한 장치는, 링 오실레이터(316), 링 카운터(RING COUNTER)(307), 인에이블 제어부(EN)(308), 시스템 카운터(SYSTEM COUNTER)(311), 그리고 카운트 감지부(COUNT DET)(312)로 구성된다.
링 오실레이터(316)는 AND 게이트(302)와 다수 인버터들(303 ~ 305)이 순차적으로 연결된 구성을 가지며, 마지막 인버터(305)의 출력은 AND 게이트(302)에 포지티브 피이드백(Positive Feed Back)된다.
링 오실레이터(316)는 클록 펄스(RING CLK)(306)를 발진하여 링 카운터(307)로 출력한다. 클록 펄스(RING CLK)(306)의 주기는 AND 게이트(302)에서 마지막 인버터(305)까지의 전달 지연시간에 의해 결정된다. 그러므로, 사용되는 인버터의 개수에 반비례한다.
그리고 클록 펄스(RING CLK)(306)는 공정, 온도, 전압 변화의 영향에 따라 최대 또는 최소 주파수를 가질 수 있다.
클록 펄스(RING CLK)(306)는 링 카운터(307)에 입력된다.
링 카운터(307)는 다운 카운트하는 다운 카운터(Down Counter)로서, 입력되는 클록 펄스(RING CLK)(306)의 매 주기마다 제1 프리셋 값(FIRST PRESET VALUE)를 감소시킨다.
링 오실레이터(316)의 AND 게이트(302)는 링 오실레이터(316)의 활성화에 관여한다. 즉, AND 게이트(302)의 출력이 "1"일 때, 링 오실레이터(316)는 지속적으로 클록 펄스(306)를 발진한다. 즉, 링 카운터(307)가 다운 카운트하도록 상승 엣지 펄스(Rising Edge Pulse)를 제공한다.
AND 게이트(302)는 클록 펄스(RING CLK)(306)가 "1", 인에이블 제어부(EN)(308)의 출력이 "1", 그리고 입력 중 하나인 디스에이블-쉬프트(DISABLE-SHIFT) 값이 "1"일 때, "1"을 출력한다.
디스에이블-쉬프트(DISABLE-SHIFT)는 테스트 장치로부터의 입력된 값으로, 도 3의 장치가 링 오실레이터(316)의 속도를 측정하는 동안 테스트를 위한 테스트 벡터 또는 논리 값을 막아주는 역할을 한다. 또한 디스에이블-쉬프트(DISABLE-SHIFT)는 그 쉬프트가 끝나는 시간과 인에이블 제어부(EN)(308)의 출력이 "1"로 변하는 구간 사이의 시간 동안 다운 카운트를 정지시키는 기능을 제공한다.
인에이블 제어부(EN)(308)는 시스템 카운터(311)에 인에이블(ENABLE) 신호를 제공한다. 또한 전술된 디스에이블-쉬프트(DISABLE-SHIFT)와 함께 링 오실레이터(316) 및 시스템 카운터(311)의 활성화를 제어한다.
인에이블 제어부(EN)(308)에서 출력된 값이 인에이블(ENABLE) 신호가 "0"이면, 링 오실레이터(316)의 발진과 시스템 카운터(311)의 동작이 정지된다.
인에이블 제어부(EN)(308)는 한 개의 D 플립플롭(D Flip-Flop)으로 구성된다.
인에이블 제어부(EN)(308)는 카운트 감지부(COUNT DET)(312)의 출력을 입력받으며, 시스템 클록 펄스(SYS CLK)(310)에 동기되어 AND 게이트(302)와 시스템 카운터(311)에 인에이블(ENABLE) 신호를 출력한다.
시스템 카운터(SYSTEM COUNTER)(311)는 인에이블 제어부(EN)(308)로부터 출력되는 인에이블(ENABLE) 신호와 시스템 클록 펄스(SYS CLK)(310)에 동기되어 매 주기마다 제2 프리셋 값(SECOND PRESET VALUE)를 감소시킨다.
시스템 카운터(SYSTEM COUNTER)(311)는 감소된 제2 프리셋 값을 카운트 감지부(COUNT DET)(312)로 출력한다.
카운트 감지부(COUNT DET)(312)는 시스템 카운터(311)로부터 입력된 제2 프리셋 값을 감지한다.
카운트 감지부(312)는 시스템 카운터(311)로부터 입력되는 제2 프리셋 값이 "0" 또는 "1"일 때를 감지하여, 그 결과로써 인에이블 제어부(EN)(308)에 "0"의 값을 전달한다.
"0"을 입력받은 인에이블 제어부(EN)(308)는 "0"의 값인 인에이블(ENABLE) 신호를 AND 게이트(302)와 시스템 카운터(311)에 출력하여, 링 오실레이터(316)의 발진과 시스템 카운터(311)의 동작을 정지시킨다.
상기와 같이 링 오실레이터(316)가 정지될 때, 링 카운터(307)는 제1 프리셋 값의 주기적으로 감소되던 감소 값(COUNT VALUE)(315)을 출력한다. 그 출력된 감소 값(315)은 제2 프리셋 값, 시스템 클록 펄스(SYS CLK)(310)의 주기와 함께 링 오실레이터(316)의 속도를 측정하기 위한 계수로 사용된다.
상기한 종래 기술에서는 표준 셀의 전달 지연시간을 계산하기 위해서는 링 오실레이터에서 출력되는 클록 펄스의 너비를 측정한다. 이는 오실로스코프 또는 웨이퍼 단계에서 측정이 이루어져야 한다는 것이다. 그로 인해 고성능 장비가 요구되며, 많은 인력과 시간이 요구된다.
또한, 링 오실레이터에서 출력되는 클록 펄스의 너비를 측정하는 과정에서 측정자에 의한 에러(Human Error)나 장비 자체의 오차가 추가될 가능성이 많아서 정확한 측정이 어렵다는 문제가 있다.
한편, 도 4는 종래 기술에 따른 표준 셀의 전달 지연시간 계산을 위한 측정 시 에러를 설명하기 위한 그래프로서, 최상위부터, 시스템 클록 펄스(SYS CLK), 링 오실레이터의 온/오프를 제어하기 위한 인에이블(ENABLE) 신호, 링 오실레이터의 출력 펄스(RING CLK), 오차를 갖는 링 카운터의 출력 카운트 값(Counter'), 그리고 기준 카운트 값(Counter'')을 나타낸다.
도 4에서 두 번째 인에이블 신호의 인가 시간과 링 오실레이터의 발진 주기가 등비 하지 않아서 동일한 인에이블 신호의 인가 시간에서도 한 주기만큼의 측정 오차를 가질 수 있다.
또한 종래의 링 오실레이터에 대한 성능 측정 결과의 표준 편차, 평균 및 평 균과의 델타(Delta) 값을 구하기가 어렵다.
또한, 종래의 장치는 다수 링 오실레이터의 동작 시간을 설정하고, 또한 성능 측정을 위한 카운터 초기값을 설정하기 위해 별도의 레지스터 뱅크 또는 다수의 플립플롭(Flip-Flop)이 요구되지 때문에, 전체 칩 크기를 증가시킨다.
본 발명의 목적은 상기한 점들을 감안하여 안출한 것으로써, TEG(Test Element Group)를 통한 표준 셀 라이브러리의 성능을 측정하고 검증하는데 있어 내장(built-in)된 회로를 사용함으로써 표준 셀의 성능을 효과적으로 개선하도록 해주는 측정 장치를 제공하는 데 있다.
본 발명의 또다른 목적은, 표준 셀 라이브러리의 성능 측정을 위해 내장형으로 회로를 구현하여, 측정자에 의한 에러(Human Error)나 장비 자체의 오차를 제거함은 물론 측정을 보다 쉽고 빠르고 정확하게 실시하도록 해주는 장치를 제공하는 데 있다.
본 발명의 또다른 목적은, 측정이 이루어지는 과정에서 요구되는 고성능 장비나 많은 인력과 시간 등을 절감하도록 해주는 장치를 제공하는 데 있다.
본 발명의 또다른 목적은 시퀀셜 셀 지연시간(sequential cell delay)을 측정하는데 적당한 장치를 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 표준 셀 라이브러리의 성능 개선을 위한 측정 장치의 특징은, 외부에서 입력되는 인에이블 신호에 따라 활성화되어 측정 결과 값들을 출력하는 링 오실레이터 블록과, 상기 링 오실레이터 블록에서 출력되는 측정 결과 값들 중에서 하나 또는 그 이상을 선택적으로 출력하는 디코더와, 상기 디코더의 출력을 정해진 구간 동안 입력받아, 그 입력 값들의 최대 값과 최소 값과 평균을 출력하는 스테티스틱스 어시스터(statistics assistor)을 포함하되, 상기 링 오실레이터 블록은 상기 인에이블 신호에 따라 펄스를 생성하는 펄스 발생기와, 상기 펄스 발생기에서 생성된 펄스를 시스템 클록 펄스의 주기에 동기시키는 펄스 스테이블부(Pulse Stable)와, 상기 펄스 스테이블부에서 출력되는 펄스의 상태에 따라 상기 시스템 클록 펄스를 출력하는 클록 인에이블부(Clock Enable)와, 상기 클록 인에이블부에서 출력된 시스템 클록 펄스의 상승 엣지와 하강 엣지 중 어느 하나에 동작하는 카운터와, 상기 인에이블 신호에 따라 상기 카운터의 출력들을 입력받아서 최종 카운트 값을 저장 또는 상기 디코더로 출력하는 캡쳐 데이터 저장부를 구비하는 것이다.
본 발명에 따르면, 표준 셀 라이브러리의 성능을 평가하고 진단하는데 내장(built-in)된 회로를 사용함으로써 표준 셀의 성능을 보다 쉽고 빠르고 정확하게 실시하도록 해주기 때문에, 표준 셀 라이브러리를 효과적으로 개선하도록 해준다.
또한 본 발명에서는 표준 셀 라이브러리의 성능 측정을 위해 내장형 측정 회로를 사용하기 때문에, 측정자에 의한 에러(Human Error)나 장비 자체의 오차를 제거해 준다.
또한 본 발명에서는 성능 측정을 위해 내장형 측정 회로를 사용하고 별도의 고성능 장비나 많은 인력과 시간 등이 요구되지 않으므로, 자원 효율면에서 많은 절감 효과가 있다. 특히, 내장형 측정 회로를 통해 성능 측정 기간을 단축하여 전체적으로는 표준 셀 라이브러리 개발 기간을 단축해 준다.
또한 종래에는 인에이블 신호의 인가 시간과 링 오실레이터의 발진 주기가 등비 하지 않아서 생기는 한 주기만큼의 측정 오차가 발생하였으나, 본 발명에서는 하강 카운터(505)를 더 추가함으로써 회로적으로 한 주기만큼의 오차를 1/2로 줄일 수 있으며, 또한 전체적으로 링 오실레이터가 발진하는 클록 주기의 오차도 줄여 주어 보다 더 정확한 성능 측정을 지원한다.
또한 본 발명에서는 링 오실레이터에 대한 성능 측정 결과의 표준 편차, 평균 및 평균과의 최대/최소 델타(Delta) 값을 쉽게 계산할 수 있어서, 표준 셀 라이브러리의 성능 평가와 진단을 보다 쉽고 빠르고 정확하게 실시하도록 해준다.
또한 여러 종류의 링 오실레이터를 쉽게 선택적으로 성능을 측정할 수 있다.
또한 본 발명의 다른 실시 예에서는 불필요한 회로를 제거함으로써, 전체 칩 크기를 감소시킬 수 있으며, 단위 셀과 인버터를 포함하는 단위 쌍(Unit pair)의 체인 구조나 플립플롭 체인(F/F Chain) 구조로 이루어진 펄스 발생기(Pulse Gen)를 추가하여 상승 및 하강 전달 지연시간(rising / falling delay) 및 시퀀셜 셀 지연시간(sequential cell delay)을 측정할 수 있다.
본 발명의 다른 목적, 특징 및 이점들은 첨부한 도면을 참조한 실시 예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시 예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 표준 셀 라이브러리의 성능 개선을 위한 측정 장치의 바람직한 실시 예를 자세히 설명한다.
도 5는 본 발명의 일 실시 예에 따른 표준 셀 라이브러리의 성능 개선을 위한 내장형 측정 장치의 구성을 나타낸 블록도이다.
도 5를 참조하면, 본 발명에 따른 측정 장치는 내장형(Built-in)으로 구현된다.
본 발명에 따른 측정 장치는, 다수 링 오실레이터 블록들(401), 디코더(decoder)(402), 그리고 스테티스틱스 어시스터(Statistics Assistor)(403)로 구성된다.
다수 링 오실레이터 블록들(401)은 단위 셀 종류별로 구성되는 링 오실레이터 블록(404)을 포함한다. 예로써, 단위 셀 종류별로 구성되는 하나의 링 오실레이터 블록(404)을 도 6에 도시한다.
도 6은 본 발명의 일 실시 예에 따른 링 오실레이터 블록의 구성을 나타낸 블록도이다.
도 6에 도시된 링 오실레이터 블록(404)은 인에이블 스테이블부(Enable Stable)(501), 링 오실레이터(502), 클록 온(Clock On) 부(503), 상승 카운터(Rising Counter)(504), 하강 카운터(Falling Counter)(505), REF 카운터(REF Counter)(506), 그리고 캡쳐 데이터(Captured Data) 저장부(507)로 구성된다.
인에이블 스테이블부(Enable Stable)(501)는 외부로부터 입력되는 인에이 블(Enable) 신호를 시스템 클록 주기에 맞도록 재조정한다. 이를 위해 인에이블 스테이블부(Enable Stable)(501)는 하나의 D-플립플롭(D Flip-Flop)을 포함하여 구성된다. 그 D 플립플롭은 하강 엣지에서 동작한다.
링 오실레이터(502)는 NAND 게이트(509)와 다수 단위 셀(U1 ~ UN)이 순차적으로 연결된 구조이다. 즉, 제1 단위 셀(1st Unit Cell, U1)에서부터 제N 단위 셀(Nth Unit Cell, UN)까지 순차적으로 연결된다. 마지막 단위 셀인 제N 단위 셀(UN)의 출력(511)은 피이드백(Feed Back)되어 NAND 게이트(509)에 입력된다.
클록 온(Clock On) 부(503)는 인에이블 스테이블부(Enable Stable)(501)에서 출력되는 인에이블 신호에 따라 선택적으로 시스템 클록 펄스(SYS CLK)(512)를 REF 카운터(505)에 인가한다.
상승 카운터(Rising Counter)(504)는 링 오실레이터(502)에서 지속적으로 발진되어 출력되는 링 클록 펄스(Ring CLK)(511)의 상승 엣지와 하강 엣지 중 어느 하나에서 업 카운트 또는 다운 카운트 동작한다. 상승 카운터(Rising Counter)(504)는 상승 엣지에서 동작하는 것이 보다 바람직하다.
하강 카운터(Falling Counter)(505)는 링 오실레이터(502)에서 지속적으로 발진되어 출력되는 링 클록 펄스(Ring CLK)(511)의 상승 엣지와 하강 엣지 중 어느 하나에서 업 카운트 또는 다운 카운트 동작한다. 이는 링 오실레이터(502)에서 발진하는 링 클록 펄스(Ring CLK)(511)의 주기를 측정할 때, 측정 오차를 줄이기 위한 것이다. 그러나 하강 카운터(Falling Counter)(505)는 하강 엣지에서 동작하는 것이 보다 바람직하다.
REF 카운터(REF Counter)(506)는 레퍼런스 카운터(Reference counter)로써, 시스템 클록 펄스(SYS CLK)(512)의 상승 엣지에서 동작한다.
캡쳐 데이터(Captured Data) 저장부(507)는 본 발명에 따른 장치가 동작을 중지할 때, 최종 카운트 값들을 저장한다.
상기한 구성에서, 링 오실레이터(502)를 구성하는 단위 셀의 개수는 도 12의 스파이스(SPICE) 시뮬레이션 결과를 통해 결정된다. 도 12는 본 발명에서 링 오실레이터의 단위 셀 개수를 결정하기 위한 스파이스(SPICE) 시뮬레이션 결과를 나타낸 그래프이다. 즉, 도 12의 결과에서 일정 펄스 폭을 가지는 것을 사용할 단위 셀로 결정한다.
인에이블 스테이블부(Enable Stable)(501)로부터 링 오실레이터(502)의 NAND 게이트(509)에 입력되는 인에이블(Enable) 신호(510)가 "1"이면, 일정 주기를 가지는 링 클록 펄스(Ring CLK)(511)를 발진한다.
링 클록 펄스(Ring CLK)(511)의 주기는 NAND 게이트(509)에서 마지막 제N 단위 셀(UN)까지의 전달 지연시간에 의해 결정된다. 그러므로, 사용되는 단위 셀의 개수에 반비례한다.
그리고 링 클록 펄스(RING CLK)(511)의 주기는 공정, 온도, 전압 변화의 영향에 따라 최대 또는 최소 주파수를 가질 수 있다.
디코더(402)는 외부로부터 입력되는 선택신호(SEL)(405)에 따라 링 오실레이터 블록(404)의 출력을 선택적으로 출력한다.
스테티스틱스 어시스터(403)는 최소최대값 저장부(MIN_MAX)(407)와 누적가산부(Total Sum)(408)로 구성된다.
디코더(402)의 출력 즉, 선택신호(SEL)(405)에 의해 선택된 링 오실레이터 블록(404)의 결과 값(409, 410, 411)은 스테티스틱스 어시스터(403)로 입력된다.
링 오실레이터 블록에 대한 측정이 여러 횟수로 실시될 때, 스테티스틱스 어시스터(403)는 외부로부터 입력받은 이그노어 인덱스(Ignore Index)(406)에 따라 디코더(402)로부터 입력되는 첫 번째 측정 결과 값들(409, 410, 411)에서부터 이그노어 인덱스(406)가 지시하는 N번째 측정 결과 값들(409, 410, 411)을 무시한다.
다음에, 측정 횟수가 이그노어 인덱스(406)가 지시하는 N번째가 지나면, 이후에 디코더(402)로부터 입력되는 측정 결과 값들(409, 410, 411)의 평균 값(AVE Value)(413)을 구한다.
상기 평균 값(413)을 구하기 위해, 누적가산부(Total Sum)(408)는 디코더(402)로부터 입력되는 측정 결과 값들(409, 410, 411)을 누적 가산한다.
그리고 도 6에서 여러 횟수에 걸쳐 측정한 카운터들(504, 505, 506)의 출력들 중 최소최대값(MIN_MAX)(414)을 저장한다.
이때, 스테티스틱스 어시스터(403)의 출력들(412,413,414)의 표준 편차를 구하여 그 편차가 클 경우에는, 스테티스틱스 어시스터(403)에서 바이패스 되는 카운트 값(CNT Value)(412)을 통하여 진단을 실시한다.
상기한 구성에 기반하여 본 발명을 이하 상세히 설명한다. 이하에서는 48번의 성능 진단을 위한 측정을 실시한 예로서 설명된다.
본 발명에 따른 장치의 전원을 온 한다. 이때, 단위 셀 종류별 링 오실레이터 블록(404)에 구비된 링 오실레이터(502)의 입력 중 인에이블(Enable) 신호의 값을 알지 못한다. 즉, 불안정한 상태(Unknown)에서 성능 진단을 위한 측정을 시작한다.
이러한 이유로 인해, 본 발명에서는 측정을 위한 동작 시에 링 오실레이터(502)가 안정화될 때까지 충분한 시간 동안 초기화 신호(RESET)를 인가한다(S1).
여기서, 상기 초기화 신호를 인가하는 시간 즉, 초기화 시간은 게이트 수준의 시뮬레이션 또는 스파이스 시뮬레이션을 통하여 도 12와 같은 링 오실레이터 출력 파형도로부터 구한다.
링 오실레이터(502)가 안정화되면, 측정 대상인 링 오실레이터 블록(404)으로 입력되는 인에이블(Enable) 신호 값이 "1"에서 "0"을 임의 시간 동안 인가한다(S2).
인에이블 스테이블부(Enable Stable)(501)는 외부로부터 입력되는 인에이블(Enable) 신호(508)를 시스템 클록 주기에 동기시킨다(S3). 예로써, 인에이블 스테이블부(Enable Stable)(501)는 클록 온(Clock On) 부(503)에서 출력하는 시스템 클록 펄스의 주기가 REF 카운터(506)에서 인식할 수 있는 최소 펄스 폭보다 작은 폭을 가지지 않도록, 출력하는 인에이블 신호(510) 값을 시스템 클록 펄스(512)의 주기에 동기시킨다.
상기 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "1"일 때, 링 오실레이터(502)를 활성화시킨다.
활성화된 링 오실레이터(502)는 일정 주기를 가지는 링 클록 펄스(Ring CLK)(511)를 지속적으로 발진한다(S4).
반면에, 상기 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "0"일 때, 링 오실레이터(502)를 비활성화시킨다.
비활성화된 링 오실레이터(502)는 일정 주기를 가지는 링 클록 펄스(Ring CLK)(511)의 발진을 정지한다(S5).
링 오실레이터(502)는 발진한 링 클록 펄스(Ring CLK)(511)를 상승 카운터(Rising Counter)(504)와 하강 카운터(Falling Counter)(505)로 출력한다(S6).
상승 카운터(Rising Counter)(504)는 링 오실레이터(502)에서 발진된 링 클록 펄스(Ring CLK)(511)의 상승 엣지에 의해 동작하며, 하강 카운터(Falling Counter)(505)는 링 오실레이터(502)에서 발진된 링 클록 펄스(Ring CLK)(511)의 하강 엣지에 의해 동작한다.
특히, 상기 두 카운터들(504,505)의 동작이 활성화 시에는, 입력되는 링 클록 펄스(511)의 주기마다 업 카운터 또는 다운 카운터로 동작한다. 즉, 링 클록 펄스(511)의 주기마다 업 카운트 또는 다운 카운트한다. 그러나 두 카운터들(504,505)의 동작이 비활성화 시에는 카운팅 동작을 정지한다(S7).
한편, 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "1"일 때, 클록 온(Clock On) 부(503)는 외부로부터 입력되는 시스템 클록 펄스(SYS CLK)(512)를 REF 카운터(505)에 인가한다.
시스템 클록 펄스(SYS CLK)(512)를 입력받은 REF 카운터(REF Counter)(506) 는 그 시스템 클록 펄스(512)의 매 주기 마다 업 카운트 또는 다운 카운트한다. 예로써, REF 카운터(REF Counter)(506)는 시스템 클록 펄스(SYS CLK)(512)의 상승 엣지에 의해 동작한다(S8).
반면에, 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "0"일 때, 클록 온(Clock On) 부(503)는 외부로부터 입력되는 시스템 클록 펄스(SYS CLK)(512)이 REF 카운터(505)에 인가되는 것을 막는다. 그에 따라, REF 카운터(506)는 업 카운팅 또는 다운 카운팅 동작을 정지한다(S9).
인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "1"이면, 캡쳐 데이터(Captured Data) 저장부(507)는 동작 중인 세 개의 카운터(504, 505, 506)의 출력(513, 514, 515)을 저장하지 않는다(S10).
그러나, 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "0"이면, 세 개의 카운터(504, 505, 506)의 동작을 정지하고, 캡쳐 데이터(Captured Data) 저장부(507)는 동작이 정지된 세 개의 카운터(504, 505, 506)의 출력(513, 514, 515)을 저장함과 동시에 디코더(402)로 출력한다. 즉, 본 발명에 따른 링 오실레이터 블록의 동작이 중지되면, 최종 카운트 값들을 저장한다(S11).
전술된 바와 같이, 최종 카운트 값들이 나올 때까지의 과정(S1~11)을 거쳐서 도 13에 도시된 링 오실레이터 블록(404)의 출력 파형이 나온다. 도 13은 본 발명에서 링 오실레이터에 대한 RC 기생 파라미터(RC parasitic parameter)를 갖는 스파이스(SPICE) 시뮬레이션 결과를 나타낸 그래프이다.
디코더(402)는 링 오실레이터 블록(404)으로부터 출력되는 결과를 입력받는 다.
그리고, 디코더(402)는 외부로부터 입력되는 선택신호(SEL)(405)에 따라 링 오실레이터 블록(404)의 출력을 선택적으로 출력한다. 즉, 디코더(402)는 선택신호(SEL)(405)에 따라 선택적으로 출력들(409, 410, 411)을 스테티스틱스 어시스터(403)에 전달한다(S12).
전술했듯이, 일 예로써, 상기한 과정들(S1~12)을 48번 반복 수행한다(S13).
이후에 스테티스틱스 어시스터(403)는 매회 디코더(402)에서 출력되는 결과들(409, 410, 411) 중에서 외부로부터 입력받은 이그노어 인덱스(Ignore Index)(406)가 나타내는 회수 만큼의 결과들을 무시한다.
즉, 스테티스틱스 어시스터(403)는 이그노어 인덱스(Ignore Index)(406)가 지시하는 N번째 디코더(402)에서 출력되는 결과들(409, 410, 411)까지 무시하고, (N+1)번째부터 디코더(402)에서 출력되는 결과들(409, 410, 411)에 대한 누적 가산 등의 처리를 수행한다.
예로써, 스테티스틱스 어시스터(403)는 (N+1)번째부터 48번의 출력 결과들(409, 410, 411)에 대한 처리를 수행한 후에 즉, 48번의 측정을 수행한 후에 그동안의 측정 결과 값들(409, 410, 411)의 평균 값(AVE Value)(413)을 구하여 출력한다.
동시에, 스테티스틱스 어시스터(403)는 (N+1)번째부터 48번의 측정 결과를 출력하는 동안 매번 디코더(402)의 출력들을 이전 출력들과 비교하여 최소최대값(MIN_MAX)(414)을 저장한다. 스테티스틱스 어시스터(403)는 최소최대 값(MIN_MAX)(414)과 같은 데이터를 저장하기 위해, 레지스터 뱅크 또는 다수 플립플롭(Flip-Flop)을 구비한다. 레지스터 뱅크 또는 다수 플립플롭(Flip-Flop)은 디코더(402)의 출력들(409, 410, 411)을 누적 가산한 결과도 저장할 수 있다.
물론 스테티스틱스 어시스터(403)는 상기 저장된 최소최대값(MIN_MAX)(414)도 (N+1)번째부터 48번의 측정 결과 중 하나로써 출력한다.
또한 본 발명에서는 스테티스틱스 어시스터(403)에서 출력되는 평균값(413) 및/또는 스테티스틱스 어시스터(403)의 출력들(412,413,414) 에 대한 표준 편차를 구한다.
만약 계산된 표준 편차가 정해진 기준 값보다 클 경우, 스테티스틱스 어시스터(403)에서 바이패스 되는 카운트 값(CNT Value)(412)들을 사용하여 진단을 실시한다.
즉, 본 발명에서는 스테티스틱스 어시스터(403)의 출력들(412,413,414) 중 적어도 하나를 사용하여 성능 진단을 실시한다. 즉, 스테티스틱스 어시스터(403)의 출력들(412,413,414)을 사용하여 단위 셀들의 전달 지연 시간을 계산한다.
먼저, 하기한 식 1을 통해 링 오실레이터에 인가된 인에이블 신호가 "1"이 인가되는 구간 동안의 시간(En_Time)을 계산한다.
[식 1]
En_Time = 시스템 클록 펄스(SYS CLK) 주기 × REF_TR
예로써, 시스템 클록 펄스 주기를 10ns (100MHz)로 정한다. 그리고 상기 "REF_TR"은 스테티스틱스 어시스터(403)에서 출력된 REF 카운터(506)의 평균 출력 값이다. REF 카운터(506)는 링 오실레이터에 인가된 시간을 측정하기 위해 업 카운티 또는 다운 카운팅한다.
이어서, 링 오실레이터에서 측정 결과를 출력하는 반복 회수(ROSC_loop)는 다음의 식 2를 통해 계산한다.
[식 2]
ROSC_loop = Fall_TR + Rise_TR + 0.5
상기에서 "Fall_TR"는 스테티스틱스 어시스터(403)에서 출력된 하강 카운터(falling Counter)(505)의 평균 출력 값이고, "Rise_TR"은 스테티스틱스 어시스터(403)에서 출력된 상승 카운터(Rising Counter)(504)의 평균 출력 값이다. 상승 카운터(504)와 하강 카운터(505)는 링 오실레이터에서 발진한 펄스의 주기 또는 반주기를 측정하기 위해 업 카운트 또는 다운 카운트한다.
이어서, 링 오실레이터가 발진하는 링 클록 펄스(511)의 반주기(OSC_Half_Period)는 다음의 식 3을 통해 계산된다. 즉, 상기한 식 1과 2에서 계산된 결과를 사용하여 계산한다.
[식 3]
OSC_Half_Period = En_Time / ROSC_loop
다음에, 단위 셀의 전달 지연시간(Unit Cell Delay)을 하기한 식 4를 통해 계산한다.
[식 4]
Unit Cell Delay = OSC_Half_Period / Unit Cell 개수 × 2
상기 단위 셀의 전달 지연시간(Unit Cell Delay)은 상승(Rising) 전달 지연시간과 하강(Falling) 전달 지연시간의 합으로써, 상기한 식 3에서 계산된 결과를 사용하여 계산한다.
상기한 전달 지연시간(Unit Cell Delay)을 구성하는 상승(Rising) 전달 지연시간과 하강(Falling) 전달 지연시간은 다음의 식 5와 식 6으로써 계산된다.
[식 5]
tPLH = 단위 셀의 전달 지연시간(Unit Cell Delay) × LH
[식 6]
tPHL = OSC_Period ×HL
상기한 식 5에서 "tPLH"가 단위 셀의 상승 전달 지연시간이며, "LH"는 스파이스 시뮬레이션 결과에서 단위 셀의 상승 전달 지연시간의 비율이다.
또한 상기한 식 6에서 "tPHL"가 단위 셀의 하강 전달 지연시간이며, "OSC_Period"는 상기한 식 3을 통해 계산된 반주기(OSC_Half_Period)로부터 계산되는 링 클록 펄스(511)의 주기이고, "HL"은 스파이스 시뮬레이션 결과에서 단위 셀의 하상 전달 지연시간의 비율이다.
이어서, 스테티스틱스 어시스터(403)에서 출력한 측정 결과들(412, 413, 414)로부터 표준 편차, 평균, 평균과의 델타 값을 구하고, 상기한 식들로부터 계산된 단위 셀의 전달 지연시간의 정확도 및 회로의 이상 유무를 판단한다. 본 발명의 장치는 상기와 같이 스테티스틱스 어시스터(403)에서 출력한 측정 결과들(412, 413, 414)로부터 표준 편차, 평균, 평균과의 델타 값을 구하고, 상기한 식들로부터 계산된 단위 셀의 전달 지연시간의 정확도 및 회로의 이상 유무를 판단하는 진단부(미도시)를 포함한다.
결국, 본 발명에서는 진단부는 단위 셀의 전달 지연시간을 정확히 계산하고, 이상 유무를 판단하기 위해 계산되는 링 오실레이터에 대한 성능 측정 결과의 표준 편차, 평균 및 평균과의 델타(Delta) 값을 쉽게 구할 수 있다.
도 7은 본 발명의 다른 실시 예에 따른 표준 셀 라이브러리의 성능 개선을 위한 내장형 측정 장치의 구성을 나타낸 블록도로써, 도 5에 도시된 예에서 링 오실레이터 블록의 구성을 변형한 예이다. 그러나 다른 구성 요소들은 모두 동일하므로 동일한 부호를 사용하며, 단지 추가되는 펄스 발생기(604)와, 펄스 발생기(604)의 일 형태인 플립플롭 체인부(F/F Chain)(605)만을 구분하여 도시한다.
그리고, 디코더(decoder)(402)와 스테티스틱스 어시스터(Statistics Assistor)(403)의 동작은 도 5에서 설명된 바와 동일하므로 상세한 설명은 생략한다.
한편, 다수 링 오실레이터 블록들(401)은 단위 셀 종류별로 구성되는 링 오실레이터 블록(404) 또는 펄스 발생기(Pulse Gen)(604) 또는 펄스 발생기(Pulse Gen)(604)의 일 형태인 플립플롭 체인부(F/F Chain)(605)을 포함한다. 예로써, 단위 셀 종류별로 구성되는 하나의 링 오실레이터 블록(404)을 도 8에 도시하며, 다른 예로써 단위 셀 종류별로 구성되는 펄스 발생기(604)를 도 9에 도시한다.
도 8은 본 발명의 제1 실시 예에 따른 링 오실레이터 블록의 구성을 나타낸 블록도로써, 도 6에 도시된 예로부터 클록 온(Clock On) 부(503)와 REF 카운터(REF Counter)(506)를 제거한 예이다.
도 8의 예에 따른 구성에 기반하여 본 발명을 이하 상세히 설명한다. 이하에서는 48번의 성능 진단을 위한 측정을 실시한 예로서 설명된다.
본 발명에 따른 장치의 전원을 온 한다. 이때, 단위 셀 종류별 링 오실레이터 블록(404)에 구비된 링 오실레이터(502)의 입력 중 인에이블(Enable) 신호의 값을 알지 못한다. 즉, 불안정한 상태(Unknown)에서 성능 진단을 위한 측정을 시작한다.
이러한 이유로 인해, 본 발명에서는 측정을 위한 동작 시에 링 오실레이터(502)가 안정화될 때까지 충분한 시간 동안 초기화 신호(RESET)를 인가한다(S20).
여기서, 상기 초기화 신호를 인가하는 시간 즉, 초기화 시간은 게이트 수준의 시뮬레이션 또는 스파이스 시뮬레이션을 통하여 도 12와 같은 링 오실레이터 출력 파형도로부터 구한다.
링 오실레이터(502)가 안정화되면, 측정 대상인 링 오실레이터 블록(404)으로 입력되는 인에이블(Enable) 신호 값이 "1"을 임의 시간 동안 인가한다(S21).
인에이블 스테이블부(Enable Stable)(501)는 외부로부터 입력되는 인에이블(Enable) 신호(508)를 시스템 클록 주기에 동기시킨다(S22).
상기 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "1"일 때, 링 오실레이터(502)를 활성화시킨다.
활성화된 링 오실레이터(502)는 일정 주기를 가지는 링 클록 펄스(Ring CLK)(511)를 지속적으로 발진한다(S23).
반면에, 상기 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "0"일 때, 링 오실레이터(502)를 비활성화시킨다.
비활성화된 링 오실레이터(502)는 일정 주기를 가지는 링 클록 펄스(Ring CLK)(511)의 발진을 정지한다(S24).
링 오실레이터(502)는 발진한 링 클록 펄스(Ring CLK)(511)를 상승 카운터(Rising Counter)(504)와 하강 카운터(Falling Counter)(505)로 출력한다(S25).
상승 카운터(Rising Counter)(504)는 링 오실레이터(502)에서 발진된 링 클록 펄스(Ring CLK)(511)의 상승 엣지에 의해 업 카운트 동작하며, 하강 카운터(Falling Counter)(505)는 링 오실레이터(502)에서 발진된 링 클록 펄스(Ring CLK)(511)의 하강 엣지에 의해 다운 카운트 동작한다.
특히, 상기 두 카운터들(504,505)의 동작이 활성화 시에는, 입력되는 링 클록 펄스(511)의 주기마다 업 카운터 또는 다운 카운터로 동작한다. 즉, 링 클록 펄스(511)의 주기마다 업 카운트 또는 다운 카운트한다. 그러나 두 카운터들(504,505)의 동작이 비활성화 시에는 카운팅 동작을 정지하고 초기화된다(S26).
한편, 본 발명에서는 측정을 위한 동작 시에 링 오실레이터(502)가 안정화될 때까지 충분한 시간 동안 초기화 신호(RESET)를 인가하는데, 초기화 신호가 "1"이면 두 카운터들(504,505)은 입력되는 링 클록 펄스(Ring CLK)(511)의 주기마다 업 카운트 또는 다운 카운트한다. 반면에 초기화 신호가 "0"이면, 두 카운터들(504,505)은 카운트 동작을 정지하고 초기화된다(S27).
인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "1"이면, 캡쳐 데이터(Captured Data) 저장부(507)는 동작 중인 두 개의 카운터(504, 505)의 출력(513, 514)을 저장하지 않는다(S28).
그러나, 인에이블 스테이블부(Enable Stable)(501)의 출력(510)이 "0"이면, 두 개의 카운터(504, 505)가 동작을 정지됨에 따라, 캡쳐 데이터(Captured Data) 저장부(507)는 동작이 정지된 두 개의 카운터(504, 505)의 출력(513, 514)을 저장함과 동시에 디코더(402)로 출력한다(S29).
상기한 과정들(S20 ~ S29)을 거치면서 도 8의 링 오실레이터 블록에서 최종 결과(최종 카운트 값)가 출력된다.
디코더(402)는 링 오실레이터 블록(404)의 캡쳐 데이터(Captured Data) 저장부(507)로부터 출력되는 결과를 입력받는다.
그리고, 디코더(402)는 외부로부터 입력되는 선택신호(SEL)(405)에 따라 링 오실레이터 블록(404)의 출력을 선택적으로 출력한다. 즉, 디코더(402)는 선택신호(SEL)(405)에 따라 선택적으로 출력들(409, 410, 411)을 스테티스틱스 어시스터(403)에 전달한다(S30).
전술했듯이, 일 예로써, 상기한 과정들(S20~30)을 48번 반복 수행한다(S31).
이후에 스테티스틱스 어시스터(403)는 매회 디코더(402)에서 출력되는 결과들(409, 410, 411) 중에서 외부로부터 입력받은 이그노어 인덱스(Ignore Index)(406)가 나타내는 회수 만큼의 결과들을 무시한다.
즉, 스테티스틱스 어시스터(403)는 이그노어 인덱스(Ignore Index)(406)가 지시하는 N번째 디코더(402)에서 출력되는 결과들(409, 410, 411)까지 무시하고, (N+1)번째부터 디코더(402)에서 출력되는 결과들(409, 410, 411)에 대한 누적 가산 등의 처리를 수행한다.
예로써, 스테티스틱스 어시스터(403)는 (N+1)번째부터 48번의 출력 결과들(409, 410, 411)에 대한 처리를 수행한 후에 즉, 48번의 측정을 수행한 후에 그동안의 측정 결과 값들(409, 410, 411)의 평균 값(AVE Value)(413)을 구하여 출력한다.
동시에, 스테티스틱스 어시스터(403)는 (N+1)번째부터 48번의 측정 결과를 출력하는 동안 매번 디코더(402)의 출력들을 이전 출력들과 비교하여 최소최대값(MIN_MAX)(414)을 저장한다. 스테티스틱스 어시스터(403)는 최소최대값(MIN_MAX)(414)과 같은 데이터를 저장하기 위해, 레지스터 뱅크 또는 다수 플립플롭(Flip-Flop)을 구비한다. 레지스터 뱅크 또는 다수 플립플롭(Flip-Flop)은 디코더(402)의 출력들(409, 410, 411)을 누적 가산한 결과도 저장할 수 있다.
물론 스테티스틱스 어시스터(403)는 상기 저장된 최소최대값(MIN_MAX)(414)도 (N+1)번째부터 48번의 측정 결과 중 하나로써 출력한다.
또한 본 발명에서는 스테티스틱스 어시스터(403)에서 출력되는 평균값(413) 및/또는 스테티스틱스 어시스터(403)의 출력들(412,413,414) 에 대한 표준 편차를 구한다.
만약 계산된 표준 편차가 정해진 기준 값보다 클 경우, 스테티스틱스 어시스터(403)에서 바이패스 되는 카운트 값(CNT Value)(412)들을 사용하여 진단을 실시 한다.
즉, 본 발명에서는 스테티스틱스 어시스터(403)의 출력들(412,413,414) 중 적어도 하나를 사용하여 성능 진단을 실시한다.
스테티스틱스 어시스터(403)의 출력들(412,413,414)을 사용하여 단위 셀들의 전달 지연 시간을 계산한다.
먼저, 하기한 식 7과 같이 링 오실레이터에 인가된 인에이블 신호가 "1"이 인가되는 구간 동안의 시간(En_Time)을 정한다.
[식 7]
En_Time = 미리 정의된 임의의 시간 값
이어서, 링 오실레이터에서 측정 결과를 출력하는 반복 회수(ROSC_loop)는 전술된 식 2를 통해 계산한다.
이어서, 링 오실레이터가 발진하는 링 클록 펄스(511)의 반주기(OSC_Half_Period)는 전술된 식 3을 통해 계산된다.
다음에, 단위 셀의 전달 지연시간(Unit Cell Delay)을 전술된 식 4를 통해 계산한다.
상기한 전달 지연시간(Unit Cell Delay)을 구성하는 상승(Rising) 전달 지연시간과 하강(Falling) 전달 지연시간은 전술된 식 5와 식 6으로써 계산된다.
이어서, 스테티스틱스 어시스터(403)에서 출력한 측정 결과들(412, 413, 414)로부터 표준 편차, 평균, 평균과의 델타 값을 구하고, 상기한 식들로부터 계산된 단위 셀의 전달 지연시간의 정확도 및 회로의 이상 유무를 판단한다. 본 발명의 장치는 상기와 같이 스테티스틱스 어시스터(403)에서 출력한 측정 결과들(412, 413, 414)로부터 표준 편차, 평균, 평균과의 델타 값을 구하고, 상기한 식들로부터 계산된 단위 셀의 전달 지연시간의 정확도 및 회로의 이상 유무를 판단하는 진단부(미도시)를 포함한다.
결국, 본 발명에서는 진단부는 단위 셀의 전달 지연시간을 정확히 계산하고, 이상 유무를 판단하기 위해 계산되는 링 오실레이터에 대한 성능 측정 결과의 표준 편차, 평균 및 평균과의 델타(Delta) 값을 쉽게 구할 수 있다.
도 9a는 본 발명의 제2 실시 예에 따른 링 오실레이터 블록의 구성을 나타낸 블록도이고, 도 9b는 도 9a에 도시된 펄스 발생기 내의 단위 쌍(Unit Pair)의 내부 구성을 나타낸 회로도이다.
링 오실레이터 블록은 외부에서 입력되는 인에이블 신호에 따라 활성화되어 측정 결과 값들을 출력하는데, 도 9a에 도시된 바와 같이, 펄스 발생기(Pulse Gen)(801)와 펄스 스테이블부(Pulse Stable)(802)와 클록 인에이블부(Clock Enable)(803)와 카운터(804)와 캡쳐 데이터 저장부(805)로 구성된다.
펄스 발생기(801)는 인에이블 신호(Enable)(811)에 따라 펄스(806)를 생성한다.
펄스 발생기(801)는 도 9a 및 9b에 도시된 단위 쌍(Unit Pair)의 체인 구조 또는 플립플롭(F/F) 체인 구조 중 어느 하나로 구현될 수 있다. 먼저 도 9a 및 9b를 통해 단위 쌍의 체인 구조를 먼저 설명하고, 도 10을 통해 플립플롭 체인 구조를 설명한다.
도 9a에 도시된 바와 같이, 펄스 발생기(801)는 링 오실레이터의 예(도 8)와 달리 피이드백이 없는 다수 단위 쌍(Unit Pair 1~N)들의 체인 구조를 갖는다. 즉, 펄스 발생기(801)는 제1 내지 N 단위 쌍(Unit Pair 1 ~ N = UP1 ~ UPN)으로 구성된 체인 구조이다.
각 단위 쌍(Unit Pair)은 도 9b에 도시된 바와 같이 하나의 단위 셀(Unit Cell)(812)과 인버터(inverter)(813)가 하나의 쌍으로 구성된다.
펄스 스테이블부(Pulse Stable)(802)는 펄스 발생기(801)에서 생성된 펄스(806)를 시스템 클록 펄스(SYS CLK)(807)의 주기에 동기시킨다. 즉, 펄스 스테이블부(802)는 한 개의 D-플립플롭으로 구성되어, 펄스 발생기(801)의 체인 구조에서 출력되는 펄스(806)를 시스템 클록 펄스(SYS CLK)(807)의 주기에 맞도록 재조정한다.
클록 인에이블부(Clock Enable)(803)는 펄스 스테이블부(802)에서 출력되는 펄스의 상태에 따라 시스템 클록 펄스(SYS CLK)(807)를 카운터(804)에 출력한다.
카운터(804)는 업 카운트 동작하는 상승 카운터로써, 클록 인에이블부(803)에서 출력된 시스템 클록 펄스(SYS CLK)(807)의 상승 엣지와 하강 엣지 중 어느 하나에 카운트 동작한다. 특히, 카운터(804)는 펄스 스테이블부(802)에서 출력되는 펄스(806)가 "1"인 구간 동안에 카운트한다.
캡쳐 데이터 저장부(805)는 카운터(804)의 출력들을 입력받아서 최종 카운트 값을 저장 또는 디코더(402)로 출력한다. 캡쳐 데이터 저장부(805)는 펄스 스테이블부(802)에서 출력되는 펄스가 "0"일 때, 카운터(804)에서 출력된 결과 즉, 최종 카운트 값을 저장한다.
이후에 디코더(402)로부터 최종 스테티스틱스 어시스터(403)의 출력으로부터 진단을 실시하는 과정은 전술된 바와 동일하여 상세한 설명은 생략한다.
도 10은 본 발명의 제3 실시 예에 따른 플립플롭 체인 구조의 적용 예를 설명하기 위한 플립플롭 체인부의 내부 구성을 나타낸 회로도로써, 본 발명에서는 펄스 발생기(801)에 다수 단위 쌍(Unit Pair 1~N)들의 체인 구조 대신에 플립플롭 체인 구조를 적용할 수 있다.
플립플롭 체인부(816)의 체인 구조와 동작은 다수 단위 쌍(Unit Pair 1~N)들의 체인 구조와 다르다.
도 9a, 9b 및 10의 예들에 따른 구성에 기반하여 본 발명을 이하 상세히 설명한다. 이하에서는 48번의 성능 진단을 위한 측정을 실시한 예로서 설명된다.
본 발명에 따른 장치의 전원을 온 한다. 이때, 다수 단위 쌍(UP1 ~ UPN) 체인 또는 플립플롭 체인의 종류별 펄스 발생기(801)의 체인 입력 중 인에이블 신호의 값을 알지 못한다. 즉, 불안정한 상태(Unknown)에서 성능 진단을 위한 측정을 시작한다.
이러한 이유로 인해, 본 발명에서는 측정을 위한 동작 시에, 다수 단위 쌍(UP1 ~ UPN) 체인 또는 플립플롭 체인으로 구현된 펄스 발생기(801)가 안정화될 때까지 충분한 시간 동안 초기화 신호(RESET)를 인가한다(S40).
여기서, 상기 초기화 신호를 인가하는 시간 즉, 초기화 시간은 게이트 수준의 시뮬레이션 또는 스파이스 시뮬레이션을 통하여 도 11과 같은 링 오실레이터 출 력 파형도로부터 구한다.
다수 단위 쌍(UP1 ~ UPN) 체인 또는 플립플롭 체인이 안정화되면, 측정 대상인 펄스 발생기(801)로 입력되는 인에이블 신호(Enable)(811) 값에 "1"을 임의 시간 동안 인가한다(S41).
다수 단위 쌍(UP1 ~ UPN) 체인인 경우, 펄스 발생기(801)의 출력 펄스(806)는 두 번 발생하며, 첫 번째와 두 번째 펄스의 폭은 단위 쌍(UP)에 속하는 단위 셀(812)들의 상승 및 하강 전달 지연시간(rising / falling delay)의 누적된 값으로 구분된다. 예로써, 단위 셀(812)이 NAND 게이트이면 첫 번째 펄스의 폭은 하강 전달 지연시간의 누적된 값에 해당하고, 두 번째 펄스의 폭은 상승 전달 지연시간의 누적된 값에 해당한다(S42a).
한편, 플립플롭 체인부(816)의 플립플롭 체인인 경우, 펄스 발생기(801)의 출력 펄스(806)는 플립플롭의 특성상 한 번 발생하며, 그 펄스의 폭은 플립플롭 체인에 속하는 플립플롭(F/F)의 상승 전달 지연시간의 누적 값에 해당한다(S42b).
펄스 스테이블부(Pulse Stable)(802)는 입력된 인에이블 신호(811)에 의해 다수 단위 쌍(UP1 ~ UPN) 체인 또는 플립플롭 체인이 동작하여 생성된 펄스(806)를 시스템 클록 펄스(SYS CLK)(807)에 동기시킨다(S43).
펄스 스테이블부(802)에서 출력되어 클록 인에이블부(Clock Enable)(803)에 전달된 펄스가 "1"이면, 클록 인에이블부(803)는 시스템 클록 펄스(SYS CLK)(807)를 카운터(804)에 인가한다. 이때, 카운터(804)는 다운 카운트 동작한다(S44).
반면에, 펄스 스테이블부(802)에서 출력되어 클록 인에이블부(803)에 전달된 펄스가 "0"이면, 클록 인에이블부(803)는 시스템 클록 펄스(SYS CLK)(807)를 차단하는 역할을 한다. 그에 따라 카운터(804)는 비활성화된다(S45).
펄스 스테이블부(802)에서 출력된 펄스가 "1"이면, 캡쳐 데이터 저장부(805)는 동작 중인 카운터(804)의 출력을 저장하지 않는다(S46).
반면에, 펄스 스테이블부(802)에서 출력된 펄스가 "0"이면, 캡쳐 데이터 저장부(805)는 동작을 멈춘 카운터(804)의 출력인 최종 카운트 값을 저장하고, 이어 그를 디코더(402)에 전달한다(S47).
전술된 바와 같이 최종 카운트 값이 나올 때까지의 과정(S40~S47)을 거쳐서 단위 셀의 상승/하강 전달 지연시간의 누적 값을 알 수 있다.
디코더(402)는 캡쳐 데이터 저장부(805)로부터 출력되는 결과를 입력 받는다.
그리고, 디코더(402)는 외부로부터 입력되는 선택신호(SEL)(405)에 따라 캡쳐 데이터 저장부(805)로부터 출력된 결과를 선택적으로 출력한다. 즉, 디코더(402)는 선택신호(SEL)(405)에 따라 선택적으로 출력들(409, 410, 411)을 스테티스틱스 어시스터(403)에 전달한다(S48).
전술했듯이, 일 예로 상기한 과정들(S30~38)을 48번 반복 수행한다(S39).
이후에 스테티스틱스 어시스터(403)는 매회 디코더(402)에서 출력되는 결과들(409, 410, 411) 중에서 외부로부터 입력받은 이그노어 인덱스(Ignore Index)(406)가 나타내는 회수 만큼의 결과들을 무시한다.
즉, 스테티스틱스 어시스터(403)는 이그노어 인덱스(Ignore Index)(406)가 지시하는 N번째 디코더(402)에서 출력되는 결과들(409, 410, 411)까지 무시하고, (N+1)번째부터 디코더(402)에서 출력되는 결과들(409, 410, 411)에 대한 누적 가산 등의 처리를 수행한다.
예로써, 스테티스틱스 어시스터(403)는 (N+1)번째부터 48번의 출력 결과들(409, 410, 411)에 대한 처리를 수행한 후에 즉, 48번의 측정을 수행한 후에 그동안의 측정 결과 값들(409, 410)의 평균 값(AVE Value)(413)을 구하여 출력한다.
동시에, 스테티스틱스 어시스터(403)는 (N+1)번째부터 48번의 측정 결과를 출력하는 동안 매번 디코더(402)의 출력들을 이전 출력들과 비교하여 최소최대값(MIN_MAX)(414)을 저장한다. 스테티스틱스 어시스터(403)는 최소최대값(MIN_MAX)(414)과 같은 데이터를 저장하기 위해, 레지스터 뱅크 또는 다수 플립플롭(Flip-Flop)을 구비한다. 레지스터 뱅크 또는 다수 플립플롭(Flip-Flop)은 디코더(402)의 출력들(409, 410)을 누적 가산한 결과도 저장할 수 있다.
물론 스테티스틱스 어시스터(403)는 상기 저장된 최소최대값(MIN_MAX)(414)도 (N+1)번째부터 48번의 측정 결과 중 하나로써 출력한다.
또한 본 발명에서는 스테티스틱스 어시스터(403)에서 출력되는 평균값(413) 및/또는 스테티스틱스 어시스터(403)의 출력들(412,413,414) 에 대한 표준 편차를 구한다.
만약 계산된 표준 편차가 정해진 기준 값보다 클 경우, 스테티스틱스 어시스터(403)에서 바이패스 되는 카운트 값(CNT Value)(412)들을 사용하여 진단을 실시한다.
즉, 본 발명에서는 스테티스틱스 어시스터(403)의 출력들(412,413,414) 중 적어도 하나를 사용하여 성능 진단을 실시한다. 즉, 스테티스틱스 어시스터(403)의 출력들(412,413,414)을 사용하여 단위 셀들의 전달 지연 시간을 계산한다.
먼저, 다수 단위 쌍(UP1 ~ UPN) 체인 또는 플립플롭 체인으로 구현된 펄스 발생기에 인가된 인에이블 신호(Enable) 값이 "1"로 인가되는 구간 동안의 시간(En_Time)을 정한다.
[식 8]
En_Time = 미리 정의된 임의의 시간 값
한편 전달 지연시간을 구성하는 상승(Rising) 전달 지연시간과 하강(Falling) 전달 지연시간은 다음의 식 9 내지 12으로써 계산된다. 여기서, 전달 지연시간은 NAND 게이트 기준으로 첫 번째 출력되는 펄스의 폭에 해당한다.
[식 9]
tPHL 펄스 유지 시간 = HL 펄스 폭 = R'TRAN × CKperiod
상기한 식 9에서 "tPHL"가 하강 전달 지연시간이며, "HL"는 스파이스 시뮬레이션 결과에서 단위 셀의 하강 전달 지연시간의 비율이다. 또한 R'TRAN은 2N개 카운터의 플립플롭 개수에서 체인을 통해 생성된 첫 번째 펄스가 "1"인 동안의 카운트 값을 감산한 값이다. 그리고 CKperiod는 시스템 클록 펄스(SYS CLK)의 주기이다.
[식 10]
tPLH 펄스 유지 시간 = LH 펄스 폭 = R''TRAN × CKperiod
상기한 식 10에서 "tPLH"가 상승 전달 지연시간이며, "LH"는 스파이스 시뮬레이션 결과에서 단위 셀의 상승 전달 지연시간의 비율이다. 또한 R''TRAN은 식 9에서 사용된 R'TRAN에서 체인을 통해 생성된 두 번째 펄스가 "1"인 동안의 카운트 값을 감산한 값이다. 그리고 CKperiod는 시스템 클록 펄스(SYS CLK)의 주기이다.
상승(Rising) 전달 지연시간은 다음의 식 11로써, 하강(Falling) 전달 지연시간은 다음의 식 12로써 계산된다.
[식 11]
tPLH = LH 펄스 폭/게이트 수 - 단위 쌍에 구비된 인버터의 하강 전달 지연시간(ns)
상기 식 11에서 "tPLH"가 단위 셀의 상승 전달 지연시간이며, 인버터의 하강 전달 지연시간은 단위 쌍이 단위 셀과 인버터로 구성되는 경우에만 빼주며, 링 오실레이터를 통해 구한 값을 이용한다.
[식 12]
tPHL = HL 펄스 폭/게이트 수 - 단위 쌍에 구비된 인버터의 상승 전달 지연시간(ns)
상기한 식 12에서 "tPHL"가 단위 셀의 하강 전달 지연시간이며, 인버터의 상승 전달 지연시간은 단위 쌍이 단위 셀과 인버터로 구성되는 경우에만 빼주며, 링 오실레이터를 통해 구한 값을 이용한다.
이어서, 스테티스틱스 어시스터(403)에서 출력한 측정 결과들(412, 413, 414)로부터 표준 편차, 평균, 평균과의 델타 값을 구하고, 상기한 식들로부터 계산된 단위 셀의 전달 지연시간의 정확도 및 회로의 이상 유무를 판단한다. 본 발명의 장치는 상기와 같이 스테티스틱스 어시스터(403)에서 출력한 측정 결과들(412, 413, 414)로부터 표준 편차, 평균, 평균과의 델타 값을 구하고, 상기한 식들로부터 계산된 단위 셀의 전달 지연시간의 정확도 및 회로의 이상 유무를 판단하는 진단부(미도시)를 포함한다.
결국, 본 발명에서는 진단부는 단위 셀의 전달 지연시간을 정확히 계산하고, 이상 유무를 판단하기 위해 계산되는 링 오실레이터에 대한 성능 측정 결과의 표준 편차, 평균 및 평균과의 델타(Delta) 값을 쉽게 구할 수 있다.
한편, 상기한 본 발명에 따른 측정 장치가 회로 보드 또는 테스트 보드 상에 내장된다.
지금까지 본 발명의 바람직한 실시 예에 대해 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 변형된 형태로 구현할 수 있을 것이다.
그러므로 여기서 설명한 본 발명의 실시 예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 상술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함되는 것으로 해석되어야 한다.
도 1은 종래 기술에 따른 링 오실레이터를 나타낸 블록도.
도 2는 종래 기술에 따른 디지털 프로세스 모니터(Digital Process Monitor)의 회로 구성을 나타낸 블록도.
도 3은 종래 기술에 따른 링 오실레이터의 속도를 측정하기 위한 장치 구성을 나타낸 블록도.
도 4는 종래 기술에 따른 표준 셀의 전달 지연시간 계산을 위한 측정 시 에러를 설명하기 위한 그래프.
도 5는 본 발명의 일 실시 예에 따른 표준 셀 라이브러리의 성능 개선을 위한 내장형 측정 장치의 구성을 나타낸 블록도.
도 6은 본 발명의 일 실시 예에 따른 링 오실레이터 블록의 구성을 나타낸 블록도.
도 7은 본 발명의 다른 실시 예에 따른 표준 셀 라이브러리의 성능 개선을 위한 내장형 측정 장치의 구성을 나타낸 블록도.
도 8은 본 발명의 제1 실시 예에 따른 링 오실레이터 블록의 구성을 나타낸 블록도.
도 9a는 본 발명의 제2 실시 예에 따른 링 오실레이터 블록의 구성을 나타낸 블록도이고, 도 9b는 도 9a에 도시된 펄스 발생기 내의 단위 쌍(Unit Pair)의 내부 구성을 나타낸 회로도.
도 10은 본 발명의 제3 실시 예에 따른 플립플롭 체인 구조의 적용 예를 설 명하기 위한 플립플롭 체인부의 내부 구성을 나타낸 회로도.
도 11은 본 발명에서 링 오실레이터의 단위 셀 개수를 결정하기 위한 스파이스 시뮬레이션 결과를 나타낸 그래프.
도 12는 본 발명에서 링 오실레이터에 대한 RC 기생 파라미터를 갖는 스파이스 시뮬레이션 결과를 나타낸 그래프.
도 13은 본 발명에서 링 오실레이터에 대한 RC 기생 파라미터(RC parasitic parameter)를 갖는 스파이스(SPICE) 시뮬레이션 결과를 나타낸 그래프.

Claims (8)

  1. 외부에서 입력되는 인에이블 신호에 따라 활성화되어 측정 결과 값들을 출력하는 링 오실레이터 블록;
    상기 링 오실레이터 블록에서 출력되는 측정 결과 값들 중에서 하나 또는 그 이상을 선택적으로 출력하는 디코더;
    상기 디코더의 출력을 정해진 구간 동안 입력받아, 그 입력 값들의 최대 값과 최소 값과 평균을 출력하는 스테티스틱스 어시스터(statistics assistor)을 포함하되,
    상기 링 오실레이터 블록은 상기 인에이블 신호에 따라 펄스를 생성하는 펄스 발생기와, 상기 펄스 발생기에서 생성된 펄스를 시스템 클록 펄스의 주기에 동기시키는 펄스 스테이블부(Pulse Stable)와, 상기 펄스 스테이블부에서 출력되는 펄스의 상태에 따라 상기 시스템 클록 펄스를 출력하는 클록 인에이블부(Clock Enable)와, 상기 클록 인에이블부에서 출력된 시스템 클록 펄스의 상승 엣지와 하강 엣지 중 어느 하나에 동작하는 카운터와, 상기 인에이블 신호에 따라 상기 카운터의 출력들을 입력받아서 최종 카운트 값을 저장 또는 상기 디코더로 출력하는 캡쳐 데이터 저장부를 구비하는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
  2. 제 1 항에 있어서, 상기 스테티스틱스 어시스터(statistics assistor)에서 출력되는 값들을 이용하여 표준 편차와, 상기 스테티스틱스 어시스터로의 상기 입력 값과 상기 평균 간의 델타 값을 계산하여, 상기 링 오실레이터 블록에서의 단위 셀의 전달 지연시간을 산출하고 상기 표준 셀 라이브러리의 이상 유무를 판단하기 위해 내장되는 진단부를 포함하여 구성되는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
  3. 제 2 항에 있어서, 상기 진단부는 상기 표준 편차가 일정 수준 이상으로 클 경우에는 상기 스테티스틱스 어시스터에서 바이패스되는 카운트 값을 통해 상기 표준 셀 라이브러리의 이상 유무를 판단하는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
  4. 제 1 항에 있어서, 상기 펄스 발생기는,
    단위 셀(Unit Cell)과 인버터(inverter)가 하나의 쌍을 이루는 단위 쌍 다수가 체인 구조로 구성되는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
  5. 제 1 항에 있어서, 상기 펄스 발생기는,
    다수 플립플롭의 체인 구조로 구성되는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
  6. 제 1 항에 있어서, 상기 스테티스틱스 어시스터는 상기 디코더의 출력들 중에서 일정 구간 동안의 출력을 무시하고, 그 이후의 상기 디코더의 출력들을 상기 정해진 구간 동안 입력받는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
  7. 제 6 항에 있어서, 상기 스테티스틱스 어시스터는 상기 정해진 구간 동안 입력받은 값들을 누적 가산하는 누적가산부와, 상기 입력받은 값들의 최대 값과 최소 값으로 구분하여 저장하는 최소최대값 저장부를 포함하는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
  8. 제 1 항에 있어서, 상기 측정 장치가 회로 보드 상에 내장되는 것을 특징으로 하는 표준 셀 라이브러리의 성능 개선을 위한 측정 장치.
KR1020080136692A 2008-12-30 2008-12-30 표준 셀 라이브러리의 성능 개선을 위한 측정 장치 KR20100078431A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080136692A KR20100078431A (ko) 2008-12-30 2008-12-30 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
US12/643,007 US20100169045A1 (en) 2008-12-30 2009-12-21 Measurement apparatus for improving performance of standard cell library
TW098145148A TW201027101A (en) 2008-12-30 2009-12-25 Measurement apparatus for improving performance of standard cell library

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080136692A KR20100078431A (ko) 2008-12-30 2008-12-30 표준 셀 라이브러리의 성능 개선을 위한 측정 장치

Publications (1)

Publication Number Publication Date
KR20100078431A true KR20100078431A (ko) 2010-07-08

Family

ID=42285959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080136692A KR20100078431A (ko) 2008-12-30 2008-12-30 표준 셀 라이브러리의 성능 개선을 위한 측정 장치

Country Status (3)

Country Link
US (1) US20100169045A1 (ko)
KR (1) KR20100078431A (ko)
TW (1) TW201027101A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450587B2 (en) 2014-08-08 2016-09-20 SK Hynix Inc. Test circuit and test method of semiconductor apparatus

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416905B2 (en) * 2010-09-24 2013-04-09 Intel Corporation Digital NRZI signal for serial interconnect communications between the link layer and physical layer
WO2013076799A1 (ja) * 2011-11-21 2013-05-30 富士通株式会社 電子回路の遅延測定装置、方法、プログラム及び媒体
US8564365B2 (en) * 2012-01-20 2013-10-22 Qualcomm Incorporated Wide input bit-rate, power efficient PWM decoder
KR20160017423A (ko) * 2014-08-06 2016-02-16 에스케이하이닉스 주식회사 반도체 메모리 장치
CN106841870B (zh) * 2017-02-14 2019-05-07 浪潮集团有限公司 一种信号异常辅助定位电路及方法
US11438272B2 (en) * 2019-12-31 2022-09-06 Opanga Networks, Inc. System and method for mobility tracking
CN113000416A (zh) * 2021-02-05 2021-06-22 上海华虹宏力半导体制造有限公司 一种振荡器电路模块的测试筛选方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097208A (en) * 1990-12-05 1992-03-17 Altera Corporation Apparatus and method for measuring gate delays in integrated circuit wafers
JPH06232738A (ja) * 1993-02-03 1994-08-19 Mitsubishi Electric Corp 同期パルス発生回路
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
AU1780701A (en) * 1999-11-18 2001-05-30 Pdf Solutions, Inc. System and method for product yield prediction using a logic characterization vehicle
US6544807B1 (en) * 2000-11-03 2003-04-08 Lsi Logic Corporation Process monitor with statistically selected ring oscillator
US6657504B1 (en) * 2002-04-30 2003-12-02 Unisys Corporation System and method of determining ring oscillator speed
KR100493050B1 (ko) * 2003-02-18 2005-06-02 삼성전자주식회사 래치를 근간으로 하는 펄스 발생기
US6933739B1 (en) * 2003-05-23 2005-08-23 Marvell Semiconductor Israel Ltd. Ring oscillator system
JP2007057393A (ja) * 2005-08-24 2007-03-08 Epson Toyocom Corp 周波数安定度測定装置
US8122413B2 (en) * 2006-06-09 2012-02-21 Otrsotech, Limited Liability Company Transparent test method and scan flip-flop

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450587B2 (en) 2014-08-08 2016-09-20 SK Hynix Inc. Test circuit and test method of semiconductor apparatus

Also Published As

Publication number Publication date
TW201027101A (en) 2010-07-16
US20100169045A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
KR100884983B1 (ko) 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
KR20100078431A (ko) 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
US8385394B2 (en) Circuit and method for on-chip jitter measurement
US5083299A (en) Tester for measuring signal propagation delay through electronic components
US7791330B2 (en) On-chip jitter measurement circuit
WO2011027553A1 (ja) 経年劣化診断装置、経年劣化診断方法
KR101184137B1 (ko) 클럭 변환 회로 및 이를 이용한 시험 장치
US8330548B2 (en) Latched ring oscillator device for on-chip measurement of clock to output delay in a latch
JP4874096B2 (ja) タイミング発生器を備えた半導体試験装置
US10386412B2 (en) Scheme to measure individually rise and fall delays of non-inverting logic cells
US8006154B2 (en) Semiconductor integrated circuit and method for testing semiconductor integrated circuit
JPH11298306A (ja) 半導体装置および遅延設定方法
US8456195B2 (en) System and method for on-chip jitter and duty cycle measurement
US8040995B2 (en) Jitter detection circuit and jitter detection method
Stawiasz et al. On-chip circuit for monitoring frequency degradation due to NBTI
JPH11251885A (ja) 半導体装置
KR19980703081A (ko) 지연시간 측정방법 및 이 방법의 실시에 사용하는 지연시간측정용 펄스발생장치
KR20110078620A (ko) 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
US6385273B1 (en) Device for testing clock pulse generating circuit
JP2011196855A (ja) 半導体集積回路
JP3847150B2 (ja) 半導体集積回路とそのジッタ測定方法
KR20100078891A (ko) 표준 셀 라이브러리의 성능 개선을 위한 측정 장치
JP4583064B2 (ja) 波形発生回路及び半導体試験装置
Omaña et al. On-die ring oscillator based measurement scheme for process parameter variations and clock jitter
JP2002071759A (ja) 半導体試験装置及び遅延時間測定方法

Legal Events

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