CN114201142A - 随机数产生电路 - Google Patents
随机数产生电路 Download PDFInfo
- Publication number
- CN114201142A CN114201142A CN202010911973.6A CN202010911973A CN114201142A CN 114201142 A CN114201142 A CN 114201142A CN 202010911973 A CN202010911973 A CN 202010911973A CN 114201142 A CN114201142 A CN 114201142A
- Authority
- CN
- China
- Prior art keywords
- random number
- control signal
- random
- bit
- different
- 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
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 21
- 238000010586 diagram Methods 0.000 description 22
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 7
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 7
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 3
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Manipulation Of Pulses (AREA)
Abstract
本发明实施例提供一种随机数产生电路,包括:随机数发生器,被配置为,在每一计满周期内输出若干个第一随机数;控制信号生成模块,被配置为,接收触发信号,并基于所述触发信号输出与不同的所述第一随机数对应的控制信号;多选模块,被配置为,接收所述第一随机数以及与所述第一随机数对应的所述控制信号,基于所述控制信号对所述第一随机数的至少一个比特位置进行调整,获取第二随机数,并输出若干所述第二随机数。本发明实施例提高随机数产生电路产生的随机数的随机性。
Description
技术领域
本发明实施例涉及数据加密领域,特别涉及一种随机数产生电路。
背景技术
处于信息时代的今天,关于信息的安全问题成为信息产品很关键的部分,加密模块是否具有良好的安全性能成为目前关注的重点之一。
对于加密模块而言,为了提高其安全性能需要提供具有良好随机性的随机数作为种子,,从而形成伪随机数列。然而,目前的随机数产生电路产生的随机数的随机性仍然有待提高。
发明内容
本发明实施例解决的技术问题为提供一种随机数产生电路,提高随机数的随机性。
为解决上述问题,本发明实施例提供一种随机数产生电路,包括:随机数发生器,被配置为,在每一计满周期内输出若干个第一随机数;控制信号生成模块,被配置为,接收触发信号,并基于所述触发信号输出与不同的所述第一随机数对应的控制信号;多选模块,被配置为,接收所述第一随机数以及与所述第一随机数对应的所述控制信号,基于所述控制信号对所述第一随机数的至少一个比特位置进行调整,获取第二随机数,并输出若干所述第二随机数。
另外,所述随机数发生器为n-bit随机数发生器,所述若干个第一随机数为2n-1个第一随机数;所述随机数发生器具有n个第一输出端,且每一所述第一输出端具有固定的比特位置,n为大于1的整数。
另外,所述多选模块包括:片选输入端,用于接收所述控制信号;数据输入端,与n个所述第一输出端连接,用于接收所述第一随机数;所述多选模块具有N种不同比特位置调整方式,且每一所述比特位置调整方式与一所述控制信号对应,其中,N为大于1的整数;所述多选模块还被配置为,对所述n个第一输出端的数据的比特位置进行调整,以获取所述第二随机数。
另外,所述多选模块包括:N个调整单元,每一所述调整单元定义一所述比特位置调整方式;每一所述调整单元均具有所述数据输入端,且每一所述调整单元均具有所述片选输入端。
另外,所述n个第一输出端的数据的比特位置排列为第一比特位置排列,每一所述调整单元具有n个第二输出端,所述n个第二输出端的数据的比特位置排列为第二比特位置排列;每一所述第二比特位置排列各不相同,且所述第二比特位置排列与所述第一比特位置排列不同。
另外,N个所述调整单元被配置为,N个所述第二比特位置排列中,一个比特位的数据对应的所述第二输出端的位置不同,其余比特位的数据对应的所述第二输出端的位置排列不变。
另外,至少一个所述第二比特位置排列与所述第一比特位置排列相同。
另外,所述N大于或等于n。
另外,所述控制信号生成模块包括:m-bit计数器;其中,N与m的关系满足:N≤2m-1,m为任意自然数,N为大于等于2的任意自然数。
另外,所述控制信号生成模块还被配置为,所述不同的第一随机数为在不同的所述计满周期内的所述第一随机数;在同一所述计满周期内,所述控制信号不变;一所述计满周期对应的所述控制信号与相邻的所述计满周期对应的所述控制信号不同。
另外,所述随机数发生器还被配置为,完成每一所述计满周期则输出计满信号;所述控制信号生成模块接收所述计满信号作为所述触发信号。
另外,所述控制信号生成模块还被配置为,所述不同的第一随机数包括每一所述计满周期内的所述第一随机数,在同一所述计满周期内,不同的所述第一随机数对应的所述控制信号不同。
另外,所述随机数发生器还被配置为,接收驱动时钟信号产生所述第一随机数;所述控制信号生成模块还被配置为,接收所述驱动时钟信号作为所述触发信号。
另外,所述控制信号生成模块包括:M-bit伪随机数产生电路,且所述伪随机数产生电路与所述随机数发生器接收同一驱动时钟信号。
另外,所述随机数发生器包括线性反馈移位寄存器。
与现有技术相比,本发明实施例提供的技术方案具有以下优点:
本发明实施例提供一种结构性能优越的随机数产生电路,包括随机数发生器、控制信号生成模块以及多选模块,随机数发生器输出若干第一随机数,且控制信号生成模块向多选模块提供与不同第一随机数对应的控制信号,多选模块接收控制信号后对第一随机数的至少一个比特位置进行调整,获取第二随机数,第二随机数与第一随机数相比具有更好的随机性,从而提高随机数产生电路产生的随机数的随机性。
另外,多选模块具有N种不同比特位置调整方式,因此对于第一随机数的比特位置调整方式具有N种,基于具有一种随机序列的第一随机数而言,可以产生N种随机序列的第二随机数,从而进一步的增加了随机数的随机序列,进一步的提高了随机数的随机性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为7种不同的电路结构示意图;
图2为本发明一实施例提供的随机数产生电路的功能框图;
图3为本发明另一实施例提供的随机数产生电路的功能框图;
图4为图3中的随机数发生器的电路结构示意图;
图5为图4中多选模块的结构示意图;
图6为图4中控制信号生成模块的一种结构示意图;
图7为图4中控制信号生成模块的另一种结构示意图;
图8为图4中控制信号生成模块的又一种结构示意图。
具体实施方式
由背景技术可知,现有技术的随机数产生电路的随机性仍有待提高。
分析发现,目前的随机数产生电路虽然对输出进行了乱序处理,但是前后数之间还是具有一定的前后关系,很难做到真正意义上的随机。具体地,以线性移位寄存器((Linear Feedback Shift Registers,LFSR)作为随机数产生电路,以产生7-bit的随机数作为示例。对于一个固定的随机数产生电路而言,其抽头(the output of affect on theinput,tap)位置是固定的,那么这个随机数产生电路只能产生一种随机序列,在一个计数周期内前后数的顺序是固定的,其中影响下一个状态的比特位置叫做抽头位置。
若需要产生多种随机序列,在需要设置多种随机数产生电路,且每一随机数产生电路的抽头位置不同,例如,对于7-bit的LFSR而言具有7种不同的抽头位置,则可设计7个具有不同抽头位置的LFSR,从而实现7种随机序列,每一种随机序列可产生27-1个随机数,以增加随机数的随机性。
具体地,图1为7种不同的电路结构示意图,如图1所示,标示1-7的7种不同的电路图各自对应的抽头位置不同,随机数产生电路包括:7个串联的触发器10,该触发器10为D触发器,且前一级触发器10的输出作为后一级触发器10的输入,且各触发器10接收驱动时钟信号clk;异或门11,异或门11的两个输入端分别与一触发器10的输入端与输出端连接,且异或门11的输出端作为另一触发器10的输入端;该异或门11的位置决定随机数产生电路的抽头位置;从左往右将触发器10称为第零级/第一级……第六级触发器10,且各触发器10的输出相应即为D[0]D[1]……D[6]。
对于标示为1的电路图,该随机数产生电路产生第一种随机序列的随机数:抽头位置为第零级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[0]D[6]D[5]D[4]D[3]D[2]D[1]。
对于标示为2的电路图,该随机数产生电路产生第二种随机序列的随机数:抽头位置为第一级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[1]D[0]D[6]D[5]D[4]D[3]D[2]。
对于标示为3的电路图,该随机数产生电路产生第三种随机序列的随机数:抽头位置为第二级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[2]D[1]D[0]D[6]D[5]D[4]D[3]。
对于标示为4的电路图,该随机数产生电路产生第四种随机序列的随机数:抽头位置为第三级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[3]D[2]D[1]D[0]D[6]D[5]D[4]。
对于标示为5的电路图,该随机数产生电路产生第五种随机序列的随机数:抽头位置为第四级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[4]D[3]D[2]D[1]D[0]D[6]D[5]。
对于标示为6的电路图,该随机数产生电路产生第六种随机序列的随机数:抽头位置为第五级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[5]D[4]D[3]D[2]D[1]D[0]D[6]。
对于标示为7的电路图,该随机数产生电路产生第七种随机序列的随机数:抽头位置为第六级触发器10,随机数产生电路的输出按照比特位的高低依次排布为D[6]D[5]D[4]D[3]D[2]D[1]D[0]。
由上述分析不难发现,为达到不同的随机序列,需要改过电路图的抽头位置,即需要提供7种电路,增加电路复杂性。此外,由上述分析可知,对于随机数的比特位固定的电路而言,且抽头位置可变化的量也是固定的,导致可变化的随机序列的数量也是固定的,如图1为产生7-bit的随机数,那么抽头位置变化的最大量也是7,能够产生的随机序列的最大种类也是7,因此采用这种方式来增加随机序列的能力也是有限的。
为解决上述问题,本发明实施例提供一种随机数产生电路,包括随机数发生器、控制信号生成模块以及多选模块,该多选模块可用于对随机数发生器产生的第一随机数的比特位置进行重新排序,从而增加随机数产生电路产生的随机数的随机序列,提高随机数的随机性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
图2为本发明一实施例提供的随机数产生电路的功能框图。
参考图2,本实施例中,随机数产生电路包括:随机数发生器101,被配置为,在每一计满周期内输出若干个第一随机数;控制信号生成模块102,被配置为,接收触发信号CLK2,并基于触发信号CLK2输出与不同的第一随机数对应的控制信号Sel;多选模块103,被配置为,接收第一随机数以及与第一随机数对应的控制信号Sel,基于控制信号Sel对第一随机数的至少一个比特位置进行调整,获取第二随机数,并输出若干所述第二随机数。
以下将结合附图对本实施例提供的随机数产生电路进行详细说明。
随机数发生器101为n-bit随机数发生器,相应的,若干个第一随机数为2n-1个第一随机数;随机数发生器101接收驱动时钟信号CLK1产生第一随机数。其中,随机数发生器101产生所有不同的第一随机数的周期为计满周期。
随机数发生器101具有n个第一输出端,且每一所述第一输出端具有固定的比特位置,n为大于1的整数,例如为4、7、10等。随机数发生器101可以为线性反馈移位寄存器,且包括n个串联的触发器,每一个触发器的输出端作为n个第一输出端中的一个,且每一触发器的输出端所处的比特位置不同。
具体地,在一个例子中,以D[0]、D[1]、D[2]……D[n-3]、D[n-2]、D[n-1]标示各第一输出端(即各触发器的输出端),且各第一输出端的比特位置从高到低的排布可以为以D[0]、D[n-1]、D[n-2]、D[n-3]……D[2]、D[1]的顺序,n大于3。本实施例中,随机数发生器101可产生一种随机序列的第一随机数,也就是说,随机数发生器101可以为具有固定抽头位置的线性移位寄存器。可以理解的是,在其他实施例中,随机数发生器也可以产生具有多种随机序列的第一随机数。
控制信号生成模块102具有用于接收触发信号CLK2的触发端,且还具有用于输出控制信号Sel的信号输出端。
为了提高控制信号Sel与第一输出端输出数据的同步性,本实施例中,触发信号CLK2与随机数发生器101相关联。如此,可以提高第一随机数发生变化时控制信号Sel变化的同步性。
在一个例子中,控制信号生成模块102可以被配置为,不同的第一随机数为在不同的计满周期内的第一随机数;在同一计满周期内,控制信号Sel不变;一计满周期对应的控制信号Sel与相邻的计满周期对应的控制信号Sel不同。如此,在同一计满周期内,多选模块103对同一计满周期内的若干第一随机数的比特位置调整的方式相同,即基于第一随机数获取第二随机数的方式相同,有利于降低电路的复杂程度。
具体地,触发信号CLK2可以为触发驱动时钟信号,且触发驱动时钟信号的时钟周期与计满周期相同。或者,触发信号CLK2也可以由随机数发生器101输出提供,即随机数发生器101完成一个计满周期则输出计满信号,控制信号生成模块102接收该计满信号作为触发信号。
在另一个例子中,控制信号生成模块102可以被配置为,不同的第一随机数包括每一计满周期内的第一随机数,在同一计满周期内,不同的第一随机数对应的控制信号Sel不同。如此,由于在单个计满周期内,控制信号Sel不同,因此多选模块103对同一计满周期内的每一第一随机数的比特位置调整方式也可以不同,从而有利于进一步的增加第二随机数的随机性。更具体地,由于同一计满周期内的控制信号Sel也不相同,能够在增加不同计满周期的第一随机数的随机性的同时,还增加同一计满周期的第一随机数的随机性。
具体地,随机数发生器101接收驱动时钟信号CLK1产生第一随机数,控制信号生成模块102接收该驱动时钟信号CLK1作为触发信号CLK2。
本实施例中,多选模块103包括:片选输入端113,用于接收控制信号Sel;数据输入端,与n个第一输出端连接,用于接收第一随机数;多选模块103具有N种不同比特位置调整方式,且每一比特位置调整方式与一控制信号对应,其中,N为大于1的整数;多选模块103还被配置为:对n个第一输出端的比特位置进行调整,以获取第二随机数。
多选模块103包括数据输出端OUT[n-1:0],输出n-bit的第二随机数。
相较于随机数产生电路101产生的第一随机性的随机序列而言,多选模块103输出的第二随机数的随机序列增加了N倍。
具体地,控制信号Sel的种类大于或等于N,保证会用到所有的不同比特位置调整方式来调整第一随机数的比特位置,从而增加第二随机数的随机序列。因此,可以根据N合理设置控制信号生成模块102,保证产生的控制信号Sel的种类符合需求。
本实施例中,N大于或等于n,有利于增加第二随机数的随机序列。具体地,n个第一输出端的数据的比特位置排列为第一比特位置排列,多选模块103的输出端输出的数据可以具有N个第二比特位置排列,每一第二比特位置排列为基于一种比特位置调整方式对第一比特位置进行调整后获取的。
需要说明的是,为了保留随机数发生器101产生的第一随机数的随机序列,至少一个第二比特位置排列与第一比特位置排列相同。还需要说明的是,在其他实施例中,N也可以为1。
此外,为了减小多选模块103的电路复杂度,多选模块103还可以被配置为:对于N个第二比特位置排列中,一个比特位的数据对应的多选模块103的输出端的位置不同,而其余比特位的数据对应的多选模块103的输出端的位置排列不变。举例来说,由最高位到最低位,第一比特位置排列为D[0]、D[n-1]、D[n-2]....D[3]、D[2]、D[1];由最高位到最低位,第二比特位置排列包括表一中的多种排列方式。
1 | D[0] | D[n-1] | D[n-2] | D[n-3] | … | D[3] | D[2] | D[1] |
2 | D[1] | D[0] | D[n-1] | D[n-2] | … | D[4] | D[3] | D[2] |
3 | D[2] | D[1] | D[0] | D[n-1] | … | D[5] | D[4] | D[3] |
… | … | … | … | … | … | … | … | … |
n-1 | D[n-2] | D[n-3] | D[n-4] | D[n-5] | … | D[1] | D[0] | D[n] |
n | D[n-1] | D[n-2] | D[n-3] | D[n-4] | … | D[2] | D[1] | D[0] |
表一
可以理解的是,在其他实施例中,也可以为至少两个比特位的数据对应的多选模块103的输出端的位置不同。对于n个第一输出端而言,各第一输出端对应的数据的比特位均可以发生变化,根据不同的排列组合一共具有Cn n-1种变化,也就是说,N与n满足:N≤Cn n-1,即,N≤n×(n-1)×(n-2)…2×1。
为了降低多选模块103的复杂度,N可以与n相同。
可以理解的是,在其他实施例中,N也可以小于n。
本实施例中,随机数发生器101输出二进制的第一随机数,相应的多选模块103输出二进制第二随机数。
本实施例提供的随机数产生电路,由于多选模块103能够对第一随机数的比特位进行重新排序,从而产生更多的随机序列,提高随机数产生电路的随机数的随机性。此外,相较于需要多种具有不同抽头位置的随机数发生器而言,本实施例的电路结构更为简单,且功耗更低。
本发明另一实施例还提供一种随机数产生电路,该随机数产生电路与前述的实施例的大致相同,主要区别包括对各模块做了更详细的说明。以下将结合附图对本发明另一实施例提供的随机数产生电路进行详细说明,与前述实施例相同或者相应的部分,可参考前述实施例,以下将不做详细赘述。
图3为本发明另一实施例提供的随机数产生电路的功能框图。
参考图3,本实施例中,随机数产生电路包括:n-bit的随机数发生器201,具有n个第一输出端211;控制信号生成模块202;多选模块203,多选模块203具有片选输入端以及数据输入端,多选模块203具有数据输出端OUT[n-1:0]。
具体地,多选模块203包括:N个调整单元204,每一调整单元204定义一比特位置调整方式;且每一调整单元204均具有数据输入端,且每一调整单元204均具有片选输入端。每一调整单元204被配置为,接收控制信号Sel,且与控制信号Sel对应的调整单元204输出第二随机数。
也就是说,每一调整单元204的输出端均为多选模块203的数据输出端OUT[n-1:0],且控制信号Sel作为调整单元204的片选信号,基于控制信号Sel选中对应的调整单元204的输出端作为多选模块203的数据输出端OUT[n-1:0]。
按照各自输出的数据的比特位置,将n个第一输出端211中的每一第一输出端211标记为D[n-1]、D[n-2]....D[3]、D[2]、D[1]、D[0]。
具体地,n个第一输出端211的数据的比特位置排列为第一比特位置排列,例如为D[0]D[n-1]D[n-2]....D[3]D[2]D[1]。每一调整单元204具有n个第二输出端214,且n个第二输出端214的数据的比特位置排列为第二比特位置排列,第二比特位置排列各不相同,且第二比特位置排列与第一比特位置排列不同,例如第二比特位置排列可以为D[n-1]D[n-2]....D[3]D[2]D[1]D[0]等,有关第二比特位置排列以及第一比特位置排列的详细说明,可参考前述实施例。
本实施例中,以调整单元204的数量与随机数产生器201的第一随机数的比特位数量相同作为示例,即N与n相同。在其他实施例中,调整单元的数量可以大于或小于随机数发生器的比特位数量。
图4为本实施例提供的随机数发生器201的电路结构示意图。
参考图4,随机数发生器201为线性移位寄存器,包括:n个触发器211,异或门231,一触发器211的输入端以及输出端作为异或门231的两个输入端,且异或门231的输出端连接另一触发器211的输入端。异或门231的位置定义随机数发生器201的抽头位置,每一触发器211的输出端作为一第一输出端211(参考图3)。
根据串联的顺序,触发器211依次记为第零级触发器、第一级触发器、第二级触发器…第n-1级触发器。
本实施例中,以随机数发生器201为7-bit随机数发生器,且为二进制的7-bit随机数发生器作为示例进行详细说明,在一个计满周期内产生127个第一随机数。图4中,随机数发生器201具有7个触发器211,且异或门231的位置决定了n个第一输出端211的数据的比特位置排列,例如,图4中,7个第一输出端211的数据的比特位置排列为D[0]D[6]D[5]D[4]D[3]D[2]D[1]。
需要说的是是,在其他实施例中,异或门231的输入端、输出端也可以与其他的触发器相应连接。
图5为本实施例提供的多选模块203的结构示意图,包括7个调整单元204(参考图3)。n个第一输出端211作为每一调整单元204的输入端,为了便于图示的简洁性,图5中每一调整单元204的输入端以0代替D[0]、以1代替D[1],依次类推,且第二输出端214以0代替D[0],依次类推。需要说明的是,标示为D[0]的标示为第零个第一输出端211的数据,标示为D[1]的为第一个第一输出端211的数据,依次类推。
图5中,为了便于说明,以20/21/22/23/24/25/26标示不同的调整单元204。每一调整单元204的第二输出端的排列方式不同,作为示例,按照从上往下的排列表示各数据的比特位由高到低的排序,标示为20的调整单元204的第二输出端输出的数据为D[0]D[6]D[5]D[4]D[3]D[2]D[1],标示为21的调整单元204的第二输出端输出的数据为D[1]D[0]D[6]D[5]D[4]D[3]D[2]。
本实施例中,随机数发生器201具有固定的抽头位置,多选模块203应用于模拟随机数发生器201的抽头位置调整产生的随机数。相应的,多选模块203具有n种不同的调整单元204。如图5所示,标示为21的调整单元204用于模拟图4中随机数发生器201的抽头位置在第零级触发器的LFSR,标示为22的调整单元204用于模拟图4中抽头位置在第一级触发器的LFSR,标示为23的调整单元204用于模拟图4中抽头位置在第二级触发器的LFSR,依次类推。
需要说的是,本实施例中以随机数发生器201为7-bit的随机数发生器作为示例。在其他实施例中,随机数发生器也可以为任意bit的随机数法发生器,如3-bit、4-bit、10-bit、20-bit等。
本实施例中,控制信号生成模块202包括:m-bit计数器212;其中,N与m的关系满足:N≤2m-1,m为任意自然数,N为大于等于2的任意自然数。具体地,m大于或等于lgN/lg2+1的结果向下取整。举例来说,N为7时,m大于或等于3。
如图6所示,m-bit计数器212包括m个触发器222;触发信号CLK2作为第一级的触发器222的时钟输入信号,前一级的触发器222的输出端作为后一即触发器222的时钟输入信号,m个触发器222的输出端共同输出控制信号Sel。
本实施例中,N为7,则计数器212包括三个触发器222,分别标示为DFF#0、DFF#1、DFF#2。
随机数发生器201还被配置为,完成每一计满周期则输出计满信号,控制信号生成模块202接收该计满信号作为触发信号。如此,在同一计满周期内,控制信号Sel不变;不同的计满周期对应的控制信号Sel不同。
本实施例中,控制信号生成模块202为3-bit计数器,具有三个输出端S0/S1/S2,控制信号Sel如表二所示:
S2(最高比特位) | S1 | S0(最低比特位) | Sel |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 2 |
0 | 1 | 1 | 3 |
1 | 0 | 0 | 4 |
1 | 0 | 1 | 5 |
1 | 1 | 0 | 6 |
表二
以下将结合附图对本实施例提供的随机数产生电路的工作原理进行说明:
在第一个计满周期内,随机数发生器201产生若干第一随机数,且控制信号Sel保持不变为0,相应的多选模块203中标示为20的调整单元204被选中,其第二输出端214输出若干第二随机数,各第二随机数的顺序与第一随机数的顺序相同。
第一计满周期完成,随机数发生器201输出计满信号,该计满信号作为计数器的触发信号,S2S1S0由000变为001,控制信号Sel由0变为1,相应的标示为21的调整单元204被选中,在第二个计满周期内,标示为21的调整单元203的第二输出端输入若干第二随机数,各第二随机数的顺序与第一随机数的顺序不同。
依次类推,每一次计满周期完成后,计数器输出端输出的控制信号Sel为上一个计满周期对应的数值+1,从而选中另一个调整单元204的第二输出端作为多选模块203的输出端。
如此,对于7个计满周期而言,每个计满周期内的第二随机数的顺序都发生了变化,第二随机数的随机序列为7种,从而增加了随机数产生电路产生的随机数的随机性。
在另一例子中,如图7所示,计数器的触发信号与随机数发生器201的驱动时钟信号相同。在每个计满周期内,不同的第一随机数对应不同的控制信号Sel,因此在每个计满周期内也能调用不同的调整单元204进行比特位置的重新排列,从而进一步的增加了随机数的随机性,有利于产生更多的随机序列。随机数产生电路的工作原理如下:
在每一个计满周期内,随机数发生器201产生第一个随机数,计数器输出的控制信号Sel为0,选中标号为20的调整单元204产生第二随机数;随机数发生器201产生第二个随机数;计数器输出的控制信号Sel为1,选中标号为21的调整单元204产生第二随机数;计数器输出的控制信号Sel为2,选中标号为22的调整单元204产生第二随机数;依次类推;当计数器输出的控制信号为7之后,计数器又重新从0开始计数。可以理解的是,多选模块203中的调整单元204的数量可以与每一计满周期产生的第一随机数的数量相同,且根据调整单元203的数量设置计数器。需要说明的是,前述的控制信号Sel与对应选中的调整单元204仅为示例,只有保证不同的控制信号Sel对应选中不同的调整单元204即可。
在又一个例子中,如图8所示,控制信号生成模块202可以为:M-bit伪随机数产生电路,且伪随机数产生电路与随机数发生器201接收同一驱动时钟信号CLK2。相较于计数器而言,伪随机数产生电路输出的控制信号更具有随机性,因此不同的第一随机数对应的调整单元204也相应更具有随机性。
具体地,伪随机数产生电路包括M个D触发器232以及第一异或门231,伪随机数产生电路具有输出端S0/S1/S2,该输出端的信号作为控制信号。
本实施例提供的随机数产生电路,基于一种具有固定随机序列的随机数发生器201,能够产生具有N种不同随机序列的随机数,提高了使用该随机数产生电路的安全性。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各自更动与修改,因此本发明的保护范围应当以权利要求限定的范围为准。
Claims (15)
1.一种随机数产生电路,其特征在于,包括:
随机数发生器,被配置为,在每一计满周期内输出若干个第一随机数;
控制信号生成模块,被配置为,接收触发信号,并基于所述触发信号输出与不同的所述第一随机数对应的控制信号;
多选模块,被配置为,接收所述第一随机数以及与所述第一随机数对应的所述控制信号,基于所述控制信号对所述第一随机数的至少一个比特位置进行调整,获取第二随机数,并输出若干所述第二随机数。
2.如权利要求1所述的随机数产生电路,其特征在于,所述随机数发生器为n-bit随机数发生器,所述若干个第一随机数为2n-1个第一随机数;所述随机数发生器具有n个第一输出端,且每一所述第一输出端具有固定的比特位置,n为大于1的整数。
3.如权利要求2所述的随机数产生电路,其特征在于,所述多选模块包括:
片选输入端,用于接收所述控制信号;
数据输入端,与n个所述第一输出端连接,用于接收所述第一随机数;
所述多选模块具有N种不同比特位置调整方式,且每一所述比特位置调整方式与一所述控制信号对应,其中,N为大于或等于1的整数;所述多选模块还被配置为,对所述n个第一输出端的数据的比特位置进行调整,以获取所述第二随机数。
4.如权利要求3所述的随机数产生电路,其特征在于,所述多选模块包括:N个调整单元,每一所述调整单元定义一所述比特位置调整方式;每一所述调整单元均具有所述数据输入端,且每一所述调整单元均具有所述片选输入端。
5.如权利要求4所述的随机数产生电路,其特征在于,所述n个第一输出端的数据的比特位置排列为第一比特位置排列,每一所述调整单元具有n个第二输出端,所述n个第二输出端的数据的比特位置排列为第二比特位置排列;每一所述第二比特位置排列各不相同,且所述第二比特位置排列与所述第一比特位置排列不同。
6.如权利要求5所述的随机数产生电路,其特征在于,N个所述调整单元被配置为,N个所述第二比特位置排列中,一个比特位的数据对应的所述第二输出端的位置不同,其余比特位的数据对应的所述第二输出端的位置排列不变。
7.如权利要求5所述的随机数产生电路,其特征在于,至少一个所述第二比特位置排列与所述第一比特位置排列相同。
8.如权利要求4所述的随机数产生电路,其特征在于,所述N大于或等于n。
9.如权利要求3所述的随机数产生电路,其特征在于,所述控制信号生成模块包括:m-bit计数器;其中,N与m的关系满足:N≤2m-1,m为任意自然数,N为大于等于2的任意自然数。
10.如权利要求1所述的随机数产生电路,其特征在于,所述控制信号生成模块还被配置为,所述不同的第一随机数为在不同的所述计满周期内的所述第一随机数;在同一所述计满周期内,所述控制信号不变;一所述计满周期对应的所述控制信号与相邻的所述计满周期对应的所述控制信号不同。
11.如权利要求10所述的随机数产生电路,其特征在于,所述随机数发生器还被配置为,完成每一所述计满周期则输出计满信号;所述控制信号生成模块接收所述计满信号作为所述触发信号。
12.如权利要求1所述的随机数产生电路,其特征在于,所述控制信号生成模块还被配置为,所述不同的第一随机数包括每一所述计满周期内的所述第一随机数,在同一所述计满周期内,不同的所述第一随机数对应的所述控制信号不同。
13.如权利要求12所述的随机数产生电路,其特征在于,所述随机数发生器还被配置为,接收驱动时钟信号产生所述第一随机数;所述控制信号生成模块还被配置为,接收所述驱动时钟信号作为所述触发信号。
14.如权利要求1所述的随机数产生电路,其特征在于,所述控制信号生成模块包括:M-bit伪随机数产生电路,且所述伪随机数产生电路与所述随机数发生器接收同一驱动时钟信号。
15.如权利要求1所述的随机数产生电路,其特征在于,所述随机数发生器包括线性反馈移位寄存器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911973.6A CN114201142A (zh) | 2020-09-02 | 2020-09-02 | 随机数产生电路 |
US17/438,433 US20230062156A1 (en) | 2020-09-02 | 2021-06-11 | Random number generator circuit |
PCT/CN2021/099839 WO2022048231A1 (zh) | 2020-09-02 | 2021-06-11 | 随机数产生电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010911973.6A CN114201142A (zh) | 2020-09-02 | 2020-09-02 | 随机数产生电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114201142A true CN114201142A (zh) | 2022-03-18 |
Family
ID=80491574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010911973.6A Pending CN114201142A (zh) | 2020-09-02 | 2020-09-02 | 随机数产生电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230062156A1 (zh) |
CN (1) | CN114201142A (zh) |
WO (1) | WO2022048231A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2842389B2 (ja) * | 1996-07-11 | 1999-01-06 | 日本電気株式会社 | 乱数発生装置 |
CN109656514B (zh) * | 2017-10-11 | 2023-08-15 | 华邦电子股份有限公司 | 随机数产生系统及其随机数产生方法 |
TWI668630B (zh) * | 2018-05-28 | 2019-08-11 | 華邦電子股份有限公司 | 亂數產生器以及亂數產生方法 |
CN110597488A (zh) * | 2018-06-12 | 2019-12-20 | 华邦电子股份有限公司 | 随机数产生器以及随机数产生方法 |
CN108809294B (zh) * | 2018-08-30 | 2023-11-14 | 北京神经元网络技术有限公司 | 一种动态单元匹配电路 |
-
2020
- 2020-09-02 CN CN202010911973.6A patent/CN114201142A/zh active Pending
-
2021
- 2021-06-11 WO PCT/CN2021/099839 patent/WO2022048231A1/zh active Application Filing
- 2021-06-11 US US17/438,433 patent/US20230062156A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230062156A1 (en) | 2023-03-02 |
WO2022048231A1 (zh) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8462028B2 (en) | Parallel to serial conversion apparatus and method of converting parallel data having different widths | |
WO2012016588A1 (en) | Bit sequence generator | |
WO2010034326A1 (en) | State machine and generator for generating a description of a state machine feedback function | |
US20130191427A1 (en) | Pseudo-noise generator | |
US10922055B2 (en) | Random number generator and method for generating random numbers | |
CN109683852B (zh) | 一种真随机数发生器 | |
CN114201141A (zh) | 随机数产生电路 | |
CN115220694A (zh) | 随机数据生成电路及读写训练电路 | |
CN109656514B (zh) | 随机数产生系统及其随机数产生方法 | |
US20060156187A1 (en) | Method and apparatus for multiple polynomial-based random number generation | |
WO2020014993A1 (zh) | 基于fpga的并行伪随机序列发生器设计方法 | |
CN114201142A (zh) | 随机数产生电路 | |
US8745113B2 (en) | Pseudo-random bit sequence generator | |
JP3626105B2 (ja) | 疑似ランダム信号発生回路 | |
JP5119417B2 (ja) | 擬似乱数生成装置 | |
US10776079B2 (en) | True random number generation device and generation method thereof | |
US11586418B2 (en) | Random number generator, random number generating circuit, and random number generating method | |
JP2014164342A (ja) | 擬似乱数生成回路および擬似乱数生成方法 | |
JP2006318002A (ja) | クロック分周回路 | |
CN110597488A (zh) | 随机数产生器以及随机数产生方法 | |
GB2113879A (en) | Improvements in and relating to number generation | |
CN110609672B (zh) | 真实随机数产生装置及其产生方法 | |
CN113723035B (zh) | 一种位宽可变的求模运算方法及求模运算电路 | |
US7812636B2 (en) | Method and device for generating pseudo-random binary data | |
JP3936476B2 (ja) | 符号生成器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |