KR100365695B1 - 타이밍 신호 발생기 - Google Patents
타이밍 신호 발생기 Download PDFInfo
- Publication number
- KR100365695B1 KR100365695B1 KR1019997006323A KR19997006323A KR100365695B1 KR 100365695 B1 KR100365695 B1 KR 100365695B1 KR 1019997006323 A KR1019997006323 A KR 1019997006323A KR 19997006323 A KR19997006323 A KR 19997006323A KR 100365695 B1 KR100365695 B1 KR 100365695B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- data
- phase
- output
- timing
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/22—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
- H03K5/26—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being duration, interval, position, frequency, or sequence
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/131—Digitally controlled
-
- 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/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31922—Timing generation or clock distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- Pulse Circuits (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
본 발명에 의한 타이밍 신호 발생기(10)는 출력 타이밍 신호(TIMING_)의 연속적인 펄스를 조정가능하게 타이밍한다. 발생기(10)는 클록 신호(CLOCK)와 동기된 주파수를 가지는 2N개의 위상 신호(PH0 내지 PH16) 세트를 제공하는 회로를 포함한다. 제1 및 제2 선택기(25, 27)는 클록 신호(CLOCK)의 사이클당 한번씩 데이터를 샘플링한다. 제1 선택기(25)는 제1 출력 신호(OUTA)가 생성되었는지의 여부를 결정하고, 제1 출력 신호(OUTA)의 타이밍 제어를 위해 N개의 제1 위상 신호 중에서 어느 신호가 선택되었는지를 결정한다. 제2 선택기(27)는 제2 출력 신호(OUTB)가 생성되었는지의 여부를 결정하고, 제2 출력 신호(OUTB)를 제어하기 위해 N개의 제2 위상 신호 중에서 어느 신호가 선택되었는지를 결정한다. 제1 및 제2 출력 신호(OUTA, OUTB)는 논리적으로 OR연산되어, 타이밍 신호(TIMING_)를 생성한다. 각 선택기(25, 27)에 의한 데이터 샘플링의 타이밍이 개별적으로 조정되므로, 선택된 위상 신호의 상태가 변할 때에만 출력 신호(OUTA, OUTB)의 상태가 변하며, 선택기(25, 27)가 새로운 입력 데이터에 응답하여 그 선택을 변경하지 않는 경우에는 출력 신호(OUTA, OUTB)의 상태가 변하지 않는다.
Description
타이밍 신호 발생기는 조정가능한 간격으로 출력 신호 펄스를 발생시킨다. 통상적인 타이밍 신호 발생기는 기준 클록의 펄스를 카운트하고 이 카운트가 소정의 한계에 도달할 때마다 출력 신호 펄스를 생성하기 위한 프로그래머블 카운터(programmable counter)를 포함한다. 연속적인 각 출력 신호 펄스의 타이밍은 펄스 사이의 카운터를 재프로그래밍함으로써 변경할 수 있다. 또한 타이밍 신호 발생기는 카운터 출력 펄스를 조정가능하게 지연시켜, 출력 펄스의 타이밍을 좀더 정밀하게 제어하는 타이밍 버니어(timing vernier)를 포함할 수 있다. 도 10에 도시된 바와 같이, 통상적인 타이밍 버니어는 램프 발생기(ramp generator; 100), 디지털-아날로그(digital-to-analog; D/A) 변환기(102), 및 비교기(104)를 포함한다. D/A 변환기(102)는 원하는 지연을 표시하는 입력 데이터를 수신하고, 입력 데이터에 비례하는 크기를 가지는 출력 기준 신호를 생성한다. 램프 발생기(100)는 클록 신호 펄스의 각 펄스에 응답하여 선형으로 증가하기 시작하는 출력 램프 신호를 생성한다. 비교기(104)는 램프 신호 크기가 기준 신호의 크기에 도달하는 경우 버니어 출력 펄스를 생성한다. 비교기(104)의 출력 신호 펄스는 램프 발생기(100)를 리셋시켜 다음 클록 신호 펄스에 응답하도록 한다. 클록 신호 펄스가 도달하기 전에 D/A 변환기로 입력되는 데이터를 변경시킴으로써 임의의 특정 클록 신호 펄스를 따르는 출력 신호 펄스의 타이밍을 변경시킬 수 있다.
타이밍 버니어의 "리사이클 타임(recycle time)"은 출력 펄스들이 서로 시간적으로 얼마나 가까운지를 측정한다. 그러나 도 10의 타이밍 버니어는 하나의 출력 신호 펄스의 트레일링 에지(trailing edge) 및 다음 입력 신호 펄스의 리딩 에지(leading edge)가 램프 발생기를 리셋한 후에, 다음 출력 신호 펄스에 대한 타이밍 데이터를 획득하고 입력 타이밍 데이터에 응답하여 D/A 변환기 출력을 변경하기 위한 충분한 시간을 가져야 한다. 리사이클 시간을 감소시키기 위해, 종래 기술에 의한 타이밍 신호 발생기는 도 11에 도시된 바와 같이 2개의 타이밍 버니어(110, 112)를 사용할 수 있다. 버니어(110)는 클록 신호의 각 짝수번 사이클 동안 출력 신호 펄스를 생성하고, 버니어(112)는 클록 신호의 각 홀수번 사이클 동안 출력 신호 펄스를 생성할 수 있다. 카운터(116, 118)는 2개의 버니어에 교대로 펄스를 입력한다. OR 게이트(114)는 2개의 타이밍 버니어 출력 신호를 결합하여 단일 출력 신호를 생성한다. 하나의 타이밍 버니어가 최종 입력 신호 펄스에 응답하는 반면, 다른 타이밍 버니어는 새로운 입력 데이터를 획득하고, 다음 입력 신호 펄스에 응답하도록 준비한다. 따라서 예를 들어, 각각의 타이밍 버니어는 적어도 10 나노초만큼 이격된 출력 펄스를 생성할 수 있는 반면, 2개의 타이밍 버니어는 5 나노초만큼 이격될 수 있는 결합된 출력 신호의 교대 펄스를 생성한다. 이중 버니어 시스템은 리사이클 시간을 감소시키지만, 2개의 버니어 및 2개의 카운터를 사용해야 한다. 또한 타이밍 버니어를 교정(calibrate)하기는 어려우며, 램프 발생기 출력 신호의 비선형도에 기인하는 에러, 처리 또는 온도 변화의 영향을 받기 쉽다.
본 발명은 일반적으로 타이밍 신호 발생기에 관한 것이며, 구체적으로는 출력 신호 타이밍을 제어하기 위해 지연 라인의 탭을 교대로 선택하는 멀티플렉서를 사용하는 타이밍 신호 발생기에 관한 것이다.
도 1은 본 발명에 따른 타이밍 신호 발생기를 예시하는 블록도.
도 2 및 도 3은 도 1의 타이밍 신호 발생기에 나타나는 신호 사이의 관계를 예시하는 타이밍도.
도 4는 도 1의 정밀 버니어 회로(fine vernier circuit)를 예시하는 블록도.
도 5는 도 1의 타이밍 신호 발생기에 나타나는 신호 사이의 관계를 예시하는 타이밍도.
도 6은 도 1 및 도 4의 회로에 나타나는 신호 사이의 관계를 예시하는 타이밍도.
도 7은 도 4의 뱅크 A 선택기 회로를 상세하게 예시하는 블록도.
도 8은 도 4의 뱅크 B 선택기 회로를 상세하게 예시하는 블록도.
도 9는 도 4의 지연 회로 및 위상 동기 제어기를 상세하게 예시하는 블록도.
도 10은 종래 기술에 의한 타이밍 신호 발생기를 예시하는 블록도.
도 11은 종래 기술에 의한 이중 타이밍 버니어(dual timing vernier)를 예시하는 블록도.
본 발명에 따른 타이밍 신호 발생기는 출력 타이밍 신호의 연속적인 펄스를 조정가능하게 타이밍한다. 발생기는 각각의 출력 신호를 펄스하기 전에 입력 데이터를 수신하고, 입력 데이터에 따라 출력 펄스의 타이밍을 제어한다. 발생기는 기준 클록 신호와 주파수 동기되어 있으며, 위상이 균등하게 분배된 2N개의 위상 신호 세트를 제공하는 회로를 포함한다. 또한 발생기는 클록 신호의 각 사이클마다 데이터를 각각 한번씩 샘플링하는 제1 및 제2 선택기를 포함한다. 샘플링된 데이터는 다음 클록 신호 사이클 동안 제1 선택기가 출력 신호를 펄스해야 하는지 또는 제2 선택기가 출력 신호를 펄스해야 하는지, 그리고 선택기가 펄스 에지의 타이밍을 제어하기 위해 어느 위상 신호를 사용해야 하는지를 표시한다. 각 선택기에 의한 데이터 샘플링의 타이밍을 개별적으로 조정하여, 표시된 위상 신호의 상태가 변경될 때에만 선택기 출력 신호의 상태를 변경하도록 한다.
본 발명의 타이밍 신호 발생기는 집적 회로 내의 넓은 공간을 요구하지 않고 정확하게 타이밍된 출력 신호 펄스를 제공한다. 작은 리사이클 타임으로 개별적인 출력 신호 펄스의 타이밍을 자동으로 변경할 수 있다. 처리 및 온도 변화는 타이밍 신호 펄스의 정확성에 최소한의 영향을 미친다.
본 명세서의 결론부는 본 발명의 요지를 구체적으로 지적하고 명확하게 특허청구한다. 그러나 당업자는 첨부된 도면을 참조하여 본 명세서의 나머지 부분을 읽음으로써 본 발명의 이점 및 목적과 함께 본 발명의 구성 및 동작 방법을 최적으로 이해하게 될 것이며, 여기서 동일 도면 번호는 동일한 구성요소를 지칭한다.
도 1은 본 발명에 따른 타이밍 신호 발생기(10)를 예시한다. 발생기(10)는 입력 주기 CLOCK 신호를 타이밍 기준으로 사용하여 정밀하게 타이밍된 출력 TIMING_ 신호 펄스 시퀀스를 생성함으로써 입력 START 신호에 응답한다(여기서 하선 "_"으로 끝나는 신호 이름은 로우 참 신호(low true signals)를 표시한다. 로우 참 신호의 펄스의 리딩 에지는 네거티브-진행(negative-going)이다. 하선으로 끝나지 않는 신호 이름은 포지티브-진행(positive-going) 리딩 에지를 가지는 하이 참 신호(high true signals)를 표시한다).
발생기(10)는 RAM(random access memory; 12), FIFO(first-in first-out) 버퍼(13), 프로그래머블 카운터 뱅크(14), 및 정밀 버니어 회로(16)와 같은 도 1에 예시된 4개의 기능 블록을 가진다. 외부 제어기(도시되지 않음)는 다수의 DELAY 값을 RAM(12) 내의 여러 가지 어드레스에 저장하고, 일련의 ADDR 입력을 RAM(12)에 공급하여 RAM(12)이 DELAY 데이터 값을 판독하도록 하는데 이 때 DELAY 데이터 값의 길이는 길 수 있다. RAM(12)에 저장된 각 DELAY 값은 CYCLES 값과 FRACT_I 값과 같은 두 가지 부분을 가진다. CYCLES 값은 TIMING_신호 펄스를 생성하기 전에 카운트될 CLOCK 신호 사이클의 수를 표시하는 소정의 카운트 한계값이다. FRACT_I 값은 TIMING_신호 펄스를 보다 정밀하게 조정하기 위해 사용된 추가 '버니어 지연"(CLOCK 신호의 0번째 내지 15번째 1/16)을 표시한다.
타이밍 동작은 연속적인 "주요 주기(major period)" 세트와 연관되어 구성되며, 각 주요 주기는 LOAD 신호의 펄스로 시작하여 외부 제어기에 의해 결정되는 하나 이상의 정수 개의 CLOCK 신호 사이클로 끝난다. 특히 발생기(10)는 LOAD 신호에 의해 표시된 각 주요 주기의 시작에 응답하여 지연된 하나의 TIMING_ 신호 펄스를 공급한다. 외부 제어기에 의해 지정된 각 TIMING_ 신호의 지연 범위는 CLOCK 신호 사이클의 작은 부분에서부터 몇 개의 주요 주기를 포괄하는 기간이 될 수 있다. 따라서 발생기(10)가 각 LOAD 신호에 응답하여 단지 하나의 TIMING_ 신호 펄스를 생성한다 하더라도, TIMING_신호 펄스를 잠깐 지연시켜 TIMING_ 신호 펄스가 다음번 주요 주기 동안에 발생하도록 하거나, 또는 더 길게 지연시켜 TIMING_ 신호 펄스가 얼마간의 연속적인 주요 주기 동안 발생하도록 한다.
도 2는 4개의 CLOCK 주기의 주요 주기에 취해진 CLOCK, LOAD 및 TIMING_ 신호 사이의 타이밍 관계를 예시한다. 이 실시예에서, 2개의 연속적인 TIMING_ 신호 펄스 출력은 각각 CYCLES 값 2 및 FRACT_I 값 8을 가지고 프로그래밍된다. 따라서 이러한 경우에, 각 TIMING_신호 펄스는 2 및 8/16 CLOCK 주기 간격으로 주요 주기 표시자 신호(major period marker signal)(LOAD)를 따른다.
도 3은 CYCLES 값 6 및 FRACT_I 값 0에 대하여 프로그래밍된 TIMING_ 신호 출력 펄스로 4개의 CLOCK 주기의 주요 주기동안 취해진 CLOCK, LOAD 및 TIMING_ 신호 사이의 주요 주기 타이밍 관계를 예시한다. 이러한 경우 TIMING_ 신호 펄스는 6 및 0/16 CLOCK 주기의 간격으로 주요 주기 표시자 신호(LOAD)로부터 지연된다. 따라서 다음 주요 주기 동안에 TIMING_ 신호 펄스가 발생한다. 이러한 조건을 "사이클 크로싱(cycle crossing)"이라 한다.
각 주요 주기가 시작되기 전에, 외부 제어기는 어드레스 ADDR 입력을 RAM(12)에 입력한다. 주요 주기가 시작되는 시점에, RAM(12)이 표시된 어드레스에 저장된 DELAY 값을 판독할 적당한 시간을 가지고 있는 경우, 외부 제어기는 FIFO 버퍼(13) 시프트인(shift-in; SI) 입력에 공급된 LOAD 신호를 펄스한다. LOAD 신호는 FIFO 버퍼(13)에게 판독된 DELAY 값의 FRACT_I 성분을 저장하도록 지시한다. 또한 LOAD 신호는 카운터 뱅크(14)에 공급되어, 그 내부의 N개의 카운터(18(1) 내지 18(N)) 세트 중의 하나의 카운터가 판독된 DELAY 값의 CYCLES 성분을 저장하도록 한다. 이러한 방법으로, 주요 주기가 시작될 때마다 외부 제어기는 새로운 FRACT_I 값을 FIFO 버퍼(13)에 시프트하고, CYCLES 값을 카운터(18) 중의 하나에 로드한다. 제1 TIMING_ 신호 펄스가 실제로 생성되기 전에, 다수의 CYCLES 및 FRACT_I 값이 FIFO 버퍼(13)에 시프트되고 카운터 뱅크(14)에 로드되기 때문에, "사이클 크로스"에 대한 발생기(10)의 능력은 FIFO 버퍼(13)의 깊이 및 카운터 뱅크(14) 내의 카운터(18)의 개수에 의존한다.
FIFO 버퍼(13)에 저장된 길이가 가장 긴 FRACT_I 값은 출력 단자에서 FRACT_O로 나타난다. FIFO 버퍼(13)의 시프트아웃(shift-out) 단자에 공급된 SHIFT 신호 펄스는 길이가 가장 긴 FRACT_I 저장 데이터를 FIFO 버퍼(13)로부터 제거하여, 길이가 다음으로 가장 긴 FRACT_ I 저장 데이터가 출력 단자에서 FRACT_0으로 나타나도록 한다. FIFO 버퍼(13)는 FRACT_0 데이터 출력을 정밀 버니어(16)에 공급한다. 카운터 뱅크(14)는 N개의 카운터(18(1) 내지 18(N)) 세트, 및 제어 논리 소자(19-22) 세트를 포함한다. 제1 주요 주기가 시작되는 시점에 카운터 뱅크(14)에 전송된 제1 LOAD 신호는 제1 CYCLES 데이터를 제1 카운터(18(1))에 로드한다. 그 후 카운터(18(1))는 각각의 연속적인 CLOCK 신호로 CYCLES 데이터 값을 내림차순(downward)으로 카운트 다운하기 시작한다. 카운터(18(1))의 카운트 다운(count dowm) 값이 0에 도달하면, 카운터(18(1))는 카운트 종단 신호 TC(1)_을 펄스한 다음, 새로운 CYCLES 데이터가 재로드될 때까지 그 카운트를 0으로 유지한다. 제2 주요 주기가 시작되면, 카운터 뱅크(14)에 다른 LOAD 신호가 전송되고 제2 카운터(18(2))에 다음 CYCLES 값이 로드되며 CLOCK 신호 펄스를 카운트하기 시작한다. 카운터(18(2))가 로드되면, 제1 카운터(18(1))는 반드시 교차하는 주요 주기의 개수에 따라 카운트 종단에 도달하거나 도달하지 않을 수 있다. 그럼에도 불구하고 카운터(18(2))는 CLOCK 사이클이 로드되는 즉시 CLOCK 사이클을 카운트하기 시작하여, 카운트 값이 O에 도달할 때까지 최초 CYCLES 값에서부터 카운트 다운한다. 이 시점에서 제2 카운터는 출력단에서 카운트 종단 신호 TC(2)_를 펄스하고, 그 후 카운트 신호 TC(2)_가 다시 로드될 때까지 카운트를 0으로 유지한다. 나머지 모든 카운터(18(3) 내지 18(N))는 유사한 방법으로 동작하는데, 이들 각각의 카운터는 CYCLES 값 입력을 교대로 수신하고, 카운트 값이 0에 도달할 때까지 카운트 다운한 다음, 카운트 종단 신호 펄스 TC(3)_ 내지 TC(N)_ 출력을 생성한다. 각각의 연속적인 카운터(18(1) 내지 18(N))가 CYCLES 값 입력을 수신하면, 다음 LOAD 신호에 의해 제1 카운터(18(1))에 다음 CYCLES 값이 재로드되며, 그 결과 연속적인 CYCLES 값이 카운터(18(1) 내지 18(N))로 다시 한번 로드되는 과정이 시작된다.
LOAD 신호는 카운터(19)의 클록 입력에 공급된다. 카운터(19)는 LOAD 신호의 펄스를 카운트 업(count up)하고 디코더(decoder; 20)는 이를 디코딩하여 출력 데이터를 생성한다. 카운터(19)의 카운트 출력이 증가함에 따라, 디코더는 N개의 연속적인 출력 신호(L(1) 내지 L(N))를 인가하며, 그 결과 카운터(18(1) 내지 18(N))에 해당하는 연속적인 입력 인에이블 신호를 인가한다. 카운터(19)의 카운트가 N에 도달한 후, 제1 LOAD 신호 펄스 상에서 카운트는 0으로 리셋된다.
정밀 버니어(16)에 의해 공급되는 SHIFT 신호는 다른 카운터(21)의 클록 입력을 구동한다. 카운터(21)는 SHIFT 신호의 펄스를 카운트 업한다. 카운터(21)의 카운트 출력은 멀티플렉서(22)를 제어하며, 멀티플렉서(22)는 카운트 종단 신호 TC(1)_ 내지 TC(N)_ 중의 하나를 선택하여 카운터 뱅크(14)의 ENABLE_ 신호로 출력한다. 시스템 동작이 시작되기 전에, 외부 제어기는 리셋 신호(예시되지 않음)를 모든 카운터(14, 19, 및 20)로 공급하여 이들의 카운트를 초기화한다.
카운터 뱅크(14)는 카운터 뱅크(14) 내의 카운터(18(1) 내지 18(N))가 카운트 종단 신호 TC(x)_를 생성할 때마다 ENABLE_ 신호 펄스를 정밀 버니어(16)로 전송한다. 네거티브-진행 ENABLE_ 펄스는 정밀 버니어(16)에게 현재의 CLOCK 신호 사이클 동안 TIMING_ 신호 펄스를 생성하도록 지시한다. 멀티플렉서(22)는 처음에 제1 카운터(18(1))로부터 카운트 종단 출력 TC(1)_을 선택하여 ENABLE_ 신호를 출력한다. 카운터(18(1))에 CYCLES 값을 로드하고 CYCLES 값에 의해 표시되는 CLOCK 신호 펄스의 수를 0에 도달할 때까지 카운트 다운하면, 카운터(18(1))는 TC(1)_ 출력 신호를 인가한다. 멀티플렉서(22)가 현재 TC(1)을 선택하고 있기 때문에, ENABLE_신호 또한 출력된다. 그 후 정밀 버니어(16)가 SHIFT 신호를 펄스하면, 카운터(21)는 멀티플렉서(22)를 스위칭하여, 멀티플렉서(22)가 카운터(18(2))의 TC(2)_ 출력을 선택하도록 한다. 카운터(18(2))가 카운트 종단에 도달하면, TC(2)_ 신호를 출력하여, 그 결과 멀티플렉서(22)가 ENABLE_ 신호를 출력하도록 한다.
따라서 각각의 연속적인 LOAD 신호 펄스 상에서 데이터는 연속적인 카운터(18(1) 내지 18(N)) 중의 하나로 로드되고, 각각의 연속적인 SHIFT 신호 펄스 상에서 멀티플렉서(22)는 ENABLE_ 신호를 제어하기 위한 카운터(18(1) 내지 18(N))의 연속적인 출력 신호 TC(1)_ 내지 TC(N)_ 중 하나를 선택한다. 카운터 뱅크(14)는 각각의 CYCLES 데이터 값에 응답하여 하나의 ENABLE_ 신호 출력 펄스를 생성하며, 각각의 CYCLES 데이터 값은 각각의 LOAD 신호 펄스에 응답하여 수신한다. LOAD 신호가 각 주요 주기에서 한번 발생하는 펄스와 주기적인 반면, SHIFT 신호 펄스는 주요 주기에 비해 더 길거나 더 짧을 수 있는 비규칙적인 간격으로 도달할 수 있음에 주의해야 한다. N개의 카운터(18(1) 내지 18(N))를 사용하여, 카운터 뱅크(14)는 2개의 SHIFT 신호 펄스 사이의 N개까지의 CYCLES 데이터 값을 수신할 수 있다.
또한 정밀 버니어(16)는 CLOCK 신호 및 FIFO 버퍼(13)의 현재 FRACT_0 데이터 출력을 수신한다. 정밀 버니어(16)는 각각의 CLOCK 신호 주기를 16개의 타임 슬롯으로 분할하고, 이들 타임 슬롯 중의 임의의 하나의 슬롯이 시작되면 출력 TIMING_ 신호 펄스를 초기화할 수 있다. FRACT_O 데이터는 정밀 버니어(16)에게 다음 TIMING_ 신호 출력 펄스를 생성하는 경우 어느 타임 슬롯을 사용할 것인지를 통지하는 4비트 값이다. 카운터 뱅크(14)가 우선 카운터(18(1))의 TC(1)_ 출력에 응답하여 ENABLE_ 신호를 인가하면, 정밀 버니어(16)는 FIFO 버퍼(13)의 현재 FRACT_0 데이터 출력을 저장하고, FRACT_0 데이터에 의해 표시되는 다음 클록 사이클동안 타임 슬롯을 기다리며, 그 결과 출력 TIMING_ 신호 펄스를 생성한다.
한편 카운터 뱅크(14)로부터 ENABLE_ 신호 펄스를 수신하고 FIFO 버퍼(13)의 FRACT_0 데이터 출력을 획득한 후에, 정밀 버니어(16)는 다음 TIMING_ 신호 펄스에 대하여 FRACT_0 데이터를 시프트하도록 지시하면서 SHIFT 신호 펄스를 FIFO 버퍼(13)에 전송한다. 전술한 바와 같이 또한 SHIFT 신호 펄스는 카운터 뱅크(14)에게 ENABLE_ 출력을 카운터(18(1))의 카운트 종단 신호 출력 TC(1)_에 의해 구동되는 것에서부터 카운터(18(2))의 카운트 종단 신호 출력 TC(2)에 의해 구동되는 것으로 시프트하도록 지시한다. 이어서 카운터(18(2))가 0까지 카운트 다운된 TC(2)를 출력하면, 멀티플렉서(22)는 다른 ENABLE_ 출력 펄스를 정밀 버니어(16)로 전송한다. FIFO 버퍼(18)로부터의 제2 TIMING_ 신호 펄스에 대하여 이전에 시프트된 FRACT_0 데이터를 가지는 정밀 버니어(16)는 FRACT_0 데이터를 획득하고, 그 후에 이러한 FRACT_0 데이터에 의해 표시된 현재의 CLOCK 사이클 동안 일정 시점에 제2 TIMING_ 신호 펄스를 생성한다. FIFO 버퍼(13)의 제2 FRACT_0 데이터 출력을 획득한 후에, 정밀 버니어(16)는 SHIFT 신호를 다시 펄스하며, 이에 의해 FIFO 버퍼(13)는 제3 TIMING_ 신호 펄스에 대한 FRACT_0 데이터를 시프트하고, 카운터 뱅크(14)는 ENABLE_ 신호의 제어를 제3 제어기(18(3))로 반전(turn over)한다. 이러한 과정은 외부 제어기가 RAM(12)에 어드레스를 제공하고 카운트 뱅크(14)에 LOAD 신호 펄스를 제공하는 것과 유사한 방식으로 계속된다.
따라서 발생기(10)는 RAM(12)에 프로그래밍 저장된 여러 가지 DELAY 값을 연속적으로 어드레싱함으로써 자동으로(on-the-fly) 설정되는 연속 펄스 사이에서 개별적으로 지연된 TIMING_ 신호 출력을 생성할 수 있다. 따라서 정밀 버니어(16)는 TIMING_ 신호 펄스 사이에서 FRACT_0 데이터를 자동으로 획득해야 한다. 리사이클 시간을 최소화(연속적인 TIMING_ 신호 펄스 사이의 시간을 최소화)하기 위해, 버니어(16)는 이전의 TIMING_신호 펄스의 트레일링 에지에 근접하여 뒤따르는 타임 슬롯에서 시작하는 다음 TIMING_신호 펄스를 생성할 수 있어야 한다. 따라서 버니어(16)는 하나의 TIMING_ 신호 펄스를 생성하기 위해 대기하면서, 다음 TIMING_ 신호 펄스에 대한 새로운 FRACT_0 데이터를 획득하고 처리하여, 필요하다면 현재의 TIMING_ 신호 펄스의 트레일링 에지 직후에 다음 TIMING_ 신호 펄스가 생성될 수 있도록 한다.
도 4는 도 1의 정밀 버니어(16)를 더 상세한 블록도의 형태로 예시한다. 정밀 버니어(16)는 CLOCK 신호를 수신하고, 이에 응답하여 CLOCK 신호와 동일한 위상을 가지지만 CLOCK 신호와 위상이 균등하게 분배된 17개의 주기적 "위상" 신호 PH[0] 내지 PH[16] 세트를 생성하는 지연 회로(24)를 포함한다. CLOCK 신호 및 가장 지연된 위상 신호 PH[16]은 위상 동기 제어기(26)로 입력된다. 제어기(26)는 제어 신호 VPLL을 회로(24)의 지연을 조정하는 지연 회로(12)에 공급하여, PH[0] 및 PH[16] 신호를 CLOCK 신호와 위상 동기시킨다.
도 6은 CLOCK 신호와 17개의 위상 신호 PH[0] 내지 PH[16] 사이의 위상 관계를 예시한다. PH[0] 내지 PH[15]를 CLOCK과 위상 동기시키고, 각 위상 신호 PH[K](여기서 K는 1내지 16임)를 CLOCK 신호 주기의 K/16만큼 CLOCK 신호로부터 지연시킨다. 따라서 탭 신호 PH[0] 내지 PH[15]의 트레일링 에지는 CLOCK 신호의 주기를 16개의 균등하게 이격된 타임 슬롯으로 분할한다.
도 4를 다시 참조하여 설명하면, 또한 정밀 버니어(16)는 "뱅크 A" 선택기(25) 및 "뱅크 B" 선택기(27)를 포함한다. 뱅크 A 선택기(25)는 FRACT_0 데이터, ENABLE_ 신호 및 제1 뱅크의 8개의 위상 신호 PH[0] 내지 PH[7]를 수신하고, 출력 신호 OUTA를 생성한다. 뱅크 B 선택기(27)는 FRACT_0 데이터, ENABLE_ 신호 및 제2 뱅크의 8개의 위상 신호 PH[8] 내지 PH[15]를 입력으로 수신하고, 신호 OUTB를 출력한다. NOR 게이트(28)는 OUTA 및 OUTB 신호를 결합하여 TIMING_ 신호를 생성한다.
(로우로) 인가된 ENABLE_ 신호는 현재의 CLOCK 신호 사이클 동안 TIMING_ 신호 펄스가 생성될 것임을 표시한다. 4비트 FRACT_O 데이터는 단일 BANK 선택 데이터 비트 및 3비트의 PHASE 선택 데이터를 포함한다. BANK 선택 비트는 어느 뱅크 선택기(25, 27)가 다음 TIMING_ 신호 펄스의 타이밍을 제어할 것인 지를 표시한다. 3비트의 PHASE 선택 데이터는 표시된 뱅크 선택기(25, 27)가 다음 TIMING_신호 펄스의 타이밍을 제어하기 위해 8개의 입력 위상 신호 중에서 어느 신호를 사용할 것인지를 표시한다.
뱅크 선택기(25, 27)는 통상적으로 출력 신호 OUTA 및 OUTB를 로우로 유지하여, 그 결과 NOR 게이트(28)의 TIMING_ 신호 출력을 하이로 유지한다. 그러나 ENABLE_ 신호가 인가되면, BANK 비트에 의해 식별된 특정 뱅크 선택기(25, 또는 27)는 출력 신호(OUTA 또는 OUTB)를 하이로 구동하고, 다음에는 위상 신호 PH[0] 내지 PH[15](PHASE 데이터에 의해 식별됨) 중의 특정 하나의 신호가 로우로 진행된다. OUTA 및 OUTB 뱅크 출력 신호는 적당하게 CLOCK 신호 사이클의 1/5과 동일한 짧은 주기로 인가되어 유지된다. OUTA 또는 OUTB 펄스가 하이가 됨에 따라, NOR 게이트(28)는 TIMING_ 신호를 로우로 구동한다. CLOCK 사이클 신호의 1/5이후에, OUTA 또는 OUTB 펄스가 다시 로우가 됨에 따라, NOR 게이트(28)는 TIMING_ 신호를 하이로 구동한다. 따라서 TIMING_ 신호 펄스는 CLOCK 신호 사이클의 1/5의 구간을 가진다. 뱅크 선택기(25, 27)는 입력 ENABLE_, BANK, 및 PHASE 신호를 각각 샘플링한 후, CLOCK 신호의 각 사이클 동안 한번씩 이들 ENABLE_, BANK, 및 PHASE 입력 신호에 응답한다. 뱅크 A 선택기(25)가 그 입력 데이터를 샘플링하면, 출력 신호 SHIFTA가 생성된다. 이와 유사하게, 뱅크 B 선택기(27)가 입력 데이터를 샘플링하면, 출력 신호 SHIFTB가 생성된다. SHIFTA와 SHIFTB 신호, 및 BANK 및 ENABLE_ 신호는 그 입력을 논리 게이트(30-32)로 공급한다. BANK 선택 비트 및 인에이블 신호 ENABLE_은 AND 게이트(30)의 반전(inverting) 입력을 구동하고, SHIFTA 신호는 AND 게이트(30)의 비반전(non-inverting) 입력을 구동한다. ENABLE_ 신호는 AND 게이트(31)의 반전 입력을 구동하고, SHIFTB 및 BANK 선택 비트는 AND 게이트(31)의 비반전 입력을 구동한다. AND 게이트(30, 31)의 출력은 OR 게이트(32)의 입력을 구동한다. OR 게이트(32)는 SHIFT 신호를 생성한다.
FIFO 버퍼(13)가 새로운 FRACT_0 데이터를 정밀 버니어(16)로 전달하고, 카운터 뱅크(14)로부터 출력되는 ENABLE_ 출력의 제어가 다음 카운터의 카운트 종단 출력으로 시프트되면, 게이트(30-32)는 도 1의 FIFO 버퍼(13)에 공급되는 SHIFT 신호를 펄스한다. 표 1은 ENABLE_, SHIFTA, SHIFTB 및 BANK 선택 비트의 상태 조합에 응답하여 SHIFT 신호의 상태를 표시한다. 표 1에서 "1"은 참을 의미하며, "0"은 거짓(false), "X"는 참 또는 거짓 중의 하나이다.
표 1
ENABLE_ | SHIFTA_ | SHIFTB_ | BANK | SHIFT |
0 | X | X | X | 0 |
1 | X | 1 | 1 | 1 |
1 | 1 | X | 0 | 1 |
현재의 CLOCK 신호 사이클에 대한 다음 TIMING_ 신호 펄스의 위상을 정의하는 도 1의 FIFO 버퍼(13)의 FRACT_0 데이터 출력은 카운터 뱅크(14)가 ENABLE_ 신호를 인가할 때까지 변경되지 않은 상태로 남는다. 카운터 뱅크(14)는 CLOCK 신호 사이클이 시작하는 시점에 ENABLE_ 신호를 인가하여, 정밀 버니어(16)가 현재의 CLOCK 신호 사이클 동안 TIMING_신호 펄스를 생성할 것이라는 것을 표시한다. BANK 비트가 뱅크 A를 식별하고, 도 1의 카운터 뱅크(14)가 ENABLE_신호를 인가한 후에, 그리고 뱅크 A 선택기(25)가 SHIFTA 출력 신호에 의해 표시된 현재의 FRACT_0 데이터를 샘플링하고 저장한 후에, 게이트(30-32)는 SHIFT 신호를 펄스한다. BANK 비트가 뱅크 B를 식별하고, 뱅크 B 선택기(27)가 SHIFTB 출력 신호에 의해 표시되는 현재의 FRACT_0 데이터를 샘플링하고 저장한 후에, 게이트(30-32)는 SHIFT 신호를 펄스한다. SHIFT 신호는 도 1의 FIFO 버퍼(13)에게 저장된 다음 FRACT_0 데이터를 시프트하도록 지시한다. 또한 SHIFT 신호는 카운터 뱅크(14)에게 ENABLE_ 출력 제어를 다음 순차적인 카운터의 카운트 종단 출력으로 시프트하도록 지시한다. 카운터 뱅크(14)의 다음 순차적 카운터에 0보다 큰 CYCLES 데이터가 로드되고 여전히 CLOCK 펄스를 카운트 다운하는 경우, ENABLE_ 신호는 카운터 단자를 카운트할 때까지 하이로 남는다. 카운터에 0과 동일한 CYCLES 값이 로드되거나 또는 카운트가 이미 0으로 카운트 다운된 경우에는, 즉시 ENABLE_ 신호가 재출력(re-assert)된다.
BANK 데이터가 뱅크 A 선택기(25)에 공급되면, PHASE 데이터는 선택기(25)에게 PH[0] 내지 PH[7] 신호 중의 하나를 선택하여 다음 OUTA 신호 펄스의 타이밍을 제어하도록 지시한다. PHASE 데이터가 PH[0] 신호를 선택하는 경우 선택기(25)가 PH[0] 신호에 응답하여 OUTA 신호를 펄스할 준비가 되도록 하기 위해, 선택기(25)는 PH[0] 천이(transition) 이전의 충분한 시간에 PHASE 데이터를 샘플링한다. 선택기(25)는 에지에 민감한(edge-sensitive) 멀티플렉서이다. 즉 선택된 위상 입력을 짧은 시간 동안에 하이 상태로 한 후, OUTA 상에서 로우 상태가 하이 상태로 천이하도록 로우 상태를 천이해야 한다.
BANK 데이터가 BANK B 선택기(27)에 공급되면, PHASE 데이터는 선택기(27)에게 PH[8] 내지 PH[15] 신호 중의 하나를 선택하여 다음 OUTB 신호 펄스의 타이밍을 제어하도록 지시한다. PHASE 데이터가 PH[8] 신호를 선택하는 경우 선택기(27)가 PH[8] 신호에 응답하여 OUTB 신호를 펄스할 준비가 되도록 하기 위해, 선택기(27)는 PH[8] 천이 이전의 충분한 시간에 PHASE 데이터를 샘플링한다. 선택기(27)는 에지에 민감한 멀티플렉서이다. 즉 선택된 위상 입력을 짧은 시간 동안에 하이로 한 후, OUTB 상에서 로우 상태를 하이 상태로 천이하기 위해 로우 상태를 천이해야 한다.
다른 경우에 선택기(25, 27)는 CLOCK 신호 주기를 기준으로 180도 이격된 시점에 입력 데이터를 샘플링하고 이들 입력 데이터에 응답한다. 따라서 뱅크 A 선택기(25)는 PHASE 및 BANK 데이터의 최종 샘플링 값에 기초하여 출력 TIMING_ 신호를 제어하기 위해 사용중(busy)일 수 있으며, 뱅크 B 선택기(27)는 미사용(free)이어서 다음 TIMING_ 신호 펄스에 대한 새로운 입력 데이터를 샘플링 및 저장하고 그 자신을 준비하고, 필요하다면 뱅크 A 선택기에 의해 생성된 펄스 직후의 다음 펄스를 생성할 수 있다. 이렇게 2개의 뱅크 선택기가 TIMING_ 신호를 교대로 제어하는 것은 리사이클 시간을 최소화하는데 도움이 되며, 이는 각 선택기가 각 펄스에 대한 새로운 타이밍 데이터를 획득하는데 필요한 시간이 리사이클 시간에 영향을 미치지 않기 때문이다.
도 5는 CLOCK, LOAD 및 TIMING_ 신호의 관계를 예시하며, 하나의 CLOCK 주기의 주요 주기로 동작하며 3개의 펄스를 가지는 TIMING_ 신호 출력을 생성하는 타이밍 신호 발생기(10)를 예시한다. 2개의 제1 TIMING_ 신호 펄스 각각은 CYCLES 값 1과 FRACT_0 값 2를 가진다. 이것은 제1 주요 주기가 시작된 후에, 제1 TIMING_ 펄스가 CLOCK 신호 주기의 1/16(즉 CYCLES=1) 및 2/16(FRACT_0= 2)에서 동시에 발생한다는 것을 의미한다. 제1 TIMING_ 신호 펄스는 "사이클 크로싱" 펄스가 될 수 있다. 제2 TIMING_ 신호 펄스는 동일하게 프로그래밍된 값(CYCLES=1, FRACT_0=2)을 사용하고, 제2 주요 주기가 시작된 후 CLOCK 신호 주기의 1/16 및 2/16에서 동시에 발생한다. 제3 TIMING_ 신호 펄스는 "자동으로" 변경되는 프로그래밍된 타이밍을 가지며, 다시 말해 CYCLES 값 0과 FRACT_0 값 10을 가진다. 제3 TIMING_ 신호는 제3 주요 주기가 시작된 후, CLOCK 신호 주기의 0/16 및 10/16에서 발생해야 한다. 2개의 제1 TIMING_ 신호 펄스가 이들 사이에서 하나의 CLOCK 신호 주기와 동일한 시간 간격을 가진다는 것에 유의해야 한다. 그러나 제2 및 제3 TIMING_ 신호 펄스 사이의 시간 간격은 하나의 CLOCK 신호 주기의 1/2과 동일하다.
도 6은 신호 발생기 동작의 일례로 도 4에서 나타나는 신호들의 관계를 예시하는데, 이 동작에서 TIMING_ 신호는 도 5에 예시된 타이밍 관계를 사용하여 프로그래밍된 시작 지점 TA, TB 및 TC에서 3개의 (네거티브-진행) 펄스를 포함하기 위한 것이다. 시점 TA에서 시작하는 TIMING_ 신호 펄스는 신호 PH[2]의 하강 에지 상의 TP2A 시점에서 시작하는 선택기(25)의 OUTA 펄스 출력에 의해 생성된다. 시점 TSA1에서, 뱅크 A 선택기(25)는 제1 TIMING_ 신호 펄스에 대한 입력 FRACT_0 및 ENABLE_ 데이터를 샘플링한다. 뱅크(14)의 제1 카운터(도 1)가 CLOCK 신호 펄스의 수를 0까지 카운트한 후에 뱅크(14)의 제1 카운터의 TC 출력이 활성화되면, 시점 TEN1에서 입력 ENABLE_ 신호는 하이에서 로우로 천이된다.
이 실시예에서는 시점 TL1에서 제1 카운터에 CYCLES 값 1이 로드된다. 획득된 ENABLE_ 데이터(선택기(25) 내의 신호 A_ENABLE)는 출력 TIMING_ 신호 펄스가 현재의 클록 사이클동안 하강 PH[0] 내지 PH[7] 신호 중의 하나의 신호에 의해 생성될 것임을 표시한다. 또한 입력 FRACT_0 데이터는 시점 TL1에서 제1 데이터 값 2로 천이된다. 획득된 FRACT_0 데이터(도 1의 A_FRACT)는 뱅크 A 선택기(25)에게 OUTA를 제어하기 위해 PH[2] 신호를 선택하도록 지시한다. OUTA가 로우이며, PH[2]가 아직 하이 상태와 로우 상태 사이에서 아직 천이되지 않았기 때문에, OUTA는 그 상태를 즉시 변경하지 않는다. 그러나 시점 TP2A에서 선택된 위상 신호 PH[2]는 로우로 진행되며, 이에 따라 OUTA는 하이 상태가 된다. OUTA 신호가 하이가 된 후에, 시점 TA에서 게이트(28)의 TIMING_ 신호 출력은 로우가 된다. 시점 TA 직후에, OUTA 신호는 뱅크 A 선택기(25) 내의 펄스 발생기의 동작에 기인하여 로우 상태로 다시 천이된다.
시점 TSA1에서, 뱅크 A 선택기(25)가 입력 FRACT_0 데이터를 획득한 후에, 선택기(25)는 SHIFTA 신호 펄스를 생성하고, 이는 게이트(30-32)가 SHIFT 신호 펄스를 생성하도록 한다. FIFO 버퍼(13)는 SHIFT 펄스에 의해 새로운 FRACT_0 데이터를 시프트한다. 또한 카운터 뱅크(14)는 SHIFT 펄스에 의해 ENABLE_ 출력을 제1 카운터의 TC 출력으로부터 제2 카운터의 TC 출력으로 시트프 제어하여, 그 결과 ENABLE_ 신호를 로우 상태에서 하이 상태로 다시 천이한다. 제2 카운터의 TC 출력은 시점 TL2에서 외부 제어기로부터의 제2 CYCLES 값으로 미리 로드된다. 이 실시예에서, 제2 CYCLES 값은 0이다. 시점 TEN2에서 카운터 뱅크(14)의 제2 카운터는 카운트 종단에 도달하며, ENABLE_ 출력은 시점 TEN2에서 하이에서 로우로 천이된다. 시점 TSA2에서, PH[6] 신호의 하강 에지에 응답하여, 뱅크 A 선택기(25)는 FRACT_0 및 ENABLE_ 데이터를 샘플링한다. 이러한 FRACT_O 데이터는 FIFO 버퍼(13)에 로드된 제2 데이터 값이다. 시점 TS1 직후에 FIFO 버퍼(13)로부터의 FRACT_0 출력은 제1 데이터 로드 값에서 제2 데이터 로드 값으로 변환된다. 획득된 ENABLE_ 데이터(선택기 내의 신호 A_ENABLE)는 선택기(25)에게 다른 TIMING_ 신호 펄스가 현재의 클록 사이클동안 하강 PH[0] 내지 PH[7] 신호 중의 하나의 신호에 의해 생성될 것이라는 것을 통지한다. 획득된 FRACT_0 데이터(도 6의 A_FRACT)는 선택기(25)에게 TIMING_ 신호 펄스가 PH[2] 신호에 의해 다시 제어될 것임을 통지한다. 또한 시간 TSA2에서, 뱅크 A 선택기가 현재의 FRACT_0 및 ENABLE_ 데이터를 샘플링하는 경우, SHIFTA 신호가 펄스되며, 이에 의해 게이트(30-32)는 SHIFT 신호를 펄스한다. SHIFT 신호의 제2 펄스는 시점 TS2에서 발생한다. 이러한 SHIFT 신호는 도 1의 FIFO 버퍼(13)에게 새로운 FRACT_0 데이터를 시프트하도록 지시한다. 도 6에서는 FRACT_0 데이터가 시점 TS2와 TREF3 사이에서 제2 값에서 제3 값으로 천이한다는 것에 유의해야 한다. 또한 시점 TS2에서 발생하는 SHIFT 펄스에 의해 카운터 뱅크(14)는 ENABLE_ 출력을 제2 카운터의 TC 출력으로부터 제3 카운터의 TC 출력으로 시프트 제어한다. 이 실시예에서의 제3 CYCLES 값은 0이다. 따라서 시점 TS2에서 카운터 뱅크(14) 내의 제3 카운터는 이미 활성 상태가 된 TC 출력을 가지고 있으며, 따라서 카운터 뱅크(14)로부터의 ENABLE_ 신호는 여전히 로우 상태를 유지한다. 시점 TP2B(시점 TSA2에서 제2 활성 ENABLE_ 신호가 선택기(25)에 의해 샘플링된 후)에서, 선택된 위상 신호 PH[2]가 로우 상태로 천이되며, 이에 따라 OUTA는 두 번째로 하이 상태가 된다. OUTA 신호가 하이 상태가 된 후, 게이트(28)의 TIMING_ 신호 출력은 시점 TB에서 로우 상태가 된다. 시점 TB 직후에, OUTA 신호는 뱅크 A 선택기(25) 내의 펄스 발생기의 동작에 의해 로우 상태로 다시 천이된다. 시점 TA에서의 제1 TIMING_ 신호 펄스의 시작과 시점 TB에서의 제2 TIMING_ 신호 펄스의 시작 사이에서의 시간 구간에 유의해야 한다. 시점 TA 및 TB 사이에는 정확하게 하나의 클록 사이클만큼의 간격이 있다. LOAD 신호가 각각의 CLOCK 신호 사이클마다 한번씩 펄스하기 때문에, 이러한 실시예에서의 주요 주기는 CLOCK 신호의 주기와 동일하다. 제1 및 제2 TIMING_신호 펄스에서의 CYCLES 값은 1이다. 제1 및 제2 TIMING_신호 펄스에서의 FRACT_0 데이터는 2이다. 2개의 제1 TIMING_ 신호 펄스에 대한 FRACT_0 데이터 2와 결합된 2개의 제1 TIMING_ 펄스에서의 CYCLES 값 1은 TA가 시점 TREF1 이후에 클록 사이클의 1/16(CYCLES는 0과 동일함)과 2/16(FRACT_은 2와 동일함)에서 동시에 발생해야 한다는 것을 표시한다. 시점 TREF1은 제1 주요 주기의 시작을 표시한다. 또한 이 실시예에서 시점 TB는 시점 TREF2에서 발생한 제2 주요 주기가 시작된 후에 클록 사이클의 1/16과 2/16에서 동시에 발생하도록 설정되어 있다. 시점 TSB에서, PH[14] 신호의 하강 에지에 응답하여, 뱅크 B 선택기(27)는 FRACT_0 및 ENABLE_ 데이터를 샘플링한다. 이러한 FRACT_0 데이터는 FIFO 버퍼(13)에 로드된 제3 값이며, FIFO 버퍼(13)로부터의 FRACT_0 출력은 시점 TS2 직후에 로드된 제2 값에서부터 제3 값으로 변환된다. 획득된 ENABLE_ 데이터(선택기 내의 신호 B_ENABLE_)는 선택기(27)에게 다른 TIMING_ 신호 펄스가 현재의 클록 사이클 동안 하강하는 PH[8] 내지 PH[15] 중의 하나의 신호에 의해 생성될 것이라는 것을 지시한다. 획득된 FRACT_0 데이터(도 6의 B_FRACT)는 선택기(27)에게 TIMING_ 신호 펄스가 PH[10] 신호에 의해 다시 제어될 것임을 표시한다. 또한 시점 TSB에서, 뱅크 B 선택기가 현재의 FRACT_0 및 ENABLE_ 데이터를 샘플링하면, SHIFTB 신호가 펄스되고, 이에 의해 게이트(30-32)가 SHIFT 신호를 펄스한다. SHIFT 신호의 제3 펄스는 FIFO 버퍼(13)로부터 출력된 FRACT_0 데이터가 제4 값으로 갱신되도록 한다. 또한 SHIFT 펄스는 카운터 뱅크(14) 내의 천이를 야기하여, ENABLE_ 출력의 제어가 제3 카운터의 TC 출력으로부터 다음 카운터의 TC 출력으로 변경되도록 한다. 이러한 다음 카운터는 뱅크 내의 제4 카운터가 될 수 있으며, 또는 뱅크(14) (도 1)내의 카운터에 수에 따라 사이클이 제1 카운터로 되돌아갈 수 있다. 이 실시예에서 제4 카운터는 1 이상의 CYCLES 값으로 로드되고, ENABLE_ 신호는 제3 SHIFT 펄스 이후에 로우 상태에서 하이 상태로 천이되고, 카운터는 CLOCK 신호 사이클의 적당한 수를 0 및 카운트 종단까지 카운트할 때까지 하이 상태를 유지한다.
시점 TSB 이후의 시점 TP10에서, 선택기(27)에 의해 제3 활성 ENABLE_ 신호가 샘플링되면, 선택된 위상 신호 PH[10]는 로우 상태로 천이되고, 이에 따라 OUTB 신호가 처음으로 하이 상태가 된다. OUTB 신호가 하이 상태가 된 후, 게이트(28)의 TIMING_ 신호 출력은 시점 TC에서 로우 상태가 된다. 그 직후, OUTB 신호는 뱅크 B 선택기(27) 내의 펄스 발생기의 동작에 의해 로우 상태로 다시 천이된다. 시점 TB에서의 제2 TIMING_신호 펄스의 시작과 시점 TC에서의 제3 TIMING_ 신호 펄스의 시작 사이에서의 시간 구간에 유의해야 한다. 이들 사이에는 정확하게 1/2 클록 사이클만큼의 간격이 존재한다. 도 5 및 도 6의 실시예에서 3개의 연속적인 TIMING_ 신호 펄스는 조정가능한 지연에 의해 분리되는 리딩 에지를 가지고 생성된다. 도 1의 정밀 버니어 회로(16)는 CLOCK 신호 사이클의 1/2당 1회와 같은 빈도로 리딩 에지를 가지는 TIMING_ 신호 펄스를 생성할 수 있으며, CLOCK 사이클 주기의 1/16의 해상도로 TIMING_신호 펄스의 타이밍을 조절할 수 있다.
도 7은 도 4의 뱅크 A 선택기(25)를 보다 상세하게 예시하는 블록도이다. 선택기(25)는 위상 신호 PH[0] 내지 PH[7]을 수신하고, 이러한 입력 위상 신호 중 선택된 하나의 신호를 추적(tracking)하는 출력 신호 MA_를 생성하는 멀티플렉서(40)를 포함한다. 레지스터(42)는 ENABLE_ 비트와 FRACT_O 데이터의 PHASE 및 BANK 부분을 수신하며, BANK 비트는 레지스터(42)로 입력되기 전에 인버터(44)에 의해 반전된다. PH[6] 입력 위상 신호는 인버터(46)에 의해 반전되어 레지스터(42)의 클록 입력을 구동한다. PH[6] 신호가 하이에서 로우로 천이되는 경우, 인버터(46) 출력은 로우에서 하이로 천이되어 레지스터(42)의 입력 데이터로 저장된다. 인버터(46)의 출력은 또한 펄스 발생기(49)로 입력된다. 펄스 발생기(49)는 자신의 입력이 로우에서 하이로 천이하는 것에 응답하여 자신의 SHIFTA 출력을 하이로 구동하고, 펄스 발생기(49) 내의 지연에 의한 짧은 시간이 지난 후에, 자신의 SHIFTA 출력을 다시 로우로 구동한다. 펄스 발생기(49)는 자신의 SHIFTA 출력을 도 4의 게이트(30)에 공급한다.
레지스터(42)에 저장된 샘플링된 PHASE 데이터는 멀티플렉서(40)의 선택 동작을 제어한다. 레지스터(42)에 저장된 반전된 BANK 비트는 멀티플렉서(40)의 출력 인에이블 단자를 제어한다. 저장된 BANK 비트가 참인 경우, 멀티플렉서(40)를 인에이블하고 멀티플렉서(40)의 출력 신호 MA_를 위상 신호 PH[0] 내지 PH[7] 중 선택된 하나의 신호에 의해 제어한다. 레지스터(42) 내의 BANK 비트가 거짓인 경우, 멀티플렉서(40)는 MA_를 하이로 유지한다. 멀티플렉서(40)로부터의 MA_ 출력은 펄스 발생기(47)로 공급된다. 펄스 발생기(47)는 자신의 입력이 하이에서 로우로 천이하는 것에 응답하여 자신의 PULSEA_ 출력을 로우로 구동하고, 펄스 발생기(47) 내의 지연에 의한 짧은 시간이 지난 후에, 자신의 PULSEA_ 출력을 다시 하이로 구동한다. 레지스터(42)에 저장된 ENABLE_ 비트와 펄스 발생기(47)의 PULSEA_ 출력 신호는 OUTA 신호를 생성하는 NOR 게이트(48)의 입력으로 공급된다. ENABLE_과 PULSEA_ 신호가 모두 로우인 경우, 게이트(48)는 OUTA를 하이로 구동하고, 그렇지 않은 경우 게이트(48)는 OUTA를 로우로 유지한다.
(인버터(46)를 통해 레지스터(42)의 클록을 제어하는) PH[6]의 하강 에지와 멀티플렉서(40)가 자신의 출력을 제어하기 위해 새로운 위상 신호를 선택함으로써 레지스터(42)에 저장된 데이터의 결과적인 변화에 실제로 응답하는 시간 사이에는 지연이 존재한다. 이러한 시간 지연은 인버터(46), 레지스터(42) 및 멀티플렉서(40) 본래의 스위칭 지연의 합(sum)에 의한 것이다. 클록 레지스터(42)로 입력되는 PH[6]의 하강 에지를 선택하고 인버터(46) 본래의 지연을 조절하여, 멀티플렉서(40)의 입력 신호 PH[0] 내지 PH[7] 모두가 하이에서 로우로 천이하기 훨씬 전에 멀티플렉서(40)가 동시에 스위칭하도록 선택된다. 또한 PH[6]은 PH[0] 내지 PH[7]이 하이에서 로우로 천이한 이후에 적당한 유지 시간(hold time)을 보장하도록 선택된다(도 6의 시점 TSA1을 참조한다). 이로 인해 PH[0] 내지 PH[7] 위상 신호 중 선택된 하나의 위상 신호가 하이 상태에서 로우 상태로 천이하는 경우에만 OUTA 펄스가 생성되도록 한다. 레지스터(42)가 자신의 입력 데이터를 저장한 이후, 저장된 데이터는 전체 CLOCK 신호 사이클 동안 멀티플렉서(40)의 동작을 제어한다. 클록 레지스터(42)에 입력되는 PH[6] 신호 이외에 다른 위상 신호를 선택할 수는 있으나, 멀티플렉서(40)가 정확한 시점에 스위칭하도록 하기 위해 인버터(46) 본래의 지연 및 레지스터(42)의 지연 시간을 조절해야 한다.
도 8은 도 4의 뱅크 B 선택기(27)를 보다 상세하게 예시하는 블록도이다. 선택기(27)는 위상 신호 PH[8] 내지 PH[15]를 수신하고, 이 위상 신호 중 선택된 하나의 신호를 추적하는 출력 신호 MB_를 생성하는 멀티플렉서(50)를 포함한다. 레지스터(52)는 ENABLE_ 비트와 FRACT_O 데이터의 PHASE 및 BANK 부분을 수신한다. PH[14] 입력 위상 신호는 인버터(56)에 의해 반전된다. PH[14] 신호가 하이에서 로우로 천이하는 경우, 인버터(56) 출력이 로우에서 하이로 천이되어 입력 데이터가 레지스터(52)에 저장된다. 인버터(56)의 출력은 또한 펄스 발생기(59)의 입력으로 공급된다. 펄스 발생기(59)는 자신의 입력이 로우에서 하이로 천이하는 것에 응답하여 자신의 SHIFTB 출력을 하이로 구동한다. 내부 지연에 의한 짧은 시간이 지난 후에, 펄스 발생기(59)는 자신의 SHIFTB 출력을 다시 로우로 구동한다. 펄스 발생기(59)는 도 4의 게이트(31)로 자신의 SHIFTB 출력을 공급한다. 레지스터(52)에 저장된 샘플링된 PHASE 데이터는 멀티플렉서(50)에 의해 수행되는 선택을 제어한다. 레지스터(52)에 저장된 BANK 비트는 멀티플렉서(50)의 출력 인에이블 단자로 공급된다. 저장된 BANK 비트가 참인 경우, 멀티플렉서(50)가 인에이블되고 위상 신호 PH[8] 내지 PH[15] 중 선택된 하나의 신호에 의해 MB_가 제어된다. 레지스터(52) 내의 BANK 비트가 거짓인 경우, 멀티플렉서(50)는 MB_를 하이로 유지한다. 멀티플렉서(50)로부터의 MB_ 출력은 펄스 발생기(57)로 공급된다. 펄스 발생기(57)는 자신의 입력이 하이에서 로우로 천이하는 것에 응답하여 자신의 PULSEB_ 출력을 로우로 구동한다. 내부 지연에 의한 짧은 시간이 지난 후에, 펄스 발생기(57)는 자신의 PULSEB_ 출력을 다시 하이로 구동한다. 레지스터(52)에 저장된 ENABLE_ 비트와 펄스 발생기(57)의 PULSEB_ 출력 신호는 OUTB 신호를 생성하는 NOR 게이트(58)의 입력으로 공급된다. 게이트(58)는 ENABLE_과 PULSEB_ 신호가 모두 로우인 경우에는 OUTB를 하이로 구동하고, 그렇지 않은 경우에는 OUTB를 로우로 유지한다. PH[14] 신호는 멀티플렉서(50)의 라인 선택 변경을 초기화하는데 사용된다. 도 6의 시점 TSB을 참조하여 설명하면, 이 신호는 멀티플렉서(50)의 입력 신호 PH[8] 내지 PH[15] 모두가 하이에서 로우로 천이하기 훨씬 전에 멀티플렉서(50)가 동시에 스위칭하도록 선택된다. PH[14]는 또한 PH[8] 내지 PH[15]가 하이에서 로우로 천이한 이후에 적당한 유지 시간을 보장하도록 선택된다. 따라서 PH[8] 내지 PH[15] 위상 신호 중 선택된 하나의 신호가 하이 상태에서 로우 상태로 천이하는 경우에만 OUTB 펄스가 생성된다.
도 4 및 도 7의 뱅크 A 선택기(25)는 FRACT_O 데이터 중 BANK 비트를 레지스터(42)로 공급하기 전에 이 BANK 비트를 반전시키는 반면, 도 4 및 도 8의 선택기(27)는 BANK 비트를 레지스터(52)로 공급하기 전에 반전시키지 않는다는 점에 유의해야 한다. 따라서 PHASE, BANK 및 ENABLE_ 입력 데이터가 샘플링되어 선택기(25) 및 선택기(27) 모두에 저장되더라도, 선택기(25) 또는 선택기(27) 중 하나만이 각 PHASE 및 BANK 데이터 집합 중 샘플링된 BANK 비트에 의해 인에이블된다. 따라서 선택기(25) 또는 선택기(27) 중 하나의 선택기만이 입력 PHASE 및 BANK 데이터 세트에 응답하여 출력 펄스를 생성한다.
BANK 및 ENABLE_ 비트에 의해 인에이블되는 경우, 도 4의 뱅크 A 선택기(25)는 PH[6] 신호 펄스에 응답하여 도 7의 레지스터(42)에 최근에 저장된 데이터에 기초하여 하나의 전체 CLOCK 사이클과 동일한 주기 동안에 TIMING_ 신호 펄스를 한번 생성할 수 있다. 이와 마찬가지로, 도 4의 뱅크 B 선택기(27)는 PH[14] 신호 펄스에 응답하여 도 8의 레지스터(52)에 최근에 저장된 데이터에 기초하여 하나의 전체 CLOCK 사이클과 동일한 주기 동안에 TIMING_ 신호 펄스를 한번 생성할 수 있다. 레지스터(42, 52)에 의한 데이터 습득을 시작하는 도 7 및 도 8의 PH[6]과 PH[14] 신호는 위상이 180도 다르다는 점에 유의해야 한다. 레지스터(42, 52)는 CLOCK 신호의 각 사이클 동안 입력 FRACT_O와 ENABLE_ 데이터를 각각 한번씩 샘플링하는데, 이 때 레지스터(42, 52)는 교대하여 샘플링한다. 따라서 예를 들어 선택기(25)가 오래된 FRACT_O 데이터를 습득한 이후 새로운 FRACT_O 데이터를 위해 SHIFT 신호 요구를 초기화하는 경우, 다른 선택기(27)는 1/2 CLOCK 사이클이 지날 때까지 새로운 FRACT_O 데이터를 샘플링하지 않는다. 따라서 FIFO 버퍼(13)는 새로운 FRACT_O 데이터를 타이밍 버니어로 전달하기 위해 하나의 1/2 사이클의 CLOCK 신호를 가지고, 카운터 뱅크(14)는 리사이클 시간에 영향을 미치지 않고 하나의 카운터의 TC 출력으로부터 다음의 카운터의 TC 출력으로 ENABLE_ 신호의 제어를 전달하기 위해 1/2 사이클의 CLOCK 신호를 가진다.
도 9는 도 4의 지연 회로(24) 및 위상 동기 제어기(26)를 보다 상세하게 예시한다. 지연 회로(24)는 직렬로 접속되는 17개의 동일 버퍼(64[0] 내지 64[16]) 세트로 구성된다. CLOCK 신호는 인버터(63)를 구동하고, 인버터(63)의 출력은 직렬 버퍼(64)로 공급되어 제1 버퍼(64[0])의 입력을 구동한다. 따라서, CLOCK 신호 펄스는 직렬 버퍼(64) 각각을 통해 전파됨으로써 위상 분배형 탭 신호 PH[0] 내지 PH[15]를 해당 버퍼 출력으로 생성한다. 탭 신호 PH[0] 내지 PH[15]는 도 4의 뱅크 A 선택기(25) 및 뱅크 B 선택기(27)로 전송된다. 탭 신호 PH[16]은 도 4의 위상 동기 제어기(26)로 전송된다. 위상 동기 제어기(26)는 PH[0] 신호에 의해 클록 제어되고 자신의 D 입력단에서 탭 신호 PH[16]을 수신하는 D형 플립 플롭(flip-flop; 66)을 포함한다. 저역 필터(low pass filter; 68)는 플립 플롭(66)의 /Q 출력을 필터링하며, VPLL 신호를 생성하는 증폭기(70)를 구동하기 위한 출력으로 사용된다. VPLL 신호는 버퍼(64)의 사용가능한 스위칭 전류를 제어한다. VPLL의 진폭에 의해 버퍼(64)의 스위칭 속도를 제어하고 따라서 버퍼(64)의 신호 지연을 제어한다. 탭 신호 PH[16]이 PH[0]에 비해 뒤처지는(또는 앞서는) 경우, VPLL의 진폭이 증가(또는 감소)되어, 버퍼(64)의 스위칭 속도를 증가(또는 감소)시켜 PH[16]과 PH[0]의 위상을 동상이 되도록 한다. 따라서 탭 신호 PH[0] 내지 PH[15]는 고르게 분배되어 CLOCK 신호 주기를 16개의 균등한 세그먼트(segment)로 분할하는 리딩 또는 트레일링 에지와 동상이다. 전술한 명세서에서는 본 발명의 바람직한 실시예에 대하여 기술하고 있지만, 당업자는 본 발명의 범위를 벗어나지 않고 실시예를 변경할 수 있음을 알 수 있다. 예를 들어 CLOCK 신호가 보다 정밀하게 분배되도록 위상 신호 PH[0] 내지 PH[15]의 수를 증가시킴으로써, 타이밍 신호 발생기(10)의 해상도를 개선할 수 있다. 예를 들어 지연 회로(24)에 의해 공급되는 탭 신호의 수를 16에서 32로 2배 증가시킴으로써, 타이밍 해상도를 2배로 증가할 수 있다. 동시에 멀티플렉서(40, 50)는 8/1에서 16/1로 재조정되어야 하고, 3개의 PHASE 선택 비트는 보다 큰 멀티플렉서를 제어하도록 4개로 증가되어야 하며, 도 7 및 도 8의 레지스터(42, 52)의 용량은 추가 PHASE 비트를 수용하도록 증가되어야 한다. 또한 당업자는 도 9의 지연 회로(24)를 적합한 세트의 위상 분배형 출력 신호를 생성하는 전압 제어가 정확한 오실레이터(voltage controlled right oscillator) 또는 기타 장치로 대신할 수 있다. 선택기의 수도 증가할 수 있다. 따라서 첨부된 청구항은 본 발명의 진정한 범위 및 개념 내에 속하는 이러한 변경을 모두 포함기 위한 것이다.
본 발명에 따른 타이밍 신호 발생기는 출력 타이밍 신호의 연속적인 펄스를 조정가능하게 타이밍한다.
또한 본 발명의 타이밍 신호 발생기는 집적 회로의 과도 공간을 요구하지 않고 정확하게 타이밍된 출력 신호 펄스를 제공한다.
Claims (12)
- 주기적 입력 클록 신호에 응답하여, 입력 데이터에 따라 출력 타이밍 신호의 연속적인 각각의 펄스를 개별적으로 타이밍하기 위한 장치에 있어서,클록 신호를 수신하고, 상기 클록 신호와 주파수 동기되고 위상 분배된 복수의 주기적 위상 신호를 생성하는 수단;상기 입력 데이터, 및 상기 위상 신호의 제1 부분을 수신하고, 상기 클록 신호의 각 주기 동안에 입력 데이터를 샘플링하며, 제1 출력 신호를 생성하는 제1 선택기 수단;상기 입력 데이터, 및 상기 위상 신호의 제2 부분을 수신하고, 상기 클록 신호의 각 주기 동안에 입력 데이터를 샘플링―여기서 샘플링된 입력 데이터는 상기 제1 및 제2 선택기 수단 중의 하나가 상기 위상 신호 중의 하나의 신호의 정의된 상태 변화, 즉 하이 상태에서 로우 상태로의 천이에 응답하여 상기 제1 출력 신호 또는 제2 출력 신호의 출력 펄스를 초기화하도록 함―하며, 제2 출력 신호를 생성하는 제2 선택기 수단; 및상기 출력 타이밍 신호를 생성하도록 상기 제1 및 제2 출력 신호를 결합하는 수단을 포함하는 타이밍 장치.
- 제1항에 있어서,상기 제1 및 제2 선택기 수단이 상기 클록 신호의 각 주기 동안에 실질적으로 서로 다른 시점에 입력 데이터를 샘플링하는 타이밍 장치.
- 제1항에 있어서,상기 제1 선택기 수단은 상기 위상 신호의 제1 부분 모두가 정의된 상태 변화를 겪기 전에 상기 클록 신호의 각 주기 동안 제1 시점에서 상기 입력 데이터를 샘플링하며,상기 제2 선택기 수단은 상기 위상 신호의 제2 부분 모두가 정의된 상태 변화를 겪기 전에 상기 클록 신호의 각 주기 동안 제2 시점에서 상기 입력 데이터를 샘플링하는타이밍 장치.
- 입력 뱅크(BANK) 선택 데이터 및 위상(PHASE) 선택 데이터에 의해 결정되는 지연만큼 지연하여 주기적 입력 클록(CLOCK) 신호의 선택된 상태 변화―여기서 클록 신호의 상태 변화는 입력 인에이블(ENABLE) 신호에 의해 선택됨―에 이어 출력 타이밍(TIMING) 신호 펄스를 생성하는 장치에 있어서,클록 신호를 수신하고 2N개의 주기적 위상 신호 PH[0] 내지 PH[2N-1]을 생성하며, 상기 N은 정수이며, 각각은 클록 신호와 주파수 동기되어 있으며, 위상 신호는 위상이 연속적으로 균등하게 분배되어 있는 위상 신호 발생기 수단;OUTA 신호를 생성하며, 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 주기적으로 샘플링하고, 샘플링된 인에이블 신호가 출력되고 샘플링된 뱅크 선택 데이터가 제1 상태인 경우 샘플링된 위상 선택 데이터에 의해 선택된 위상 신호 PH[0] 내지 PH[N-1] 중 하나의 신호의 상태 변화 또는 천이에 응답하여 OUTA 신호를 펄스하는 제1 선택기 수단;OUTB 신호를 생성하며, 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 주기적으로 샘플링하고, 샘플링된 인에이블 신호가 출력되고 샘플링된 뱅크 선택 데이터가 제2 상태인 경우 샘플링된 위상 선택 데이터에 의해 선택된 위상 신호 PH[N] 내지 PH[2N-1] 중 하나의 신호의 상태 변화 또는 천이에 응답하여 OUTB 신호 펄스를 생성하는 제2 선택기 수단; 및상기 타이밍 신호를 생성하도록 상기 OUTA 및 OUTB 신호를 결합하는 논리 수단을 포함하는 출력 타이밍 신호 펄스 생성 장치.
- 제4항에 있어서,상기 제1 선택기 수단은 상기 클록 신호의 각 사이클 동안 제1 시점에서 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 샘플링하며,상기 제2 선택기 수단은 상기 클록 신호의 각 사이클 동안 제2 시점에서 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 샘플링하고,상기 제1 및 제2 시점은 실질적으로 서로 다른출력 타이밍 신호 펄스 생성 장치.
- 제5항에 있어서,상기 제1 및 제2 시점이 상기 주기적 클록 신호의 1/2 주기와 실질적으로 동일한 시간만큼 분리되는 출력 타이밍 신호 펄스 생성 장치.
- 제6항에 있어서,상기 각 위상 신호는 50%의 듀티 사이클을 가지며,상기 제1 선택기 수단은 상기 모든 위상 신호 PH[0] 내지 PH[N-1]이 정의된 상태 변화를 겪는 경우 상기 클록 신호의 각 주기의 제1 부분 동안에 위상 선택 데이터를 샘플링하고,상기 제2 선택기 수단은 상기 모든 위상 신호 PH[N] 내지 PH[2N-1]이 상기 정의된 상태 변화를 겪는 경우 상기 클록 신호의 각 주기의 제2 부분 동안에 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 샘플링하는출력 타이밍 신호 펄스 생성 장치.
- 주기적 입력 클록 신호 및 클록 신호의 펄스와 비교하여 타이밍 신호 펄스가 발생하는 시간을 표시하는 입력 데이터 시퀀스―여기서 입력 데이터 시퀀스의 각 데이터 값은 타이밍(TIMING) 신호의 개별적인 펄스에 해당하고, 해당 타이밍 신호 펄스와 선행하는 직전의 타이밍 신호 펄스 사이의 시간 지연을 표시하며, 각 데이터 값은 사이클 선택 데이터, 위상 선택 데이터 및 뱅크 선택 데이터를 포함함―에 따라 타이밍되는 펄스를 가지는 출력 타이밍 신호를 생성하는 장치에 있어서,입력 데이터 시퀀스를 저장하고, 연속적인 입력 시프트 신호 펄스에 응답하여 각 데이터 값 시퀀스를 출력으로 연속적으로 생성하는 버퍼;상기 버퍼에 의해 생성된 각 데이터 값 출력에 포함된 사이클 데이터를 수신하고, 각 사이클 데이터를 수신한 후에 클록 신호의 펄스를 카운트하며, 상기 카운트가 수신된 사이클 데이터에 의해 표시된 숫자에 도달하는 경우 출력 인에이블 신호를 인가하는 카운터 수단;클록 신호를 수신하고 2N개의 주기적 위상 신호 PH[0] 내지 PH[2N-1]을 생성하며, 상기 N은 정수이며, 각각의 주파수는 클록 신호와 주파수 동기되어 있으며, 클록 신호의 하나의 사이클이 끝나면 위상이 연속적으로 균등하게 분배되어 있는 위상 신호 발생기 수단;제1 출력 신호 OUTA 신호를 생성하며, 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 주기적으로 샘플링하고, 샘플링된 인에이블 신호가 인가되고 샘플링된 뱅크 선택 데이터가 제1 상태일 때마다 샘플링된 위상 선택 데이터에 의해 표시된 위상 신호 PH[0] 내지 PH[N-1] 중 하나의 신호의 상태 변화 또는 천이에 응답하여 OUTA 신호를 펄스하는 제1 선택기 수단;제2 출력 신호 OUTB 신호를 생성하며, 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 주기적으로 샘플링하고, 샘플링된 인에이블 신호가 출력되고 샘플링된 뱅크 선택 데이터가 제2 상태인 경우 샘플링된 위상 선택 데이터에 의해 선택된 위상 신호 PH[N] 내지 PH[2N-1] 중 하나의 신호의 상태 변화 또는 천이에 응답하여 OUTB 신호 펄스를 생성하는 제2 선택기 수단; 및상기 타이밍 신호를 생성하도록 상기 OUTA 및 OUTB 신호를 결합하는 논리 수단을 포함하는 출력 타이밍 신호 생성 장치.
- 제8항에 있어서,상기 제1 선택기 수단은 상기 클록 신호의 각 사이클 동안 제1 시점에서 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 샘플링하며,상기 제2 선택기 수단은 상기 클록 신호의 각 사이클 동안 제2 시점에서 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 샘플링하고,상기 제1 및 제2 시점은 실질적으로 서로 다른출력 타이밍 신호 생성 장치.
- 제9항에 있어서,상기 제1 및 제2 시점이 상기 주기적 클록 신호의 1/2 주기와 실질적으로 동일한 시간만큼 분리되는 출력 타이밍 신호 생성 장치.
- 제10항에 있어서,상기 각 위상 신호는 50%의 듀티 사이클을 가지며,상기 제1 선택기 수단은 모든 위상 신호 PH[0] 내지 PH[N-1]이 정의된 상태 변화를 겪기 전에 상기 클록 신호의 주기의 제1 부분 동안에 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 샘플링하고,상기 제2 선택기 수단은 상기 모든 위상 신호 PH[N] 내지 PH[2N-1]이 상기 정의된 상태 변화를 겪기 전에 상기 클록 신호의 주기의 제2 부분 동안에 위상 선택 데이터, 뱅크 선택 데이터 및 인에이블 신호를 샘플링하는출력 타이밍 신호 생성 장치.
- 제11항에 있어서,상기 제1 선택기 수단이 OUTA 신호 펄스를 생성할 때마다, 그리고 상기 제2 선택기 수단이 OUTB 신호 펄스를 생성할 때마다 SHIFT 신호 펄스를 상기 버퍼에 전송하는 수단을 추가로 포함하는 출력 타이밍 신호 생성 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/782,608 US5789958A (en) | 1997-01-13 | 1997-01-13 | Apparatus for controlling timing of signal pulses |
US08/782,608 | 1997-01-13 | ||
US8/782,608 | 1997-01-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000070101A KR20000070101A (ko) | 2000-11-25 |
KR100365695B1 true KR100365695B1 (ko) | 2002-12-26 |
Family
ID=25126601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019997006323A KR100365695B1 (ko) | 1997-01-13 | 1997-11-04 | 타이밍 신호 발생기 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5789958A (ko) |
EP (1) | EP0950285B1 (ko) |
JP (1) | JP3672323B2 (ko) |
KR (1) | KR100365695B1 (ko) |
DE (1) | DE69720520T2 (ko) |
WO (1) | WO1998031099A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125157A (en) * | 1997-02-06 | 2000-09-26 | Rambus, Inc. | Delay-locked loop circuitry for clock delay adjustment |
US5854797A (en) * | 1997-08-05 | 1998-12-29 | Teradyne, Inc. | Tester with fast refire recovery time |
US5919270A (en) * | 1997-08-29 | 1999-07-06 | Credence Systems Corporation | Programmable formatter circuit for integrated circuit tester |
DE19933115A1 (de) * | 1999-07-19 | 2001-01-25 | Mannesmann Vdo Ag | Verfahren zur Modulation eines Grundtaktes für digitale Schaltungen und Taktmodulator zur Ausführung des Verfahrens |
TW567671B (en) * | 2002-10-02 | 2003-12-21 | Via Tech Inc | Method and device for generating highly accurate delay signal from multiple signal sources |
US7242233B2 (en) * | 2003-10-23 | 2007-07-10 | International Business Machines Corporation | Simplified method for limiting clock pulse width |
US8054119B2 (en) * | 2005-04-19 | 2011-11-08 | International Business Machines Corporation | System and method for on/off-chip characterization of pulse-width limiter outputs |
US7358785B2 (en) * | 2006-04-06 | 2008-04-15 | International Business Machines Corporation | Apparatus and method for extracting a maximum pulse width of a pulse width limiter |
US7557629B2 (en) * | 2007-04-26 | 2009-07-07 | Devilbiss Alan J | Pulse stream generator |
KR101138832B1 (ko) * | 2010-10-29 | 2012-05-10 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작방법 |
US11269372B2 (en) | 2018-09-07 | 2022-03-08 | Rambus Inc. | Circuit and method to set delay between two periodic signals with unknown phase relationship |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214680A (en) * | 1991-11-01 | 1993-05-25 | Hewlett-Packard Company | CMOS pseudo-NMOS programmable capacitance time vernier and method of calibration |
US5345186A (en) * | 1993-01-19 | 1994-09-06 | Credence Systems Corporation | Retriggered oscillator for jitter-free phase locked loop frequency synthesis |
US5554946A (en) * | 1994-04-08 | 1996-09-10 | International Business Machines Corporation | Timing signal generator |
-
1997
- 1997-01-13 US US08/782,608 patent/US5789958A/en not_active Expired - Fee Related
- 1997-11-04 WO PCT/US1997/020336 patent/WO1998031099A1/en active IP Right Grant
- 1997-11-04 DE DE69720520T patent/DE69720520T2/de not_active Expired - Fee Related
- 1997-11-04 JP JP53085198A patent/JP3672323B2/ja not_active Expired - Fee Related
- 1997-11-04 EP EP97949379A patent/EP0950285B1/en not_active Expired - Lifetime
- 1997-11-04 KR KR1019997006323A patent/KR100365695B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0950285B1 (en) | 2003-04-02 |
WO1998031099A1 (en) | 1998-07-16 |
EP0950285A4 (en) | 2000-05-17 |
DE69720520T2 (de) | 2004-04-29 |
JP3672323B2 (ja) | 2005-07-20 |
JP2001508615A (ja) | 2001-06-26 |
EP0950285A1 (en) | 1999-10-20 |
DE69720520D1 (de) | 2003-05-08 |
KR20000070101A (ko) | 2000-11-25 |
US5789958A (en) | 1998-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5959479A (en) | Sampling timebase system | |
US5748642A (en) | Parallel processing integrated circuit tester | |
EP0136204B1 (en) | Control of signal timing apparatus in automatic test systems using minimal memory | |
US5376849A (en) | High resolution programmable pulse generator employing controllable delay | |
KR100365695B1 (ko) | 타이밍 신호 발생기 | |
US5552733A (en) | Precise and agile timing signal generator based on a retriggered oscillator | |
DE19914986A1 (de) | Vorrichtung zum Verzögern eines Taktsignals | |
GB2348327A (en) | Clock skew removal apparatus | |
US6330197B1 (en) | System for linearizing a programmable delay circuit | |
US6084930A (en) | Triggered clock signal generator | |
US5592659A (en) | Timing signal generator | |
US4864160A (en) | Timing signal generator | |
US6842061B2 (en) | Timing generating apparatus and test apparatus | |
US5903745A (en) | Timing generator for plural reference clocks | |
JP2574194B2 (ja) | デジタル・パルス発生装置 | |
US4982387A (en) | Digital time base with differential period delay | |
EP1830363A1 (en) | Synchronization type storage device and control method thereof | |
US4270116A (en) | High speed data logical comparison device | |
US4901315A (en) | Integrated data and timing circuitry for automatic circuit tester | |
JP4866509B2 (ja) | タイミング発生器及び試験装置 | |
KR950000205Y1 (ko) | 디지탈신호 지연회로 | |
JPH03265214A (ja) | データ遅延装置 | |
JP2543514B2 (ja) | タイミング信号発生器 | |
SU1054894A1 (ru) | Многоканальный программируемый генератор импульсов | |
SU1297208A1 (ru) | Устройство формировани двух последовательностей радиоимпульсов с заданным фазовым сдвигом между заполнени ми радиоимпульсов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20081014 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |