PL246000B1 - Układ wysokorozdzielczego przetwornika cyfra-czas zbudowany z użyciem bloków DSP układu programowalnego FPGA - Google Patents

Układ wysokorozdzielczego przetwornika cyfra-czas zbudowany z użyciem bloków DSP układu programowalnego FPGA Download PDF

Info

Publication number
PL246000B1
PL246000B1 PL434836A PL43483620A PL246000B1 PL 246000 B1 PL246000 B1 PL 246000B1 PL 434836 A PL434836 A PL 434836A PL 43483620 A PL43483620 A PL 43483620A PL 246000 B1 PL246000 B1 PL 246000B1
Authority
PL
Poland
Prior art keywords
input
carry
output
circuit
adder
Prior art date
Application number
PL434836A
Other languages
English (en)
Other versions
PL434836A1 (pl
Inventor
Paweł Kwiatkowski
Original Assignee
Wojskowa Akademia Techniczna Im Jaroslawa Dabrowskiego
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wojskowa Akademia Techniczna Im Jaroslawa Dabrowskiego filed Critical Wojskowa Akademia Techniczna Im Jaroslawa Dabrowskiego
Priority to PL434836A priority Critical patent/PL246000B1/pl
Publication of PL434836A1 publication Critical patent/PL434836A1/pl
Publication of PL246000B1 publication Critical patent/PL246000B1/pl

Links

Landscapes

  • Logic Circuits (AREA)
  • Complex Calculations (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

Układ przetwornika cyfra—czas, składający się z bloku DSP (1) skonfigurowanego jako sumator (2) dwóch k—bitowych sygnałów (składników sumy) dołączonych do wejść (3, 4) oraz posiada wejście przeniesienia (5) i wyjście przeniesienia (6) z układu sumatora, gdzie k—bitowe wejście (3) jest zwarte na stałe do stanu logicznego wysokiego a drugie wejście (4) jest podłączone do źródła k—bitowego sygnału cyfrowego w kodzie 1 z n (7), gdzie określa liczbę bitów sumatora (2), i jest dołączone do sumatora poprzez rejestr (8). Wejście wyzwalania (TRIG) jest jednocześnie dołączone do wyjścia START układu oraz do wejścia zegarowego rejestru (9). Wejście przeniesienia (5) jest dołączone do stanu logicznego niskiego a wyjście przeniesienia (6) jest wyjściem STOP układu i jest jednocześnie dołączone do wejścia asynchronicznego zerowania rejestru (10).

Description

Opis wynalazku
Przedmiotem wynalazku jest układ przetwornika cyfra-czas (ang. digital-to-time converter, DTC) zbudowany z użyciem dedykowanych bloków funkcjonalnych do cyfrowego przetwarzania sygnałów (ang. digital signal processing, DSP) wbudowanych w układy programowalne typu FPGA (ang. fieldprogrammable gate array). Zgłoszony wynalazek obejmuje dziedzinę wiedzy określoną jako elektronika, w tym zakresie projektowanie urządzeń do precyzyjnej metrologii czasu.
Przetworniki cyfra-czas służą do zamiany informacji podanej w postaci cyfrowej na odpowiednią długość odcinka czasu, reprezentowaną jako odległość pomiędzy zboczami sygnałów elektrycznych. Tego typu układy znajdują zastosowanie m.in. jako źródła referencyjnych odcinków czasu, elementy automatycznych systemów testujących, dedykowane urządzenia do eksperymentów fizycznych i technik kwantowych, elementy synchronizujące oraz opóźniające.
Najprostsza cyfrowa metoda generacji odcinka czasu (metoda licznikowa) polega na wytworzeniu impulsu start i jednoczesnym uruchomieniu licznika binarnego oraz wytworzeniu impulsu stop gdy licznik zliczy określoną liczbę okresów sygnału zegarowego. Rozdzielczość generacji jest jednak w tym wypadku ograniczona do okresu sygnału zegarowego. Wyższą rozdzielczość można uzyskać stosując metodę licznikową z manipulacją częstotliwości (J. Kalisz, A. Poniecki, K. Różyc, „A simple, precise, and low jitter delay/gate generato”, Review of Scientfic Instruments, vol. 74, 3507, 2003) lub manipulacją fazy (P. Kwiatkowski, Z. Jachna, K. Różyc, J. Kalisz, „Accurate and low jitter time-interval generators based on phase shifting method, Review of Scientific Instruments, vol. 83, 034701,2012). Można także zastosować dwa sygnały zegarowe, których koincydencja spowoduje wytworzenie impulsu (metoda noniusza z użyciem oscylatorów, P. Chen, P.-Y. Chen, J.-S. Lai, Y.-J. Chen, „FPGA vernier digital-to-time converter with 1.58 ps resolution and 59.3 minutes operation range”, IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 57, 5371812, 2010).
W układach scalonych do wytwarzania odcinków czasu w niewielkim zakresie, ale z bardzo wysoką rozdzielczością, stosuje się przetworniki cyfra-czas zbudowane w oparciu o programowalne linie opóźniające. Tego typu linie składają się z szeregowo połączonych elementów opóźniających. Czas odpowiedzi elementu opóźniającego od wystąpienia zmiany na wejściu do uzyskania odpowiedzi na wyjściu określa się jako czas propagacji. W układach programowalnych typu FPGA linie opóźniające można uzyskać przy użyciu elementów programowalnych bloków logicznych. W najprostszym przypadku będą to tablice przeglądowe (ang. look-up table, LUT; S. Chan „Programmable delay line using configurable logic block, U.S. patent 7,049,845, May 2006). W praktyce w takim rozwiązaniu duży wpływ na uzyskaną rozdzielczość linii mają ścieżki połączeniowe pomiędzy kolejnymi tablicami przeglądowymi. Wyższą rozdzielczość generacji można uzyskać stosując wiele linii opóźniających połączonych ze sobą na wyjściu poprzez bramkę logiczną (Y.-Y. Chen et al. „Design and Implementation of an FPGA-Based Data/Timing Formatter Journal of Electronic Testing, vol. 31, no. 5-6, 2015). Innym rozwiązaniem jest zastosowanie jako element opóźniający tzw. łańcuchów szybkich przeniesień. Są to elementy programowalnego bloku logicznego, posiadające dedykowane połączenia między sobą oraz z kolejnymi łańcuchami w sąsiednich blokach. Dzięki temu uzyskuje się szybszą propagację przeniesienia w implementowanych z ich użyciem układach arytmetycznych. Korzystając z szeregowego połączenia ze sobą wielu elementów łańcucha szybkich przeniesień uzyskuje się w układzie FPGA linię opóźniającą o możliwie wysokiej rozdzielczości. W literaturze znanych jest wiele rozwiązań przetworników cyfra-czas zbudowanych w oparciu o tego typu linie pojedyncze lub podwójne (metoda noniusza z użyciem linii opóźniających), np.: R. Giordano et al. „Digitally controlled oscillator (dco) architecture” PCT international application no. PCT/IB2015/058390, May 2016; P. Kwiatkowski, Układ generacji ciągu impulsów elektrycznych o regulowanych relacjach czasowych”, patent 423627, 28.11.2017; K. Cui, X. Liu, R. Zhu „A high-resolution programmable Vernier delay generator based on carry chains in FPGA” Review of Scientific Instruments, vol. 88, 064703, 2017.
Przytoczone przykłady rozwiązań przetworników cyfra-czas implementowane w układach FPGA mają pewne ograniczenia. Typowa metoda licznikowa charakteryzuje się niską rozdzielczością. Metoda licznikowa z manipulacją częstotliwości lub fazy wymaga użycia syntezera częstotliwości (np. w formie dedykowanego bloku funkcjonalnego do zarządzania sygnałem zegarowym w układzie FPGA), którego parametry decydują o ostatecznej rozdzielczości generacji. Metoda noniusza charakteryzuje się niską szybkością powtarzania generowanych odcinków czasu. Przesuw fazy może być także realizowany z użyciem linii opóźniających implementowanych w matrycy programowalnej układu FPGA. W przy padku linii zbudowanej z tablic przeglądowych uzyskuje się jednak niewielką rozdzielczość, a w przypadku linii zbudowanej w oparciu o łańcuch szybkich przeniesień uzyskuje się niewielki zakres generacji i zużywa znaczną liczbę zasobów logicznych układu FPGA (programowalnych bloków logicznych).
Coraz większa liczba układów FPGA jest wyposażona w dedykowane bloki funkcjonalne do cyfrowego przetwarzania sygnałów (DSP). Ich architektura jest zoptymalizowana do wykonywania operacji pomnóż-akumuluj (ang. multiply-accumulate, MAC), w szczególności posiadają one dedykowane układy sumujące i mnożące oraz rejestry do zatrzaskiwania wyników cząstkowych w celu uzyskania przetwarzania potokowego. Bloki DSP mają ograniczoną funkcjonalność w porównaniu do konfigurowalnych bloków logicznych za to pozwalają uzyskać znacznie wyższą szybkość wykonywania operacji arytmetycznych na wielobitowych danych. Korzystając z tej cechy możliwe jest opracowanie przetwornika cyfra-czas o wyższej rozdzielczości niż w przypadku klasycznego układu tego typu, zaprojektowanego z użyciem łańcucha szybkich przeniesień.
Układ według wynalazku zbudowany jest z bloku DSP układu FPGA skonfigurowanego do wykonywania operacji dodawania dwóch wielobitowych danych, gdzie jedna z danych (pierwszy składnik sumy) jest na stałe zwarta do stanu logicznego wysokiego (wartość maksymalna) a druga (drugi składnik sumy) określa w kodzie 1 z n długość wytwarzanego odcinka czasu i jest dołączona do sumatora poprzez rejestr z asynchronicznym zerowaniem. Sygnał wyzwolenia (TRIG) jest jednocześnie dołączony do rejestru, jako sygnał zegarowy, oraz wyjścia START układu przetwornika. Wyjście przeniesienia z sumatora bloku DSP jest jednocześnie dołączone do wejścia zerowania bloku DSP oraz wyjścia STOP układu przetwornika.
Działanie układu według wynalazku jest następujące. Sygnał wyzwolenia (TRIG) jest dystrybuowany jednocześnie na wyjście układu przetwornika jako sygnał START oraz stanowi sygnał zegarowy dla rejestru w bloku DSP. W chwili pojawienia się zbocza aktywnego sygnału TRIG dana wejściowa zapisana w kodzie 1 z n jest zapisywana do rejestru. Zmiana stanu wyjściowego rejestru inicjuje propagację przeniesienia w sumatorze bloku DSP, począwszy od pozycji określonej w kodzie 1 z n. Zatem im pozycja stanu wysokiego w kodzie 1 z n bliższa najmniej znaczącemu bitu tym dłuższy czas propagacji przeniesienia, a więc dłuższy odcinek czasu pomiędzy zboczami narastającymi impulsów generowanych na wyjściach START i STOP. Wystąpienie przeniesienia (stan logiczny wysoki) na wyjściu przeniesienia bloku DSP powoduje zerowanie stanu rejestru i tym samym przetwornik jest gotowy do wytworzenia kolejnego odcinka czasu. Wiele bloków DSP może być ze sobą łączonych szeregowo przy użyciu wyjścia i wejścia przeniesienia, rozszerzając w ten sposób zakres generacji przetwornika.
Zaletą wynalazku jest to, iż pozwala on uzyskać wyższą rozdzielczość oraz szerszy zakres generacji niż przetworniki cyfra-czas oparte o łańcuch szybkich przeniesień, oszczędzając jednocześnie zasoby logiczne ogólnego przeznaczenia (programowalne bloki logiczne) układu FPGA.
Istotą wynalazku jest układ przetwornika cyfra-czas składający się z bloku DSP skonfigurowanego jako sumator dwóch k- bitowych sygnałów (składników sumy) dołączonych do wejść oraz posiada wejście przeniesienia i wyjście przeniesienia z układu sumatora, gdzie k-bitowe wejście jest zwarte na stałe do stanu logicznego wysokiego a drugie wejście jest podłączone do źródła k-bitowego sygnału cyfrowego w kodzie 1 z n, gdzie n=k określa liczbę bitów sumatora i jest dołączone do sumatora poprzez rejestr. Wejście wyzwalania (TRIG) jest jednocześnie dołączone do wyjścia START układu oraz do wejścia zegarowego rejestru. Wejście przeniesienia jest dołączone do stanu logicznego niskiego a wyjście przeniesienia jest wyjściem STOP układu i jest jednocześnie dołączone do wejścia asynchronicznego zerowania rejestru.
Korzystnie, gdy układ zawiera m -bloków DSP połączonych ze sobą szeregowo poprzez wyjścia przeniesienia i wejścia przeniesienia. Sygnał wyzwolenia (TRIG) jest jednocześnie dołączony do wyjścia START układu oraz do wejść zegarowych rejestrów we wszystkich blokach DSP. Sygnał ze źródła p -bitowego sygnału cyfrowego w kodzie 1 z n, gdzie n=p=mxk, jest dołączony na k-bitowe wejścia w taki sposób, że sygnały o numerach od (i-1)x k+1 do I są dołączone do i-tego bloku DSP, gdzie i=1: m. Wejście przeniesienia pierwszego bloku DSP jest dołączone do stanu logicznego niskiego a wyjście przeniesienia m-tego bloku DSP jest wyjściem STOP układu i jest jednocześnie dołączone do wejść asynchronicznego zerowania rejestrów we wszystkich blokach DSP.
Układ według wynalazku został przedstawiony na rysunkach, z których Fig. 1 ukazuje układ z jednym blokiem DSP, a Fig. 2 przedstawia układ z dwoma blokami DSP.
Układ przetwornika cyfra-czas w korzystnym przykładzie wykonania został zaimplementowany w układzie programowalnym FPGA XC6SLX9 z rodziny Spartan-6 firmy Xilinx (technologia CMOS 45 nm) i umieszczony w generatorze odcinków czasu TIG 101.
Składał się on z 16-tu bloków DSP (1) skonfigurowanych jako sumatory (2) dwóch 48-bitowych sygnałów (składników sumy) dołączonych do wejść A:B:D (3) oraz wejść C (4) bloków DSP oraz posiadał wejście przeniesienia CARRYCASIN (5) i wyjście przeniesienia CARRYCASOUT (6) z układu sumatora, gdzie 48-bitowe wejście A:B:D (3) było zwarte na stałe do stanu logicznego wysokiego a wejście C (4) było podłączone do źródła 16*48=768-bitowego sygnału cyfrowego w kodzie 1 z n (7). Źródłem sygnału cyfrowego w kodzie 1 z n (7) był sterownik SPI (ang. Serial Peripheral Interface), pełniący jednocześnie rolę układu komunikacyjnego z zewnętrzną aplikacją sterującą zainstalowaną na komputerze. Źródło sygnału cyfrowego w kodzie 1 z n (7) było dołączone do sumatorów (2) poprzez rejestry (8). Do wejścia wyzwalania (TRIG) podłączono sygnał zegarowy o częstotliwości 25 MHz z zewnętrznego syntezera częstotliwości. Wejście wyzwalania (TRIG) było jednocześnie dołączone do wyjścia START układu oraz do wejść zegarowych rejestrów (9). Wejście przeniesienia pierwszego bloku DSP (5a) zostało dołączone do stanu logicznego niskiego a wyjście przeniesienia z 16-go bloku DSP (6) było wyjściem STOP układu i było jednocześnie dołączone do wejścia asynchronicznego zerowania rejestrów (10). Szeregowe połączenie 16-bloków DSP pozwoliło uzyskać zakres generacji 11,114 ns i rozdzielczość 14,5 ps. Jest to około 2 razy szerszy zakres generacji i 20% lepsza rozdzielczość niż w przypadku zastosowania łańcucha szybkich przeniesień w układzie FPGA tej samej rodziny (odpowiednio 5 ns i 20 ps). Pojedynczy blok DSP charakteryzował się jeszcze wyższą rozdzielczością (9,4 ps, 50% poprawa) ale krótkim zakresem generacji (440 ps).

Claims (2)

1. Układ przetwornika cyfra-czas, znamienny tym, że składa się z bloku DSP (1) skonfigurowanego jako sumator (2) dwóch k-bitowych sygnałów (składników sumy) dołączonych do wejść (3, 4) oraz posiada wejście przeniesienia (5) i wyjście przeniesienia (6) z układu sumatora, gdzie k-bitowe wejście (3) jest zwarte na stałe do stanu logicznego wysokiego a drugie wejście (4) jest podłączone do źródła k-bitowego sygnału cyfrowego w kodzie 1 z n (7), gdzie n=k określa liczbę bitów sumatora (2), i jest dołączone do sumatora poprzez rejestr (8); wejście wyzwalania (TRIG) jest jednocześnie dołączone do wyjścia START układu oraz do wejścia zegarowego rejestru (9); wejście przeniesienia (5) jest dołączone do stanu logicznego niskiego a wyjście przeniesienia (6) jest wyjściem STOP układu i jest jednocześnie dołączone do wejścia asynchronicznego zerowania rejestru (10).
2. Układ według zastrzeżenia 1 znamienny tym, że zawiera m-bloków DSP (1a, 1 b) połączonych ze sobą szeregowo poprzez wyjścia przeniesienia (6a) i wejścia przeniesienia (5b); sygnał wyzwolenia (TRIG) jest jednocześnie dołączony do wyjścia START układu oraz do wejść zegarowych rejestrów (9a, 9b) we wszystkich blokach DSP; sygnał ze źródła p -bitowego sygnału cyfrowego w kodzie 1 z n (7), gdzie n=p=mxk, jest dołączony na k-bitowe wejścia (4a, 4b) w taki sposób, że sygnały o numerach od (i- 1)xk+1 do ixk są dołączone do i-tego bloku DSP, gdzie i=1: m; wejście przeniesienia pierwszego bloku DSP (5a) jest dołączone do stanu logicznego niskiego a wyjście przeniesienia m-tego bloku DSP (6b) jest wyjściem STOP układu i jest jednocześnie dołączone do wejść asynchronicznego zerowania rejestrów (10a, 10b) we wszystkich blokach DSP (1a, 1b).
PL434836A 2020-07-29 2020-07-29 Układ wysokorozdzielczego przetwornika cyfra-czas zbudowany z użyciem bloków DSP układu programowalnego FPGA PL246000B1 (pl)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL434836A PL246000B1 (pl) 2020-07-29 2020-07-29 Układ wysokorozdzielczego przetwornika cyfra-czas zbudowany z użyciem bloków DSP układu programowalnego FPGA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PL434836A PL246000B1 (pl) 2020-07-29 2020-07-29 Układ wysokorozdzielczego przetwornika cyfra-czas zbudowany z użyciem bloków DSP układu programowalnego FPGA

Publications (2)

Publication Number Publication Date
PL434836A1 PL434836A1 (pl) 2022-01-31
PL246000B1 true PL246000B1 (pl) 2024-11-18

Family

ID=80111573

Family Applications (1)

Application Number Title Priority Date Filing Date
PL434836A PL246000B1 (pl) 2020-07-29 2020-07-29 Układ wysokorozdzielczego przetwornika cyfra-czas zbudowany z użyciem bloków DSP układu programowalnego FPGA

Country Status (1)

Country Link
PL (1) PL246000B1 (pl)

Also Published As

Publication number Publication date
PL434836A1 (pl) 2022-01-31

Similar Documents

Publication Publication Date Title
US6906562B1 (en) Counter-based clock multiplier circuits and methods
TWI641228B (zh) 時脈乘頻器的方法與裝置
US8886692B2 (en) Apparatus for generating random number
CN105656456B (zh) 一种高速高精度数字脉冲发生电路及脉冲发生方法
US6501816B1 (en) Fully programmable multimodulus prescaler
US6710637B1 (en) Non-overlap clock circuit
KR20020049387A (ko) 고속 동작이 가능하고 순차적으로 2진 카운터 순서를 갖는카운터 회로 및 그 카운팅 방법
Kwiatkowski et al. A brief review of wave union TDCs
US7236557B1 (en) Counter-based clock multiplier circuits and methods
US10530348B2 (en) Shift register utilizing latches controlled by dual non-overlapping clocks
CN116032260A (zh) 输出脉宽可调的倍频电路及芯片
US9361066B2 (en) Random number generator using ring oscillators with initial delay
PL246000B1 (pl) Układ wysokorozdzielczego przetwornika cyfra-czas zbudowany z użyciem bloków DSP układu programowalnego FPGA
CN104917497B (zh) 一种基于逻辑延时锁定的抗干扰电路及方法
Kwiatkowski et al. Time-to-digital converter with pseudo-segmented delay line
US9116764B2 (en) Balanced pseudo-random binary sequence generator
CN114204937B (zh) 一种分频器电路及频率合成器
US20090302920A1 (en) Circuit, method for receiving a signal, and use of a random event generator
US12436740B2 (en) High throughput linear feedback shift register
US20060104405A1 (en) High speed binary counter
El-Hadbi et al. Time-to-Digital Converter Based Self-Timed Ring Oscillator: An FPGA Implementation
US12301240B2 (en) Clock generator circuit, corresponding device and method
KR100300548B1 (ko) 바운싱제거회로
US10516413B2 (en) Digital-to-time converter and information processing apparatus
JPH04239819A (ja) 同期式カウンタ