KR101991052B1 - Realtime High Speed and High Precision Timing Generator Using FPGA SerDes Logic - Google Patents
Realtime High Speed and High Precision Timing Generator Using FPGA SerDes Logic Download PDFInfo
- Publication number
- KR101991052B1 KR101991052B1 KR1020180033284A KR20180033284A KR101991052B1 KR 101991052 B1 KR101991052 B1 KR 101991052B1 KR 1020180033284 A KR1020180033284 A KR 1020180033284A KR 20180033284 A KR20180033284 A KR 20180033284A KR 101991052 B1 KR101991052 B1 KR 101991052B1
- Authority
- KR
- South Korea
- Prior art keywords
- time
- logic
- bits
- pulse
- rate data
- 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/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Pulse Circuits (AREA)
Abstract
Description
이 발명은 고속 고정밀 타이밍 발생기에 관한 것으로서, 보다 상세하게는 FPGA 서데스(Serdes : Serializer/Deserializer) 로직을 이용하여 고정밀도를 구현할 수 있는 실시간 고속 고정밀도 타이밍 발생기에 관한 것이다.The present invention relates to a high-speed and high-precision timing generator, and more particularly, to a real-time high-speed and high-precision timing generator capable of realizing high-precision using an FPGA deserializer (Serdes: Serializer / Deserializer) logic.
시험 대상인 피시험 디바이스(DUT)에 테스트 패턴을 부여하고, 그 동작을 검사하여 양호 여부를 판정하기 위하여 시험 장치가 이용된다. 이 시험 장치는, DUT에 부여하는 테스트 패턴을 생성하는 패턴 발생기(PG)와, 테스트 패턴을 DUT에 부여하는 타이밍을 규정하는 타이밍 발생기(TG)를 포함한다. 이러한 테스트 패턴의 주기(주파수)는 테스트 레이트라고도 불리며, 시험 장치에는 실시간으로 테스트 레이트를 변경할 수 있어야 한다.A test apparatus is used to give a test pattern to a device under test (DUT) to be tested and check its operation to determine whether it is good or not. The test apparatus includes a pattern generator (PG) for generating a test pattern to be given to the DUT, and a timing generator (TG) for defining a timing for giving the test pattern to the DUT. The period (frequency) of such a test pattern is also called a test rate, and the test apparatus must be capable of changing the test rate in real time.
일반적으로 시험 장치의 테스트 레이트의 변경을 위해 실시간 타이밍 발생기를 사용한다. 이 타이밍 발생기는 장시간 단위 지연 소자인 다운 카운터와 정밀 시간 단위 지연 소자인 버니아(Vernier) 소자로 구성된다. 실시간 타이밍 발생기는 디지털 다운 카운터와 버니아 소자를 이용하여 임의의 두 펄스 사이의 시간 간격을 조절함으로써 실시간으로 테스트 레이트를 변경한다.Generally, a real-time timing generator is used to change the test rate of the test apparatus. This timing generator is composed of a down counter, which is a unit delay element for a long time, and a Vernier element, which is a precision time unit delay element. The real-time timing generator changes the test rate in real time by adjusting the time interval between any two pulses using a digital down counter and a Bernier device.
버니아 소자는 열, 전압, 잡음에 영향을 많이 받는 예민한 소자이기 때문에, 버니아 소자의 신뢰성이 있는 동작 구현을 위해 타이밍 발생기를 ASIC(Application Specific Intergrated Circuit)으로 설계하는 것이 바람직하다. 그러나, 이러한 ASIC 설계는 장시간의 개발 기간(최소 2년 이상)이 요구되는 문제점이 있다.Since the Bernier device is sensitive to heat, voltage, and noise, it is desirable to design the timing generator as an ASIC (Application Specific Integrated Circuit) for reliable operation of the Bernier device. However, such an ASIC design requires a long development period (at least 2 years).
통상적으로 FPGA(Field Programmable Gate Array)에는 로더러블(Loaderable) 디지털 다운 카운터(Digital Down Counter)와 32개의 버니아 소자가 내장된다. FPGA 내부의 동작 주파수는 400Mhz로서, 디지털 다운 카운터는 2.5ns 단위로 출력 펄스의 시간을 지연시킬 수 있고, 더 정밀한 출력 펄스의 시간 지연은 버니아 소자로 구현될 수 있다. 현재 시판중인 FPGA에 내장된 단일 버니아 소자가 지연할 수 있는 시간은 19.5ps, 39ps, 78ps 등이다. FPGA에 내장된 버니아부(32개의 버니아 소자)에 의해 지연될 수 있는 최대 시간은 '78ps(39ps 또는 19.5ps) * 32개'로서 약 2.45ns(1.25ns 또는 625ps)이다. FPGA에 내장된 32개의 버니아 소자들 중 사용되는 버니아 소자의 개수에 따라 0~2.45ns(0~1.25ns 또는 0~625ps)의 범위 내에서 펄스 출력 시간을 지연시킬 수 있다. 기존의 FPGA로 구현된 타이밍 발생부는 2.5ns 단위의 시간 지연은 디지털 다운 카운터를 이용하고, 더 정밀한 시간 지연은 78ps 지연 스펙의 버니아부를 이용한다.Typically, a field programmable gate array (FPGA) includes a loaderable digital down counter and 32 burner devices. The internal frequency of the FPGA is 400 MHz. The digital down counter can delay the output pulse time in 2.5 ns, and the more accurate output pulse time delay can be realized with the Bernier device. Current single-burner devices in FPGAs can be delayed for 19.5 ps, 39 ps, 78 ps, and so on. The maximum time that can be delayed by the Bernabeu (32 Bernie devices) embedded in the FPGA is about 2.45 ns (1.25 ns or 625 ps) as '78 ps (39 ps or 19.5 ps) * 32'. The pulse output time can be delayed from 0 to 2.45 ns (0 to 1.25 ns or 0 to 625 ps) depending on the number of Bernie devices used in the 32 built-in devices in the FPGA. In the conventional FPGA, the timing generator uses a digital down counter for a time delay of 2.5 ns, and uses a vanity block with a 78 ps delay specification for a finer time delay.
도 1은 저속 테스터(Low Speed Tester)와 번인 테스터(MBT: Monitoring Burn in Terster)에서 사용되는 FPGA로 구현된 타이밍 발생기의 구성 블록도이다.FIG. 1 is a block diagram of a timing generator implemented in an FPGA used in a low speed tester and a monitoring burn in terabyte (MBT).
이 타이밍 발생기는, 레이트 메모리(11)와, 누적기(12)와, 디지털 다운 카운터(13)와, 버니아부(Vernier)(14)로 구성된다.The timing generator includes a
레이트 메모리(11)는 64개의 24bits 레이트 데이터를 저장하고 있다가 TO_EN 신호가 인에이블될 때 하나의 레이트 데이터(Rate[23:0])를 출력한다. 이 24bits 레이트 데이터는 테스트 레이트로서, 누적기(12)와 디지털 다운 카운터(13)로 동시에 제공된다.The
디지털 다운 카운터(13)는 레이트 데이터(Rate[23:0]) 중 상위 19bits 데이터(Rate[23:5])를 기반으로 출력 펄스의 지연 시간을 산출하고, 해당 시간 지연 후 출력 단자(Q)로 펄스를 출력한다. 이를 구체적으로 설명한다. 디지털 다운 카운터(13)의 클럭단자(MCLK)로는 400Mhz 주파수(2.5ns 주기)의 클럭신호가 입력된다. 디지털 다운 카운터(13)는 상위 19bits 데이터(Rate[23:5])를 기반으로 카운터 초기값을 설정하고, MCLK단자로 하나의 클럭이 입력될 때마다 카운터값을 하나씩 차감하며, 카운터값이 0이 되면 출력 단자(Q)로 펄스를 출력한다. 따라서, 이 다운 카운터(13)의 펄스 출력 지연 시간의 단위는 2.5ns이다. 예컨대, 테스트 레이트가 6ns인 경우, 상위 19bits 데이터로부터 디지털 다운 카운터(13)의 카운터 초기값이 2로 설정되고, MCLK 단자로 하나의 클럭이 입력되면 카운터값이 1로 차감되고, 하나의 클럭이 더 입력되면 카운터값이 0으로 차감되면서 출력단자로 펄스가 출력된다. 이 MCLK 단자로 클럭이 입력되는 주기가 2.5ns이므로 펄스 출력 지연 시간 단위는 2.5ns가 된다.The
누적기(12)는 레이트 데이터(Rate[23:0]) 중 하위 5bits 레이트 데이터(Rate[4:0])를 기반으로 디지털 다운 카운터(13)에서 출력된 펄스의 미세 지연 시간을 계산하여 추가적으로 지연시킨다. 누적기(12)는 하위 5bits 레이트 데이터(Rate[4:0])를 누적하고, 누적값의 하위 5bits(Residue[4:0]) 데이터를 버니아부(14)로 전달한다. 5bits는 32개의 상태값을 가지므로 이 누적값의 하위 5bits(Resildue[4:0]) 데이터에 의해 지연 구동에 참여하는 버니아 소자 개수가 결정된다. 예를 들어, 누적값의 하위 5bits(Residue[4:0])가 '10110'인 경우, 22개의 버니아 소자가 구동되며, 이때의 지연 시간은 "78.125ps * 22개 = 1.718ns"가 된다.The
누적기(12)의 누적값이 2.5ns를 초과하면, 즉, 누적값의 6번째 비트가 1이 되면 누적기(12)의 Carry단자에서 디지털 다운 카운터(13)의 CntEn단자로 디스에이블(Disable) 신호가 출력되고, 그러면 디지털 다운 카운터(13)는 MCLK의 한 클럭 입력 시간 동안 다운 카운팅을 중지한다.When the cumulative value of the
이러한 동작이 필요한 이유에 대해, 도 2를 참조하며 레이트 데이터가 4ns인 경우를 예로 들어 설명한다. 첫 번째 레이트 데이터가 4ns인 경우, 상위 레이트 데이터로는 2.5ns를 지연시키고(1회의 다운 카운팅), 하위 레이트 데이터로는 1.5ns를 지연시켜야 한다. 따라서, 첫 번째 레이트 데이터에 대해서 TO_EN 펄스는 t0로부터 2.5ns 지연 후 출력되고, 첫 번째 Output은 TO_EN 펄스가 1.5ns 더 지연된 후 출력된다(t1).The reason why such an operation is necessary will be described with reference to FIG. 2 and an example in which the rate data is 4 ns. When the first rate data is 4 ns, the upper rate data should be delayed by 2.5 ns (down counting once) and the lower rate data should be delayed by 1.5 ns. Therefore, for the first rate data, the TO_EN pulse is output after a delay of 2.5ns from t0, and the first output is output after the TO_EN pulse is delayed by 1.5ns (t1).
첫 번째 Output이 출력되면 두 번째 레이트 데이터가 출력된다(t1). 두 번째 Output은 첫 번째 Output 출력 시점(t1)으로부터 4ns 지연(t2) 후 출력되어야 한다. 두 번째 레이트 데이터도 첫 번째 레이트 데이터와 마찬가지로, 상위 레이트 데이터로는 1회의 다운 카운터가 설정되고 하위 레이트 데이터로 1.5ns가 지연되도록 설정된다. t0 에서와 같이 MCLK 클럭의 시작 시점과 레이트 데이터 출력 시점이 일치하면 상위 레이트 데이터로 1회 다운 카운팅하고 하위 레이트 데이터로 나머지를 지연시키면 되지만, 두 번째 레이트 데이터의 경우에는 레이트 데이터 출력 시점(t1)에서 MCLK 클럭이 시작되지 않기 때문에 TO_EN 펄스를 바로 출력하면 두 번째 레이트 데이터에 대응하는 시간 지연을 얻을 수 없다. 따라서, 하위 레이트 데이터로 지연시켜야 하는 지연 시간 누적값이 2.5ns(이 경우, 1.5ns + 1.5ns = 3ns)를 초과하여, 누적값의 6번째 비트값이 1이 되면, 누적기(12)의 Carry단자에서 디지털 다운 카운터(13)의 CntEn단자로 디스에이블 신호가 출력된다. 디지털 다운 카운터(13)는 디스에이블 신호가 입력되면 한 번의 MCLK 클럭 동안 다운 카운팅을 중지하고 다음 번 MCLK 클럭에서 다운 카운팅을 계속한다.When the first output is output, the second rate data is output (t1). The second output should be output after 4ns delay (t2) from the first output output time (t1). Similarly to the first rate data, the second rate data is set such that one down counter is set for the higher rate data and 1.5 ns is delayed for the lower rate data. If the starting point of the MCLK clock coincides with the rate data outputting point as at t0, the downlink data may be down-counted once with the upper rate data and the rest may be delayed with the lower rate data. In the case of the second rate data, The MCLK clock does not start. Therefore, if the TO_EN pulse is output immediately, the time delay corresponding to the second rate data can not be obtained. Therefore, when the accumulation value of the delay time to be delayed with the lower rate data exceeds 2.5 ns (in this case, 1.5 ns + 1.5 ns = 3 ns) and the sixth bit value of the accumulated value becomes 1, The disable signal is output to the CntEn terminal of the digital down
그리고, 누적기(12)는 지연 시간 누적값의 하위 5bits(Residue[4:0]) 데이터('3ns - 2.5ns = 0.5ns'에 대응되는 값)를 버니아부(14)로 출력한다. 이 경우, 버니아부(14)에는 0.5ns에 대응되는 누적값의 하위 5bits(Residue[4:0]) 데이터가 제공되며, 두 번째 TO_EN 펄스에 대해 0.5ns의 추가 시간 지연 후 Output으로 출력된다.The
이와 같이 종래의 FPGA로 구현된 타이밍 발생기는 32개의 버니아 소자를 이용하여 78ps 단위로 시간 지연을 발생시킬 수 있다. 그러나, 최근 DUT의 메모리는 점차 고속화되고 있기 때문에, 테스트 레이트의 고속화 및 높은 정밀도가 요구된다. 그러나, FPGA 내부 동작 주파수는 400MHz로서 디지털 다운 카운터의 지연 정밀도는 2.5ns이기 때문에, 32개의 버니아 소자로 2.5ns 사이를 균일 간격으로 지연시켜야 하기 때문에 78ps 지연 정밀도의 버니아 소자를 이용할 수밖에 없으며, 좀 더 향상된 고속 및 고정밀도의 타이밍 발생기를 FPGA로 구현하는 것이 어려운 문제점이 있다.As described above, the conventional timing generator implemented in the FPGA can generate time delay in units of 78 ps using 32 Bernie elements. However, since the memory of the DUT has been increasingly speeded up recently, it is required to increase the test rate and to achieve high precision. However, since the internal operating frequency of the FPGA is 400 MHz and the delay accuracy of the digital down counter is 2.5 ns, 32 binary devices need to delay 2.5 ns at uniform intervals. Therefore, It is difficult to implement a more advanced high-speed and high-precision timing generator in an FPGA.
이 발명은 장시간 단위 지연을 위한 디지털 다운 카운터와, 정밀 시간 단위 지연을 위한 버니아 소자 사이에서, FPGA에 내장된 서데스 로직을 이용하여 중간 시간 단위 지연을 구현함으로써, 실시간으로 테스트 레이트를 변경할 수 있는 고속 및 고정밀도 타이밍 발생기를 제공함에 그 목적이 있다.This invention implements an intermediate time delay between the digital down counter for long unit delays and the burner device for precision time unit delays using the embedded logic in the FPGA to change the test rate in real time A high-speed and high-precision timing generator.
상술한 목적을 달성하기 위한 이 발명에 따른 FPGA 서데스 로직을 이용한 실시간 고속 고정밀 타이밍 발생기는, 레이트 데이터를 출력하는 레이트 메모리와;According to an aspect of the present invention, there is provided a real-time high-speed and high-precision timing generator using FPGA hardware, comprising: a rate memory for outputting rate data;
상기 레이트 데이터의 상위 비트들을 기반으로 장시간 단위 지연 시간을 산출하고, 상기 산출된 장시간 단위 지연 시간 후 펄스를 출력하는 디지털 다운 카운터와;A digital down counter for calculating a long time unit delay time based on upper bits of the rate data and outputting a pulse after the calculated long time unit delay time;
상기 레이트 데이터의 하위 비트들을 기반으로 중간 시간 단위 지연 시간과 정밀 시간 단위 지연 시간을 산출하는 누적기와;An accumulator for calculating an intermediate time unit delay time and precision time unit delay time based on lower bits of the rate data;
상기 디지털 다운 카운터에서 출력되는 펄스를 상기 산출된 중간 시간 단위 지연 시간만큼 지연시키는 서데스 로직과;A deserial logic for delaying a pulse output from the digital down counter by the calculated intermediate time unit delay time;
상기 서데스 로직에서 지연된 펄스를 상기 산출된 정밀 시간 단위 지연 시간만큼 지연시키는 버니아부를 포함한 것을 특징으로 한다.And a burner unit for delaying the delayed pulse in the subtitle logic by the calculated precision time unit delay time.
이 발명에 따르면 FPGA에 내장된 디지털 다운 카운터와 서데스 로직과 32개의 고정밀 버니아 소자를 이용하여 39ps 또는 19.5ps 단위로 지연 타이밍을 고정밀하게 조절할 수 있는 실시간 고속 및 고정밀 타이밍 발생기를 제공할 수 있는 잇점이 있다.According to the present invention, it is possible to provide a real-time high-speed and high-precision timing generator capable of precisely adjusting the delay timing in units of 39 ps or 19.5 ps by using a digital down-counter, There is an advantage.
도 1은 저속 테스터(Low Speed Tester)와 번인 테스터(MBT: Monitoring Burn in Terster)에서 사용되는 FPGA로 구현된 타이밍 발생기의 구성 블록도이다.
도 2는 도 1의 타이밍 발생기의 동작 타이밍도이다.
도 3은 2:1 서데스 로직의 동작을 설명하기 위한 도면이다.
도 4는 4:1 서데스 로직의 동작을 설명하기 위한 도면이다.
도 5는 2:1 서데스 로직을 이용한 이 발명의 한 실시예에 따른 실시간 고속 고정밀 타이밍 발생기의 구성 블록도이다.
도 6은 4:1 서데스 로직을 이용한 이 발명의 다른 실시예에 따른 실시간 고속 고정밀 타이밍 발생기의 구성 블록도이다.FIG. 1 is a block diagram of a timing generator implemented in an FPGA used in a low speed tester and a monitoring burn in terabyte (MBT).
2 is an operation timing diagram of the timing generator of FIG.
3 is a diagram for explaining the operation of 2: 1 subsidiary logic.
4 is a diagram for explaining the operation of the 4: 1 subsidiary logic.
FIG. 5 is a block diagram of a real-time high-speed and high-precision timing generator according to an embodiment of the present invention using a 2: 1 subsidiary logic.
FIG. 6 is a block diagram of a real-time high-speed and high-precision timing generator according to another embodiment of the present invention using 4: 1 subsidiary logic.
이하, 이 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 이 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 이 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 또한, 후술되는 용어들은 이 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로, 그 정의는 이 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the terms described below are defined in consideration of the functions of the present invention, and this may vary depending on the intention of the user, the operator, or the custom. Therefore, the definition should be based on the contents throughout this specification.
도 3은 이 발명에서 사용되는 2:1 서데스 로직(31)의 동작을 설명하기 위한 도면이다. 서데스 로직에는 800Mhz 클럭과 200Mhz 클럭이 입력된다. 입력단자 D0이 'high'이고 D1이 'low'일 경우, En 단자가 액티브 'high'로 인에이블되면, 시간 지연없이 0ns에서 바로 625ps 폭의 펄스가 출력된다(① 펄스). 입력단자 D0이 'low'이고 입력단자 D1이 'high'일 경우, En 단자가 인에이블되면, 1.27ns 지연 후 625ps 폭의 펄스가 출력된다(② 펄스).3 is a diagram for explaining the operation of the 2: 1
도 4는 이 발명에서 사용되는 4:1 서데스 로직(41)의 동작을 설명하기 위한 도면이다. 이 4:1 서데스 로직은 4개의 입력단자(D0, D1, D2, D3)의 high/low 조합에 따라 En 단자가 인에이블 되는 순간(D0(High), D1(Low), D2(Low), D3(Low))(① 펄스), 또는 En 단자가 인에이블되고 625ps 지연 후(D0(Low), D1(High), D2(Low), D3(Low))(② 펄스), 또는 En 단자가 인에이블되고 1.25ns 지연 후(D0(Low), D1(Low), D2(High), D3(Low))(③ 펄스), 또는 En 단자가 인에이블되고 1.875ns 지연 후(D0(Low), D1(Low), D2(Low), D3(High))(④ 펄스), 625ps 폭의 펄스가 출력단자(Q)로 출력된다. 4 is a diagram for explaining the operation of the 4: 1
도 5는 2:1 서데스 로직을 이용한 이 발명의 한 실시예에 따른 실시간 고속 고정밀 타이밍 발생기의 구성 블록도이다.FIG. 5 is a block diagram of a real-time high-speed and high-precision timing generator according to an embodiment of the present invention using a 2: 1 subsidiary logic.
이 발명에 따른 타이밍 발생기는, 레이트 데이터를 출력하는 레이트 메모리(51)와, 상기 레이트 데이터의 상위 비트들을 기반으로 장시간 단위 지연 시간을 산출하고 상기 산출된 장시간 단위 지연 시간 후 펄스를 출력하는 디지털 다운 카운터(53)와, 상기 레이트 데이터의 하위 비트들을 기반으로 중간 시간 단위 지연 시간과 정밀 시간 단위 지연 시간을 산출하는 누적기(52)와, 상기 디지털 다운 카운터(53)에서 출력되는 펄스를 상기 산출된 중간 시간 단위 지연 시간만큼 지연시키는 서데스 로직(55)과, 상기 서데스 로직(55)에서 지연된 펄스를 상기 산출된 정밀 시간 단위 지연 시간만큼 지연시키는 버니아부(56)와, 상기 중간 시간 단위 지연 시간에 따라 상기 서데스 로직의 입력단자들로 '하이' 또는 '로우' 신호를 출력하는 서데스 제어부(54)를 포함한다.The timing generator according to the present invention includes a
레이트 메모리(51)는 64개의 24bits 레이트 데이터를 저장하고 있다가 TO_EN 신호가 인에이블될 때 하나의 레이트 데이터(Rate[23:0])를 출력한다. 이 24bits 레이트 데이터는 테스트 레이트로서, 누적기(52)와 디지털 다운 카운터(53)로 동시에 제공된다. 도 1의 레이트 메모리(11)에는 78ps 정밀도의 레이트 데이터가 저장되나, 도 5의 레이트 메모리(51)에는 39ps 정밀도의 레이트 데이터가 저장된다.The
디지털 다운 카운터(53)는 레이트 데이터(Rate[23:0]) 중 상위 18bits 레이트 데이터(Rate[23:6])를 기반으로 출력 펄스의 장시간(2.5ns) 단위 지연 시간을 산출하고, 해당 시간 지연 후 출력 단자(Q)로 펄스를 출력한다. 디지털 다운 카운터(53)는 도 1의 디지털 다운 카운터(13)와 동일하게 동작하는 바, 구체적인 설명은 생략한다.The
누적기(52)는 레이트 데이터(Rate[23:0]) 중 하위 6bits 레이트 데이터(Rate[5:0])를 기반으로 디지털 다운 카운터(53)에서 출력된 펄스의 미세 지연 시간을 계산한다. 누적기(52)는 하위 6bits 레이트 데이터(Rate[5:0])를 누적하고, 누적값의 하위 6bits(Residue[5:0]) 데이터를 서데스제어부(54)로 전달한다. 서데스제어부(54)는 누적값의 6번째 비트를 기반으로 서데스 로직(55)의 입력단자로 high 또는 low의 신호를 출력하고, 누적값의 하위 5bits 데이터를 버니아부(56)로 전달한다.The
즉, 서데스제어부(54)는 누적값의 6번째 비트가 0인 경우, 즉 미세 지연 시간이 0과 1.25ns 사이인 경우에는, 서데스로직(55)의 입력단자 D0/D1에 'high/low'를 출력한다. 서데스제어부(54)는 누적값의 6번째 비트가 1인 경우, 즉, 미세 지연 시간이 1.25ns와 2.5ns 사이인 경우에는 서데스로직(55)의 입력단자 D0/D1에 'low/high'를 출력한다.That is, when the sixth bit of the cumulative value is 0, that is, when the fine delay time is between 0 and 1.25 ns, the
서데스로직(55)은 입력단자 D0/D1에 'high/low'가 입력되면, 디지털 다운 카운터(53)에서 출력되는 펄스를 시간 지연없이 바로 출력한다. 서데스로직(55)은 입력단자 D0/D1에 'low/high'가 입력되면, 디지털 다운 카운터(53)에서 출력되는 펄스를 1.25ns 시간 지연시킨 후 출력한다.When the 'high / low' signal is input to the input terminal D0 / D1, the
한편, 버니아부(56)로 전달된 누적값의 하위 5bits(Resildue[4:0]) 데이터를 기반으로 버니아부(56)를 구성하는 32개의 버니아 소자들 중 지연 구동에 참여하는 버니아 소자 개수가 결정된다. 개별 버니아 소자는 정밀 시간(약 39ps) 단위로 시간을 지연시킬 수 있다. 39ps 정밀도의 버니아 소자로 구성된 버니아부(56)에서 지연 최대 시간은 1.25ns이다. On the other hand, based on the lower 5 bits (Resildue [4: 0]) data of the cumulative value transferred to the
이 발명에서는, 디지털 다운 카운터로 장시간(2.5ns) 단위 지연을 수행하고, 서데스 로직으로 중간 시간(1.25ns) 단위 지연을 수행하며, 버니아소자로 정밀 시간(39ps) 단위 지연을 수행함으로써, 타이밍 발생기의 정밀도를 39ps 단위의 고정밀도로 구현할 수 있다.In the present invention, by performing a delay of a long time (2.5 ns) with a digital down counter, performing a delay of an intermediate time (1.25 ns) with a dead-time logic, The precision of the generator can be realized with high precision of 39 ps.
누적기(52)의 누적값이 2.5ns를 초과하면, 즉, 누적값의 7번째 비트가 1이 되면 누적기(52)의 Carry단자에서 디지털 다운 카운터(53)의 CntEn단자로 디스에이블(Disable) 신호가 출력되고, 그러면 디지털 다운 카운터(53)는 MCLK의 한 클럭 입력 시간 동안 다운 카운팅을 중지한다. 디지털 다운 카운터가 한 클럭동안 다운 카운팅을 중지하는 이유는 앞서 도 1에서 설명한 바와 동일한 바, 여기에서는 자세한 설명은 생략한다.When the cumulative value of the
도 6은 4:1 서데스 로직을 이용한 이 발명의 다른 실시예에 따른 실시간 고속 고정밀 타이밍 발생기의 구성 블록도이다.FIG. 6 is a block diagram of a real-time high-speed and high-precision timing generator according to another embodiment of the present invention using 4: 1 subsidiary logic.
이 발명에 따른 타이밍 발생기는, 레이트 메모리(61)와, 누적기(62)와, 디지털 다운 카운터(63)와, 서데스 제어부(64), 서데스 로직(65), 및 버니아부(Vernier)(66)로 구성된다.The timing generator according to the present invention includes a
레이트 메모리(61)는 64개의 24bits 레이트 데이터를 저장하고 있다가 TO_EN 신호가 인에이블될 때 하나의 레이트 데이터(Rate[23:0])를 출력한다. 이 24bits 레이트 데이터는 테스트 레이트로서, 누적기(62)와 디지털 다운 카운터(63)로 동시에 제공된다. 도 1의 레이트 메모리(11)에는 78ps 정밀도의 레이트 데이터가 저장되나, 도 6의 레이트 메모리(61)에는 19.5ps 정밀도의 레이트 데이터가 저장된다.The
디지털 다운 카운터(63)는 레이트 데이터(Rate[23:0]) 중 상위 17bits 레이트 데이터(Rate[23:7])를 기반으로 출력 펄스의 장시간(2.5ns) 단위의 지연 시간을 산출하고, 해당 시간 지연 후 출력 단자(Q)로 펄스를 출력한다. 디지털 다운 카운터(63)는 도 1의 디지털 다운 카운터(63)와 동일하게 동작하는 바, 구체적인 설명은 생략한다.The
누적기(62)는 레이트 데이터(Rate[23:0]) 중 하위 7bits 레이트 데이터(Rate[6:0])를 기반으로 디지털 다운 카운터(63)에서 출력된 펄스의 미세 지연 시간을 계산한다. 누적기(62)는 하위 7bits 레이트 데이터(Rate[6:0])를 누적하고, 누적값의 하위 7bits(Residue[6:0]) 데이터를 서데스제어부(64)로 전달한다. 서데스제어부(64)는 누적값의 상위 2bits 데이터를 기반으로 서데스 로직(65)의 입력단자로 high 또는 low의 신호를 출력하고, 누적값의 하위 5bits(Residue[4:0]) 데이터를 버니아부(66)로 전달한다.The
즉, 서데스제어부(64)는 누적값의 상위 2bits가 '00'인 경우, 즉 미세 지연 시간이 0과 0.625ns 사이인 경우에는, 서데스로직(65)의 입력단자 D0/D1/D2/D3에 'high/low/low/low'를 출력한다. 서데스제어부(64)는 누적값의 상위 2bits가 '01'인 경우, 즉 미세 지연 시간이 0.625ns과 1.25ns 사이인 경우에는, 서데스로직(65)의 입력단자 D0/D1/D2/D3에 'low/high/low/low'를 출력한다. 서데스제어부(64)는 누적값의 상위 2bits가 '10'인 경우, 즉 미세 지연 시간이 1.25ns과 1.875ns 사이인 경우에는, 서데스로직(65)의 입력단자 D0/D1/D2/D3에 'low/low/high/low'를 출력한다. 서데스제어부(64)는 누적값의 상위 2bits가 '11'인 경우, 즉 미세 지연 시간이 1.875ns과 2.5ns 사이인 경우에는, 서데스로직(65)의 입력단자 D0/D1/D2/D3에 'low/low/low/high'를 출력한다. That is, when the upper 2 bits of the accumulation value is '00', that is, when the fine delay time is between 0 and 0.625 ns, the
서데스로직(65)은 입력단자 D0/D1/D2/D3에 'high/low/low/low'가 입력되면, 디지털 다운 카운터(63)에서 출력되는 펄스를 시간 지연없이 바로 출력한다. 서데스로직(65)은 입력단자 D0/D1/D2/D3에 'low/high/low/low'가 입력되면, 디지털 다운 카운터(63)에서 출력되는 펄스를 0.625ns 시간 지연시킨 후 출력한다. 서데스로직(65)은 입력단자 D0/D1/D2/D3에 'low/low/high/low'가 입력되면, 디지털 다운 카운터(63)에서 출력되는 펄스를 1.25ns 시간 지연시킨 후 출력한다. 서데스로직(65)은 입력단자 D0/D1/D2/D3에 'low/low/low/high'가 입력되면, 디지털 다운 카운터(63)에서 출력되는 펄스를 1.875ns 시간 지연시킨 후 출력한다.When the 'high / low / low / low' is input to the input terminal D0 / D1 / D2 / D3, the
한편, 버니아부(66)로 전달된 누적값의 하위 5bits(Resildue[4:0]) 데이터를 기반으로 버니아부(66)를 구성하는 32개의 버니아 소자들 중 지연 구동에 참여하는 버니아 소자 개수가 결정된다. 개별 버니아 소자는 정밀 시간(약 19.5ps) 단위로 시간을 지연시킬 수 있다. 19.5ps 정밀도의 버니아 소자로 구성된 버니아부(66)에서의 지연 최대 시간은 0.625ns이다. On the other hand, based on the lower 5 bits (Resildue [4: 0]) data of the accumulated value transferred to the
이 발명에서는, 디지털 다운 카운터로 장시간(2.5ns) 단위 지연을 수행하고, 서데스 로직으로 중간 시간(0.625ns) 단위 지연을 수행하며, 버니아소자로 정밀 시간(19.5ps) 단위 지연을 수행함으로써, 타이밍 발생기의 정밀도를 19.5ps 단위의 고정밀도로 구현할 수 있다.According to the present invention, by performing a delay of a long time (2.5 ns) with a digital down counter, performing a delay of an intermediate time (0.625 ns) with the dead logic, and performing a delay of unit time (19.5 ps) The precision of the timing generator can be realized with a high precision of 19.5 ps units.
누적기(62)의 누적값이 2.5ns를 초과하면, 즉, 누적값의 8번째 비트가 1이 되면 누적기(62)의 Carry단자에서 디지털 다운 카운터(63)의 CntEn단자로 디스에이블(Disable) 신호가 출력되고, 그러면 디지털 다운 카운터(63)는 MCLK의 한 클럭 입력 시간 동안 다운 카운팅을 중지한다. 디지털 다운 카운터가 한 클럭동안 다운 카운팅을 중지하는 이유는 앞서 도 1에서 설명한 바와 동일한 바, 여기에서는 자세한 설명은 생략한다.When the cumulative value of the
51,61 : 레이트 메모리 52,62 : 누적기
53,63 : 디지털 다운 카운터 54,64 : 서데스 제어부
55,65 : 서데스 로직 56,66 : 버니아부51, 61:
53, 63: Digital down counter 54, 64:
55,65:
Claims (7)
상기 레이트 데이터의 상위 비트들을 기반으로 클럭신호에 따른 펄스 주기인 장시간 단위 지연 시간을 산출하고, 상기 산출된 장시간 단위 지연 시간의 카운팅 후 출력 단자로 펄스를 출력하는 디지털 다운 카운터와;
상기 레이트 데이터의 상위 비트들을 제외한 나머지 하위 n(n은 양정수)개의 비트들을 누적하고, 그 누적값의 하위 n 비트들을 출력하며, 상기 누적값의 n+1 비트값에 따라 상기 디지털 다운 카운터의 카운팅이 한 클럭동안 중지되도록 하는 누적기와;
상기 누적값의 하위 n 비트들 중 적어도 하나의 상위 비트를 기반으로 산출되는 상기 펄스 주기보다 짧은 중간 시간 단위 지연 시간만큼 상기 디지털 다운 카운터에서 출력되는 펄스를 지연시키는 서데스 로직과;
상기 누적값의 하위 n 비트들 중 적어도 하나의 상위 비트를 기반으로 상기 서데스 로직의 입력단자들로 '하이' 또는 '로우' 신호를 출력하는 서데스제어부와;
상기 누적값의 하위 n 비트들 중 상기 적어도 하나의 상위 비트를 제외한 하위 비트들을 기반으로 산출되는 상기 중간 시간 단위 지연 시간보다 짧은 정밀 시간 단위 지연 시간만큼 상기 서데스 로직에서 지연된 펄스를 추가 지연시키는 버니아부를 포함한 것을 특징으로 하는 FPGA 서데스 로직을 이용한 실시간 고속 고정밀 타이밍 발생기.A rate memory for storing a plurality of rate data and outputting one rate data;
A digital down counter for calculating a long time unit delay time which is a pulse cycle according to a clock signal based on the upper bits of the rate data and outputting a pulse to an output terminal after counting the calculated long time unit delay time;
(N is a positive integer) bits excluding the upper bits of the rate data and outputs the lower n bits of the accumulated value, and counts the digital down counter according to the (n + 1) An accumulator for stopping for one clock;
A subtraction logic for delaying a pulse output from the digital down counter by an intermediate time unit delay time shorter than the pulse period calculated based on at least one higher bit among the lower n bits of the accumulation value;
A desd control unit for outputting a 'high' or 'low' signal to the input terminals of the desdus logic based on at least one higher bit among the lower n bits of the accumulation value;
Delaying the pulse delayed by the dead time logic by a precision time unit delay time shorter than the intermediate time unit delay time calculated based on lower bits of the lower n bits of the accumulation value excluding the at least one upper bit, Real-time high-speed and high-precision timing generator using FPGA's undisclosed logic.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180033284A KR101991052B1 (en) | 2018-03-22 | 2018-03-22 | Realtime High Speed and High Precision Timing Generator Using FPGA SerDes Logic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180033284A KR101991052B1 (en) | 2018-03-22 | 2018-03-22 | Realtime High Speed and High Precision Timing Generator Using FPGA SerDes Logic |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101991052B1 true KR101991052B1 (en) | 2019-06-19 |
Family
ID=67104333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180033284A KR101991052B1 (en) | 2018-03-22 | 2018-03-22 | Realtime High Speed and High Precision Timing Generator Using FPGA SerDes Logic |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101991052B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431596A (en) * | 2020-03-24 | 2020-07-17 | 中星联华科技(北京)有限公司 | Signal speed-up method and circuit |
US11003206B1 (en) | 2020-01-03 | 2021-05-11 | Rockwell Collins, Inc. | Field-programmable gate array precision input timing |
CN113835021A (en) * | 2021-09-29 | 2021-12-24 | 福建利利普光电科技有限公司 | High-precision pulse width collector based on FPGA high-speed SERDES interface and measuring method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0894725A (en) * | 1994-09-22 | 1996-04-12 | Advantest Corp | Timing generator for a plurality of reference oscillators |
JP2539600B2 (en) * | 1985-07-10 | 1996-10-02 | 株式会社アドバンテスト | Timing generator |
KR20130030838A (en) * | 2011-09-20 | 2013-03-28 | 연세대학교 산학협력단 | A signal generator and an automatic test equipment using thereof |
KR101254439B1 (en) | 2008-12-26 | 2013-04-12 | 가부시키가이샤 어드밴티스트 | Timing generator, test device, and test rate control method |
KR101285287B1 (en) | 2009-06-22 | 2013-07-11 | 가부시키가이샤 어드밴티스트 | Timing generator and tester |
KR101309182B1 (en) * | 2012-08-13 | 2013-09-23 | 주식회사 유니테스트 | Timing generation and format apparatus in large scale integrated circuit tester |
KR101429257B1 (en) | 2012-08-13 | 2014-08-12 | 주식회사 유니테스트 | Rate and timing generator in memory tester |
-
2018
- 2018-03-22 KR KR1020180033284A patent/KR101991052B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2539600B2 (en) * | 1985-07-10 | 1996-10-02 | 株式会社アドバンテスト | Timing generator |
JPH0894725A (en) * | 1994-09-22 | 1996-04-12 | Advantest Corp | Timing generator for a plurality of reference oscillators |
KR101254439B1 (en) | 2008-12-26 | 2013-04-12 | 가부시키가이샤 어드밴티스트 | Timing generator, test device, and test rate control method |
KR101285287B1 (en) | 2009-06-22 | 2013-07-11 | 가부시키가이샤 어드밴티스트 | Timing generator and tester |
KR20130030838A (en) * | 2011-09-20 | 2013-03-28 | 연세대학교 산학협력단 | A signal generator and an automatic test equipment using thereof |
KR101309182B1 (en) * | 2012-08-13 | 2013-09-23 | 주식회사 유니테스트 | Timing generation and format apparatus in large scale integrated circuit tester |
KR101429257B1 (en) | 2012-08-13 | 2014-08-12 | 주식회사 유니테스트 | Rate and timing generator in memory tester |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11003206B1 (en) | 2020-01-03 | 2021-05-11 | Rockwell Collins, Inc. | Field-programmable gate array precision input timing |
CN111431596A (en) * | 2020-03-24 | 2020-07-17 | 中星联华科技(北京)有限公司 | Signal speed-up method and circuit |
CN111431596B (en) * | 2020-03-24 | 2021-04-02 | 中星联华科技(北京)有限公司 | Signal speed-up method and circuit |
CN113835021A (en) * | 2021-09-29 | 2021-12-24 | 福建利利普光电科技有限公司 | High-precision pulse width collector based on FPGA high-speed SERDES interface and measuring method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101991052B1 (en) | Realtime High Speed and High Precision Timing Generator Using FPGA SerDes Logic | |
US2851596A (en) | Electronic counter | |
US4870665A (en) | Digital pulse generator having a programmable pulse width and a pulse repetition interval | |
US6914492B2 (en) | Digital programmable delay scheme with automatic calibration | |
US6956422B2 (en) | Generation and measurement of timing delays by digital phase error compensation | |
US7977980B2 (en) | Time-to-amplitude converter component | |
KR101184137B1 (en) | Clock transfer circuit and tester using the same | |
US9939325B2 (en) | Ratio meter of a thermal sensor | |
CN111654267B (en) | Adjustable pulse generator | |
US20040199842A1 (en) | Test system with high accuracy time measurement system | |
GB2190774A (en) | Digital time delay | |
KR100391236B1 (en) | Semiconductor device | |
CN103354448A (en) | High resolution time interval generation system based on FPGA | |
CN112558519A (en) | Digital signal delay method based on FPGA and high-precision delay chip | |
CN110658715B (en) | TDC circuit based on tap dynamic adjustable carry chain fine time interpolation delay line | |
US7884678B2 (en) | Single-pin RC oscillator | |
US6034560A (en) | Digital pulse generator | |
JPWO2007105487A1 (en) | Pulse width control signal generation circuit, power conversion control circuit, and power conversion control LSI | |
CN109257033B (en) | High-precision stepping delay system | |
Szplet et al. | Interpolating time counter with multi-edge coding | |
CN106405238B (en) | Broadband modulation domain measuring system and method thereof | |
JPH04196813A (en) | Delay circuit | |
Raisanen-Ruotsalainen et al. | A BiCMOS time-to-digital converter with time stretching interpolators | |
Szplet et al. | A 45 ps time-interval counter board with a PCI interface | |
EP1643644A1 (en) | A delay circuit with accurate time to frequency conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |