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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
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).
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) |
-
2020
- 2020-07-29 PL PL434836A patent/PL246000B1/pl unknown
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) | 同期式カウンタ |