PL225187B1 - Metastabilnościowy generator losowy - Google Patents

Metastabilnościowy generator losowy

Info

Publication number
PL225187B1
PL225187B1 PL401522A PL40152212A PL225187B1 PL 225187 B1 PL225187 B1 PL 225187B1 PL 401522 A PL401522 A PL 401522A PL 40152212 A PL40152212 A PL 40152212A PL 225187 B1 PL225187 B1 PL 225187B1
Authority
PL
Poland
Prior art keywords
inputs
flip
input
output
outputs
Prior art date
Application number
PL401522A
Other languages
English (en)
Other versions
PL401522A1 (pl
Inventor
Piotr Zbigniew Wieczorek
Krzysztof Gołofit
Original Assignee
Politechnika Warszawska
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 Politechnika Warszawska filed Critical Politechnika Warszawska
Priority to PL401522A priority Critical patent/PL225187B1/pl
Publication of PL401522A1 publication Critical patent/PL401522A1/pl
Publication of PL225187B1 publication Critical patent/PL225187B1/pl

Links

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Complex Calculations (AREA)

Description

Opis wynalazku
Przedmiotem wynalazku jest metastabilnościowy generator losowy przeznaczony zwłaszcza do generacji liczb i ciągów liczbowych prawdziwie losowych.
Znany jest w technice, np. z publikacji Carlos Tokunaga, David Blaauw, Trevor Mudge, „True Random Number Generator With a Metastability-Based Quality Control”, IEEE Journal of Solid-State Circuits, Volume: 43, Issue: 1, pp. 78-85, 2008, DOI: 10.1109/JSSC.2007.910965, metastabilnościowy generator losowy, który zawiera generator metastabilnościowych interwałów czasowych o dokładnie jednym wyjściu, do którego dołączony jest tor przetwarzania wartości logicznej oraz tor przetwarzania czasu, do którego dołączony jest tor pętli sprzężenia zwrotnego. Rolę generatora metastabilnościowych interwałów czasowych pełni multiwibrator w postaci dwóch inwerterów wzajemnie ze sobą sprzężonych tak, że wyjście pierwszego inwertera dołączone jest do wejścia drugiego inwertera, a wyjście drugiego inwertera dołączone jest do wejścia pierwszego inwertera. Multiwibrator w tym układzie pełni zarówno funkcję generatora metastabilnościowych interwałów czasowych jaki i generatora metastabilnościowych stanów. Interwały czasowe mierzone są w torze przetwarzania czasu przy pomocy dołączonego do multiwibratora detektora końca fazy autonomicznej, do którego dołączony jest układ pomiaru czasu. Długość interwałów czasowych w tym generatorze wykorzystywana jest do utrzymania układu w stanie metastabilnym. Natomiast źródłem liczb losowych są wartości logiczne.
Celem wynalazku jest wykorzystanie informacji czasowej do generacji liczb prawdziwie losowych.
Istota układu według wynalazku polega na tym, że metastabilnościowy generator losowy zawiera generator metastabilnościowych interwałów czasowych, który posiada co najmniej dwa wyjścia i ma co najmniej jeden arbiter dołączony do co najmniej dwóch wybranych wyjść generatora metastabilnościowych interwałów czasowych. Metastabilnościowy generator losowy ma do wyjść arbitrów dołączone wejścia układu wyjściowego.
Metastabilnościowy generator losowy zawiera generator metastabilnościowych interwałów czasowych, który ma co najmniej dwa multiwibratory, których wyjścia dołączone są do wyjść generatora interwałów, a wejścia dołączone są do wejść generatora interwałów. Generator metastabilnościowych interwałów czasowych ma multiwibratory, które mają pierwsze wejścia zwarte ze sobą i dołączone do pierwszego wejścia generatora interwałów. Generator metastabilnościowych interwałów czasowych ma multiwibratory, które mają drugie wejścia zwarte ze sobą i dołączone do drugiego wejścia generatora interwałów. Generator metastabilnościowych interwałów czasowych ma pomiędzy wejściami multiwibratorów a wejściami generatora interwałów włączony co najmniej jeden układ opóźniający.
Metastabilnościowy generator losowy zawiera arbiter, który ma dwa przerzutniki oraz każdy z przerzutników ma wejście danych, wejście zegarowe, wejście wymuszające i wyjście danych oraz że wejście danych pierwszego przerzutnika jest dołączone do wejścia zegarowego drugiego przerzutnika i do pierwszego wejścia arbitra, oraz że wejście danych drugiego przerzutnika jest dołączone do wejścia zegarowego pierwszego przerzutnika i do drugiego wejścia arbitra oraz że wyjścia przerzutników są wyjściami arbitra oraz że wejścia wymuszające przerzutników są dołączone do wejścia sterującego arbitra. Arbiter ma pomiędzy wejściami arbitra a wejściami danych i wejściami zegarowymi przerzutników włączony co najmniej jeden układ opóźniający. Arbiter ma wyjścia przerzutników połączone z wyjściami arbitra poprzez filtr metastabilności. Arbiter ma wyjścia przerzutników połączone z wyjściami arbitra poprzez układ korekcji losowości. Arbiter ma wyjścia filtru metastabilności połączone z wyjściami arbitra poprzez układ korekcji losowości. Arbiter ma filtr metastabilności zawierający dwa przerzutniki, każdy z przerzutników posiada wejście danych dołączone do wejść filtru, wyjście danych dołączone do wyjść filtru oraz wejścia zegarowe dołączone do drugiego wejścia sterującego arbitra. Arbiter ma układ korekcji losowości zawierający przerzutnik JK, którego wejścia dołączone są do wejść układu korekcji losowości, wyjście przerzutnika JK dołączone jest do pierwszego wyjścia układu korekcji losowości a wejście zegarowe przerzutnika JK dołączone jest do trzeciego wejścia sterującego arbitra, oraz zawierający detektor parzystości, którego wejścia dołączone są do wejść układu korekcji losowości a wyjście detektora parzystości dołączone jest do drugiego wyjścia układu korekcji losowości.
Metastabilnościowy generator losowy zawiera układ wyjściowy, który ma pary wejść, do których dołączone są pary wyjść arbitrów, oraz ma konsolidator, do którego wejść dołączone są pierwsze wejścia z par wejść, natomiast wyjście konsolidatora dołączone ma do pierwszego wyjścia układu wyjściowego. Układ wyjściowy ma kontroler, do którego dołączone są drugie wejścia z par wejść, n atomiast wyjście kontrolera dołączone jest do drugiego wyjścia układu wyjściowego.
PL 225 187 B1
Wynalazek umożliwia generację liczb i ciągów losowych na podstawie różnic pomiędzy metastabilnościowymi interwałami czasowymi.
Przedmiot wynalazku jest przedstawiony w przykładzie wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy metastabilnościowego generatora losowego zawierający generator metastabilnościowych interwałów czasowych o dwóch wyjściach i jeden arbiter, fig. 2 przedstawia schemat blokowy metastabilnościowego generatora losowego zawierający generator metastabilnościowych interwałów czasowych o pięciu wyjściach, trzy arbitry i układ wyjściowy, fig. 3 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych z wejściami bezpośrednio dołączonymi do wejść generatora interwałów, fig. 4 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych z połączonymi parami wejściami multiwibratorów, fig. 5 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych z układami opóźniającymi, fig. 6 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych z połączonymi parami wejściami multiwibratorów oraz układami opóźniającymi, fig. 7 przedstawia schemat blokowy arbitra, fig. 8 przedstawia schemat blokowy arbitra z układami opóźniającymi, fig. 9 przedstawia schemat blokowy arbitra z układami opóźniającymi i filtrem metastabilności, fig. 10 przedstawia schemat blokowy arbitra z układami opóźniającymi i układem korekcji losowości, fig. 11 przedstawia schemat blokowy arbitra z układami opóźniającymi, filtrem metastabilności i układem korekcji losowości, a fig. 12 przedstawia schemat blokowy układu wyjściowego.
Układ przedstawiony na fig. 1 zawiera generator metastabilnościowych interwałów czasowych GMIC o dwóch wyjściach Ta i Tb, do których dołączony jest jeden Arbiter A o dwóch wyjściach LL i PLL. Generator metastabilnościowych interwałów czasowych GMIC generuje dwa sygnały będące wynikiem wyjścia multiwibratorów ze stanów metastabilnych. Arbiter A pełni rolę detektora pierwszeństwa nadejścia tych sygnałów. Wartość binarna na pierwszym wyjściu LL arbitra A jest informacją o tym który sygnał nadszedł wcześniej - jednocześnie jest to wyjście binarnej liczby losowej. Wartość binarna na drugim wyjściu PLL arbitra A jest informacją o poprawności liczby losowej - to znaczy czy arbitrowi udało się prawidłowo rozstrzygnąć pierwszeństwo nadejścia sygnałów z Ta i Tb.
Układ przedstawiony na fig. 2 zawiera generator metastabilnościowych interwałów czasowych GMIC' o pięciu wyjściach T1, T2, T3, T4 i T5, do których dołączone są trzy arbitry A1, A2 i A3 w ten sposób, że pierwszy arbiter A1 dołączony jest do pierwszego wyjścia T1 i do drugiego wyjścia T2 generatora metastabilnościowych interwałów czasowych GMIC', drugi arbiter A2 dołączony jest do drugiego wyjścia T2 i do trzeciego wyjścia T3 generatora metastabilnościowych interwałów czasowych GMIC', a trzeci arbiter A3 dołączony jest do czwartego wyjścia T4 i do piątego wyjścia T5 generatora metastabilnościowych interwałów czasowych GMIC'. Każdy z arbitrów posiada parę pojedynczych wyjść. Pary pojedynczych wyjść trzech arbitrów dołączone są do trzech par pojedynczych wejść układu wyjściowego UK, który posiada dwa wyjścia LL' i PLL'. Generator metastabilnościowych interwałów czasowych GMIC generuje pięć sygnałów będących wynikiem wyjścia multiwibratorów ze stanów metastabilnych. Arbitry pełnią rolę detektorów pierwszeństwa nadejścia dwóch sygnałów, które zostały dołączone do ich wejść. Pierwsze wyjścia arbitrów są informacjami, o tym który sygnał nadszedł wcześniej - jednocześnie jest to wyjście binarnej liczby losowej. Drugie wyjścia arbitrów niosą informację o poprawności liczb losowych na pierwszych wyjściach arbitrów. Układ wyjściowy UK zbiera pojedyncze liczby losowe arbitrów i wystawia na wyjściu LL' wynik operacji na tych liczbach. Na drugim wyjściu PLL' układ wyjściowy UK wystawia informację o poprawności danych na pierwszym wyjściu. Wybór dotyczący tego, które wyjścia metastabilnościowych interwałów czasowych GMIC' będą ze sobą porównywane - czyli dołączone do arbitrów - jest właściwie dowolny, jednak w praktyce wybierane są te pary wyjść, które pozwalają uzyskać najlepsze właściwości statystyczne.
Układ przedstawiony na fig. 3 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych. Układ zawiera dwa multiwibratory w postaci przerzutników typu „D” M1A i M2A, każdy o jednym wejściu danych D1A i D2A, jednym wyjściu danych Q1A i Q2A oraz jednym wejściu zegarowym C1A i C2A. Wszystkie wejścia D1A, D2A, C1A, i C2A przerzutników M1A i M2A są bezpośrednio dołączone do wejść I1A, I2A, I3A, i I4A generatora interwałów GA, a wyjścia przerzutników Q1A i Q2A są bezpośrednio dołączone do wyjść generatora interwałów O1A, O2A.
Układ przedstawiony na fig. 4 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych. Układ zawiera dwa multiwibratory w postaci przerzutników typu „D” M1B i M2B, każdy o jednym wejściu danych D1B i D2B, jednym wyjściu danych Q1B i Q2B oraz jednym wejściu zegarowym C1B i C2B. Wejścia danych przerzutników D1B i D2B są ze sobą zwarte i dołączone do pierwszego wejścia I1B generatora interwałów GB. Wejścia zegarowe przerzutników
PL 225 187 B1
C1B i C2B są ze sobą zwarte i dołączone do drugiego wejścia generatora interwałów I2B. Wyjście danych Q1B pierwszego przerzutnika M1B jest dołączone do pierwszego wyjścia generatora interwałów O1B. Wyjście danych Q2B drugiego przerzutnika M2B jest dołączone do drugiego wyjścia generatora interwałów O2B. Zwarcie wejść danych D1B i D2B przerzutników M1B i M2B umożliwia na jednoczesne dostarczenie sygnału z wejścia I1B generatora interwałów GB do obydwu wejść danych D1B i D2B. Zwarcie wejść zegarowych C1B i C2B przerzutników M1B i M2B umożliwia na jednoczesne dostarczenie sygnału z wejścia I2B generatora interwałów GB do obydwu wejść zegarowych C1B i C2B.
Układ przedstawiony na fig. 5 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych. Układ zawiera dwa multiwibratory w postaci przerzutników typu „D” M1C i M2C, każdy o jednym wejściu danych D1C i D2C, jednym wyjściu danych Q1C i Q2C oraz jednym wejściu zegarowym C1C i C2C. Ponadto układ zawiera cztery układy opóźniające OP1C, OP2C, OP3C, OP4C. Pierwszy układ opóźniający OP1C włączony jest pomiędzy pierwsze wejście generatora interwałów I1C a wejście danych D1C pierwszego przerzutnika M1C. Drugi układ opóźniający OP2C włączony jest pomiędzy drugie wejście generatora interwałów I2C a wejście zegarowe C1C pierwszego przerzutnika M1C. Trzeci układ opóźniający OP3C włączony jest pomiędzy trzecie wejście generatora interwałów I3C a wejście danych D2C drugiego przerzutnika M2C. Czwarty układ opóźniający OP4C włączony jest pomiędzy czwarte wejście generatora interwałów I4C a wejście zegarowe C2C drugiego przerzutnika M2C. Wyjście danych Q1C pierwszego przerzutnika M1C jest dołączone do pierwszego wyjścia generatora interwałów O1C. Wyjście danych Q2C drugiego przerzutnika M2C jest dołączone do drugiego wyjścia generatora interwałów Q2C. Dobór odpowiednich opóźnień układów opóźniających OP1C, OP2C, OP3C, OP4C, umożliwia wprowadzenie pracy przerzutników M1C i M2C w otoczenie metastabilne oraz korekcję różnic lub niedoskonałości technologicznego wykonania tych przerzutników.
Układ przedstawiony na fig. 6 przedstawia schemat blokowy generatora metastabilnościowych interwałów czasowych. Układ zawiera dwa multiwibratory w postaci przerzutników typu „D” M1D i M2D, każdy o jednym wejściu danych D1D i D2D, jednym wyjściu danych Q1D, i Q2D oraz jednym wejściu zegarowym C1D i C2D. Ponadto układ zawiera cztery układy opóźniające OP1D, OP2D, OP3D, OP4D. Pierwszy układ opóźniający OP1D włączony jest pomiędzy pierwsze wejście generatora interwałów I1D a wejście danych D1D pierwszego przerzutnika M1D. Drugi układ opóźniający OP2D włączony jest pomiędzy drugie wejście generatora interwałów I2D a wejście zegarowe C1D pierwszego przerzutnika M1D. Trzeci układ opóźniający OP3D włączony jest pomiędzy pierwsze wejście generatora interwałów I1D a wejście danych D2D drugiego przerzutnika M2D. Czwarty układ opóźniający OP4D włączony jest pomiędzy drugie wejście generatora interwałów I2D a wejście zegarowe C2D drugiego przerzutnika M2D. Wyjście danych Q1D pierwszego przerzutnika M1D jest dołączone do pierwszego wyjścia O1D generatora interwałów GD. Wyjście danych Q2D drugiego przerzutnika M2D jest dołączone do drugiego wyjścia O2D generatora interwałów GD. Dobór odpowiednich opóźnień układów opóźniających OP1D, OP2D, OP3D, OP4D umożliwia wprowadzenie pracy przerzutników M1D i M2D w otoczenie metastabilne oraz korekcję różnic lub niedoskonałości technologicznego wykonania tych przerzutników.
Dostarczenie do multiwibratorów odpowiednio przesuniętych w czasie sygnałów cyfrowych wywołuje w nich zjawiska metastabilnościowe, czego wynikiem są wartości logiczne pojawiające się na wyjściach w różnych momentach czasu. Zarówno wartości logiczne jak i interwały czasowe są źródłami losowości o określonych właściwościach statystycznych. Względne przesunięcia czasu pomiędzy sygnałami cyfrowymi dostarczanymi do wejść danych i wejść zegarowych przerzutników dobiera się tak, aby wprowadzić przerzutniki w pracę w odpowiednim zakresie metastabilności. Przerzutniki konstruuje się tak, aby ich wewnętrzna budowa i parametry były możliwie bliskie identyczności - jednak, z powodu rozrzutów technologicznych, często zachodzi potrzeba wprowadzenia korekcji poprzez indywidualnie dobierane opóźnienia.
Układ przedstawiony na fig. 7 przedstawia schemat blokowy arbitra. Układ zawiera dwa przerzutniki w postaci przerzutników typu „D” P1 i P2, każdy o jednym wejściu danych D1 i D2, jednym wyjściu danych Q1 i Q2, jednym wejściu zegarowym C1 i C2 oraz jednym asynchronicznym wejściu zerującym R1 i R2. Pierwsze wejście I1 arbitra A jest dołączone jednocześnie do wejścia danych D1 pierwszego przerzutnika P1 i do wejścia zegarowego C2 drugiego przerzutnika P2, a drugie wejście I2 arbitra A jest dołączone jednocześnie do wejścia danych D2 drugiego przerzutnika P2 i do wejścia zegarowego C1 pierwszego przerzutnika P1. Wyjścia przerzutników Q1 i Q2 dołączone są do wyjść
PL 225 187 B1 arbitra O1 i O2. Wejście sterujące arbitra WA dołączone jest do asynchronicznych wejść zerujących R1 i R2 obydwu przerzutników P1 i P2. Zakładając, że obydwa przerzutniki zostały wcześniej wyzerowane, poprzez wejście sterujące arbitra WA, to w zależności od tego, na którym wejściu arbitra I1 czy I2 pojawi się wcześniej zbocze narastające, to ten z przerzutników P1 lub P2, który ma do tego wejścia dołączone wejście danych, przełączy się na stan wysoki, podczas, gdy drugi pozostanie nadal wyzerowany.
Układ przedstawiony na fig. 8 przedstawia schemat blokowy arbitra. Układ zawiera dwa przerzutniki w postaci przerzutników typu „D” P1 i P2, każdy o jednym wejściu danych D1 i D2, jednym wyjściu danych Q1 i Q2, jednym wejściu zegarowym C1 i C2 oraz jednym asynchronicznym wejściu zerującym R1, i R2. Do wejść danych D1 i D2 i do wejść zegarowych C1 i C2 dołączone są układy opóźniające OP1, OP2, OP3, OP4, tak że do wejścia danych D1 pierwszego przerzutnika P1 dołączone jest wyjście pierwszego układu opóźniającego OP1 do wejścia zegarowego C1 pierwszego przerzutnika P1 dołączone jest wyjście drugiego układu opóźniającego OP2, do wejścia danych D2 drugiego przerzutnika P2 dołączone jest wyjście trzeciego układu opóźniającego OP3, a do wejścia zegarowego C2 drugiego przerzutnika P2 dołączone jest wyjście czwartego układu opóźniającego OP4. Pierwsze wejście I2 arbitra A jest dołączone jednocześnie do wejścia pierwszego układu opóźniającego OP1 i do wejścia czwartego układu opóźniającego OP4, a drugie wejście I2 arbitra A jest dołączone jednocześnie do wejścia drugiego układu opóźniającego OP2 i do wejścia trzeciego układu opóźniającego OP3. Wyjścia przerzutników Q1 i Q2 dołączone są do wyjść arbitra O1 i O2. Wejście sterujące arbitra WA dołączone jest do asynchronicznych wejść zerujących R1 i R2 obydwu przerzutników P1 i P2. Dobór odpowiednich opóźnień układów opóźniających OP1, OP2, OP3, OP4 umożliwia korekcję działania i dostrojenie arbitra, w szczególności korekcję różnic czasowych w dostarczaniu sygnałów do arbitra oraz korekcję niedoskonałości technologicznego wykonania przerzutników.
Układ przedstawiony na fig. 9 przedstawia schemat blokowy arbitra. Układ zawiera dwa przerzutniki w postaci przerzutników typu „D” P1 i P2, każdy o jednym wejściu danych D1 i D2, jednym wyjściu danych Q1 i Q2 jednym wejściu zegarowym C1 i C2 oraz jednym asynchronicznym wejściu zerującym R1 i R2. Do wejść danych D1 i D2 i do wejść zegarowych C1 i C2 dołączone są układy opóźniające OP1, OP2, OP3, OP4, tak że do wejścia danych D1 pierwszego przerzutnika P1 dołączone jest wyjście pierwszego układu opóźniającego OP1, do wejścia zegarowego C1 pierwszego przerzutnika P1 dołączone jest wyjście drugiego układu opóźniającego OP2, do wejścia danych D2 drugiego przerzutnika P2 dołączone jest wyjście trzeciego układu opóźniającego OP3, a do wejścia zegarowego C2 drugiego przerzutnika P2 dołączone jest wyjście czwartego układu opóźniającego OP4. Pierwsze wejście I1 arbitra A jest dołączone jednocześnie do wejścia pierwszego układu opóźniającego OP1 i do wejścia czwartego układu opóźniającego OP4, a drugie wejście I2 arbitra A jest dołączone jednocześnie do wejścia drugiego układu opóźniającego OP2 i do wejścia trzeciego układu opóźniającego OP3. Wejście sterujące arbitra WA dołączone jest do asynchronicznych wejść zerujących R1 i R2 obydwu przerzutników P1 i P2. Wyjścia przerzutników Q1 i Q2 dołączone są do wejść FI1 i FI2 filtru metastabilności FM, a wyjścia FO1 i FO2 filtru metastabilności FM dołączone są do wyjść arbitra O1 i O2. Filtr metastabilności FM zawiera dwa przerzutniki w postaci przerzutników typu „D” P3 i P4, każdy o jednym wejściu danych D3 i D4, jednym wyjściu danych Q3 i Q4 oraz jednym wejściu zegarowym C3 i C4. Wejścia danych tych przerzutników D3 i D4 dołączone są do wejść filtru metastabilności FI1 i FI2, a wyjścia danych przerzutników Q3 i Q4 dołączone są do wyjść filtru metastabilności FO1 i FO2, natomiast wejścia zegarowe przerzutników C3 i C4 dołączone są do drugiego wejścia sterującego WF arbitra A. Filtr metastabilności FM umożliwia redukcję negatywnego wpływu występowania zjawisk metastabilnościowych w pierwszej parze przerzutników arbitra P1 i P2.
Układ przedstawiony na fig. 10 przedstawia schemat blokowy arbitra. Układ zawiera dwa przerzutniki w postaci przerzutników typu „D” P1 i P2, każdy o jednym wejściu danych D1 i D2, jednym wyjściu danych Q1 i Q2, jednym wejściu zegarowym C1 i C2 oraz jednym asynchronicznym wejściu zerującym R1 i R2. Do wejść danych D1 i D2 i do wejść zegarowych C1 i C2 dołączone są układy opóźniające OP1, OP2, OP3, OP4, tak że do wejścia danych D1 pierwszego przerzutnika P1 dołączone jest wyjście pierwszego układu opóźniającego OP1, do wejścia zegarowego C1 pierwszego przerzutnika P1 dołączone jest wyjście drugiego układu opóźniającego OP2, do wejścia danych D2 drugiego przerzutnika P2 dołączone jest wyjście trzeciego układu opóźniającego OP3, a do wejścia zegarowego C2 drugiego przerzutnika P2 dołączone jest wyjście czwartego układu opóźniającego OP4. Pierwsze wejście I1 arbitra A jest dołączone jednocześnie do wejścia pierwszego układu opóźniającego OP1 i do wejścia czwartego układu opóźniającego OP4, a drugie wejście I2 arbitra A jest
PL 225 187 B1 dołączone jednocześnie do wejścia drugiego układu opóźniającego QP2 i do wejścia trzeciego układu opóźniającego OP3. Wejście sterujące arbitra WA dołączone jest do asynchronicznych wejść zerujących R1 i R2 obydwu przerzutników P1 i P2. Wyjścia przerzutników Q1 i Q2 dołączone są do wejść Ul1 i UI2 układu korekcji losowości UKL, a wyjścia UO1 i UO2 układu korekcji losowości UKL dołączone są do wyjść arbitra O1 i O2. Układ korekcji losowości UKL zawiera przerzutnik w postaci przerzutnika typu „JK” JK oraz detektor parzystości XOR w postaci bramki „exclusive-or”. Przerzutnik JK posiada dwa wejścia danych J i K, wyjście danych JKO oraz wejście zegarowe JKC. Detektor parzystości XOR posiada dwa wejścia i jedno wyjście. Wejścia danych przerzutnika J i K dołączone są do wejść Ul1 i UI2 układu korekcji losowości UKL, a wyjście danych przerzutnika JKO dołączone jest do pierwszego wyjścia UO1 układu korekcji losowości UKL. Wejścia detektora parzystości XOR dołączone są do wejść Ul1 i UI2 układu korekcji losowości UKL, a wyjście detektora parzystości XOR dołączone jest do drugiego wyjścia UO2 układu korekcji losowości UKL. Wejście zegarowe przerzutnika JKC dołączone jest do trzeciego wejścia sterującego WU arbitra A. Układ korekcji losowości UKL wystawia na swoim pierwszym wyjściu UO1 logiczną jedynkę lub logiczne zero w zależności od tego, na którym z jego wejść jest jedynka, a na którym zero - przy założeniu, że wejścia mają różne stany. Natomiast w przypadku, gdy obydwa wejścia układu korekcji losowości UKL znajdą się w tym samym stanie, co jest zjawiskiem niepożądanym, układ wywołuje zmianę stanu na jego pierwszym wyjściu UO1 w stosunku do stanu poprzedniego, gdy na wejściach są dwie jedynki albo nie wywołuje żadnej zmiany, gdy na jego wejściach są zera. W przypadku wystąpienia niepożądanego stanu na wejściach układu korekcji losowości UKL informacja o tym fakcie pojawia na drugim wyjściu układu UO2.
Układ przedstawiony na fig. 11 przedstawia schemat blokowy arbitra. Układ zawiera dwa przerzutniki w postaci przerzutników typu „D” P1 i P2, każdy o jednym wejściu danych D1 i D2, jednym wyjściu danych Q1 i Q2, jednym wejściu zegarowym C1 i C2 oraz jednym asynchronicznym wejściu zerującym R1 i R2. Do wejść danych D1 i D2 i do wejść zegarowych C1 i C2 dołączone są układy opóźniające OP1, OP2, OP3, OP4, tak że do wejścia danych D1 pierwszego przerzutnika P1 dołączone jest wyjście pierwszego układu opóźniającego OP1, do wejścia zegarowego C1 pierwszego przerzutnika P1 dołączone jest wyjście drugiego układu opóźniającego OP2, do wejścia danych D2 drugiego przerzutnika P2 dołączone jest wyjście trzeciego układu opóźniającego OP3, a do wejścia zegarowego C2 drugiego przerzutnika P2 dołączone jest wyjście czwartego układu opóźniającego OP4. Pierwsze wejście I1 arbitra A jest dołączone jednocześnie do wejścia pierwszego układu opóźniającego OP1 i do wejścia czwartego układu opóźniającego OP4, a drugie wejście I2 arbitra A jest dołączone jednocześnie do wejścia drugiego układu opóźniającego OP2 i do wejścia trzeciego układu opóźniającego OP3. Wejście sterujące arbitra WA dołączone jest do asynchronicznych wejść zerujących R1 i R2 obydwu przerzutników P1 i P2. Wyjścia przerzutników Q1 i Q2 dołączone są do wejść FI1 i FI2 filtru metastabilności FM, a wyjścia FO1 i FO2 filtru metastabilności FM dołączone są do wejść Ul1 i UI2 układu korekcji losowości UKL. Filtr metastabilności FM zawiera dwa przerzutniki w postaci przerzutników typu „D” P3 i P4, każdy o jednym wejściu danych D3 i D4, jednym wyjściu danych Q3 i Q4 oraz jednym wejściu zegarowym C3 i C4. Wejścia danych tych przerzutników D3 i D4 dołączone są do wejść filtru metastabilności FI1 i FI2, a wyjścia danych przerzutników Q3 i Q4 dołączone są do wyjść filtru metastabilności FO1 i FO2, natomiast wejścia zegarowe przerzutników C3 i C4 dołączone są do drugiego wejścia sterującego WF arbitra A. Układ korekcji losowości UKL zawiera przerzutnik w postaci przerzutnika typu „JK” JK oraz detektor parzystości XOR w postaci bramki „exclusive-or”. Przerzutnik JK posiada dwa wejścia danych J i K, wyjście danych JKO oraz wejście zegarowe JKC. Detektor parzystości XOR posiada dwa wejścia i jedno wyjście. Wejścia danych przerzutnika J i K dołączone są do wejść Ul1 i UI2 układu korekcji losowości UKL, a wyjście danych przerzutnika JKQ dołączone jest do pierwszego wyjścia UO1 układu korekcji losowości UKL. Wejścia detektora parzystości XOR dołączone są do wejść Ul1 i UI2 układu korekcji losowości UKL, a wyjście detektora parzystości XOR dołączone jest do drugiego wyjścia UO2 układu korekcji losowości UKL. Wejście zegarowe przerzutnika JKC dołączone jest do trzeciego wejścia sterującego WU arbitra A. Wyjścia UO1 i UQ2 układu korekcji losowości UKL dołączone są do wyjść arbitra O1 i O2. Jednoczesne zastosowanie filtru metastabilności FM i układu korekcji losowości UKL daje najlepsze właściwości statystyczne arbitra w rozstrzyganiu pierwszeństwa zdarzeń.
Układ przedstawiony na fig. 12 przedstawia schemat blokowy układu wyjściowego. Układ zawiera trzy pary pojedynczych wejść i jedną parę pojedynczych wyjść LL' i PLL'. Pierwsze wejścia z par wejściowych dołączone są do wejść sumatora modulo 2 Ex-OR, którego wyjście dołączone jest do wyjścia LL' układu wyjściowego UK. Drugie wejścia z par wejściowych dołączone są do wejść sumy
PL 225 187 B1 logicznej OR, której wyjście dołączone jest do wyjścia PLL' układu wyjściowego UK. Wyjście LL' jest wyjściem dla binarnej liczby losowej, natomiast wyjście PLL' i jest wyjściem informacji o poprawności liczby losowej. Jeżeli co najmniej jeden z arbitrów dołączonych do wejść układu wyjściowego potwierdzi, że losowość jego liczby binarnej, to uznaje się, że liczba binarna będąca na wyjściu całego układu jest również losowa.
Możliwości zastosowania wynalazku przewiduje się w generowaniu liczb i ciągów liczbowych prawdziwie losowych.

Claims (22)

1. Metastabilnościowy generator losowy zawierający generator metastabilnościowych interwałów czasowych o jednym wyjściu, znamienny tym, że generator metastabilnościowych interwałów czasowych (GMIC), (GMIC') posiada co najmniej dwa wyjścia (Ta, Tb), (T1, T2, T3, T4, T5) i ma co najmniej jeden arbiter (A0), (A1, A2, A3) dołączony do co najmniej dwóch wybranych wyjść (Ta, Tb), (T1, T2), (T2, T3), (T4, T5) generatora metastabilnościowych interwałów czasowych (GMIC), (GMIC').
2. Generator według zastrz. 1, znamienny tym, że do wyjść arbitrów (A1, A2, A3) dołączone są wejścia układu wyjściowego (UK).
3. Generator według zastrz. 1, znamienny tym, że wchodzący w jego skład generator metastabilnościowych interwałów czasowych (GA) ma co najmniej dwa multiwibratory (M1A, M2A), których wyjścia (Q1A, Q2A) dołączone są do wyjść generatora interwałów (Q1 A, Q2A), a wejścia (D1 A, D2A, C1A, C2A) dołączone są do wejść generatora interwałów (I1A, I2A, I3A, I4A).
4. Generator według zastrz. 3, znamienny tym, że multiwibratory (M1B, M2B) mają pierwsze wejścia (D1B, D2B) zwarte ze sobą i dołączone do pierwszego wejścia generatora interwałów (I1B).
5. Generator według zastrz. 3, znamienny tym, że multiwibratory (M1B, M2B) mają drugie wejścia (C1B, C2B) zwarte ze sobą i dołączone do drugiego wejścia generatora interwałów (I2B).
6. Generator według zastrz. 3, znamienny tym, że multiwibratory (M1B, M2B) mają pierwsze wejścia (D1B, D2B) zwarte ze sobą i dołączone do pierwszego wejścia generatora interwałów (I1B) oraz mają drugie wejścia (C1B, C2B) zwarte ze sobą i dołączone do drugiego wejścia generatora interwałów (I2B).
7. Generator według zastrz. 3, znamienny tym, że pomiędzy wejściami (D1C, C1C, D2C, C2C) multiwibratorów (M1C, M2C) a wejściami generatora interwałów (I1C, I2C, I3C, I4C) włączony jest co najmniej jeden układ opóźniający (OP1C, OP2C, OP3C, OP4C).
8. Generator według zastrz. 4 albo 6, znamienny tym, że pomiędzy wejściami (DID, D2D) multiwibratorów (M1D, M2D) a pierwszym wejściem generatora interwałów (I1D) włączony jest co najmniej jeden układ opóźniający (OP1D, OP3D).
9. Generator według zastrz. 5 albo 6, znamienny tym, że pomiędzy drugimi wejściami (C1D, C2D) multiwibratorów (M1D, M2D) a drugim wejściem generatora interwałów (I2D) włączony jest co najmniej jeden układ opóźniający (OP2D, OP4D).
10. Generator według zastrz. 1 , znamienny tym, że wchodzący w jego skład arbiter (A) ma dwa przerzutniki (P1 , P2) oraz że każdy z przerzutników ma wejście danych (D1, D2), wejście zegarowe (C1, C1), wejście wymuszające (R1, R2) i wyjście danych (Q1, Q2) oraz że wejście danych (D1) pierwszego przerzutnika (P1 ) jest dołączone do wejścia zegarowego (C2) drugiego przerzutnika (P2) i do pierwszego wejścia (II) arbitra (A), oraz że wejście danych (D2) drugiego przerzutnika (P2) jest dołączone do wejścia zegarowego (C1) pierwszego przerzutnika (P1) i do drugiego wejścia (12) arbitra (A) oraz że wyjścia przerzutników (Q1, Q2) są wyjściami (O1, O2) arbitra (A) oraz że wejścia wymuszające (R1 , R2) przerzutników (P1 , P2) są dołączone do wejścia sterującego (WA) arbitra (A).
11. Generator według zastrz. 10, znamienny tym, że pomiędzy wejściami (I1, I2) arbitra (A) a wejściami danych (D1 , D2) i wejściami zegarowymi (C1 , C2) przerzutników (P1 , P2) włączony jest co najmniej jeden układ opóźniający (OP1, OP2, OP3, OP4).
12. Generator według zastrz. 10, znamienny tym, że wyjścia (Q1, Q2) przerzutników (P1 , P2) połączone są z wyjściami (O1, O2) arbitra (A) poprzez filtr metastabilności (FM).
13. Generator według zastrz. 11, znamienny tym, że wyjścia (Q1, Q2) przerzutników (P1, P2) połączone są z wyjściami (O1, O2) arbitra (A) poprzez filtr metastabilności (FM).
14. Generator według zastrz. 10, znamienny tym, że wyjścia (Q1, Q2) przerzutników (P1, P2) połączone są z wyjściami (O1, O2) arbitra (A) poprzez układ korekcji losowości (UKL).
PL 225 187 B1
15. Generator według zastrz. 11, znamienny tym, że wyjścia (Q1, Q2) przerzutników (P1, P2) połączone są z wyjściami (O1, O2) arbitra (A) poprzez układ korekcji losowości (UKL).
16. Generator według zastrz. 12, znamienny tym, że wyjścia (FO1, FO2) filtru metastabilności (FM) połączone są z wyjściami (O1, O2) arbitra (A) poprzez układ korekcji losowości (UKL).
17. Generator według zastrz. 13, znamienny tym, że wyjścia (FO1, FO2) filtru metastabilności (FM) połączone są z wyjściami (O1, O2) arbitra (A) poprzez układ korekcji losowości (UKL).
18. Generator według zastrz. 12 albo 13 albo 16 albo 17, znamienny tym,. że filtr metastabilności (FM) zawiera dwa przerzutniki (P3, P4) oraz że każdy z przerzutników ma wejście danych (D3, D4) dołączone do wejść filtru (FI1, FI2), wyjście danych (Q3, Q4) dołączone do wyjść filtru (FO1, FO2) oraz wejścia zegarowe (C3, C4) dołączone do drugiego wejścia sterującego (WF) arbitra (A).
19. Generator według zastrz. 14 albo 15 albo 16 albo 17, znamienny tym, że układ korekcji losowości (UKL) zawiera przerzutnik (JK), którego wejścia (J, K) dołączone są do wejść układu korekcji losowości (Ul1, UI2) i że wyjście przerzutnika (JKQ) dołączone jest do pierwszego wyjścia układu korekcji losowości (UO1 ) i że wejście zegarowe przerzutnika (JKC) dołączone jest do trzeciego wejścia sterującego arbitra (WU).
20. Generator według zastrz. 14 albo 15 albo 16 albo 17, znamienny tym, że układ korekcji losowości (UKL) zawiera przerzutnik (JK), którego wejścia (J, K) dołączone są do wejść układu korekcji losowości (Ul1, UI2) i że wyjście przerzutnika (JKQ) dołączone jest do pierwszego wyjścia układu korekcji losowości (UO1) i że wejście zegarowe przerzutnika (JKC) dołączone jest do trzeciego wejścia sterującego arbitra (WU) oraz że układ korekcji losowości (UKL) zawiera detektor parzystości (XOR), którego wejścia dołączone są do wejść układu korekcji losowości (Ul1, UI2) a wyjście detektora parzystości dołączone jest do drugiego wyjścia układu korekcji losowości (UO2).
21. Generator według zastrz. 2, znamienny tym, że układ wyjściowy (UK) ma pary wejść, do których dołączone są pary wyjść arbitrów, oraz że ma konsolidator (Ex-OR), do którego wejść dołączone są pierwsze wejścia z par wejść, natomiast wyjście konsolidatora (Ex-OR) dołączone jest do pierwszego wyjścia (LL') układu wyjściowego (UK).
22. Generator według zastrz. 21, znamienny tym, że układ wyjściowy (UK) ma kontroler (OR), do którego dołączone są drugie wejścia z par wejść, natomiast wyjście kontrolera (OR) dołączone jest do drugiego wyjścia (PLL') układu wyjściowego (UK).
PL401522A 2012-11-08 2012-11-08 Metastabilnościowy generator losowy PL225187B1 (pl)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL401522A PL225187B1 (pl) 2012-11-08 2012-11-08 Metastabilnościowy generator losowy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PL401522A PL225187B1 (pl) 2012-11-08 2012-11-08 Metastabilnościowy generator losowy

Publications (2)

Publication Number Publication Date
PL401522A1 PL401522A1 (pl) 2014-05-12
PL225187B1 true PL225187B1 (pl) 2017-02-28

Family

ID=50636966

Family Applications (1)

Application Number Title Priority Date Filing Date
PL401522A PL225187B1 (pl) 2012-11-08 2012-11-08 Metastabilnościowy generator losowy

Country Status (1)

Country Link
PL (1) PL225187B1 (pl)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL422480A1 (pl) * 2017-08-08 2019-02-11 Politechnika Warszawska Metastabilnościowy generator losowy
PL422479A1 (pl) * 2017-08-08 2019-02-11 Politechnika Warszawska Metastabilnościowy generator losowy
US11870444B1 (en) 2022-08-04 2024-01-09 PUFsecurity Corporation Entropy source circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL422480A1 (pl) * 2017-08-08 2019-02-11 Politechnika Warszawska Metastabilnościowy generator losowy
PL422479A1 (pl) * 2017-08-08 2019-02-11 Politechnika Warszawska Metastabilnościowy generator losowy
US11870444B1 (en) 2022-08-04 2024-01-09 PUFsecurity Corporation Entropy source circuit

Also Published As

Publication number Publication date
PL401522A1 (pl) 2014-05-12

Similar Documents

Publication Publication Date Title
US8952737B2 (en) Methods and systems for calibration of a delay locked loop
US9031232B2 (en) Bit sequence generation apparatus and bit sequence generation method
US10263606B2 (en) On-chip waveform measurement
JP7514079B2 (ja) クロック信号に同期される信号生成回路及びこれを用いる半導体装置
US8476947B2 (en) Duty cycle distortion correction circuitry
JP3481065B2 (ja) 位相比較回路および半導体集積回路
US9058228B2 (en) Random number generator for generating truly random numbers
Yan et al. Phase calibrated ring oscillator PUF design and implementation on FPGAs
US9912324B2 (en) Open-loop quadrature clock corrector and generator
CN210168032U (zh) 用于对准高数据速率时钟和数据恢复解串器的采样实例的系统
US10445068B2 (en) Random number generator
US20130293274A1 (en) Bit generation apparatus and bit generation method
PL225187B1 (pl) Metastabilnościowy generator losowy
CN107836094A (zh) 时钟恢复电路
PL224925B1 (pl) Arbiter
PL225186B1 (pl) Generator matastabilnościowych interwałów czasowych
US9755663B1 (en) Parallel-serial conversion circuit, information processing apparatus and timing adjustment method
US20150199174A1 (en) Method for Checking an Output
Charlot et al. High-resolution waveform capture device on a cyclone-v fpga
US9501092B1 (en) Systems and methods for clock alignment using pipeline stages
US9665421B2 (en) Safe secure bit storage with validation
KR102287515B1 (ko) 주파수 분주 회로
PL225188B1 (pl) Metastabilnościowy generator losowy
US20140266473A1 (en) Method for detecting a correlation
US7119593B2 (en) Delayed signal generation circuits and methods