KR101680015B1 - 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법 및 장치 - Google Patents
고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법 및 장치 Download PDFInfo
- Publication number
- KR101680015B1 KR101680015B1 KR1020160088548A KR20160088548A KR101680015B1 KR 101680015 B1 KR101680015 B1 KR 101680015B1 KR 1020160088548 A KR1020160088548 A KR 1020160088548A KR 20160088548 A KR20160088548 A KR 20160088548A KR 101680015 B1 KR101680015 B1 KR 101680015B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- clock
- main clock
- test
- main
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31727—Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
- G01R31/31726—Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318552—Clock circuits details
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
- H03K3/356017—Bistable circuits using additional transistors in the input circuit
- H03K3/356026—Bistable circuits using additional transistors in the input circuit with synchronous operation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법 및 장치 가 제시된다. 본 발명에서 제안하는 고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 장치는 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부가 메인 클락 신호에 동기 되도록 하는 메인 클락 동기부, 메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어하는 메인 클락 펄스 수 제어부, 상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 테스트 완료신호 생성부, 상기 메인 클락 신호 및 스캔 신호를 입력으로 받아 상기 스캔 인애이블 신호에 의해 해당 신호를 출력시키는 클락 신호 선택부를 포함한다.
Description
본 발명은 동기 클락 시스템(synchronous clock system)을 이용하는 반도체 산업에서 고속 동작 클락을 이용한 실리콘 칩(silicon chip) 내의 성능 테스트(test) 방법 및 장치에 관한 것이다.
반도체 기술이 발전해 감에 따라 칩(chip) 전체의 성능에 큰 영향을 미치는 주요 부품들의 특성에 대한 정확한 테스트가, 제품 전체의 성능과 외부 여건의 영향에 따른 다양한 동작을 예측 가능하게 하기 때문에, 반도체 제조사에서 테스트 분야가 매우 중요해지고 있다. 특히 칩(chip)의 성능에 미치는 영향이 매우 큰 플립-플롭(flip-flop)의 경우, 시뮬레이션 툴(simulation tool)을 통한 다양한 타이밍 데이터(timing data)를 얻을 수 있음에도 불구하고 실제 실리콘에서 목표로 하는 클락 주파수에서 정상적으로 동작 할 수 있는지 확신하기에는, 실제 상태에서의 동작 조건을 모두 만족 시킬 수 있는 스탠더드 라이브러리 셀(standard library cell) DB 제작이 불가능하기 때문에, 실제 사용할 고속 클락을 이용한 실리콘 테스트(silicon test)가 반도체 제조 선행 스텝(step)에서 절실히 필요해지고 있다.
고속 클락 테스트(clock test)는 일반적으로 실리콘 칩 내부에서 발생하는 고속의 메인 클락(main clock)을 전체 칩(chip)에 인가하여 해당 칩의 성능 분석을 통하여 각 개별 셀들의 특성을 유추하는 방법을 이용하는데, 이 방법은 원하는 셀들의 개별 특성을 명확하게 측정하기 어려울 뿐만 아니라 모든 부품의 내용이 설계되고 제조(fabrication)된 상태에서 측정이 이루어지기 때문에, 개별 셀에 대한 정확한 성능 측정이 모호해지고, 회로의 수정 사항이 발생하여도 다시 수정하여 일련의 공정 작업을 거쳐 제조(fabrication) 하기에는 반도체산업 특성상 큰 TAT(Turn Around Time)가 요구되어 어려움이 따른다. 따라서 정확한 테스트가 필요하지만 일정이나 번거로움으로 인해 시뮬레이션(simulation) 결과에 의존하여 전체 칩의 실리콘 제조(silicon fabrication) 혹은 양산에 들어 가는 경우가 많은데, 이를 효율적으로 해결하기 위하여 본 발명을 하게 되었다.
본 발명이 이루고자 하는 기술적 과제는 테스트 벤치(test bench)에 인가되는 하나의 입력 단자에 스캔 신호(scan signal, sclk) 뿐만 아니라 계획된 개수의 고속 메인 클락(main clock, mclk)을 자유 자재로 인가 되도록 하여, 한정된 개수의 고속 클락으로 동작하는 정교한 테스트를 수행하고 그 결과를 다시 스캔 신호(scan signal)을 이용하여 칩 외부로 출력하여 결과를 분석할 수 있는 방법 및 장치를 제공하는데 있다.
일 측면에 있어서, 본 발명에서 제안하는 고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 장치는 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부가 메인 클락 신호에 동기 되도록 하는 메인 클락 동기부, 메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어하는 메인 클락 펄스 수 제어부, 상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 테스트 완료신호 생성부, 상기 메인 클락 신호 및 스캔 신호를 입력으로 받아 상기 스캔 인애이블 신호에 의해 해당 신호를 출력시키는 클락 신호 선택부를 포함한다.
상기 메인 클락 동기부는 복수의 플립-플롭 및 인버터를 포함하고, 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부가 상기 메인 클락 신호에 동기 되도록 한다.
상기 메인 클락 펄스 수 제어부는 계수 동작을 수행하는 하나의 ALU 블락, 복수의 MUX, 복수의 플립-플롭을 포함하고, 출력되는 메인 클락 펄스 개수를 계수하도록 제어한다.
상기 테스트 완료신호 생성부는 플립-플롭 및 인버터를 포함하고, 상기 메인 클락 펄스 수 제어부의 ALU 블락 내부 가산기의 MSB 비트의 캐리 아웃 신호를 감지하여 상기 캐리 아웃 신호가 하이(high)일 경우, 상기 캐리 아웃 신호의 정보를 플립-플롭에 저장함과 동시에 계수를 중지시키고, 테스트 완료신호를 생성하여 칩 외부에 고속 테스트 클락에 의한 테스트 작업이 완료 되었음을 알린다.
상기 테스트 완료신호 생성부는 제어하기 위한 메인 클락 펄스 개수가 증가에 따른 딜레이의 증가로 인한 MUX 개수 및 플립-플롭(flip-flop)의 개수 또는 회로 구성의 변화된 형태를 포함하고, 계수 동작 수행 전 MUX를 통해 초기값을 저장하고, 초기값을 저장하는 MUX를 이용하지 않는 다른 변형된 회로 형태도 포함하며, 테스트 완료신호가 검출된 후 계수를 중지 시키는 변형된 회로 형태도 포함한다.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 방법은 메인 클락 동기부가 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부를 메인 클락 신호에 동기 되도록 하는 단계, 메인 클락 펄스 수 제어부가 메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어하는 단계, 상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호 생성부를 통해 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 단계, 클락 신호 선택부가 상기 메인 클락 신호 및 스캔 신호를 입력으로 받아 상기 스캔 인애이블 신호에 의해 해당 신호를 출력시키는 단계를 포함한다.
상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호 생성부를 통해 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 단계는 상기 메인 클락 펄스 수 제어부의 ALU 블락 내부 가산기의 MSB 비트의 캐리 아웃 신호를 감지하여 상기 캐리 아웃 신호가 하이(high)일 경우, 상기 캐리 아웃 신호의 정보를 플립-플롭에 저장함과 동시에 계수를 중지시키고, 테스트 완료신호를 생성하여 칩 외부에 고속 테스트 클락에 의한 테스트 작업이 완료 되었음을 알린다.
본 발명의 실시예들에 따르면 고성능 모바일(mobile) CPU 코어(core)에 요구되는 정교한 테스트를 실리콘 칩(silicon chip)에 적용하여 높은 주파수의 메인 클락 테스트(main clock test)를 수행 함으로써, 고속 클락에 민감한 셀(cell) 혹은 블락(block)들의 정확한 실제 특성을 양산 제조(fabrication) 단계 이전에 얻을 수 있고, 정교한 테스트가 요구되는 근래의 하이-엔드(high-end) 반도체 제품 개발을 보다 용이하게 하는 효과가 기대된다.
도 1은 본 발명의 일 실시예에 따른 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 고속 테스트 클락(clock)의 펄스 수 조절 가능한 클락(clock) 발생기에 대한 타이밍 동작을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 고속 테스트 클락(clock)의 펄스 수 조절 가능한 클락(clock) 발생기에 대한 타이밍 동작을 나타내는 도면이다.
본 발명은 동기 클락 시스템(synchronous clock system)을 이용하는 반도체 산업에서 고속 동작 클락을 이용한 실리콘 칩(silicon chip) 내의 성능 테스트(test) 방법에 관련된 반도체 산업 응용 분야에 관한 것이다. 제조(fabrication)가 완성된 실리콘 칩에 대한 일반적인 테스트 방법은 외부에서 매우 느린 스캔 테스트 클락(scan test clock)을 실리콘 칩 패드(silicon chip pad)에 인가하고 테스트 데이터(test data)를 주입하여 테스트를 수행하거나, 고속의 내부 클락 테스트(clock test)가 필요한 경우에는 실리콘 칩 내부 PLL에서 발생하는 메인 클락(main clock)을 이용하여 테스트를 수행하고 결과를 확인한다. 실리콘 칩 내부 PLL에서 발생하는 고속 클락을 이용하여 테스트 할 경우, 테스트 할 대상에 정확하게 필요한 펄스 개수만이 인가되도록 하는 방법은 기술적 어려움으로 인해 일반적으로 사용하지 않는다. 그러나 고속 동작이 개별 셀이나 블락(block)에 매우 민감한 영향을 주고 칩(chip) 전체 성능에 큰 영향을 주는 경우, 개별 셀(cell)이나 블락(block)에 대해서 일정한 펄스 수만큼의 고속 클락 테스트가 종종 필요하지만, 기술적 까다로움으로 인해 개별 셀의 테스트를 생략하거나 시뮬레이션(simulation) 결과로 대체하는 경우가 많다. 본 발명은 이러한 기술적 문제를 효율적으로 해결하는 반도체산업에 관련된 것이다. 특히, 플립-플롭(flip-flop)과 같이 테스트 할 대상의 딜레이 타임(delay time) 크기가 매우 작아서 성능 편차가 민감한 경우에는, 실제 상황과 동등한 속도의 고속 클락에 의한 셀 테스트(cell test)가 필수적이다. 하지만, 칩(chip) 인터페이스(interface)인 실리콘 패드(silicon pad)가 고속 신호를 수용할 수 없으므로, 주파수(frequency)가 매우 낮은 스캔 클락(scan clock)을 실리콘 패드에 인가하여, 테스트 하고자 하는 패턴(pattern)을 미리 실리콘 칩(silicon chip) 내부에 준비시켜 놓고, 계획된 개수의 고속 테스트 클락을 스캔 클락(scan clock)과 동일한 루트(route)를 통해 테스트 벤치(test bench)에 적용함으로써 문제를 해결하는 고성능 반도체 제조기술 분야에 관한 것이다.
본 발명의 실시예들은 반도체 CMOS 테크놀러지 칩 개발(technology chip development)에 있어서 고속 테스트 클락을 생성(generation) 하는 장치로서, 플립-플롭(flip-flop)과 인버터(inverter)로 구성된 메인 클락(main clock) 동기부, 3-bit 가산기(adder)와 2:1 MUX 4개, 플립-플롭(flip-flop) 등으로 구성된 메인 클락(main clock) 펄스 수 제어부, 플립-플롭(flip-flop)과 인버터(inverter)로 구성된 테스트 완료신호 생성부, 인버터(inverter), NAND, MUX 등으로 구성된 클락 신호(clock signal) 선택부의 구조를 포함하는 고속 테스트 클락(clock) 수 조절 가능한 클락(clock) 발생기 구성 방법 및 장치에 관한 것이다.
본 실시예에서는 메인 클락(main clock)과 스캔 클락(scan clock) 만을 예로 들어서 설명하지만 스캔 신호(clock signal)들 뿐만 아니라 주기를 갖고 있는 모든 신호(signal)에도 적용될 수 있으며, 또한 CMOS 테크놀러지(technology)를 이용하여 회로도가 구성되고 설명되고 있으나 다른 테크놀러지(technology)를 이용하더라도 본 발명의 기술적 방식이 동일하게 적용 될 수 있다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 장치의 구성을 나타내는 도면이다.
제안하는 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 장치는 메인 클락(main clock)의 동기부(110), 테스트에 필요한 만큼의 클락 펄스 개수를 생성하고 제어하는 메인 클락(main clock) 펄스 수 제어부(120), 고속 테스트 클락이 완료되었을 때 그 정보를 외부에 알리기 위한 테스트 완료신호 생성부(130), 그리고 상기 기능들이 문제 없게 동작 하도록 유기적으로 연결된 클락 신호(clock signal) 선택부(140)를 포함한다.
제안하는 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 장치는 메인 클락(main clock)과 스캔 인애이블 신호 (scan enable signal)를 입력으로 받아 스캔 인애이블 신호(scan enable signal)가 메인 클락 사이클 타임(main clock cycle time) 중 어떤 시점에 도착하더라도, 메인 클락(main clock) 동기부(110)를 통과하고 나면, 클락 펄스 수 제어부(120)가 메인 클락(main clock)에 동기 되어 동작되도록 구성되었고, 이하에서 도 1을 참조하여 더욱 상세하게 설명한다.
메인 클락(main clock)의 동기부(110)는 직렬(series)로 연결된 플립-플롭(flip-flop) 2개와 인버터(inverter)로 구성되어 있으며, 메인 클락 신호(main clock signal)에는 일반적으로 더미 버퍼(dummy buffer)를 사용하여 인가된 메인 클락 신호(main clock signal)의 로직(logic) 불확실성을 제거함과 동시에 메인 클락 라인(main clock line)에 연결되어 있는 매우 큰 로드(load)를 충분히 드라이브(drive) 할 수 있게 하고, 안정된 동기신호 확보를 위해 2개의 플립-플롭(flip-flop)을 사용 하였다. 직렬(Series)로 연결된 플립-플롭(flip-flop)의 개수는 일반적으로 2개 이상을 이용하면 정상 동작하지만, 주변환경 변화에 따라 안정성을 높이기 위해 개수를 추가하여 이용 할 수 있다. 스캔 인애이블 신호(Scan enable signal)가 인가된 후 타겟 신호(target signal)인 메인 클락(main clock)이 test clk 포트(port)로 출력되기 시작하는 시점 사이에 소요되는 메인 클락(main clock)의 클락 동작 개수는 동기부의 직렬(series)로 구성된 플립-플롭(flip-flop)의 개수가 직접적인 영향을 준다. 플립-플롭 시리즈(Flip-flop series)의 마지막 스테이지(stage) 출력에 걸리는 로드(load)는 지나치게 크지 않도록 설계 되어야 한다.
본 발명의 실시예에 따르면, 스캔 인애이블 신호(scan enable signal, SEN)가 하이(high)인 구간에는 sclk 신호가 인가되어 스캔 데이터(scan data) 정보가 스캔 클락(scan clock)에 의해서 테스트 블락(test block) 안으로 차례로 주입되게 하고, 이 작업이 완료 되면 SEN 신호를 로우(low)로 인가하여 설정된 수의 메인 클락(mclk)이 테스트 블락(test block)으로 들어 가도록 동작 시킨다. 이때 칩 외부에서 인가하게 되는 SEN 신호와 칩 내부 PLL에서 생성되는 고속 메인 클락의 동기가 일치 되어야 정상적으로 동작하지만, 칩 외부에서 임의로 인가되는 SEN 신호를 칩 내부에서 생성된 메인 클락과 동기 시키기는 불가능하므로 동기 안정화 회로가 필요하다. 이를 위해 플립-플롭(flip-flop)을 직렬(series)로 배열하고 메인 클락(mclk)은 각 플립-플롭(flip-flop)의 클락 포트(clock port)에 SEN 신호는 첫 번째 스테이지(stage) 플립-플롭의 입력 포트에 각각 인가하여 동기화된 SEN 신호(en1)를 생성하고, 메인 클락(main clock) 펄스 수 제어부가 정상동작이 이루어지도록 한다. 이때 사용하는 직렬(series)로 구성된 플립-플롭의 수는 상황에 따라 선택할 수 있으나 최소 2개 이상을 이용하여 안정성을 확보해야 한다.
메인 클락(main clock) 펄스 수 제어부(120)는 하나의 3-bit 가산기(adder)와 4개의 2:1 MUX, 3개의 플립-플롭(flip-flop)으로 구성되어 있고, 테스트 클락 포트(test clock port)로 출력되는 메인 클락(main clock)의 개수를 계수하는 역할을 위해 만들어진 구조이다. 이하에서 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
메인 클락(Main clock) 펄스 수 제어부(120)는 계수를 하기 위한 가산기(adder)가 필수적으로 필요하며 본 발명에서는 3 bit 가산기(adder)를 이용하였으나, 계수 할 테스트 클락(test clock) 개수에 따라서 가산기(adder)의 크기를 조절해야 한다. 가산기(Adder)는 3-bit 가산기(adder)와 같이 작은 규모일 경우에는 리플 캐리 가산기(ripple carry adder)와 같이 일반적인 구조를 이용하지만 규모가 커지고 메인 클락 사이클 타임(main clock cycle time)이 매우 짧은 경우에는 고속으로 동작되는 가산기(adder) 구조를 이용해야 한다. 가산기(Adder)의 MSB bit 캐리 아웃(carry out) 신호를 이용하기 때문에 가산기(adder)의 초기 값을 0으로 셋팅(setting)하면, 카운트(count) 개수가 2의 승수로만 조절할 수 밖에 없으므로, 가산기(adder) 회로의 초기 값을 조정하는 작업이 반드시 필요하다. 이를 위해 MUX 4개가 사용되며 초기화를 위해서는 cntl bit 값 들이 인가되도록 MUX들이 선택하게 하여, 가산기(adder)의 B 입력(input) 값에 의도된 초기 값을 공급하여 가산기(adder)로 이루어진 계수기가 초기화 되도록 한다. 이 동작은 스캔 인애이블 신호(scan enable signal)가 하이(high)를 유지하고 있을 때 실행되며, 스캔 인애이블 신호(scan enable signal)를 로우(low)로 인가하면 MUX가 가산기(adder) 회로의 가산(sum) bit 들과 캐리 아웃(carryout) bit을 선택 하도록 하여 카운트(count)가 시작 되도록 한다.
MSB 2:1 MUX의 입력이 외부공급 cnt1 bit과 가산기(adder) MSB 캐리 아웃(carryout)을 입력(input)으로 하여 선택하도록 되어 있는데 스캔 인애이블(scan enable) 신호가 하이(high)로 되어 있는 초기 상태에서는 외부공급 cntl bit의 값을 로직(logic) 1로 고정 시킴으로써, 가산기(adder)의 A 입력(input) LSB bit A[0]에 로직(logic) 0 값이 공급 되도록 하여, 초기상태에서는 클락 펄스가 입력되더라도 로직(logic) 0가 더해지므로 주어진 초기값이 유지되도록 하는 것이다. 본 도에서 가산기(adder)로 공급되는 신호를 carry-in으로 표현하지 않은 것은, carry-in 신호가 필요하지 않아서 가산기(adder)의 LSB bit 계산을 반가산기(half adder)를 이용하여 수행하기 때문이다. 이는 계수기의 전체 딜레이 타임(delay time)을 줄이는 효과도 있다. 위와 같이 초기화한 상태에서 스캔 인애이블 신호(scan enable signal, SEN)를 로우(low)로 인가하면 MUX[3] 신호가 가산기(adder)의 MSB bit 캐리 아웃(carry out) 신호를 선택하게 하여 로직(logic) 0 값을 받아 이 값을 반전시킨 다음, 가산기(adder)의 A[0] bit에 공급하여 메인 클락(main clock)이 한번 인가 될 때마다 카운트(count) 값이 하나씩 증가하도록 고안되었다. 유의할 점은, 이 부분이 고속 메인 클락(main clock)에 의해서 동작되기 때문에 플립-플롭(flip-flop)에서 컴비네이션(combination) 회로인 가산기(adder) 회로를 통해 플랍-플롭(flip-flop)까지 다시 되돌아 오는 딜레이(delay)가 메인 클락 사이클 타임(main clock cycle time) 보다 작은 크기가 되도록 설계해야 한다는 것이다. 가산기(Adder)에서 가장 긴 딜레이 패스(delay path)인 A[0] 입력에서부터 MSB bit의 캐리 아웃(carry-out)까지의 딜레이 타임(delay time)과 MUX2의 딜레이 타임(delay time), 인버터 딜레이 타임(inverter delay time)의 합은 플립-플롭(flip-flop)의 셋업 타임(setup time)을 고려한 클락 사이클 타임(clock cycle time) 보다 충분히 작도록 설계하여, 다양한 PVT(Process Voltage Temperature) 변화에서도 안정되게 동작하도록 한다.
다시 말해, 메인 클락(main clock) 펄스 수 제어부(120)는 메인 클락의 펄스 개수 조절을 위해서 가산기(adder)를 이용하여 카운터로 사용한다. 원하는 클락의 펄스 개수에 따라서 몇 bit 가산기(adder)가 사용되어야 하는지가 정해진다. 예를 들어 8개의 클락 펄스가 필요하면 최소 3 bit 가산기(adder)가 필요하고 12개의 클락 펄스가 필요하면 최소 4 bit 가산기(adder)의 크기를 이용해야 한다. 가산기를 이용한 카운터의 값이 메인 클락 펄스가 생성 될 때마다 한 스텝(step)씩 증가하다가 가산기(adder)의 MSB bit에서 출력되는 캐리 아웃(carry out) 값이 1로 나오는 순간 가산기(adder)는 동작을 멈추게 되고 메인 클락도 인애이블 신호(enable signal)에 의해 밖으로 나가는 길이 차단 되도록 하여 출력되지 않게 한다. 클락 펄스의 개수를 조절하기 위해서는 MUX를 통해 계수(count)가 시작되는 시점을 미리 준비하고 있다가, 펄스가 생성될 때 그 시점부터 계수(count)가 시작 되도록 하여 캐리 아웃(carry out) 신호의 발생 시간을 조절 할 수 있게 하였다. 메인 클락(Main clock)이 인가 되어 카운트되기 전에 ALU 블락이 미리 준비된 값을 가지게 함으로써 메인 클락의 펄스 개수를 조절 할 수 있게 한 것이다. 메인 클락의 클락 사이클 타임(clock cycle time)이 매우 짧다고 해도 AP(application Processor) 칩 코어 파이프라인 스테이지(chip core pipeline stage)가 20 게이트 딜레이(gate delay) 이상이 되도록 설계 되어 있기 때문에 4 bit 가산기(adder) 정도의 경우 in-out 딜레이 타임(delay time)을 줄이기 위해 고속 가산기(adder) 회로를 사용할 필요는 없고 일반적인 리플 캐리 가산기(ripple carry adder)를 이용해도 게이트 스테이지(gate stage)가 20 게이트 스테이지(gate stage) 보다 상대적으로 충분히 작기 때문에 플립-플롭(flip-flop)의 셋업 바이얼레이션(setup violation)을 위반하지 않아 동작에는 문제가 없다. 다만 많은 수의 클락 펄스 이용이 요구되거나 특수한 경우는 고성능 구조의 가산기(adder) 회로를 이용해야 한다.
테스트 완료신호 생성부(130)는 원하는 펄스 수의 계수가 만족 되었을 때 그 상태를 외부에 알려주는 역할을 하기 위해, 플립-플롭(flip-flop)과 인버터(inverter)로 만들어진 구조이다. 이하에서 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
다시 말해, 테스트 완료신호 생성부(130)는 원하는 메인 클락의 동작(operation)이 끝나면 테스트 완료 신호를 발생시켜서 테스트 칩(test chip) 외부에 고속 테스트 동작이 끝났음을 알려주고 내부적으로는 더 이상 메인 클락이 출력되지 않도록 차단 해야 한다. 이 기능은 가산기 MSB bit의 캐리 아웃(carry out) 신호를 이용한 인애이블(enable) 동작으로 해결한다.
테스트 완료신호 생성부(130)는 가산기(adder)의 캐리 아웃(carry out) 값이 로직(logic) 0 임을 감지하고 있다가, 캐리 아웃(carry out) 값이 로직(logic) 1으로 출력 되면, 이 값을 감지하여 고속 클락에 의한 테스트 완료 정보를 테스트 칩(test chip) 외부로 전달하는 장치이다. 이와 동시에 회로 내에서는 인애이블 블락(enable block)을 이용하여 더 이상 메인 클락(main clock)이 테스트 클락(test clock) 포트(port)로 출력되지 않도록 한다. 이 부분은 아래 클락 신호(clock signal) 선택부 부분에서 설명된다. 또한 완료신호(done signal)가 일정시간 동안 하이(high)를 유지하여야 외부에서 내부 현상을 파악하기가 용이하다. 이것은 가산기(adder) A[0] bit에 로직(logic) 0 값이 인가 되도록 하여 계수기(counter)의 계수 증가를 막아 캐리 아웃(carryout) bit이 하이(high)가 되어 있는 현재 상태를 유지 함으로써, 이 신호가 필요한 만큼 오래 유지 되도록 한다.
클락 신호(clock signal) 선택부(140)는 최종 단은 2:1 MUX로 구성되어 입력신호 1은 스캔 클락(scan clock)과 연결되고 입력신호 0은 메인 클락(main clock)과 연결되도록 하여, SEN 신호를 로우(low)로 했을 때는 메인 클락(main clock)이 정해진 펄스 수만큼 출력되고 SEN 신호를 하이(high)로 했을 때는 스캔 클락(scan clock)이 출력되어 데이터(data)를 칩(chip) 외부로 내보낼 수 있게 되도록, 인버터(inverter), OR, NAND, MUX로 만들어진 구조이다. 이하에서 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
클락 신호(Clock signal) 선택부(140)는 NOR 게이트(gate)를 통해서 동기화된 스캔 인애이블 신호(scan enable signal, en1)와 테스트 완료신호(en2)를 입력으로 받아서 둘 중 하나가 하이(high) 값을 가지면 메인 클락(main clock)이 test clk 포트(port)로 출력되지 않도록 동작 한다. 이 NOR 게이트(gate) 출력(output)은 인애이블(enable) 신호로서 AND 게이트(gate)의 입력단자에 연결되어 메인 클락(main clock)의 신호 통과를 제어한다. 딜레이 블락(Delay block)은 메인 클락(main clock)이 AND 게이트(gate)의 입력단자에 인가되는 시점이, 인애이블 신호(enable signal, en3)의 도착시점 보다 충분히 늦게 하여 신호 레이싱(signal racing) 문제나 쵸핑(chopping) 문제가 발생되지 않도록 한다. 본 회로에서 클락 게이트 블락(Clock gate block)이나 MUX 부분을 통합 로직(logic)이나 다른 변형된 형태 등 다양한 형태로 구성 할 수도 있다.
클락 신호(Clock signal) 선택부(140)는 스캔 클락 신호(scan clock signal, sclk)와 펄스 수 제어되고 인애이블 블락(enable block)을 통과한 메인 클락 신호(main clock signal, mclk)를 입력으로 받는 MUX가 SEN 신호에 의해 신호선택 동작을 하도록 되어있다. 스캔 클락(Scan clock)은 칩(chip) 외부에서 동기화하기 쉽도록 매우 큰 클락 사이클 타임(clock cycle time)을 이용하므로 동기화 회로가 따로 필요하지 않다. 이로서 원하는 고속 테스트 클락(test clock)을 안정적으로 테스트 블락(test block)에 주입하여 실제 사용하는 고속의 메인 클락(main clock)으로 테스트를 진행한 다음, 그 결과를 스캔 블락 신호(scan clock signal)에 의해 칩 밖으로 출력시킬 수 있도록 하였다.
도 2는 본 발명의 일 실시예에 따른 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법을 설명하기 위한 흐름도이다.
제안하는 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법은 메인 클락 동기부가 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부를 메인 클락 신호에 동기 되도록 하는 단계(210), 메인 클락 펄스 수 제어부가 메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어하는 단계(220), 상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호 생성부를 통해 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 단계(230), 클락 신호 선택부가 상기 메인 클락 신호 및 스캔 신호를 입력으로 받아 상기 스캔 인애이블 신호에 의해 해당 신호를 출력시키는 단계(240)를 포함한다.
단계(210)에서, 메인 클락 동기부가 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부를 메인 클락 신호에 동기 되도록 한다.
메인 클락(main clock)의 동기부는 직렬(series)로 연결된 플립-플롭(flip-flop) 2개와 인버터(inverter)로 구성되어 있다. 메인 클락 신호(main clock signal)에는 일반적으로 더미 버퍼(dummy buffer)를 사용하여 인가된 메인 클락 신호(main clock signal)의 로직(logic) 불확실성을 제거함과 동시에 메인 클락 라인(main clock line)에 연결되어 있는 매우 큰 로드(load)를 충분히 드라이브(drive) 할 수 있게 하고, 안정된 동기신호 확보를 위해 2개의 플립-플롭(flip-flop)을 사용 하였다. 직렬(Series)로 연결된 플립-플롭(flip-flop)의 개수는 일반적으로 2개 이상을 이용하면 정상 동작하지만, 주변환경 변화에 따라 안정성을 높이기 위해 개수를 추가하여 이용 할 수 있다. 스캔 인애이블 신호(Scan enable signal)가 인가된 후 타겟 신호(target signal)인 메인 클락(main clock)이 test clk 포트(port)로 출력되기 시작하는 시점 사이에 소요되는 메인 클락(main clock)의 클락 동작 개수는 동기부의 직렬(series)로 구성된 플립-플롭(flip-flop)의 개수가 직접적인 영향을 준다. 플립-플롭 시리즈(Flip-flop series)의 마지막 스테이지(stage) 출력에 걸리는 로드(load)는 지나치게 크지 않도록 설계 되어야 한다.
본 발명의 실시예에 따르면, 스캔 인애이블 신호(scan enable signal, SEN)가 하이(high)인 구간에는 sclk 신호가 인가되어 스캔 데이터(scan data) 정보가 스캔 클락(scan clock)에 의해서 테스트 블락(test block) 안으로 차례로 주입되게 하고, 이 작업이 완료 되면 SEN 신호를 로우(low)로 인가하여 설정된 수의 메인 클락(mclk)이 테스트 블락(test block)으로 들어 가도록 동작 시킨다. 이때 칩 외부에서 인가하게 되는 SEN 신호와 칩 내부 PLL에서 생성되는 고속 메인 클락의 동기가 일치 되어야 정상적으로 동작하지만, 칩 외부에서 임의로 인가되는 SEN 신호를 칩 내부에서 생성된 메인 클락과 동기 시키기는 불가능하므로 동기 안정화 회로가 필요하다. 이를 위해 플립-플롭(flip-flop)을 직렬(series)로 배열하고 메인 클락(mclk)은 각 플립-플롭(flip-flop)의 클락 포트(clock port)에 SEN 신호는 첫 번째 스테이지(stage) 플립-플롭의 입력 포트에 각각 인가하여 동기화된 SEN 신호(en1)를 생성하고, 메인 클락(main clock) 펄스 수 제어부가 정상동작이 이루어지도록 한다. 이때 사용하는 직렬(series)로 구성된 플립-플롭의 수는 상황에 따라 선택할 수 있으나 최소 2개 이상을 이용하여 안정성을 확보해야 한다.
단계(220)에서, 메인 클락 펄스 수 제어부가 메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어한다.
메인 클락(main clock) 펄스 수 제어부는 하나의 3-bit 가산기(adder)와 4개의 2:1 MUX, 3개의 플립-플롭(flip-flop)으로 구성되어 있고, 테스트 클락 포트(test clock port)로 출력되는 메인 클락(main clock)의 개수를 계수하는 역할을 위해 만들어진 구조이다. 이하에서 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
메인 클락(Main clock) 펄스 수 제어부는 계수를 하기 위한 가산기(adder)가 필수적으로 필요하며 본 발명에서는 3 bit 가산기(adder)를 이용하였으나, 계수 할 테스트 클락(test clock) 개수에 따라서 가산기(adder)의 크기를 조절해야 한다. 가산기(Adder)는 3-bit 가산기(adder)와 같이 작은 규모일 경우에는 리플 캐리 가산기(ripple carry adder)와 같이 일반적인 구조를 이용하지만 규모가 커지고 메인 클락 사이클 타임(main clock cycle time)이 매우 짧은 경우에는 고속으로 동작되는 가산기(adder) 구조를 이용해야 한다. 가산기(Adder)의 MSB bit 캐리 아웃(carry out) 신호를 이용하기 때문에 가산기(adder)의 초기 값을 0으로 셋팅(setting)하면, 카운트(count) 개수가 2의 승수로만 조절할 수 밖에 없으므로 가산기(adder) 회로의 초기 값을 조정하는 작업이 반드시 필요하다. 이를 위해 MUX 4개가 사용되며 초기화를 위해서는 cntl bit 값 들이 인가되도록 MUX들이 선택하게 하여, 가산기(adder)의 B 입력(input) 값에 의도된 초기 값을 공급하여 가산기(adder)로 이루어진 계수기가 초기화 되도록 한다. 이 동작은 스캔 인애이블 신호(scan enable signal)가 하이(high)를 유지하고 있을 때 실행되며, 스캔 인애이블 신호(scan enable signal)를 로우(low)로 인가하면 MUX가 가산기(adder) 회로의 가산(sum) bit 들과 캐리 아웃(carryout) bit을 선택 하도록 하여 카운트(count)가 시작 되도록 한다.
MSB 2:1 MUX의 입력이 외부공급 cnt1 bit과 가산기(adder) MSB 캐리 아웃(carryout)을 입력(input)으로 하여 선택하도록 되어 있는데 스캔 인애이블(scan enable) 신호가 하이(high)로 되어 있는 초기 상태에서는 외부공급 cntl bit의 값을 로직(logic) 1로 고정 시킴으로써, 가산기(adder)의 A 입력(input) LSB bit A[0]에 로직(logic) 0 값이 공급 되도록 하여, 초기상태에서는 클락 펄스가 입력되더라도 로직(logic) 0가 더해지므로 주어진 초기값이 유지되도록 하는 것이다. 본 도에서 가산기(adder)로 공급되는 신호를 carry-in으로 표현하지 않은 것은, carry-in 신호가 필요하지 않아서 가산기(adder)의 LSB bit 계산을 반가산기(half adder)를 이용하여 수행하기 때문이다. 이는 계수기의 전체 딜레이 타임(delay time)을 줄이는 효과도 있다. 위와 같이 초기화한 상태에서 스캔 인애이블 신호(scan enable signal, SEN)를 로우(low)로 인가하면 MUX[3] 신호가 가산기(adder)의 MSB bit 캐리 아웃(carry out) 신호를 선택하게 하여, 로직(logic) 0 값을 받아 이 값을 반전시킨 다음, 가산기(adder)의 A[0] bit에 공급하여 메인 클락(main clock)이 한번 인가 될 때마다 카운트(count) 값이 하나씩 증가하도록 고안되었다. 유의할 점은, 이 부분이 고속 메인 클락(main clock)에 의해서 동작되기 때문에 플립-플롭(flip-flop)에서 컴비네이션(combination) 회로인 가산기(adder) 회로를 통해 플랍-플롭(flip-flop)까지 다시 되돌아 오는 딜레이(delay)가 메인 클락 사이클 타임(main clock cycle time) 보다 작은 크기가 되도록 설계해야 한다는 것이다. 가산기(Adder)에서 가장 긴 딜레이 패스(delay path)인 A[0] 입력에서부터 MSB bit의 캐리 아웃(carry-out)까지의 딜레이 타임(delay time)과 MUX2의 딜레이 타임(delay time), 인버터 딜레이 타임(inverter delay time)의 합은 플립-플롭(flip-flop)의 셋업 타임(setup time)을 고려한 클락 사이클 타임(clock cycle time) 보다 충분히 작도록 설계하여, 다양한 PVT(Process Voltage Temperature) 변화에서도 안정되게 동작하도록 한다.
다시 말해, 메인 클락(main clock) 펄스 수 제어부는 메인 클락의 펄스 개수 조절을 위해서 가산기(adder)를 이용하여 카운터로 사용한다. 원하는 클락의 펄스 개수에 따라서 몇 bit 가산기(adder)가 사용되어야 하는지가 정해진다. 예를 들어 8개의 클락 펄스가 필요하면 최소 3 bit 가산기(adder)가 필요하고 12개의 클락 펄스가 필요하면 최소 4 bit 가산기(adder)의 크기를 이용해야 한다. 가산기를 이용한 카운터의 값이 메인 클락 펄스가 생성 될 때마다 한 스텝(step)씩 증가하다가 가산기(adder)의 MSB bit에서 출력되는 캐리 아웃(carry out) 값이 1로 나오는 순간 가산기(adder)는 동작을 멈추게 되고 메인 클락도 인애이블 신호(enable signal)에 의해 밖으로 나가는 길이 차단 되도록 하여 출력되지 않게 한다. 클락 펄스의 개수를 조절하기 위해서는 MUX를 통해 계수(count)가 시작되는 시점을 미리 준비하고 있다가, 펄스가 생성될 때 그 시점부터 계수(count)가 시작 되도록 하여 캐리 아웃(carry out) 신호의 발생 시간을 조절 할 수 있게 하였다. 메인 클락(Main clock)이 인가 되어 카운트되기 전에 ALU 블락이 미리 준비된 값을 가지게 함으로써 메인 클락의 펄스 개수를 조절 할 수 있게 한 것이다. 메인 클락의 클락 사이클 타임(clock cycle time)이 매우 짧다고 해도 AP(application Processor) 칩 코어 파이프라인 스테이지(chip core pipeline stage)가 20 게이트 딜레이(gate delay) 이상이 되도록 설계 되어 있기 때문에 4 bit 가산기(adder) 정도의 경우 in-out 딜레이 타임(delay time)을 줄이기 위해 고속 가산기(adder) 회로를 사용할 필요는 없고 일반적인 리플 캐리 가산기(ripple carry adder)를 이용해도 게이트 스테이지(gate stage)가 20 게이트 스테이지(gate stage) 보다 상대적으로 충분히 작기 때문에 플립-플롭(flip-flop)의 셋업 바이얼레이션(setup violation)을 위반하지 않아 동작에는 문제가 없다. 다만 많은 수의 클락 펄스 이용이 요구되거나 특수한 경우는 고성능 구조의 가산기(adder) 회로를 이용해야 한다.
단계(230)에서, 상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호 생성부를 통해 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알린다.
테스트 완료신호 생성부는 원하는 펄스 수의 계수가 만족 되었을 때 그 상태를 외부에 알려주는 역할을 하기 위해, 플립-플롭(flip-flop)과 인버터(inverter)로 만들어진 구조이다. 이하에서 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
다시 말해, 테스트 완료신호 생성부는 원하는 메인 클락의 동작(operation)이 끝나면 테스트 완료 신호를 발생시켜서 테스트 칩(test chip) 외부에 고속 테스트 동작이 끝났음을 알려주고 내부적으로는 더 이상 메인 클락이 출력되지 않도록 차단 해야 하는데, 이 기능은 가산기 MSB bit의 캐리 아웃(carry out) 신호를 이용한 인애이블(enable) 동작으로 해결한다.
테스트 완료신호 생성부는 가산기(adder)의 캐리 아웃(carry out) 값이 로직(logic) 0 임을 감지하고 있다가, 캐리 아웃(carry out) 값이 로직(logic) 1으로 출력 되면, 이 값을 감지하여 고속 클락에 의한 테스트 완료 정보를 테스트 칩(test chip) 외부로 전달하는 장치이다. 이와 동시에 회로 내에서는 인애이블 블락(enable block)을 이용하여 더 이상 메인 클락(main clock)이 테스트 클락(test clock) 포트(port)로 출력되지 않도록 한다. 이 부분은 아래 클락 신호(clock signal) 선택부 부분에서 설명된다. 또한 완료신호(done signal)가 일정시간 동안 하이(high)를 유지하여야 외부에서 내부 현상을 파악하기가 용이하다. 이것은 가산기(adder) A[0] bit에 로직(logic) 0 값이 인가 되도록 하여 계수기(counter)의 계수 증가를 막아 캐리 아웃(carryout) bit이 하이(high)가 되어 있는 현재 상태를 유지 함으로써 이 신호가 필요한 만큼 오래 유지 되도록 한다.
단계(240)에서, 클락 신호 선택부가 상기 메인 클락 신호 및 스캔 신호를 입력으로 받아 상기 스캔 인애이블 신호에 의해 해당 신호를 출력시킨다.
클락 신호(clock signal) 선택부는 최종 단은 2:1 MUX로 구성되어 입력신호 1은 스캔 클락(scan clock)과 연결되고 입력신호 0은 메인 클락(main clock)과 연결되도록 하여, SEN 신호를 로우(low)로 했을 때는 메인 클락(main clock)이 정해진 펄스 수만큼 출력되고 SEN 신호를 하이(high)로 했을 때는 스캔 클락(scan clock)이 출력되어 데이터(data)를 칩(chip) 외부로 내보낼 수 있게 되도록, 인버터(inverter), OR, NAND, MUX로 만들어진 구조이다. 이하에서 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
클락 신호(Clock signal) 선택부는 NOR 게이트(gate)를 통해서 동기화된 스캔 인애이블 신호(scan enable signal, en1)와 테스트 완료신호(en2)를 입력으로 받아서 둘 중 하나가 하이(high) 값을 가지면 메인 클락(main clock)이 test clk 포트(port)로 출력되지 않도록 동작 한다. 이 NOR 게이트(gate) 출력(output)은 인애이블(enable) 신호로서 AND 게이트(gate)의 입력단자에 연결되어 메인 클락(main clock)의 신호 통과를 제어한다. 딜레이 블락(Delay block)은 메인 클락(main clock)이 AND 게이트(gate)의 입력단자에 인가되는 시점이, 인애이블 신호(enable signal, en3)의 도착시점 보다 충분히 늦게 하여 신호 레이싱(signal racing) 문제나 쵸핑(chopping) 문제가 발생되지 않도록 한다. 본 회로에서 클락 게이트 블락(Clock gate block)이나 MUX 부분을 통합 로직(logic)이나 다른 변형된 형태 등 다양한 형태로 구성 할 수도 있다.
클락 신호(Clock signal) 선택부는 스캔 클락 신호(scan clock signal, sclk)와 펄스 수 제어되고 인애이블 블락(enable block)을 통과한 메인 클락 신호(main clock signal, mclk)를 입력으로 받는 MUX가 SEN 신호에 의해 신호선택 동작을 하도록 되어있다. 스캔 클락(Scan clock)은 칩(chip) 외부에서 동기화하기 쉽도록 매우 큰 클락 사이클 타임(clock cycle time)을 이용하므로 동기화 회로가 따로 필요하지 않다. 이로서 원하는 고속 테스트 클락(test clock)을 안정적으로 테스트 블락(test block)에 주입하여 실제 사용하는 고속의 메인 클락(main clock)으로 테스트를 진행한 다음, 그 결과를 스캔 블락 신호(scan clock signal)에 의해 칩 밖으로 출력시킬 수 있도록 하였다.
도 3은 본 발명의 일 실시예에 따른 고속 테스트 클락(clock)의 펄스 수 조절 가능한 클락(clock) 발생기에 대한 타이밍 동작을 나타내는 도면이다.
도 3의 타이밍 다이어그램(timing diagram)은, 도1 회로에 대한 일반적인 동작을 도시한 것이다. 전체적인 동작을 요약하여 설명하면, test clk 포트(port)에 스캔 클락(scan clock)을 공급하여 계획된 스캔 데이터(scan data)를 테스트 블락(test block)에 차례로 공급한 다음, SEN 신호에 의해 공급된 스캔 데이터 셋(scan data set)을 이용하여, 실제(real) 상황에서의 테스트를 진행하기 위해 정해진 양 만큼의 메인 클락(main clock) 펄스를 test clk 포트(port)에 공급하여 테스트를 진행하고, 다시 저장된 플립-플롭(flip-flop)으로부터 테스트 결과를 출력 시키기 위해 test clk 포트(port)에 스캔 클락(scan clock)이 공급 되는 동작을 타이밍 다이어그램(timing diagram)으로 나타낸 것이다.
도 3에서 mclk는 메인 클락(main clock)을 의미하고 sclk는 스캔 클락(scan clock)을 의미하며 SEN은 스캔 인애이블 신호(scan enable signal)을 나타낸다. 스캔 데이터 인(Scan data-in)과 스캔 데이터 아웃(scan data-out)의 길이는 일반적으로 같으며 테스트 블락(test block) 내의 해당 플립-플롭(flip-flop)을 직렬(series)로 연결한 수만큼 필요하다. 본격적인 고속 테스트 클락 동작을 실행시키기 전에 리셋 신호(reset signal)를 이용하여 테스트 블락(test block)내 플립-플롭(flip-flop)들의 초기값을 의도하는 값으로 초기화 시켜서 테스트 준비가 되도록 한 다음 SEN 신호 값에 의해 스캔 신호(scan signal)가 test clk 포트(port)에 나타나도록 하여 스캔 데이터(scan data)를 차례로 밀어 넣는다. 이 작업이 완료되면 스캔 인애이블 신호(scan enable signal)를 로우(low)로 하여 mclk 신호가 test clk 포트(port)에 나타나게 함으로서 고속 메인 클락(main clock)에 의한 테스트가 이루어지도록 한다.
메인 클락(Main clock)이 test clk 포트(port)에 나타나기 시작하는 시점은 메인 클락(main clock) 동기부 플립-플롭(flip-flop) 수에 따라 결정 된다. 메인 클락(Main clock)에 의한 테스트가 끝나고 나면, 완료 신호(done signal)가 하이(high)로 활성화 되며 SEN 신호를 하이(high)로 인가하여, 테스트 결과 값을 스캔 클락(scan clock)을 이용하여 외부로 출력하여 분석 할 수 있게 해준다. 본 도를 요약하면, 테스트 블락(test block) 내에 준비시켜 놓은 테스트 셀(cell)들을 실제(real) 상황인 고속 클락(clock)에서 테스트하기 위해 스캔(scan clock)과 고속 메인 클락(main clock)을 이용하되 메인 클락(main clock)의 클락(clock) 펄스 회수를 지정된 수만큼 자동으로 수행하고 결과를 얻을 수 있는 과정을 타이밍 다이어그램(timing diagram)으로 도시한 것이다.
스캔 신호(Scan signal)는 클락 사이클 타임(clock cycle time)이 충분히 크기 때문에 실리콘 칩(silicon chip) 밖에서 인가하는 리셋 신호(reset signal)와 스캔 인애이블 신호(scan enable signal)를 일반적으로 스캔 신호(scan signal)의 로우 페이즈(low phase) 구간에 해당하는 정확한 타이밍(timing) 시점에 인가하는데 문제가 없지만, 수 GHz 이상 되는 메인 클락(main clock)은 클락 사이클 타임(clock cycle time)이 매우 짧아 정확한 시점에 스캔 인애이블 신호(scan enable signal)를 인가할 수 없어서 온전한 형태의 메인 클락(main clock)을 생성하는 것이 불가능하다. 이러한 문제를 해결하여 온전한 형태의 고속 메인 클락(main clock) 펄스를 6개 혹은 10개 등 의도하는 개수만큼 발생하도록 회로를 구성하는 것이 주요 기술적 과제이다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (7)
- 고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 장치에 있어서,
스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부가 메인 클락 신호에 동기 되도록 하는 메인 클락 동기부;
메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어하는 메인 클락 펄스 수 제어부;
상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 테스트 완료신호 생성부; 및
상기 메인 클락 신호 및 스캔 신호를 입력으로 받아 상기 스캔 인애이블 신호에 의해 해당 신호를 출력시키는 클락 신호 선택부
를 포함하고,
상기 메인 클락 펄스 수 제어부는,
계수 동작을 수행하는 하나의 ALU 블락, 복수의 MUX, 복수의 플립-플롭을 포함하고, 출력되는 메인 클락 펄스 수를 계수하도록 제어하고,
메인 클락 펄스 수의 계수를 시작하기 전에 상기 ALU 블락 내부 가산기를 통해 테스트에 필요한 클락 펄스 수를 미리 입력 받고, 상기 복수의 MUX를 통해 계수가 시작되는 시점을 미리 준비한 후, 스캔 인애이블 신호에 따라 메인 클락 펄스 수의 계수가 시작 되도록 하여 캐리 아웃 신호의 발생 시간을 조절하는
고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 장치. - 제1항에 있어서,
상기 메인 클락 동기부는,
복수의 플립-플롭 및 인버터를 포함하고, 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부가 상기 메인 클락 신호에 동기 되도록 하는
고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 장치. - 삭제
- 제1항에 있어서,
상기 테스트 완료신호 생성부는,
플립-플롭 및 인버터를 포함하고, 상기 메인 클락 펄스 수 제어부의 ALU 블락 내부 가산기의 MSB 비트의 캐리 아웃 신호를 감지하여 상기 캐리 아웃 신호가 하이(high)일 경우, 상기 캐리 아웃 신호의 정보를 플립-플롭에 저장함과 동시에 계수를 중지시키고, 테스트 완료신호를 생성하여 칩 외부에 고속 테스트 클락에 의한 테스트 작업이 완료 되었음을 알리는
고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 장치. - 제1항에 있어서,
상기 테스트 완료신호 생성부는,
제어하기 위한 메인 클락 펄스 개수가 증가에 따른 딜레이의 증가로 인한 MUX 개수 및 플립-플롭(flip-flop)의 개수 또는 회로 구성의 변화된 형태를 포함하고, 계수 동작 수행 전 MUX를 통해 초기값을 저장하고, 초기값을 저장하는 MUX를 이용하지 않는 다른 변형된 회로 형태도 포함하며, 테스트 완료신호가 검출된 후 계수를 중지 시키는 변형된 회로 형태도 포함하는
고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 장치. - 고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 방법에 있어서,
메인 클락 동기부가 스캔 인애이블 신호 및 메인 클락 신호를 수신 받아 메인 클락 펄스 수 제어부를 메인 클락 신호에 동기 되도록 하는 단계;
메인 클락 펄스 수 제어부가 메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어하는 단계;
상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호 생성부를 통해 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 단계; 및
클락 신호 선택부가 상기 메인 클락 신호 및 스캔 신호를 입력으로 받아 상기 스캔 인애이블 신호에 의해 해당 신호를 출력시키는 단계
를 포함하고,
상기 메인 클락 펄스 수 제어부가 메인 클락 신호를 생성하고, 상기 메인 클락 펄스 수를 계수하도록 제어하는 단계는,
계수 동작을 수행하는 하나의 ALU 블락, 복수의 MUX, 복수의 플립-플롭을 포함하는 메인 클락 펄스 수 제어부를 통해, 출력되는 메인 클락 펄스 수를 계수하도록 제어하고,
메인 클락 펄스 수의 계수를 시작하기 전에 상기 ALU 블락 내부 가산기를 통해 테스트에 필요한 클락 펄스 수를 미리 입력 받고, 상기 복수의 MUX를 통해 계수가 시작되는 시점을 미리 준비한 후, 스캔 인애이블 신호에 따라 메인 클락 펄스 수의 계수가 시작 되도록 하여 캐리 아웃 신호의 발생 시간을 조절하는
고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 방법. - 제6항에 있어서,
상기 메인 클락 펄스 수의 계수가 완료 되었을 경우, 계수를 중지하도록 하고 테스트 완료신호 생성부를 통해 테스트 완료신호를 생성하여 칩 외부에 고속 클락에 의한 테스트 작업이 완료 되었음을 알리는 단계는,
상기 메인 클락 펄스 수 제어부의 ALU 블락 내부 가산기의 MSB 비트의 캐리 아웃 신호를 감지하여 상기 캐리 아웃 신호가 하이(high)일 경우, 상기 캐리 아웃 신호의 정보를 플립-플롭에 저장함과 동시에 계수를 중지시키고, 테스트 완료신호를 생성하여 칩 외부에 고속 테스트 클락에 의한 테스트 작업이 완료 되었음을 알리는
고속 테스트 클락의 펄스 수를 조절하는 클락 발생기 구성 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160088548A KR101680015B1 (ko) | 2016-07-13 | 2016-07-13 | 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160088548A KR101680015B1 (ko) | 2016-07-13 | 2016-07-13 | 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101680015B1 true KR101680015B1 (ko) | 2016-11-28 |
Family
ID=57706674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160088548A KR101680015B1 (ko) | 2016-07-13 | 2016-07-13 | 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101680015B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003222656A (ja) * | 2001-11-20 | 2003-08-08 | Hitachi Ltd | 半導体集積回路装置とその設計方法 |
-
2016
- 2016-07-13 KR KR1020160088548A patent/KR101680015B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003222656A (ja) * | 2001-11-20 | 2003-08-08 | Hitachi Ltd | 半導体集積回路装置とその設計方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6561172B2 (ja) | レシプロカル量子論理(rql)回路合成 | |
US7937604B2 (en) | Method for generating a skew schedule for a clock distribution network containing gating elements | |
US9852246B2 (en) | System and method for efficient statistical timing analysis of cycle time independent tests | |
US7284143B2 (en) | System and method for reducing clock skew | |
JP3378440B2 (ja) | 演算装置及びその遅延時間制御方法 | |
US10628375B2 (en) | Method and system for enumerating digital circuits in a system-on-a-chip (SOC) | |
US8539413B1 (en) | Frequency optimization using useful skew timing | |
EP3948637B1 (en) | Embedded fpga timing sign-off | |
KR101680015B1 (ko) | 고속 테스트 클락의 펄스 수 조절 가능한 클락 발생기 구성 방법 및 장치 | |
Garg | Common path pessimism removal: An industry perspective: Special session: Common path pessimism removal | |
US20150145580A1 (en) | Apparatus for controlling semiconductor chip characteristics | |
US9960771B2 (en) | Hum generation using representative circuitry | |
JP2000249747A (ja) | 半導体試験装置のタイミング信号発生回路 | |
JP3693930B2 (ja) | Pll回路のシミュレーション方法およびシミュレーション・プログラム | |
JP5942417B2 (ja) | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム | |
WO2024148502A1 (en) | Circuitry for staggering capture clocks in testing electronic circuits with multiple clock domains | |
US20150162918A1 (en) | Digital output clock generation | |
US8947124B2 (en) | Clock gater with independently programmable delay | |
JPS60173484A (ja) | 論理シミユレ−シヨン方式 | |
JP2000208632A (ja) | 半導体集積回路設計方法 | |
JP2000305965A (ja) | クロックツリーシンセシス方法及び装置 | |
JP2005266838A (ja) | ハードウェア・エミュレーション・システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191001 Year of fee payment: 4 |