JP2021128555A - 乱数発生器 - Google Patents
乱数発生器 Download PDFInfo
- Publication number
- JP2021128555A JP2021128555A JP2020022900A JP2020022900A JP2021128555A JP 2021128555 A JP2021128555 A JP 2021128555A JP 2020022900 A JP2020022900 A JP 2020022900A JP 2020022900 A JP2020022900 A JP 2020022900A JP 2021128555 A JP2021128555 A JP 2021128555A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- random number
- feedback
- feedback circuit
- circuit unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003467 diminishing effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Manipulation Of Pulses (AREA)
- Logic Circuits (AREA)
Abstract
【課題】 回路規模が小さく低コストの乱数発生器を得る。【解決手段】 所定の固定の符号ビット数Nと同数のビットレジスター1−1〜1ーNが並列に配列されており、帰還回路部2は、複数のビットレジスター1−1〜1ーNの出力値Y(1)〜Y(N)を入力値X(1)〜X(N)として複数のビットレジスター1−1〜1ーNへの出力値Yi(1)〜Yi(N)を生成する。そして、帰還回路部2は、(a)符号ビット数Nの帰還漸化式に対応する複数のタップ位置にそれぞれ対応したビット幅だけ最上位ビット側へ入力値X(1)〜X(N)の一部または全部のビット列をシフトさせて得られる複数のシフトビット列の一部、および(b)その複数のシフトビット列の一部の排他的論理和を、出力値Yi(1)〜Yi(N)のビット列とする。【選択図】 図1
Description
本発明は、乱数発生器に関するものである。
疑似乱数(M系列符号など)を発生する回路が種々提案されている。
図4は、9ビットの疑似乱数を生成するための線形帰還シフトレジスターの一例を示す図である。図4に示す線形帰還シフトレジスターでは、9個のビットレジスターB1〜B9が縦列に接続されており、タップ位置#5(ビットレジスターB5とビットレジスターB6との間)に排他的論理和回路XORが挿入され、最下位ビットのビットレジスターB1の値が、タップ位置#5(排他的論理和回路XOR),#9(ビットレジスターB9)にフィードバックされている。
図5は、線形帰還シフトレジスターにおける符号ビット数と、その符号ビット数に対応する帰還漸化式、帰還論理式、および帰還すべきタップ位置との対応関係を説明する図である。図5に示すように、要求される符号ビット数(つまり、疑似乱数のビット数)に応じた漸化式などに対応する線形帰還シフトレジスターが構成され使用される。
例えば図4に示すような線形帰還シフトレジスターでは、1つの疑似乱数を得るのに、符号ビット数と同一のクロック数だけ線形帰還シフトレジスターを動作させる必要があり、比較的時間がかかってしまう。
そのため、あるパラレル型のM系列符号生成器は、並列に配置されたビットレジスターと、ビットレジスターの前段においてマトリクス状の配置された複数の排他的論理和回路群を含む帰還回路部とを備え、帰還回路部に所望の帰還論理式がセットされ、すべてのビットレジスターの値が帰還回路部にフィードバックされ、1クロックごとに疑似乱数(M系列符号)が得られるように、セットされた帰還論理式に対応する帰還回路部の演算結果がビットレジスターにセットされている(例えば非特許文献1参照)。
上田 直也,「パラレル型のM系列符号生成器」,[online],2008年8月1日,EDN Japan,[2019年10月4日検索],インターネット<https://ednjapan.com/edn/articles/0808/01/news134.html>
しかしながら、上述のM系列符号生成器は、種々の符号ビット数の疑似乱数の発生に対応すべく帰還回路部が複雑な回路構成を有するため、回路規模が大きくなり回路全体のコストが高くなってしまう。
本発明は、上記の問題に鑑みてなされたものであり、回路規模が小さく低コストの乱数発生器を得ることを目的とする。
本発明に係る乱数発生器は、所定の固定の符号ビット数と同数の並列に配列されたビットレジスターと、前記複数のビットレジスターの出力値を入力値として前記複数のビットレジスターへの出力値を生成する帰還回路部とを備える。そして、前記帰還回路部は、(a)前記符号ビット数の帰還漸化式に対応する複数のタップ位置にそれぞれ対応したビット幅だけ最上位ビット側へ前記入力値の一部または全部のビット列をシフトさせて得られる複数のシフトビット列の一部、および(b)前記複数のシフトビット列の一部の排他的論理和を、前記出力値のビット列とする。
本発明によれば、回路規模が小さく低コストの乱数発生器が得られる。
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係る乱数発生器の構成を示す回路図である。図1に示す乱数発生器は、所定の固定ビット数の疑似乱数(M系列符号など)を生成する。図1に示す乱数発生器は、所定の固定の符号ビット数Nと同数の並列に配列されたビットレジスター1−1〜1−N(ここではN=9)と、帰還回路部2とを備える。帰還回路部2は、その複数のビットレジスター1−1〜1−Nの出力値Y(1)〜Y(N)を入力値X(1)〜X(N)として複数のビットレジスター1−1〜1−Nへの出力値Yi(1)〜Yi(N)を生成する。
ここでは、ビットレジスター1−j(j=1,・・・,N)は、Dフリップフロップであり、ビットレジスター1−1〜1−Nは、単一のクロック信号CLKで動作する。
特に、帰還回路部2は、符号ビット数Nの帰還漸化式に対応する複数のタップ位置にそれぞれ対応したビット幅だけ最上位ビット側へ入力値X(i)の一部または全部のビット列をシフトさせて複数のシフトビット列を生成し、その複数のシフトビット列の一部、およびその複数のシフトビット列の一部の排他的論理和を、出力値Y(i)のビット列とする。
図2は、図1に示す乱数発生器において符号ビット数が9である場合の帰還回路部2の演算について説明する図である。
N=9の場合、図2に示すように、帰還のタップ位置は#5および#9となり、帰還回路部2は、符号ビット数Nの帰還漸化式に対応する複数のタップ位置#5,#9にそれぞれ対応したビット幅(5ビットと9ビット)だけ最上位ビット側へ入力値X(i)の一部または全部のビット列をシフトさせて得られる2つのシフトビット列Xshift1,Xshift2の一部(ビット列Xshift1のX(1)〜X(4))を出力値Yi(6)〜Y(9)とし、そのシフトビット列の一部の排他的論理和(ビット列Xshift1のX(5)〜X(9)とビット列Xshift2のX(1)〜X(5)との排他的論理和、つまり、各ビットの排他的論理和)を出力値Yi(1)〜Yi(5)として、出力値Yi(1)〜Yi(9)のビット列とする。
図3は、図1に示す乱数発生器において符号ビット数が9である場合の帰還回路部2の構成例を示す回路図である。
この実施の形態では、図3に示すように、帰還回路部2は、上述の排他的論理和の演算を行い出力値Yi(i)のビット列の一部を生成する排他的論理和回路部21と、入力値X(i)のビット列の一部を出力値Yi(i)のビット列の残りの部分とする結線部22とを備える。結線部22は、1または複数の結線用の配線である。
次に、上記乱数発生器の動作について説明する。ここでは、N=9の場合について説明する。
まず、図示せぬ初期値設定部によって所定のシードが初期値としてビットレジスター1−1〜1−9にセットされる。
ある時点でのビットレジスター1−1〜1−9の出力値Y(1)〜Y(9)(つまり、9ビットの疑似乱数)が、帰還回路部2にフィードバックされる。
その時点で、帰還回路部2は、図2および図3に示すようにして、次の時点のビットレジスター1−1〜1−9の出力値Y(1)〜Y(9)となる帰還回路部2の出力値Yi(1)〜Y(9)(つまり、次のクロックでビットレジスター1−1〜1−9にセットされる値)を、ビットレジスター1−1〜1−9に出力する。
そしてクロック信号CLKにおける次のクロック(立上りまたは立下り)で、ビットレジスター1−1〜1−9が保持し出力する値Y(1)〜Y(9)が、帰還回路部2の出力値Yi(1)〜Yi(9)で更新される。
以後、クロック信号CLKにおける1クロックごとに、ビットレジスター1−1〜1−9の出力値Y(1)〜Y(9)が、帰還回路部2の出力値Yi(1)〜Yi(9)で更新され、1クロックごとに、9ビットの疑似乱数がビットレジスター1−1〜1−9の出力値Y(1)〜Y(9)として順次出力される。
以上のように、上記実施の形態によれば、所定の固定の符号ビット数Nと同数のビットレジスター1−1〜1ーNが並列に配列されており、帰還回路部2は、複数のビットレジスター1−1〜1ーNの出力値Y(1)〜Y(N)を入力値X(1)〜X(N)として複数のビットレジスター1−1〜1ーNへの出力値Yi(1)〜Yi(N)を生成する。そして、帰還回路部2は、(a)符号ビット数Nの帰還漸化式に対応する複数のタップ位置にそれぞれ対応したビット幅だけ最上位ビット側へ入力値X(1)〜X(N)の一部または全部のビット列をシフトさせて得られる複数のシフトビット列の一部、および(b)その複数のシフトビット列の一部の排他的論理和を、出力値Yi(1)〜Yi(N)のビット列とする。
これにより、1クロックごとに疑似乱数を生成可能であって、回路規模が小さく低コストの乱数発生器が得られる。そして、このようにして生成される疑似乱数は、所定の画像処理に要求されるノイズとして使用されたり、暗号鍵の生成に使用されたり、確率モデルによる解析やシミュレーションに使用されたりする。
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
例えば、上記実施の形態に係る乱数発生器はハードウェアで構成されているが、同様の演算を行うプログラムを実行するコンピューター(つまり、ソフトウェア)で実現されてもよい。
また、上記実施の形態では、符号ビット数Nが9である場合を例示しているが、他の符号ビット数でもよく、他の符号ビット数の場合も同様に乱数発生器を構成できる。
本発明は、例えば、乱数発生器に適用可能である。
1−1〜1−9 ビットレジスター
2 帰還回路部
21 排他的論理和回路部
22 結線部
2 帰還回路部
21 排他的論理和回路部
22 結線部
Claims (2)
- 所定の固定の符号ビット数と同数の並列に配列されたビットレジスターと、
前記複数のビットレジスターの出力値を入力値として前記複数のビットレジスターへの出力値を生成する帰還回路部とを備え、
前記帰還回路部は、(a)前記符号ビット数の帰還漸化式に対応する複数のタップ位置にそれぞれ対応したビット幅だけ最上位ビット側へ前記入力値の一部または全部のビット列をシフトさせて得られる複数のシフトビット列の一部、および(b)前記複数のシフトビット列の一部の排他的論理和を、前記出力値のビット列とすること、
を特徴とする乱数発生器。 - 前記帰還回路部は、前記排他的論理和の演算を行い前記出力値のビット列の一部を生成する排他的論理和回路部と、前記入力値のビット列の一部を前記出力値のビット列の残りの部分とする結線部とを備えることを特徴とする請求項1記載の乱数発生器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020022900A JP2021128555A (ja) | 2020-02-13 | 2020-02-13 | 乱数発生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020022900A JP2021128555A (ja) | 2020-02-13 | 2020-02-13 | 乱数発生器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021128555A true JP2021128555A (ja) | 2021-09-02 |
Family
ID=77488700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020022900A Pending JP2021128555A (ja) | 2020-02-13 | 2020-02-13 | 乱数発生器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021128555A (ja) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596617A (en) * | 1993-01-27 | 1997-01-21 | Siemens Aktiengesellschaft | Feedback shift register for generating digital signals representing series of pseudo-random numbers |
JPH09325882A (ja) * | 1996-06-04 | 1997-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 一様乱数発生回路 |
JPH11340799A (ja) * | 1998-05-28 | 1999-12-10 | Oki Electric Ind Co Ltd | M系列発生回路、m系列の発生方法及びpn系列発生回路 |
JP2000081969A (ja) * | 1998-09-04 | 2000-03-21 | Kaoru Kurosawa | 擬似乱数発生装置 |
JP2000332728A (ja) * | 1999-05-10 | 2000-11-30 | Nokia Mobile Phones Ltd | 符号生成器の線形フィードバック・シフトレジスタを更新する方法と符号生成器 |
JP2002342072A (ja) * | 2001-05-14 | 2002-11-29 | Kenwood Corp | ランダムデータ生成装置、データランダム化装置、ランダムデータ生成方法及びプログラム |
JP2003515803A (ja) * | 1999-11-23 | 2003-05-07 | メンター・グラフィクス・コーポレーション | 線形有限状態マシーンを統合する方法 |
JP2008210139A (ja) * | 2007-02-26 | 2008-09-11 | Ntt Electornics Corp | 擬似乱数発生回路及び電子装置 |
-
2020
- 2020-02-13 JP JP2020022900A patent/JP2021128555A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596617A (en) * | 1993-01-27 | 1997-01-21 | Siemens Aktiengesellschaft | Feedback shift register for generating digital signals representing series of pseudo-random numbers |
JPH09325882A (ja) * | 1996-06-04 | 1997-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 一様乱数発生回路 |
JPH11340799A (ja) * | 1998-05-28 | 1999-12-10 | Oki Electric Ind Co Ltd | M系列発生回路、m系列の発生方法及びpn系列発生回路 |
JP2000081969A (ja) * | 1998-09-04 | 2000-03-21 | Kaoru Kurosawa | 擬似乱数発生装置 |
JP2000332728A (ja) * | 1999-05-10 | 2000-11-30 | Nokia Mobile Phones Ltd | 符号生成器の線形フィードバック・シフトレジスタを更新する方法と符号生成器 |
JP2003515803A (ja) * | 1999-11-23 | 2003-05-07 | メンター・グラフィクス・コーポレーション | 線形有限状態マシーンを統合する方法 |
JP2002342072A (ja) * | 2001-05-14 | 2002-11-29 | Kenwood Corp | ランダムデータ生成装置、データランダム化装置、ランダムデータ生成方法及びプログラム |
JP2008210139A (ja) * | 2007-02-26 | 2008-09-11 | Ntt Electornics Corp | 擬似乱数発生回路及び電子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Correlation manipulating circuits for stochastic computing | |
CN111600699B (zh) | 用于实现散列算法的电路和方法 | |
EP2144134B1 (en) | Method for synthesizing linear finite state machines | |
CN103098018B (zh) | 比特序列生成器 | |
US11321049B2 (en) | Fast binary counters based on symmetric stacking and methods for same | |
Panda et al. | Design and FPGA prototype of 1024-bit Blum-Blum-Shub PRBG architecture | |
JP5670849B2 (ja) | 擬似乱数生成装置、および、擬似乱数生成方法 | |
US9619206B2 (en) | Pseudo-random bit sequence generator | |
Panda et al. | FPGA prototype of low latency BBS PRNG | |
Asadi et al. | CORLD: In-stream correlation manipulation for low-discrepancy stochastic computing | |
JP5101253B2 (ja) | ランダムエラー発生装置、m系列発生回路及びその設計方法 | |
Sunandha et al. | Implementation of modified Dual-CLCG method for pseudorandom bit generation | |
JP3626105B2 (ja) | 疑似ランダム信号発生回路 | |
JP2021128555A (ja) | 乱数発生器 | |
JP2010002959A (ja) | 擬似乱数生成装置 | |
JP6379032B2 (ja) | 乱数生成装置及び乱数生成方法 | |
Reji et al. | Three-Operand Binary Addition Using Parallel Prefix Adders | |
Junsangsri et al. | A pseudo-random number generator circuit for nanoscale stochastic computing (SC) | |
JP2014164342A (ja) | 擬似乱数生成回路および擬似乱数生成方法 | |
TWI662471B (zh) | 真實隨機數產生裝置及其產生方法 | |
CN115473626B (zh) | 并行化、可扩展的线性反馈移位寄存器 | |
Wuerdig et al. | Asynchronous quasi-random number generator: Taking advantage of PVT variations | |
Van et al. | Construction of Nonlinear Ternary m-sequences with Interleaved Structure by d-Transform | |
Junsangsri et al. | Pseudo-Random Number Generators for Stochastic Computing (SC): Design and Analysis | |
JP3017203B1 (ja) | 2進10進変換回路及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240620 |