CN117234462A - 一种超高速伪随机数信号产生装置 - Google Patents
一种超高速伪随机数信号产生装置 Download PDFInfo
- Publication number
- CN117234462A CN117234462A CN202311143919.1A CN202311143919A CN117234462A CN 117234462 A CN117234462 A CN 117234462A CN 202311143919 A CN202311143919 A CN 202311143919A CN 117234462 A CN117234462 A CN 117234462A
- Authority
- CN
- China
- Prior art keywords
- chaotic
- sequence
- submodule
- data
- state value
- 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.)
- Granted
Links
- 230000000739 chaotic effect Effects 0.000 claims abstract description 262
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 24
- 230000000737 periodic effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 238000010587 phase diagram Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000013178 mathematical model Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
本发明公开了一种超高速伪随机数信号产生装置,其中,基于流水线型混沌迭代模型模块中混沌方程组子模块采用移位寄存器进行延时移位寄存,同时增加参数ROM读取子模块以及混沌状态值RAM读写子模块,构成流水迭代计算,从而高速产生迭代输出值。此外,M序列更新控制模块将各个混沌方程输出的混沌次态值拼合得到拼合数据,并根据写地址产生更新使能信号,多个M序列模块在更新使能信号有效时,将拼合数据拆分重组为多个M序列发生器对应的多组反馈系数读地址以及M序列发生器初值,根据反馈系数读地址得到反馈系数,这样产生一个多个通道多位数据信号,从而保证M序列发生器的输出值始终随机,避免陷入周期性重复。本发明将混沌迭代模型与M序列发生器相结合,实现了多通道多位伪随机数信号的均匀、高速产生。
Description
技术领域
本发明属于伪随机数信号产生技术领域,更为具体地讲,涉及一种超高速伪随机数信号产生装置。
背景技术
在传统基于FPGA的混沌迭代计算模块中,不同的方程间以及同一方程不同计算部分之间存在延时不匹配的现象。为避免出现迭代次序错乱的现象,传统的FPGA混沌迭代计算模块主要采用busy-free的结构,即当前迭代未计算完成时,将整个混沌迭代计算模块置于busy状态,拒绝所有的数据输入。对于同一方程,先完成计算部分的计算结果存入寄存器中,等待其他计算部分完成后,再读出与其他计算部分进行,对于不同的方程,则先计算的方程的次态值通过寄存器寄存起来,待所有方程计算完毕后,再将统一输出,随后置混沌迭代计算模块于free状态,准备进入下一次迭代。
上述方法可以避免数据迭代混沌,但是平均计算耗时较长,如果混沌迭代计算需要数N个时钟(通常需要数百个时钟),则需要N个时钟才能输出一组混沌模型的次态值,效率较低。
此外,混沌迭代计算模块输出的路数有限,以三维混沌迭代计算模块为例,其输出就三路,即三个通道,这样在需要多通道输出的情况下,就不能满足需要。
发明内容
本发明的目的在于克服现有技术的不足,提供一种超高速伪随机数信号产生装置,以实现多通道多位伪随机数信号高速产生。
为实现上述发明目的,本发明超高速伪随机数信号产生装置,其特征在于,包括:
基于流水线型的混沌迭代模型模块,由混沌方程组子模块、参数ROM读取子模块、混沌状态值RAM读写子模块组成,混沌方程组子模块中各个混沌方程内部以及之间迭代计算需要同步进行延时时,采用移位寄存器进行延时移位寄存,移位寄存器中寄存器的数量等于需要延时的时钟个数,这样混沌方程组子模块可以进行流水迭代计算,参数ROM读取子模块用于存放m组混沌方程参数,混沌状态值RAM读写子模块用于存放m组混沌现态值,混沌现态值的初始值来自上位机,每个时钟从参数ROM读取子模块读取一组混沌方程参数给混沌方程组子模块,从混沌状态值RAM读写子模块读取一组混沌现态值给混沌方程组子模块,混沌方程组子模块依据接收的混沌方程参数和混沌现态值进行迭代计算,计算出的结果即混沌次态值一方面输出,另一方面作为下一次迭代计算的混沌现态值更新混沌状态值RAM读写子模块中的混沌现态值,这样在每个时钟混沌方程组子模块输出一组混沌次态值,同时,输出更新混沌状态值RAM读写子模块混沌现态值的写地址,其中,m大于一组混沌次态值计算所需的时钟个数;
M序列更新控制模块,用于接收混沌方程子模块输出的混沌次态值以及相应更新混沌状态值RAM读写子模块混沌现态值的写地址的,并执行两项操作:①数据拼合:将混沌方程子模块输出的混沌次态值拼合为一个数据即拼合数据,并输出,②序列模块选择性更新:将写地址作为混沌序号驱动M序列更新状态机使更新使能信号有效;
多个M序列模块,每个M序列模块包括多个M序列发生器以及各自对应的M序列反馈系数ROM,用于接收拼合数据和更新使能信号,并将拼合数据拆分重组为多组反馈系数读地址以及M序列发生器初值,每组反馈系数读地址以及M序列发生器初值对应一个M序列发生器,每个M序列模块在其接收的更新使能信号有效时,根据反馈系数读地址在对应的M序列反馈系数ROM中读取M序列反馈系数,然后与M序列发生器初值一起更新M序列发生器的反馈系数和初值;M序列发生器每个时钟输出一位数据信号,将多个M序列发生器每个时钟输出的一位数据信号组成一个通道的多位数据信号;每个M序列模块输出一个通道的多位数据信号,多个M序列模块输出的多位数据信号构成多个通道多位伪随机数据信号。
本发明的目的是这样实现的。
本发明超高速伪随机数信号产生装置包括基于流水线型的混沌迭代模型模块、M序列更新控制模块以及多个M序列模块,其中,基于流水线型混沌迭代模型模块中混沌方程组子模块采用移位寄存器进行延时移位寄存,同时增加参数ROM读取子模块以及混沌状态值RAM读写子模块,构成流水迭代计算,这样在每个时钟混沌方程输出一个混沌次态值,从而高速产生迭代输出值。此外,M序列更新控制模块将各个混沌方程输出的混沌次态值拼合得到拼合数据,并根据写地址产生更新使能信号,多个M序列模块在更新使能信号有效时,将拼合数据拆分重组为多个M序列发生器对应的多组反馈系数读地址以及M序列发生器初值,根据反馈系数读地址得到反馈系数,这样产生一个多个通道多位数据信号,通过这样的方式,从反馈系数和初值两个维度保证了M序列模块构造的随机性,从而保证M序列发生器的输出值始终随机,避免陷入周期性重复。本发明将混沌迭代模型与M序列发生器相结合,实现了多通道多位伪随机数信号的均匀、高速产生。
附图说明
图1是本发明超高速伪随机数信号产生装置一种具体实施方式的原理框图;
图2是一组混沌方程的参数和状态初值下的混沌映射相轨图,其中,(a)为x-y之间的混沌映射相轨图,(b)为x-z之间的混沌映射相轨图,(c)为y-z之间的混沌映射相轨图,(d)为x-y-z之间的混沌映射相轨图;
图3是另一组混沌方程的参数和状态初值下的混沌映射相轨图,其中,(a)为x-y之间的混沌映射相轨图,(b)为x-z之间的混沌映射相轨图,(c)为y-z之间的混沌映射相轨图,(d)为x-y-z之间的混沌映射相轨图;
图4是图1所示基于流水线型的混沌迭代模型模块一种具体实施方式的结构示意图;
图5是流水线型迭代计算示意图;
图6是图4中读地址read_addr信号控制的时序图;
图7是图4中RAM写地址write_addr的控制时序图;
图8是图1所示M序列更新控制模块一种具体实施方式的结构示意图
图9是图8所示M序列更新控制模块的控制时序图;
图10是图1所示M序列更新控制模块另一种具体实施方式的结构示意图;
图11是图10所示M序列更新控制模块的控制时序图;
图12是一个M序列模块一种具体实施方式的结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
本发明的主要实现思路为:基于流水线型的混沌迭代模型模块实时计算多个混沌模型参数的随机状态输出值(随机混沌输出值),M序列更新控制模块再使用随机状态输出值产生拼合数据以及根据读地址产生更新使能信号驱动多个M序列模块,从而极高速地产生均匀、随机的多个通道多位伪随机数据信号PRNs,可以应用于信号调制等诸多领域。
图1是本发明超高速伪随机数信号产生装置一种具体实施方式的原理框图。
在本实施例中,如图1所示,本发明超高速伪随机数信号产生装置包括基于流水线型的混沌迭代模型模块1、M序列更新控制模块2以及多个M序列模块3。
1、基于流水线型的混沌迭代模型模块
在本实施例中,如图1所示,基于流水线型的混沌迭代模型模块1(简称混沌迭代模型模块)由混沌方程组子模块101、参数ROM读取子模块102以及混沌状态值RAM读写子模块103组成。混沌方程组子模块101中各个混沌方程内部以及之间迭代计算需要同步进行延时时,采用移位寄存器进行延时移位寄存,移位寄存器中寄存器的数量等于需要延时的时钟个数,这样混沌方程组子模块101可以进行流水迭代计算,参数ROM读取子模块102用于存放m组混沌方程参数a、b、c、d、e,混沌状态值RAM读写子模块103用于存放m组混沌现态值xn、yn、zn,混沌现态值的初始值x0、y0、z0来自上位机,每个时钟从参数ROM读取子模块102读取一组混沌方程参数a、b、c、d、e给混沌方程组子模块,从混沌状态值RAM读写子模块103读取一组混沌现态值xn、yn、zn给混沌方程组子模块101,混沌方程组子模块101依据接收的混沌方程参数和混沌现态值xn、yn、zn进行迭代计算,计算出的结果即混沌次态值xn+1、yn+1、zn+1一方面输出,另一方面作为下一次迭代计算的混沌现态值更新混沌状态值RAM读写子模块103中混沌现态值xn、yn、zn,这样在每个时钟混沌方程组子模块101输出一组混沌次态值xn+1、yn+1、zn+1,同时,输出更新混沌状态值RAM读写子模块混沌现态值的写地址write_addr,其中,m大于一组混沌次态值xn+1、yn+1、zn+1计算所需的时钟个数。
1.1、混沌方程组子模块
通过将一个或者多个基于三角函数的忆阻器耦合到已有混沌映射中可以进一步增强分叉行为。正因如此,在本实施例中,使用了一个3D基于三角函数的忆阻器超混沌映射,该混沌映射的数学模型可以被写作:
在本实施例中,参数a、b、c、d、e为混沌方程组的参数,在本实施例中,m位245,即有245组混沌方程组参数,存放到参数ROM读取子模块102中。
参数k0=0.1,k1=-10,k2=0.5,τ=1为不变参数,即每组混沌次态值计算都是相同的参数,参数a、b、c、d、e取值不同时,混沌现态值的初始值(以下简称状态初值)x0、y0、z0取值不同:
例如取a=1.2,b=0.1,c=-1.2,d=1.72,e=π/6,状态初值取x0=0.5,y0=0.5,z0=0.1时,混沌映射的相轨图如图2所示。
例如取a=1.2,b=0.1,c=-1.3,d=1.72,e=π/2,状态初值取x0=0.9,y0=0.5,z0=0.1时,混沌映射的相轨图如图3所示。
从图2、3可以看出,混沌模型表现出不同的混沌性能。参数a、b、c、d、e为混沌方程组的参数,有245组存放到参数ROM读取子模块102中,相应的245组状态初值x0、y0、z0来自上位机,存放到混沌状态值RAM读写子模块101。
在本实施例中,将上述混沌映射以流水线的方式在FPGA中加以实现,这样基于流水线型的混沌迭代模型模块1的结构如图4所示。
在本实施例中,如图4所示,混沌方程组子模块101中包括三个混沌方程子模块即x混沌方程子模块、y混沌方程子模块以及z混沌方程子模块来实现三个混沌方程的迭代计算。各个混沌方程子模块内部根据混沌映射中的方程来构建。
混沌方程组子模块101中的x混沌方程子模块、y混沌方程子模块以及z混沌方程子模块根据当前从参数ROM读取子模块102读取出来的参数a、b、c、d、e以及固化在混沌方程组子模块中的固定参数k0、k1、k2、τ以及从混沌状态值RAM读写子模块读取的混沌现态值xn、yn、zn计算混沌次态值xn+1、yn+1、zn+1,计算出的混沌次态值xn+1、yn+1、zn+1作为下一次迭代的混沌现态值xn、yn、zn又写入到混沌状态值RAM读写子模块103中RAM对应的地址内,成为下一次迭代的混沌现态值xn、yn、zn。
在本实施例中,从该混沌映射的数学模型中可以看到,z维度的计算最为简单,对应在FPGA计算时延时最短,仅需要29个时钟。而x维度计算最为复杂,耗时最长,需244个时钟完成计算。即不同的方程间存在延时不匹配的现象,为避免出现迭代次序错乱的现象,传统的FPGA混沌迭代计算模块主要采用busy-free的结构,即当前迭代未计算完成时,将整个混沌计算模块置于busy状态,拒绝所有的数据输入,同时将先计算完的混沌次态值(如本实施例中的混沌次态值zn+1)通过寄存器寄存起来,待所有方程计算完毕后(即本实施例中的混沌次态值xn+1计算完成后),再将混沌次态值xn+1、yn+1、zn+1统一输出,随后置计算模块于free状态,准备进入下一次迭代。上述方法可以避免数据迭代混沌,但是平均计算耗时较长,以本实施例所用的混沌映射的数学模型为例,需要244个时钟才能输出一组混沌次态值,效率较低。
为克服busy-free结构效率较低的缺点,本发明中混沌方程组子模块101去除了busy-free结构中的用于暂存数据、等待输出的寄存器单元,去除了拒绝数据输入的busy状态信号,混沌方程组子模块101中各个混沌方程内部以及之间迭代计算需要同步进行延时时,采用移位寄存器进行延时移位寄存,移位寄存器中寄存器的数量等于需要延时的时钟个数,这样混沌方程组子模块101可以进行流水迭代计算。
以计算输出z维混沌次态值zn+1为例,z混沌方程迭代一次仅需29个时钟,而x混沌方程迭代一次需244个时钟,为保证输出时间一致,在z混沌方程子模块迭中添加移位寄存器,对z混沌方程子模块输出的混沌次态值zn+1进行延时移位寄存,设置移位寄存器进行延时215个时钟,从而保证z混沌方程子模块与x混沌方程子模块输出延时一致。
在本实施例中,对x混沌方程子模块、y混沌方程子模块内部的计算逻辑需要延时时,也进行相似的处理。最终,x混沌方程子模块、y混沌方程子模块、z混沌方程子模块的输出延时均为244个时钟。在本实施例中,如图5所示,对于一轮混沌次态值计算,在0时钟输入的第0组混沌模型参数和混沌现态值,将在244时刻得到其相应的混沌次态值,而在1时钟输入的第1组混沌模型参数和混沌现态值,将在245时刻得到其相应的混沌次态值,依次类推。流水线型的计算结构可实现每个时钟得到一组混沌次态输出,极大地提升了混沌次态值输出效率,充分利用了FPGA的硬件计算单元。
在本实施例中,混沌模型参数以及混沌次态值的初始值都是64位的双精度浮点数,计算出来的混沌次态值也为64位的双精度浮点数。
1.2、输入输出控制
为实现正确的混沌次态值的流水迭代计算,还需对混沌方程参数的读取、混沌次态值读写进行控制。其中,为保证同一时钟输入混沌方程组子模块101的混沌方程参数与混沌现态值始一致,参数ROM读取子模块102、混沌状态值RAM读写子模块103共享同一个读地址read_addr。当混沌迭代模型模块1复位结束即res_n=1,下一个时钟输入有效时即n_valid=1,读地址read_addr置为0,然后每个时钟增1,保证混沌方程组子模块101每个时钟得到一组参数与混沌现态值,每245个时钟为一个完整循环,即读地址read_addr增加到244后,下一个时钟回到0,重新每个时钟增1。读地址read_addr信号控制的时序图如图6所示。
·在时钟2,复位信号res_n变为高电平,混沌迭代模型模块复位解除;
·随后在时钟3,混沌方程组子模块输入有效即输入有效信号n_valid=1,读地址read_addr置为0,从参数ROM读取子模块地址0处读取第0组混沌模型参数,从混沌状态值RAM读写子模块中地址0处读取第0组混沌现态值输入混沌方程组子模块进行迭代计算;
·在时钟4,读地址read_addr=1,读取出第1组混沌模型参数和混沌现态值,进行迭代计算;
·244个时钟后,对应图的时钟247,基于第0组混沌模型参数和混沌现态值的第一次迭代计算完成,开始输出,同时第244组混沌模型参数和混沌现态值输入至混沌方程组子模块,随后读地址read_addr复位为0;
·在时钟248,读地址read_addr再次等于0,此时混沌方程组子模块的输入为第0组混沌模型参数以及第一次迭代计算出的混沌次态值,同时,基于第1组混沌模型参数和混沌现态值的第一次迭代计算完成,开始输出;
·在时刻249,读地址read_addr等于1,此时混沌方程组子模块的输入为第1组混沌模型参数以及第一次迭代计算出的混沌次态值,同时,基于第2组混沌模型参数和混沌现态值的第一次迭代计算完成,开始输出;
·以此类推,从而完成循环迭代计算。
为使得循环迭代计算的正确进行,除了要保证混沌方程组子模块的输人次序正确,还需要保证混沌状态值RAM读写子模块中存储的混沌现态值得到正确的更新,即保证混沌状态值RAM读写子模块中RAM写地址write_addr正确变化,使得每次迭代得到的混沌次态值能够准确覆盖上一个已使用的混沌现态值,这样新计算出的混沌次态值就可作为下一次混沌迭代的混沌现态值。
在本实施例中,RAM写地址write_addr的控制时序图如图7所示。
在时钟3,混沌方程组子模块输入有效即输入有效信号n_valid=1,读地址read_addr置为0,从参数ROM读取子模块地址0处读取第0组混沌模型参数,从混沌状态值RAM读写子模块中地址0处读取第0组混沌现态值输入混沌方程组子模块进行迭代计算,之后读地址read_addr置开始进行循环自增,不断读取混沌模型参数和混沌现态值进行迭代计算;
·244个时钟后,即时钟247,第0组混沌模型参数和混沌现态值的迭代计算完成,混沌计算模块输出有效即输出有效信号n1_valid=1,此时刻写地址write_addr=0,即表示将当前时刻的混沌方程组子模块输出的混沌次态值作为下一次迭代计算的混沌现态值写入到混沌状态值RAM读写子模块中地址0处的空间,覆盖掉地址0处原有的混沌现态值(第一路迭代计算为状态初值),同时写地址write_addr开始循环自增;
·在时钟248,读地址read_addr再次为0,从参数ROM读取子模块地址0处读取第0组混沌模型参数,从混沌状态值RAM读写子模块中地址0处读取第0组混沌现态值输入混沌方程组子模块进行下一次迭代计算,与此同时,写地址write_addr=1,第1组混沌模型参数和混沌现态值的迭代计算完成,将当前时刻的混沌方程组子模块输出的混沌次态值作为下一次迭代计算的混沌现态值写入到混沌状态值RAM读写子模块中地址1处的空间。
·在时钟249,读地址read_addr=1,同时写地址write_addr=2,读取第1组混沌模型参数和混沌现态值,当前时刻的混沌方程组子模块输出的混沌次态值作为下一次迭代计算的混沌现态值写入到混沌状态值RAM读写子模块中地址2处的空间。以此类推。
通过以上方案,最终实现了混沌迭代模型模块的流水线型迭代计算,每个时钟均可使出一组混沌次态值,大大提高的计算效率与资源利用率。
2、M序列更新控制模块
M序列更新控制模块2用于接收混沌方程子模块输出的混沌次态值以及相应更新混沌状态值RAM读写子模块混沌现态值的写地址的,并执行两项操作:①数据拼合:将混沌方程子模块输出的混沌次态值拼合为一个数据即拼合数据,并输出,②序列模块选择性更新:将写地址作为混沌序号驱动M序列更新状态机使更新使能信号有效。
在本实施例中,混沌迭代模型模块1持续计算输出的混沌次态值xn+1、yn+1、zn+1以及写地址write_addr到M序列更新控制模块2,写地址write_addr用作为混沌次态值xn+1、yn+1、zn+1的标识信号,用于确定当前混沌次态值xn+1、yn+1、zn+1来自于哪一组混沌方程参数和混沌现态值,并作为M序列更新控制模块内部的M序列更新状态机的状态更新控制信号,使其产生更新使能信号update_valid。
在本实施例中,M序列更新控制模块2有两种实现方案。
2.1、实现方案1
拼合数据同时发送给多个M序列模块,M序列更新状态机根据写地址不断使多个M序列模块的更新使能信号逐个有效。
在本实施例中,如图8所示,M序列更新控制模块2包括xyz数据拼合子模块201以及M序列更新状态机202,数据拼合子模块201将混沌次态值xn+1、yn+1、zn+1拼合为一个数据。在本实施例中,将混沌迭代模型模块1连续两个时钟(具体实施过程中,可以一个或更多个时钟)输出的混沌次态值xn+1、yn+1、zn+1进行切割并重新拼合,组成288bit的拼合数据MSEQ_din输出到后续得多个M序列模块中,即多个M序列模块都接收该拼合数据MSEQ_din。M序列更新状态机202输出多路更新使能信号update_valid[i],i=0,1,...,l-1,每一路连接到一个M序列模块MSEQ[i],l为M序列模块的数量。在本实施例中,l=16,即多个M序列模块为16个M序列模块。在本实施例中,第i个更新使能信号update_valid[i]与第i个M序列模块MSEQ[i]连接,当其为高电平即有效时,使能第i个M序列模块MSEQ[i]。
M序列更新状态机在混沌序号xyz_num即写地址write_addr驱动下进行状态转移,同时选择一路更新使能信号有效。在本实施例中,当混沌迭代模型模块输出有效时即输出有效信号n1_valid=1,由M序列更新状态机的状态状态UPDATE_STATE由状态IDLE转移至状态MSEQ0_update(简称为M0_update),当混沌序号xyz_num=1时,xyz数据拼合子模块201将第0组、第1组混沌方程参数和混沌现态值迭代计算输出的混沌次态值xn、yn、zn、xn+1、yn+1、zn+1混沌次态值进行切割并重新拼合,组成288bit的拼合数据MSEQ_din,此时仅令第0个更新使能信号update_valid[0]有效即高电平保持一个时钟,表示使用当前的拼合数据MSEQ_din对M序列模块MSEQ[0]进行更新,随后状态UPDATE_STATE转移至状态MSEQ1_update(简称M1_update),准备对M序列模块MSEQ[1]进行更新,当混沌序号xyz_num=3时,仅令第1个更新使能信号update_valid[1]有效即高电平保持一个时钟,将第2组、第3组混沌方程参数和混沌现态值迭代计算输出的混沌次态值xn+1、yn+1、zn+1混沌次态值进行切割并重新拼合,组成288bit的拼合数据MSEQ_din对M序列模块MSEQ[1]进行更新,依次类推,直到所有M序列模块都更新,状态UPDATE_STATE转移至状态Update_wait,当混沌序号xyz_num=244时,状态UPDATE_STATE转移至状态MSEQ1_update进行下一轮循环,具体的时序图如图9所示。
本发明中,M序列模块更新需要从ROM中读取反馈系数,用于构建新的M序列反馈结构。采用实现方案1对多个M序列模块进行更新时,由于M序列模块在不同的时钟进行更新,故可将存储反馈系数的ROM从单个M序列模块中剥离出来,使多个M序列模块共用同一组存储反馈系数的ROM,在M序列模块各自的更新使能信号update_valid[i]有效时,M序列模块MSEQ[i]访问存储反馈系数的ROM,读取新的反馈系数,更新M序列模块MSEQ[i],实现了单组ROM的时分复用,极大的节省了FPGA硬件资源。
2.2、实现方案2
M序列更新状态机根据写地址不断进行数据拼合,并存储,当拼合数据存储数量大于M序列模块的数量时,所有存储的拼合数据读出,分别输出到各自对应的M序列模块,同时,输出一路更新使能信号到所有M序列模块,使所有M序列模块有效,读取拼合数据。
在本实施例中,如图10所示,M序列更新状态机在当混沌迭代模型模块输出有效时即输出有效信号n1_valid=1,由M序列更新状态机的状态IDLE转移至状态MSEQ0_update(简称M0_update,当混沌序号xyz_num=1时,xyz数据拼合子模块201将第0组、第1组混沌方程参数和混沌现态值迭代计算输出的混沌次态值xn、yn、zn、xn+1、yn+1、zn+1进行切割并重新拼合,组成288bit的拼合数据MSEQ_din[0],并存储,随后状态转移至状态MSEQ1_update(简称M1_update),当混沌序号xyz_num=3时,将第2组、第3组混沌方程参数和混沌现态值迭代计算输出的混沌次态值xn+1、yn+1、zn+1混沌次态值进行切割并重新拼合,组成288bit的拼合数据MSEQ_din[1],依次类推,直到得到l个拼合数据MSEQ_din[i],i=0,1,...,l-1,状态转移至状态Update wait,当混沌序号xyz_num=244时,l个拼合数据MSEQ_din[i],i=0,1,...,l-1同时分别输出到各自的M序列模块MSEQ[i],i=0,1,...,l-1,同时,令更新使能信号update_valid有效,使所有M序列模块有效,读取各自拼合数据MSEQ_din,之后状态转移至状态MSEQ0_update进行下一轮循环,具体的时序图如图11所示。
3、多个M序列模块
多个M序列模块3中每个M序列模块包括多个M序列发生器以及各自对应的M序列反馈系数ROM,用于接收拼合数据和更新使能信号,并将拼合数据拆分重组为多组反馈系数读地址以及M序列发生器初值,每组反馈系数读地址以及M序列发生器初值对应一个M序列发生器,每个M序列模块在其接收的更新使能信号有效时,根据反馈系数读地址在对应的M序列反馈系数ROM中读取M序列反馈系数,然后与M序列发生器初值一起更新M序列发生器的反馈系数和初值;M序列发生器每个时钟输出一位数据信号,将多个M序列发生器每个时钟输出的一位数据信号组成一个通道的多位数据信号;每个M序列模块输出一个通道的多位数据信号,多个M序列模块输出的多位数据信号构成多个通道多位伪随机数据信号。
在本实施例中,如图12所示,在每个M序列模块中,包括一个拆分重组子模块301、16个M序列发生器302、16个FIFO存储器303以及各自对应的M序列反馈系数ROM 304,接收到288bit的拼合数据后,将拆分重组子模块301其拆分重组为16组重组数据,每组重组数据包括11位的反馈系数读地址Cread_addr以及16位M序列发生器初值ID,并对应一个M序列发生器,当更新使能信号有效时,将16组重组数据分别存入对应的FIFO存储器303中。然后,对于一个M序列发生器,根据对应组的反馈系数读地址Cread_addr在对应的M序列反馈系数ROM304中读取16位的M序列反馈系数FD,连同对应的16位M序列发生器初值ID对其进行更新。16组M序列反馈系数FD和M序列发生器初值ID分别输入至16个M序列发生器302中,完成对16路M序列的构造与更新,最终,一个M序列模块可以实现在每个时钟周期输出一个通道16位的随机信号PRNs,即1个通道16位伪随机数据信号。
对于16个M序列模块,如图1所示,这样可以输出16个通道16位伪随机数据信号PRN_CH0-PRN_CH15。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种超高速伪随机数信号产生装置,其特征在于,包括:
基于流水线型的混沌迭代模型模块,由混沌方程组子模块、参数ROM读取子模块、混沌状态值RAM读写子模块组成,混沌方程组子模块中各个混沌方程内部以及之间迭代计算需要同步进行延时时,采用移位寄存器进行延时移位寄存,移位寄存器中寄存器的数量等于需要延时的时钟个数,这样混沌方程组子模块可以进行流水迭代计算,参数ROM读取子模块用于存放m组混沌方程参数,混沌状态值RAM读写子模块用于存放m组混沌现态值,混沌现态值的初始值来自上位机,每个时钟从参数ROM读取子模块读取一组混沌方程参数给混沌方程组子模块,从混沌状态值RAM读写子模块读取一组混沌现态值给混沌方程组子模块,混沌方程组子模块依据接收的混沌方程参数和混沌现态值进行迭代计算,计算出的结果即混沌次态值一方面输出,另一方面作为下一次迭代计算的混沌现态值更新混沌状态值RAM读写子模块中的混沌现态值,这样在每个时钟混沌方程组子模块输出一组混沌次态值,同时,输出更新混沌状态值RAM读写子模块混沌现态值的写地址,其中,m大于一组混沌次态值计算所需的时钟个数;
M序列更新控制模块,用于接收混沌方程子模块输出的混沌次态值以及相应更新混沌状态值RAM读写子模块混沌现态值的写地址的,并执行两项操作:①数据拼合:将混沌方程子模块输出的混沌次态值拼合为一个数据即拼合数据,并输出,②序列模块选择性更新:将写地址作为混沌序号驱动M序列更新状态机使更新使能信号有效;
多个M序列模块,每个M序列模块包括多个M序列发生器以及各自对应的M序列反馈系数ROM,用于接收拼合数据和更新使能信号,并将拼合数据拆分重组为多组反馈系数读地址以及M序列发生器初值,每组反馈系数读地址以及M序列发生器初值对应一个M序列发生器,每个M序列模块在其接收的更新使能信号有效时,根据反馈系数读地址在对应的M序列反馈系数ROM中读取M序列反馈系数,然后与M序列发生器初值一起更新M序列发生器的反馈系数和初值;M序列发生器每个时钟输出一位数据信号,将多个M序列发生器每个时钟输出的一位数据信号组成一个通道的多位数据信号;每个M序列模块输出一个通道的多位数据信号,多个M序列模块输出的多位数据信号构成多个通道多位伪随机数据信号。
2.根据权利要求1所述的超高速伪随机数信号产生装置,其特征在于,所述M序列更新控制模块将拼合数据同时发送给多个M序列模块,M序列更新状态机根据写地址不断使多个M序列模块的更新使能信号逐个有效。
3.根据权利要求1所述的超高速伪随机数信号产生装置,其特征在于,所述M序列更新控制模块根据写地址不断进行数据拼合,并存储,当拼合数据存储数量大于M序列模块的数量时,所有存储的拼合数据读出,分别输出到各自对应的M序列模块,同时,输出一路更新使能信号到所有M序列模块,使所有M序列模块有效,读取拼合数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311143919.1A CN117234462B (zh) | 2023-09-05 | 2023-09-05 | 一种超高速伪随机数信号产生装置 |
US18/403,575 US20240168721A1 (en) | 2023-09-05 | 2024-01-03 | Apparatus for generating a plurality of ultra-high speed pseudo-random signals and multichannel pseudo-random noise modulation device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311143919.1A CN117234462B (zh) | 2023-09-05 | 2023-09-05 | 一种超高速伪随机数信号产生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234462A true CN117234462A (zh) | 2023-12-15 |
CN117234462B CN117234462B (zh) | 2024-05-14 |
Family
ID=89093971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311143919.1A Active CN117234462B (zh) | 2023-09-05 | 2023-09-05 | 一种超高速伪随机数信号产生装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234462B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226724A1 (en) * | 2011-03-01 | 2012-09-06 | King Abdullah University of Science and Technology (KAUST) | Fully digital chaotic differential equation-based systems and methods |
CN105808207A (zh) * | 2016-03-22 | 2016-07-27 | 中国科学院半导体研究所 | 混沌伪随机数发生器、采用其的电路及片上系统 |
CN107678729A (zh) * | 2017-08-30 | 2018-02-09 | 东南大学 | 一种基于m序列的Lorenz混沌伪随机序列发生器 |
CN109508175A (zh) * | 2018-11-14 | 2019-03-22 | 重庆邮电大学 | 基于分数阶混沌和祖冲之算法的伪随机数发生器的fpga设计 |
CN117234461A (zh) * | 2023-09-05 | 2023-12-15 | 电子科技大学 | 一种多通道伪随机噪声调制装置 |
-
2023
- 2023-09-05 CN CN202311143919.1A patent/CN117234462B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120226724A1 (en) * | 2011-03-01 | 2012-09-06 | King Abdullah University of Science and Technology (KAUST) | Fully digital chaotic differential equation-based systems and methods |
CN105808207A (zh) * | 2016-03-22 | 2016-07-27 | 中国科学院半导体研究所 | 混沌伪随机数发生器、采用其的电路及片上系统 |
CN107678729A (zh) * | 2017-08-30 | 2018-02-09 | 东南大学 | 一种基于m序列的Lorenz混沌伪随机序列发生器 |
CN109508175A (zh) * | 2018-11-14 | 2019-03-22 | 重庆邮电大学 | 基于分数阶混沌和祖冲之算法的伪随机数发生器的fpga设计 |
CN117234461A (zh) * | 2023-09-05 | 2023-12-15 | 电子科技大学 | 一种多通道伪随机噪声调制装置 |
Non-Patent Citations (3)
Title |
---|
BO XU 等: "A 3D discrete memristor hyperchaotic map with application in dual-channel random signal generator", CHAOS, SOLITONS & FRACTALS, 14 June 2023 (2023-06-14) * |
蔚艳文 等: "基于混沌系统的伪随机数发生器设计", 电子技术应用, no. 10, 6 October 2020 (2020-10-06) * |
齐国元 等: "基于超混沌的伪随机数发生器的FPGA设计", 天津工业大学学报, no. 01, 2 March 2018 (2018-03-02) * |
Also Published As
Publication number | Publication date |
---|---|
CN117234462B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110390385B (zh) | 一种基于bnrp的可配置并行通用卷积神经网络加速器 | |
US6490672B1 (en) | Method for computing a fast fourier transform and associated circuit for addressing a data memory | |
WO2020220743A1 (zh) | 一种计算机数据处理方法及装置 | |
CN117234461B (zh) | 一种多通道伪随机噪声调制装置 | |
CN102541749B (zh) | 多粒度并行存储系统 | |
US11640303B2 (en) | Calculating device | |
WO2023065701A1 (zh) | 内积处理部件、任意精度计算设备、方法及可读存储介质 | |
CN116710912A (zh) | 一种矩阵乘法器及矩阵乘法器的控制方法 | |
CN115728566B (zh) | 一种信号发生装置、测控系统以及量子计算机 | |
US20200034699A1 (en) | Accelerating appratus of neural network and operating method thereof | |
CN117234462B (zh) | 一种超高速伪随机数信号产生装置 | |
KR20200011362A (ko) | 신경망 가속 장치 및 그것의 동작 방법 | |
US20240112061A1 (en) | Quantum Measurement and Control System and Quantum Computer | |
KR100840030B1 (ko) | 프로그래머블 논리 회로 | |
CN108008665B (zh) | 基于单片fpga的大规模圆阵实时波束形成器及波束形成计算方法 | |
US6549925B1 (en) | Circuit for computing a fast fourier transform | |
CN111694513A (zh) | 包括循环指令存储器队列的存储器器件和方法 | |
CN114626005B (zh) | 一种视频sar实时成像中cs算法的fpga实现方法 | |
JP2006018412A (ja) | アドレス生成器および演算回路 | |
US4879675A (en) | Parity generator circuit and method | |
US5948051A (en) | Device improving the processing speed of a modular arithmetic coprocessor | |
CN113673691A (zh) | 基于存算结合的多通道卷积fpga架构及其工作方法 | |
JP7136343B2 (ja) | データ処理システム、方法、およびプログラム | |
US6065127A (en) | Multi-mode buffer for digital signal processor | |
CN115443413A (zh) | 芯片测试电路及电路测试方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |