Time-to-Digital Converter (TDC)는 특정입력 사이의 시간을 ns 이하의 높은 해상도로 측정하여 디지털 코드로 변환하는 장치로 계측분야, 입자(핵) 물리학분야, 의료용 영상장비분야, 통신장비분야 에서 많이 사용된다. 특히 최근에는 Field-Programmable Gate Array (FPGA)를 사용하여 TDC를 구현하는 연구가 활발히 진행 중이다. FPGA는 configurable logic blocks-array와 routing channel로 구성되어 있다. 로직의 구성, 배치가 용이하여 기존의 개별소자, ASIC을 통하여 개발하는 방식보다 비용과 시간을 줄일 수 있는 장점을 가지고 있다. 최근 FPGA를 사용하는 TDC는 dedicated carry chain을 사용한 tapped delay 방식이 주로 사용되고 있다. Tapped delay 방식은 delay cell과 flip-flop의 구조가 TDC의 성능에 주요한 영향을 끼치며, delay cell 이외의 지연 요소를 최소화하는 것이 오차를 줄일 수 있다. FPGA의 slice 내부구조에 포함되어 있는 dedicated carry chain은 외부 라우팅 없이 slice 내부의 tapped-flop의 data 입력으로 연결되어 그 구조가 tapped delay 구조에 적합하다. 또한, flip-flop의 clk 신호로 global clock line이 사용가능 하므로 routing delay와 skew를 최소화할 수 있는 장점이 있다. Tapped delay 방식의 TDC를 구현할 때 지연 소자 간의 오차가 일정하지 않으면 정밀도와 해상도 저하에 많은 영향을 끼친다. FPGA를 사용한 tapped delay TDC 방식에서도 딜레이 소자로 사용하는 dedicated carry chain은 delay width가 일정하지 않다. 원인으로는 dedicated carry chain 자체의 delay 차이와 온도, 전압변화에 의한 delay 변화 등이 있다. 그 결과 TDC의 정밀도가 dedicated carry chain delay의 variation에 의해 저하되는 현상이 발생하며 delay width가 서로 일정하지 않으므로 각 출력 구간마다 해상도와 정밀도에 영향을 끼친다. 이를 보상하기 위하여 본 논문에서는 carry chain으로 입력되는 신호를 dual edge 형태를 갖는 pulse로 입력하여 wide delay를 가지는 carry chain의 정밀도를 향상하는 방식을 제안하였다. 또한, carry chain 각각의 delay width를 측정하고 각 carry chain의 delay width를 사용하여 실제 측정 결과의 오차를 보상하는 방식으로 정밀도를 향상시켰다. FPGA는 Xilinx사의 Virtex-6를 사용하였다. 입력 시간은 coarse 측정부와 fine 측정부로 나누어 측정한다. Coarse 측정부에서 긴 시간을 측정하고, coarse 측정부에서 측정하지 못하는 2개의 미세 시간구간은 2개의 fine 측정부로 나누어 처리하였다. 2개의 fine 측정부는 f site와 b site로 구분하였으며 2개 site 모두 19개의 carry chain 으로 구성하였다. 1개의 carry chain 당 2개의 delay를 출력으로 사용하였다. Front site와 back site의 carry chain 38개의 총 delay는 각각 750 ps, 785 ps로 측정되었다. Delay 소자로 사용되는 carry chain 1개의 가장 짧은 delay는 10.8 ps, 가장 긴 delay는 50 ps로 측정되어 소자 간의 편차가 크다. Dual edge pulse 입력 방식으로 front site 의 38개 딜레이 중 21개의 wide delay와 back site 18개 wide delay의 정밀도를 높였다. 또한, carry chain의 delay를 직접 측정하여 보상하는 방식으로 오차를 보상하였다. Front site의 보상 전 오차평균은 25.76 ps이며 Max 48 ps이고 보상 후 오차평균은 6.26 ps, Max 20.26 ps이다. Back site의 보상 전 오차평균은 19.2 ps이며 Max 59.94 ps이고 보상 후 오차평균은 6.54 ps, Max 29.34 ps이다.
A time-to-digital converter(TDC) is a device to measure the time between specific inputs with less than nano-second resolution and convert it to digital code. TDCs are widely used for measurements in particle physics, medical imaging, and instrumentation systems. Recently, studies to implement TDCs using field-programmable gate arrays (FPGAs) have been actively progressing. An FPGA consists of configurable logic-block arrays and a routing channel. It has the advantage of reduced cost and time for development compared to using discrete devices and application-specific integrated circuits (ASIC). Using an FPGA, one can easily design a circuit and set required logic placement. Recently, in TDCs with an FPGA, the tapped delay type using a dedicated carry chain has been most commonly used. In the tapped delay type TDC, minimizing the difference in the delay cell can improve performance. Dedicated carry chain architecture in an FPGA is suitable for a tapped-delay TDC structure. Global clock lines are connected to each flip-flop to reduce skew. In a tapped delay type TDC, the difference between each delay element affects accuracy and resolution. Each delay time in the tapped delay type TDC with an FPGA, which uses dedicated carry chain as a delay element, is not uniform. It causes a delay mismatch in the dedicated carry chain itself. As a result, the accuracy of the TDC is deteriorated by variations in dedicated carry chain delay time. To correct for this variation in dedicated carry-chain delay, this thesis proposes a dual-edge method to improve the accuracy of a wide-delay carry chain. Additionally errors due to a delay mismatch are corrected by actually measuring each carry-chain delay width. The FPGA used in this work was a Virtex-6 from Xilinx, Inc. The TDC consists of front and back sites configured by 19 carry chains respectively. In this case, two delay outputs are used for each carry chain. The total delay times for front and back sites are measured as 750 and 785 ps, respectively. The shortest delay is 10.8 ps, and the longest delay is 50 ps. This proposed dual edge method improve timing accuracy for 21 wide delays in the front side and 18 wide delays in the back site using the dual-edge pulse input method. In addition, it corrected errors by converting a digital code to measured delay time. The average error in the front site before correction was 25.76 ps, and the maximum error was 48 ps. On the other hand, after correction, the average error was 6.26 ps, and the maximum error was 20.26 ps. The average error in the back site before correction was 19.2 ps, and the maximum error was 59.94 ps. After correction, the average error was 6.54 ps, and the maximum error was 29.34 ps.
목차
제 1 장 서 론 1제 2장 Time-to-digital converter 의 종류 42.1 Coarse time 측정부 52.2 Fine time 측정부 82.2.1 Tapped delay 방식 TDC 82.2.2 Vernier 방식 TDC 112.2.3 Pulse shrinking 방식 TDC 13제 3 장 제 3 장 FPGA를 사용한 Tapped delay 방식 TDC 153.1 FPGA 내부 구조 153.2 FPGA를 사용한 tapped delay TDC 설계 193.3 Fine, coarse 측정부 구조 203.4 Dedicated carry chain delay 시뮬레이션 25제 4 장 FPGA 사용 tapped delay방식의 정밀도 향상 274.1 Tapped delay TDC의 성능 측정 274.2 Carry chain delay width의 차이 보상 324.3 Dual edge pulse를 사용한 wide delay 구간에서의 정밀도 보상 39제 5 장 결 론 47참 고 문 헌 49