PL225185B1 - Metastabilnościowy generator losowy - Google Patents
Metastabilnościowy generator losowyInfo
- Publication number
- PL225185B1 PL225185B1 PL401519A PL40151912A PL225185B1 PL 225185 B1 PL225185 B1 PL 225185B1 PL 401519 A PL401519 A PL 401519A PL 40151912 A PL40151912 A PL 40151912A PL 225185 B1 PL225185 B1 PL 225185B1
- Authority
- PL
- Poland
- Prior art keywords
- flip
- inputs
- outputs
- output
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 claims 15
- 238000010586 diagram Methods 0.000 description 14
- 230000001934 delay Effects 0.000 description 5
- JVTAAEKCZFNVCJ-REOHCLBHSA-N L-lactic acid Chemical compound C[C@H](O)C(O)=O JVTAAEKCZFNVCJ-REOHCLBHSA-N 0.000 description 2
- 229920001432 poly(L-lactide) Polymers 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 1
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Description
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 J.-L. Danger, S. Guilley, P. Hoogvorst, „Fast True Random Generator in FPGAs”, IEEE Northeast Workshop on Circuits and Systems - NEWCAS 2007, pp. 506-509, IEEE, Aug. 2007, DOI: 10.1109/NEWCAS.2007.4487970, metastabilnościowy generator losowy, który zawiera szereg multiwibratorów, z których każdy posiada wejście danych, wyjście danych i wejście zegarowe. Wejścia zegarowe multiwibratorów są ze sobą połączone i dołączone wejścia generatora poprzez układ opóźniający. Wejścia danych multiwibratorów są ze sobą połączone poprzez układy opóźniające oraz wejście danych pierwszego multi wibratora dołączone jest do wejścia generatora poprzez układ opóźniający. Wyjścia danych multiwibratorów są dołączone do układu sumatora modulo dwa. Wyjście sumatora dołączone jest do wyjścia generatora poprzez przerzutnik.
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 ma co najmniej jeden arbiter dołączony do co najmniej dwóch wybranych wyjść szeregu multiwibratorów. Metastabilnościowy generator losowy ma wejścia danych multiwibratorów ze sobą połączone bezpośrednio oraz pomiędzy wybranymi wejściami danych multiwibratorów ma włączone układy opóźniające oraz generator ma co najmniej jeden arbiter dołączony do co najmniej dwóch wybranych wyjść multiwibratorów.
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 wejście danych pierwszego przerzutnika jest dołączone do wejścia zegarowego drugiego przerzutnika i do pierwszego wejścia arbitra oraz wejście danych drugiego przerzutnika jest dołączone do wejścia zegarowego pierwszego przerzutnika i do drugiego wejścia arbitra oraz wyjścia przerzutników są wyjściami arbitra a 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.
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 pięć arbitrów, fig. 2 przedstawia schemat blokowy metastabilnościowego generatora losowego zawierający trzy arb itry, fig. 3 przedstawia schemat blokowy arbitra, fig. 4 przedstawia schemat blokowy arbitra z układami opóźniającymi, fig. 5 przedstawia schemat blokowy arbitra z układami opóźniającymi i filtrem metastabilności, fig. 6 przedstawia schemat blokowy arbitra z układami opóźniającymi i układem korekcji losowości, fig. 7 przedstawia schemat blokowy arbitra z układami opóźniającymi, filtrem metastabilności i układem korekcji losowości, a fig. 8 przedstawia schemat blokowy układu wyjściowego.
Układ przedstawiony na fig. 1 zawiera szereg sześciu multiwibratorów M1A, M2A, M3A, M4A, M5A i M6A w postaci przerzutników typu „D”, których wejścia zegarowe C1A, C2A, C3A, C4A, C5A i C6A są ze sobą połączone i dołączone do pierwszego wejścia generatora I1A, oraz których wejścia
PL 225 185 B1 danych D1A, D2A, D3A, D4A, D5A i D6A są ze sobą połączone poprzez układy opóźniające U1A, U2A, U3A, U4A i U5A, a wejście danych D1A pierwszego przerzutnika M1A w szeregu dołączone jest do drugiego wejścia generatora I2A. Do wyjść sześciu przerzutników Q1A, Q2A, Q3A, Q4A, Q5A i Q6A dołączone są wejścia pięciu arbitrów A1A, A2A, A3A, A4A i A5A, tak że pierwszy arbiter A1A dołączony jest do wyjścia danych Q1A pierwszego przerzutnika M1A i wyjścia danych Q2A drugiego przerzutnika M2A. drugi arbiter A2A dołączony jest do wyjścia danych Q2A drugiego przerzutnika M2A i wyjścia danych Q3A trzeciego przerzutnika M3A. trzeci arbiter A3A dołączony jest do wyjścia danych Q3A trzeciego przerzutnika M3A i wyjścia danych Q4A czwartego przerzutnika M4A, czwarty arbiter A4A dołączony jest do wyjścia danych Q4A czwartego przerzutnika M4A i wyjścia danych Q5A piątego przerzutnika M5A. a piąty arbiter A5A dołączony jest do wyjścia danych Q5A piątego przerzutnika M5A i wyjścia danych Q6A szóstego przerzutnika M6A. Każdy z arbitrów A1A, A2A, A3A, A4A i A5A posiada parę pojedynczych wyjść. Pary pojedynczych wyjść pięciu arbitrów dołączone są do pięciu par pojedynczych wejść układu wyjściowego UKA, który posiada dwa wyjścia LLA i PLLA. Opóźnienia układów opóźniających są niewielkie i przeważnie dobierane tak, aby niektóre z przerzutników w środku szeregu pracowały w otoczeniu metastabilności. Nie wszystkie przerzutniki muszą pracować w tym otoczeniu. W praktyce trudno jest spowodować metastabilny stan pracy, a jeszcze trudniej utrzymać go w czasie - z powodu zjawisk niestałościowych pracujących układów, na przykład szumu termicznego czy zmian punktu pracy. Idea zastosowania szeregu przerzutników polega na tym, że niektóre z przerzutników w szeregu pracują w otoczeniu zakresu metastabilnego, a gdy parametry wspólne dla wszystkich przerzutników zmieniają się i pracujące metastabilnie przerzutniki wychodzą z metastabilnych zakresów pracy, to inne, kolejne przerzutniki w szeregu, wchodzą w otoczenie metastabilnego zakresu pracy. W ten sposób zapewnione jest, że w całym szeregu zawsze niektóre przerzutniki pracują w otoczeniu metastabilnościowym. 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ą inform acjami, 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 arb itrów. Układ wyjściowy UKA zbiera pojedyncze liczby losowe arbitrów i wystawia na wyjściu LLA wynik operacji na tych liczbach. Na drugim wyjściu PLLA układ wyjściowy UKA wystawia informację o poprawności danych na pierwszym wyjściu.
Układ przedstawiony na fig. 2 zawiera szereg sześciu multiwibratorów M1B, M2B, M3B, M4B, M5B i M6B w postaci przerzutników typu „D”, których wejścia zegarowe C1B, C2B, C3B, C4B, C5B i C6B są ze sobą połączone i dołączone do pierwszego wejścia generatora I1B oraz których wejścia danych D1B, D2B, D3B, D4B, D5B i D6B są ze sobą połączone, a wejście danych D1B pierwszego przerzutnika M1B w szeregu dołączone jest do drugiego wejścia generatora I2B. Wybrane pary wejść danych - para D1B i D2B, para D3B i D4B oraz para D5B i D6B - połączone są ze sobą poprzez układy opóźniające U1B, U2B i U3B. Do wyjść sześciu przerzutników Q1B, Q2B, Q3B, Q4B, Q5B i Q6B dołączone są wejścia trzech arbitrów A1B, A2B i A3B, tak że pierwszy arbiter A1B dołączony jest do wyjścia danych Q1B pierwszego przerzutnika M1B i wyjścia danych Q2B drugiego przerzutnika M2B. drugi arbiter A2B dołączony jest do wyjścia danych O3B trzeciego przerzutnika M3B i wyjścia danych Q4B czwartego przerzutnika M4B, trzeci arbiter A3B dołączony jest do wyjścia danych Q5B piątego przerzutnika M5B i wyjścia danych Q6B szóstego przerzutnika M6B. Każdy z arbitrów A1B, A2B i A3B posiada parę pojedynczych wyjść. Pary pojedynczych wyjść trzech arbitrów dołączone są do trzech par pojedynczych wejść układu wyjściowego UKB, który posiada dwa wyjścia LLB i PLLB. Arbitry pełnią rolę detektorów pierwszeństwa nadejścia jednego z 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ę poprawności liczb losowych na pierwszych wyjściach arbitrów. Układ wyjściowy UKB odbiera pojedyncze liczby losowe od arbitrów i wystawia na wyjściu LLB wynik operacji na tych liczbach. Na drugim wyjściu PLLB układ wyjściowy UKB wystawia informację o poprawności danych na pierwszym wyjściu. Wybór dotyczący tego, które z wejść danych przerzutników zostaną połączone poprzez układy opóźniające dokonywany jest razem z wyborem, do których wyjść danych przerzutników zostaną dołączone wejścia arbitrów. Typowo jedno wyjście danych przerzutnika powinno być dołączone do wejścia tylko jednego arbitra - po to, aby zachować probabilistyczną niezależność zmiennych losowych. Jednak wybór właściwie może być dowolny, ponieważ dąży się do uzyskania jak najlepszych właściwości statystycznych na wyjściu LLB układu. Opóźnienia układów opóźniających typowo są niewielkie
PL 225 185 B1 i przeważnie dobierane tak, aby niektóre z par przerzutników w środku szeregu pracowały w otoczeniu stanu metastabilnego.
Układ przedstawiony na fig.3 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 U 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ść 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. 4 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 O1 i O2, 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 P2 drugiego przerzutnika P2 dołączone jest wyjście czwartego układu opóźniającego OP4. Pierwsze wejście H 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. 5 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 O1 i O2, 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 U 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 O3 i O4 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 O3 i O4 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. 6 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
PL 225 185 B1 wyjściu danych O1 i O2, 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 U 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ść 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 JKQ 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, które z jego wejść jest jedynką, a które zerem - przy założeniu, że na wejścia podane są różne wartości logiczne. Natomiast w przypadku, gdy obydwa wejścia układu korekcji losowości UKL otrzymują tę samą wartość logiczną, 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 się na drugim wyjściu układu UO2.
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 O1 i O2, 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 H2, 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 JKQ 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
PL 225 185 B1 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 UO2 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 pracy arbitra.
Układ przedstawiony na fig. 8 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ą 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ą wejść sumy logicznej OR, której wyjście dołączone jest do wyjścia PLL' układu wyjściowego UK. Wyjście LL' jest wyjściem binarnej liczby losowej, natomiast wyjście PLL' 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 (29)
1. Metastabilnościowy generator losowy zawierający szereg multiwibratorów, których wejścia zegarowe są ze sobą połączone i dołączone do pierwszego wejścia generatora oraz których wejścia danych są ze sobą połączone poprzez układy opóźniające oraz wejście danych pierwszego multi wibratora w szeregu dołączone jest do drugiego wejścia generatora, znamienny tym, że ma co najmniej jeden arbiter (A1A, A2A, A3A, A4A, A5A) dołączony do co najmniej dwóch wybranych wyjść (O1A, Q2A), (Q2A, Q3A), (O3A, O4A), (O4A, O5A), (O5A, O6A) multiwibratorów (M1A, M2A, M3A, M4A, M5A, M6A).
2. Metastabilnościowy generator losowy zawierający szereg multiwibratorów, których wejścia zegarowe są ze sobą połączone i dołączone do pierwszego wejścia generatora oraz ma wejścia danych ze sobą połączone poprzez układy opóźniające oraz wejście danych pierwszego multiwibratora w szeregu dołączone jest do drugiego wejścia generatora, znamienny tym, że wejścia danych (D1B, D2B, D3B, D4B, D5B, D6B) multiwibratorów (M1B, M2B, M3B, M4B, M5B, M6B) są ze sobą połączone bezpośrednio oraz że pomiędzy wybranymi wejściami danych multiwibratorów (D1B, D2B), (D3B, D4B), (D5B, D6B) włączone są układy opóźniające (U1B, U2B, U3B), oraz że generator ma co najmniej jeden arbiter (A1 B, A2B, A3B) dołączony do co najmniej dwóch wybranych wyjść (O1B, O2B), (O3B, O4B), (O5B, O6B) multiwibratorów (M1B, M2B, M3B, M4B, M5B, M6B).
3. Generator według zastrz. 1, znamienny tym, że do wyjść arbitrów (A1A, A2A, A3A, A4A, A5A) dołączone są wejścia układu wyjściowego (UKA).
4. Generator według zastrz. 2, znamienny tym, że do wyjść arbitrów (A1B, A2B, A3B) dołączone są wejścia układu wyjściowego (UKB).
5. 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 (O1, O2) 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 (I1) 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 (I2) arbitra (A) oraz że wyjścia przerzutników (O1, O2) 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).
6. Generator według zastrz. 5, 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).
7. Generator według zastrz. 5, znamienny tym, że wyjścia (O1, O2) przerzutników (P1, P2) połączone są z wyjściami (O1, O2) arbitra (A) poprzez filtr metastabilności (FM).
8. Generator według zastrz. 6, 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).
PL 225 185 B1
9. Generator według zastrz. 5, 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).
10. Generator według zastrz. 6, 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).
11. Generator według zastrz. 7, 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).
12. Generator według zastrz. 8, 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).
13. Generator według zastrz. 7 albo 8, albo 11, albo 12, 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).
14. Generator według zastrz. 9 albo 10, albo 11, albo 12, 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).
15. Generator według zastrz. 9 albo 10, albo 11, albo 12, 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).
16. Generator według zastrz. 2, 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 (PI) jest dołączone do wejścia zegarowego (C2) drugiego przerzutnika (P2) i do pierwszego wejścia (I1) 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 (I2) 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).
17. Generator według zastrz. 16, 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).
18. Generator według zastrz. 16, 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).
19. Generator według zastrz. 17, 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).
20. Generator według zastrz. 16, 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).
21. Generator według zastrz. 17, 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).
22. Generator według zastrz. 18, 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).
23. Generator według zastrz. 19, 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).
24. Generator według zastrz. 18 albo 19, albo 22, albo 23, 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).
25. Generator według zastrz. 20 albo 21, albo 22, albo 23, 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).
PL 225 185 B1
26. Generator według zastrz. 20 albo 21, albo 22, albo 23, 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 (Uli, 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 (Uli, UI2) a wyjście detektora parzystości dołączone jest do drugiego wyjścia układu korekcji losowości (UO2).
27. Generator według zastrz. 3, 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).
28. Generator według zastrz. 4, 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).
29. Generator według zastrz. 27 albo 28, 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).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PL401519A PL225185B1 (pl) | 2012-11-08 | 2012-11-08 | Metastabilnościowy generator losowy |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PL401519A PL225185B1 (pl) | 2012-11-08 | 2012-11-08 | Metastabilnościowy generator losowy |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| PL401519A1 PL401519A1 (pl) | 2014-05-12 |
| PL225185B1 true PL225185B1 (pl) | 2017-02-28 |
Family
ID=50636963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PL401519A PL225185B1 (pl) | 2012-11-08 | 2012-11-08 | Metastabilnościowy generator losowy |
Country Status (1)
| Country | Link |
|---|---|
| PL (1) | PL225185B1 (pl) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| PL422480A1 (pl) * | 2017-08-08 | 2019-02-11 | Politechnika Warszawska | Metastabilnościowy generator losowy |
-
2012
- 2012-11-08 PL PL401519A patent/PL225185B1/pl unknown
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| PL422480A1 (pl) * | 2017-08-08 | 2019-02-11 | Politechnika Warszawska | Metastabilnościowy generator losowy |
Also Published As
| Publication number | Publication date |
|---|---|
| PL401519A1 (pl) | 2014-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101370231B1 (ko) | 비트열 생성 장치 및 비트열 생성 방법 | |
| Pearson et al. | A fast processor for Monte-Carlo simulation | |
| US3811038A (en) | Pseudo-random number generators | |
| KR20120118475A (ko) | 물리적 복제불가 기능을 포함한 실리콘 집적 회로 및 이러한 회로를 테스트하기 위한 방법 및 시스템 | |
| CN103399726B (zh) | 一种流水线化的组合式伪随机数发生器 | |
| Miao et al. | Perils of analytic continuation | |
| Mатrosova et al. | Finding test pairs for PDFs in logic circuits based on using operations on ROBDDs | |
| EP3912119B1 (en) | Dynamic transform in blockchain header validation | |
| Levitin et al. | Algorithm for reliability evaluation of nonrepairable phased-mission systems consisting of gradually deteriorating multistate elements | |
| PL224925B1 (pl) | Arbiter | |
| PL225187B1 (pl) | Metastabilnościowy generator losowy | |
| Hove | The approach to equilibrium in quantum statistics: A perturbation treatment to general order | |
| PL225186B1 (pl) | Generator matastabilnościowych interwałów czasowych | |
| Xu et al. | An N× N multiplier-based multi-bit strong PUF using path delay extraction | |
| Маtrosova et al. | Finding false paths in sequential circuits | |
| Efanov et al. | On variety of sum codes with on-data bits and one weighted data bit in concurrent error detection systems | |
| US7734672B2 (en) | Checking of a bit flow | |
| Pfeifer et al. | On utilization of BRAM in FPGA for advanced measurements in mechatronics | |
| Pramudita et al. | Implementation ring oscillator physical unclonable function (PUF) in FPGA | |
| Sweeney | Obfuscation and Security for Digital Integrated Circuits | |
| Yoshikawa et al. | Multiplexing aware arbiter physical unclonable function | |
| Gangadhar et al. | Probabilistic methods for the impact of an SET in combinational logic | |
| Grossi et al. | FPGA Implemented RO-Based PUFs for User Authentication in the Metaverse | |
| Skubich et al. | Increasing the Robustness of TERO-TRNGs Against Process Variation | |
| Niemann | Spherical affine cones in exceptional cases and related branching rules |