首页 / 专利库 / 信号处理 / 扰动信号发生器 / 真随机数发生系统

真随机数发生系统

阅读:1017发布:2020-06-17

专利汇可以提供真随机数发生系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种真随机数发生系统,包括主时钟 信号 输入 接口 单元、 锁 相环回路模 块 、 分频器 、 采样 用D触发器、亚稳态消除模块、m位移位线和随机数输出接口单元, 锁相环 回路模块包括锁相环 电路 和多路扰动线,多路扰动线具有m对正向控制端和反向控制端。本发明在利用锁相环电路本身就已能产生随机Jitter从而产生随机数的 基础 上,在锁相环回路模块的反馈支路中增加一个多路扰动线,而多路扰动线的扰动大小又受系统产生的随机数序列控制,相当于对锁相环电路的本已含有随机Jitter的输出又被进行一次随机的扰动,使得锁相环很难完成锁定,导致Jitter加大,随机性大大增强。,下面是真随机数发生系统专利的具体信息内容。

1.一种真随机数发生系统,其特征在于:包括主时钟信号输入接口单元(11)、相环回路模(2)、分频器(3)、采样用D触发器(4)、亚稳态消除模块(5)、m位移位线(6)和随机数输出接口单元(12),锁相环回路模块(2)包括锁相环电路(21)和多路扰动线(22),多路扰动线(22)具有m对正向控制端和反向控制端;主时钟信号输入接口单元(11)的输出一路作为分频器(3)的输入,另一路与锁相环电路(21)的输入连接;锁相环电路(21)的输出与多路扰动线(22)的输入连接,多路扰动线(22)的输出一路作为锁相环电路(21)的反馈输入,另一路作为采样用D触发器(4)的输入;分频器(3)的输出作为采样用D触发器(4)的时钟;采样用D触发器(4)的输出与亚稳态消除模块(5)的输入连接,亚稳态消除模块(5)的输出一路与m位移位线(6)的输入连接;m位移位线(6)中的第i位输出一路作为多路扰动线(22)中相对应的第i对正向控制端和反向控制端中的正向控制端(221a),另一路作为相应的反向控制端(221b);亚稳态消除模块(5)输出的另一路输入至随机数输出接口单元(12);其中i=1,2,
3,……,m。
2.根据权利要求1所述的真随机数发生系统,其特征在于:多路扰动线(22)包括依次串接的m组扰动线路结构(220),每一组扰动线路结构(220)具有一对正向控制端(221a)和反向控制端(221b),第i组扰动线路结构(220)与m位移位线(6)中的第i位输出相对应;第i组扰动线路结构(220)包括输入端(222)、两个传输(223)、延迟时间为2i-1个时间单位的扰动用延迟线(224)、控制用反相器(225)和输出端(226),输入端(222)的一路经一个传输门(223)到达输出端(226),另一路依次经串接的另一个传输门(223)和扰动用延迟线(225)到达输出端(226);m位移位线(6)中第i位输出一路分别连接一个传输门(223)的正控制端和另一个传输门(223)的反控制端,另一路经控制用反相器(225)后分别连接一个传输门(223)的反控制端和另一个传输门(223)的正控制端。
3.根据权利要求1所述的真随机数发生系统,其特征在于:亚稳态消除模块(5)包括依次串接的多个D触发器,分频器(3)的输出分别作为各D触发器的采样时钟。
4.根据权利要求1所述的真随机数发生系统,其特征在于:还包括时钟边沿竞争冒险发生器(7)、异或门模块(8)和与竞争冒险发生器(7)的时延相匹配的主延迟线(9);主时钟信号输入接口单元(11)的输出一路先经过主延迟线(9)再分别与锁相环电路(21)和分频器(3)连接,另一路作为竞争冒险发生器(7)的时钟;采样用D触发器(4)先经过异或门模块(8)再与亚稳态消除模块(5)连接,采样用D触发器(4)的输出作为异或门模块(8)的一个输入,竞争冒险发生器(7)的输出作为异或门模块(8)的另一个输入,异或门模块(8)的输出与亚稳态消除模块(5)的输入连接。
5.根据权利要求4所述的真随机数发生系统,其特征在于:竞争冒险发生器(7)包括异或门电路(71)、n个D触发器(72)、n个自翻转用反相器(73)和依次串接的n根相位匹配用延迟线(74),依次串接的n根相位匹配用延迟线(74)产生的时延之和小于主时钟信号的半周期;竞争冒险发生器(7)的时钟端经过依次串接的j根相位匹配用延迟线(74)后作为第j个D触发器(72)的时钟,D触发器(72)的输出端经过自翻转用反相器(73)后,一路作为异或门电路(71)的一个输入,另一路作为同一D触发器(72)的输入;其中j=1,2,3,……,n。
6.根据权利要求5所述的真随机数发生系统,其特征在于:在竞争冒险发生器(7)中:其中一个D触发器(72)的时钟信号与主时钟信号之间的时延差和主延迟线(9)产生的时延相同,其余的D触发器(72)与该触发器(72)的时延差相较于主时钟信号的半周期至少小一个数量级。
7.根据权利要求6所述的真随机数发生系统,其特征在于:n=2k-1,在竞争冒险发生器(7)中:第k个D触发器(72)与主时钟信号之间的时延差和主延迟线(9)产生的时延相同,其余的D触发器(72)与第k个D触发器(72)的时延差相较于主时钟信号的半周期至少小一个数量级;其中,k为正整数。
8.根据权利要求1所述的真随机数发生系统,其特征在于:还包括控制器(200);主时钟信号输入接口单元(11)包括输入接口(111)、主时钟信号开关(112)和用于设定分频器(3)输出频率的分频计数器(113);输入接口(111)与主时钟信号开关(112)的输入连接,主时钟信号开关(112)的输出分别与分频器(3)和锁相环电路(21)连接,主时钟信号开关(112)的开关动作受控制器(200)控制,控制器(200)能向分频计数器(113)中写入分频值。
9.根据权利要求1所述的真随机数发生系统,其特征在于:还包括控制器(200);随机数输出接口单元(12)包括p位并行输出接口(121)、p位移位线(122)和用于对p位移位线(122)被写入的位数进行计数的p计数器(123);p计数器(123)的输入与分频器(3)的输出连接,p计数器(123)的输出与控制器(200)的输入连接;p位移位线(122)的输入与亚稳态消除模块(5)的输出连接,p位移位线(122)的p位输出分别与p位并行输出接口(121)的各输入端连r
接;其中,p=2,r为正整数。
10.一种真随机数发生芯片,包括主时钟信号发生器(100)和权利要求1-9之一所述的真随机数发生系统,主时钟信号发生器(100)的输出与主时钟信号输入接口单元(11)的输入连接。

说明书全文

真随机数发生系统

技术领域

[0001] 本发明涉及真随机数发生系统。

背景技术

[0002] 随机数在数据统计、信息安全与加密、信道仿真、系统模拟等诸多领域有着重要的应用,而随着电子信息技术的发展,随机数发生芯片或电路在集成电路领域的应用越来越广泛。随机数按照发生机理的不同,分为伪随机数和真随机数两种。其中伪随机数是按照一些算法,结合随机种子发生的一系列难以发现规律的数字,而真随机数是利用一些物理学效应,发生的没有数学规律的一系列数字。根据目前的信息技术发展的现状,伪随机数越来越难以应对“不可预测性”的要求,所以真随机数的发生和应用变得越来越重要。所以,真随机数发生芯片或集成电路芯片上真随机数发生电路成为了研究的热点。
[0003] 真随机数的发生必须依赖物理过程,在电路中的真随机数的发生也必须依赖电路中具有随机特性的一些物理过程,利用电路中的结构,典型的片上真随机数的发生方法有三类,包括:
[0004] 1)直接放大法:利用电路中电阻或其他元件上面存在的随机热噪声,对其进行放大处理,通过比较器进行比较后获得随机数序列;
[0005] 2)振荡采样法:利用一些带有较大Jitter的振荡器发生高频振荡信号,并利用较低频率的时钟对此振荡器的输出进行采样,因为高频振荡器在低频时钟边沿时的电平状态不确定,因此可以得到随机序列;
[0006] 3)离散时间混沌法:利用混沌电路不可预测以及对初始条件敏感的依赖性的特点发生随机序列。
[0007] 直接放大法发生随机数,需要用到放大器、电容、电感等器件,功耗大,且对电压要求高。而基于振荡采样法和离散时间混沌法,目前可以利用逻辑芯片构建片上真随机数发生器典型的随机源有两种:一种是利用数字逻辑门构建高速数字电路振荡器,另一种是利用模拟PLL(相环)电路发生的数字时钟信号上面的抖动构建随机量。利用数字逻辑门构建高速数字电路振荡器的方法较为简单,但是对芯片电路性能要求很高,电路功耗很大,芯片寿命很短;而基于模拟PLL(锁相环)电路的方法,结构复杂,设计难度高。且这两种方法产生的随机数的随机性仍不不理想。

发明内容

[0008] 为解决现有真随机数发生装置功耗大、产生的随机数随机性不理想的技术问题,本发明提供一种真随机数发生系统,包括主时钟信号输入接口单元、锁相环回路模分频器、采样用D触发器、亚稳态消除模块、m位移位线和随机数输出接口单元,锁相环回路模块包括锁相环电路和多路扰动线,多路扰动线具有m对正向控制端和反向控制端;主时钟信号输入接口单元的输出一路作为分频器的输入,另一路与锁相环电路的输入连接;锁相环电路的输出与多路扰动线的输入连接,多路扰动线的输出一路作为锁相环电路的反馈输入,另一路作为采样用D触发器的输入;分频器的输出作为采样用D触发器的时钟;采样用D触发器的输出与亚稳态消除模块的输入连接,亚稳态消除模块的输出一路与m位移位线的输入连接;m位移位线中的第i位输出一路作为多路扰动线中相对应的第i对正向控制端和反向控制端中的正向控制端,另一路作为相应的反向控制端;亚稳态消除模块输出的另一路输入至随机数输出接口单元;其中i=1,2,3,……,m。
[0009] 采用本发明的技术方案,在利用锁相环电路本身就已能产生随机Jitter(跳动,抖动)从而产生随机数的基础上,在锁相环回路模块的反馈支路中增加一个多路扰动线,而多路扰动线的扰动大小又受系统产生的随机数序列控制,相当于对锁相环电路的本已含有随机Jitter的输出又被进行一次随机的扰动,使得锁相环很难完成锁定,导致Jitter加大,随机性大大增强。使用分频时钟,通过D触发器对锁相环输出的含有很大Jitter而且经过随机扰动的高速时钟进行采样,采样的结果是具有良好随机性的数据。还利用亚稳态消除模块消除可能出现的采样亚稳态,保证电路的正常工作,避免电路出现亚稳态导致的系统不稳定。
[0010] 进一步的,多路扰动线包括依次串接的m组扰动线路结构,每一组扰动线路结构具有一对正向控制端和反向控制端,第i组扰动线路结构与m位移位线中的第i位输出相对应;i-1
第i组扰动线路结构包括输入端、两个传输门、延迟时间为2 个时间单位的扰动用延迟线、控制用反相器和输出端,输入端的一路经一个传输门到达输出端,另一路依次经串接的另一个传输门和扰动用延迟线到达输出端;m位移位线中第i位输出一路分别连接一个传输门的正控制端和另一个传输门的反控制端,另一路经控制用反相器后分别连接一个传输门的反控制端和另一个传输门的正控制端。
[0011] 采用这样的技术方案,每个控制位(即一对正向控制端和反向控制端)可以控制选择一条延迟线或者一条导线进行扰动,这样,随着m个控制位的电平不同,整条多路扰动线能够排列组合出0-Σ2i-1个时间单位的延迟效果,可根据对随机数随机性的需要合理设定m的值,满足对不同随机性要求的需要。
[0012] 进一步的,亚稳态消除模块包括依次串接的多个D触发器,分频器的输出分别作为各D触发器的采样时钟。
[0013] 进一步的,所述真随机数发生系统还包括时钟边沿竞争冒险发生器、异或门模块和与竞争冒险发生器的时延相匹配的主延迟线;主时钟信号输入接口单元的输出一路先经过主延迟线再分别与锁相环电路和分频器连接,另一路作为竞争冒险发生器的时钟;采样用D触发器先经过异或门模块再与亚稳态消除模块连接,采样用D触发器的输出作为异或门模块的一个输入,竞争冒险发生器的输出作为异或门模块的另一个输入,异或门模块的输出与亚稳态消除模块的输入连接。
[0014] 采用这样的技术方案,利用系统时钟,采用特殊的时钟边沿竞争冒险发生器结构,能在系统时钟的边沿时刻构建具有大量的毛刺信号,利用这种信号和前面锁相环产生的随机数进行异或门的逻辑,其结果将是会给一个由锁相环产生的随机数信号增加大量随机的毛刺。
[0015] 更进一步的,竞争冒险发生器包括异或门电路、n个D触发器、n个自翻转用反相器和依次串接的n根相位匹配用延迟线,依次串接的n根相位匹配用延迟线产生的时延之和小于主时钟信号的半周期;竞争冒险发生器的时钟端经过依次串接的j根相位匹配用延迟线后作为第j个D触发器的时钟,D触发器的输出端经过自翻转用反相器后,一路作为异或门电路的一个输入,另一路作为同一D触发器的输入;其中j=1,2,3,……,n。
[0016] 再进一步的,在竞争冒险发生器中:其中一个D触发器的时钟信号与主时钟信号之间的时延差和主延迟线产生的时延相同,其余的D触发器与该触发器的时延差相较于主时钟信号的半周期至少小一个数量级。
[0017] 又进一步的,n=2k-1,在竞争冒险发生器中:第k个D触发器与主时钟信号之间的时延差和主延迟线产生的时延相同,其余的D触发器与第k个D触发器的时延差相较于主时钟信号的半周期至少小一个数量级;其中,k为正整数。
[0018] 采样上述技术方案,竞争冒险发生器采用最难以消除冒险的异或门逻辑作为最终的组合逻辑电路,利用奇数个自翻转的D触发器作为组合逻辑的输入。通常地,D触发器的初始值是一个上电时候的随机量,所以,该电路产生随机数的种子是随机的。并且,利用延迟线让这奇数个D触发器在时钟边沿附近跳变,让中间的D触发器的时钟和系统时钟经过主延迟线后的相位一致,而前面的D触发器的时钟相位依次超前一点。,面面的D触发器又依次落后一点,这样产生的组合逻辑输入信号,均在系统时钟跳变的边沿进行变化,于是,输出信号在系统时钟边沿产生大量的具有良好随机性的小毛刺。
[0019] 进一步的,所述真随机数发生系统还包括控制器;主时钟信号输入接口单元包括输入接口、主时钟信号开关和用于设定分频器输出频率的分频计数器;输入接口与主时钟信号开关的输入连接,主时钟信号开关的输出分别与分频器和锁相环电路连接,主时钟信号开关的开关动作受控制器控制,控制器能向分频计数器中写入分频值。
[0020] 采用这样的技术方案,可以根据需要控制是否产生随机数,并且可以根据对随机性的要求设定分频器的输出频率,降低了功耗,并能控制随机数产生的速度,增强了系统的功能。
[0021] 进一步的,所述真随机数发生系统还包括控制器;随机数输出接口单元包括p位并行输出接口、p位移位线和用于对p位移位线被写入的位数进行计数的p计数器;p计数器的输入与分频器的输出连接,p计数器的输出与控制器的输入连接;p位移位线的输入与亚稳态消除模块的输出连接,p位移位线的p位输出分别与p位并行输出接口的各输入端连接;其中,p=2r,r为正整数。
[0022] 采用这样的技术方案,一次可以输出一列随机数序列,即同时输出p位随机数,根据需要设定p的值,可以极大增强系统使用的便利性。
[0023] 本发明还提供一种主要由主时钟信号发生器和上述的真随机数发生系统组成的另一种真随机数发生芯片,主时钟信号发生器的输出与主时钟信号输入接口单元的输入连接。
[0024] 经过了理论分析和仿真,该芯片达到了理想的随机性效果。芯片利用门控时钟技术和可变频率的方法,降低了功耗,具备良好的实际应用价值。
[0025] 本发明具有以下有益效果。
[0026] 采用本发明的技术方案,在利用锁相环电路本身就已能产生随机Jitter从而产生随机数的基础上,在锁相环回路模块的反馈支路中增加一个多路扰动线,而多路扰动线的扰动大小又受系统产生的随机数序列控制,相当于对锁相环电路的本已含有随机Jitter的输出又被进行一次随机的扰动,使得锁相环很难完成锁定,导致Jitter加大,随机性大大增强。使用分频时钟,通过采样用D触发器对锁相环输出的含有很大Jitter而且经过随机扰动的高速时钟进行采样,采样的结果是具有良好随机性的数据。还利用亚稳态消除模块消除可能出现的亚稳态,能得到良好的随机数。
[0027] 本发明真随机数发生系统可以根据要求改变随机数产生的速度,方便了使用,使本发明的真随机数发生系统具有非常好的性能和实际应用价值,而利用PLL(Phase Locked Loop,锁相环)和门控时钟技术可以有效地降低系统的功耗和稳定性,增加系统的寿命。
[0028] 经过理论分析和1000个随机数点的仿真,产生的随机数按照平均概率分布,证明本发明真随机数发生系统具有极其良好的随机性。附图说明
[0029] 图1为本发明真随机数发生系统实施例的电路结构示意图;
[0030] 图2为本发明实施例中采用的多路扰动线的电路结构示意图;
[0031] 图3为本发明实施例中采用的竞争冒险发生器的电路结构示意图;
[0032] 图4为本发明实施例中采用的接口模块的电路结构示意图;
[0033] 图5为利用计算机产生1000个满足高斯分布的随机数的分布效果图;
[0034] 图6为利用计算机仿真采用本发明实施例的技术方案设计的随机数发生芯片产生的随机数的分布效果图;
[0035] 图7为利用Quartus II对本发明实施例中采用的竞争冒险发生器进行仿真的仿真波形图。

具体实施方式

[0036] 下面结合附图说明及具体实施方式对本发明进一步说明。
[0037] 下面结合附图说明及具体实施方式对本发明进一步说明。在本发明的附图中,同一实施例的相关的多幅附图中同一个元件将用同一个符号表示。
[0038] 如图1所示,本发明的真随机数发生系统,包括主时钟信号发生器100、接口模块1、锁相环回路模块2、分频器3、采样用D触发器4、亚稳态消除模块5和m位移位线6,接口模块1包括主时钟信号输入接口单元11和随机数输出接口单元12,锁相环回路模块2包括锁相环电路21(Phase Locked Loop,PLL)和多路扰动线22,多路扰动线22包括m对正向控制端和反向控制端;主时钟信号发生器100输出主时钟信号至主时钟信号输入接口单元11后,其输出一路作为分频器3的输入,另一路与锁相环电路21的输入连接;锁相环电路11的输出与多路扰动线22的输入连接,多路扰动线22的输出一路作为锁相环电路21的反馈输入,另一路作为采样用D触发器4的输入;分频器3的输出作为采样用D触发器(DFF)4的时钟;采样用D触发器4的输出与亚稳态消除模块5的输入连接,亚稳态消除模块5的输出一路与m位移位线6的输入连接;m位移位线6中第i位输出一路作为多路扰动线22中相对应的第i对正向控制端和反向控制端中的正向控制端,另一路作为相应的反向控制端;亚稳态消除模块5输出的另一路与随机数输出接口单元12的输入连接,对外输出真随机数;亚稳态消除模块5包括依次串接的多个(优选为3个)D触发器(DFF),分频器3的输出分别作为各D触发器的采样时钟。其中i=1,2,3,……,m。
[0039] 锁相环电路21的输出信号本身就具有一定的随机Jitter(跳动,抖动),锁相环电路21的输出又被送入多路扰动线22,而多路扰动线22是由随机数发生系统产生的随机数序列来控制扰动的大小,这样相当于产生了一个随机的扰动。经过随机扰动的信号被送入锁相环电路21的“反馈信号”端,这样锁相环电路21就很难完成锁定,导致Jitter加大,随机性大大变强。再利用分频器3对系统主时钟进行分频,利用分频时钟对锁相环回路模块2输出的含有很大Jitter而且经过随机扰动的高速时钟信号进行采样,采样的结果是具有良好随机性的数据;再利用亚稳态消除模块5(可选三级D触发器)消除可能出现的亚稳态,就会得到良好的随机数;最后通过m位移位线6形成随机数序列,将每列随机数序列送入多路扰动线22的控制端作随机扰动控制;同时,将产生的真随机数经过随机数输出接口单元12对外输出。
[0040] 如图2所示,多路扰动线22包括依次串接的m组扰动线路结构220,每一组扰动线路结构220具有一对正向控制端221a和反向控制端221b,第i组扰动线路结构220与m位移位线6中的第i个移位线相对应;第i组扰动线路结构220包括输入端222、两个传输门223、延迟时间为2i-1个时间单位的扰动用延迟线224、控制用反相器225和输出端226,输入端222的一路经一个传输门223到达输出端226,另一路依次经串接的另一个传输门223和扰动用延迟线
224到达输出端226;m位移位线6中的第i位的输出一路分别连接一个传输门223的正控制端和另一个传输门223的反控制端,另一路经控制用反相器225后分别连接一个传输门223的反控制端和另一个传输门223的正控制端。
[0041] 多路扰动线22是增加锁相环电路21相位Jitter的有效办法,增加随机控制的多路扰动线22,使对电路的扰动完全不可预测,大大加强了Jitter的随机效果。在本实施例中,多路扰动线结构如图3所示,选m=4,在多路扰动线当中,一共有4个控制位(一个控制位包括一对正向控制端和反向控制端),每个控制位可以控制选择一条扰动用延迟线224或者是一条导线进行扰动,可以利用FPGA中的CMOS(Complementary Metal Oxide Semiconductor,互补金属化物半导体)传输门来实现两路选择的效果。4个控制位的扰动用延迟线224按照2i-1作为延迟的权值,第1根扰动用延迟线224延迟为1个时间单位,第2根扰动用延迟线224的延迟为2个时间单位,第3根扰动用延迟线224的延迟为4个时间单位,第4根扰动用延迟线224的延迟为8个时间单位。这样,随着四个控制位的数据不同,整条多路扰动线2可以排列组合出0~15个时间单位的延迟效果,对锁相环电路21的反馈信号进行随机的扰动。
[0042] 优选的,如图1所示,真随机数发生系统还包括时钟边沿竞争冒险发生器7、异或门模块8和与竞争冒险发生器7的时延相匹配的主延迟线9;主时钟信号输入接口单元11的输出一路先经过主延迟线9再分别与锁相环电路21和分频器3连接,主时钟信号经过主延迟线9后送入锁相环电路21作为参考时钟,主时钟信号输入接口单元11输出的另一路作为竞争冒险发生器7的时钟;采样用D触发器4先经过异或门模块8再与亚稳态消除模块5连接,采样用D触发器4的输出作为异或门模块8的一个输入,竞争冒险发生器7的输出作为异或门模块
8的另一个输入,异或门模块8的输出与亚稳态消除模块5的输入连接。
[0043] 利用系统主时钟,采用特殊的时钟边沿竞争冒险发生器结构,能在系统时钟的边沿时刻构建具有大量的毛刺信号,利用这种信号和锁相环回路模块2产生的随机数进行异或门的逻辑,其结果将是一个在时钟边沿时刻具有大量毛刺的随机数信号;再利用亚稳态消除模块5消除前面可能出现的亚稳态,就会得到良好的随机数;再经过m位移位线6输出随机数序列,最后把每列随机数序列送入多路扰动线22的控制端作随机扰动控制;同时,将产生的随机数经过随机数输出接口单元12对外输出。
[0044] 组合逻辑的竞争冒险是由于组合逻辑门电路的输入变化不同步造成的,一般地组合逻辑竞争冒险并不具备任何随机性,这些组合逻辑的竞争冒险会带来输出的毛刺,而这些毛刺是有一定规律的。但是,如果组合逻辑竞争冒险产生的毛刺发生在D触发器数据端,并且发生在D触发器的采样边沿,那么采样的结果就具备一定的随机性了。本实施例中的时钟边沿竞争冒险发生器如图3所示,竞争冒险发生器包括异或门电路71、n个D触发器72、n个自翻转用反相器73和依次串接的n根相位匹配用延迟线74,依次串接的n根相位匹配用延迟线74产生的时延之和小于主时钟信号的半周期;竞争冒险发生器7的时钟端经过依次串接的j根相位匹配用延迟线74后作为第j个D触发器72的时钟,D触发器72的输出端经过自翻转用反相器73后,一路作为异或门电路71的一个输入,另一路作为D触发器72的输入;其中j=1,2,3,……,n。
[0045] 在竞争冒险发生器中:如图3所示,其中一个D触发器72的时钟信号与主时钟信号之间的时延差和主延迟线9产生的时延相同,其余D触发器72与该D触发器72的时延差相较于主时钟信号的半周期至少小一个数量级。譬如,优选的,竞争冒险发生器7中的D触发器72的数量为奇数,即n=2k-1,在竞争冒险发生器7中:第k个D触发器72与主时钟信号之间的时延差和主延迟线9产生的时延相同,其余D触发器72与第k个D触发器72的时延差相较于主时钟信号的半周期小正整数个数量级;其中,k为正整数。
[0046] 本实施例的竞争冒险发生器采用最难以消除冒险的异或门逻辑作为最终的组合逻辑电路,利用奇数个(譬如5个)自翻转的D触发器72作为组合逻辑的输入。通常地,D触发器72的初始值是一个上电时候的随机量,所以,该电路产生随机数的种子是随机的。要想在系统时钟的边沿造成组合逻辑的冒险毛刺,需要让5个D触发器72在时钟边沿附近跳变。本实施例中竞争冒险发生器7内接入了时钟相位匹配用延迟线74,如图2所示,利用相位匹配用延迟线74,让中间的D触发器72的时钟与系统主时钟信号经过主延迟线9后的相位一致,前两个D触发器72的时钟相位依次超前系统主时钟信号经过主延迟线9后的相位一点,后两个D触发器72又依次落后系统主时钟信号经过主延迟线9后的相位一点。这样产生的组合逻辑输入信号,均在系统主时钟跳变的边沿进行变化,这样输出信号在系统主时钟边沿产生大量的小毛刺。
[0047] 如图1所示,本实施例的真随机数发生系统还包括控制器200;如图4所示,主时钟信号输入接口单元11包括输入接口111、主时钟信号开关112和用于设定分频器频率的分频计数器113;随机数输出接口单元12包括p位并行输出接口121、p位移位线122和用于对p位移位线122被写入的位数进行技术的p计数器123。输入接口111与主时钟信号开关112的输入连接,主时钟信号开关112的输出分别与分频器3和锁相环电路21连接,主时钟信号开关112的开关动作受控制器200控制,控制器200能向分频计数器113中写入分频值。p计数器
123的输入与分频器3的输出连接,p计数器123的输出与控制器200的输入连接;p位移位线
122的输入与亚稳态消除模块5的输出连接,p位移位线122的p位输出分别与p位并行输出接r
口121的各输入端连接,p位并行输出接口121输出p位一列的随机数序列。其中,p=2 ,r为正整数。系统主时钟是门控时钟,由控制器200决定是否产生随机数序列;主时钟信号开关
112除了可以选用直接受控制器200控制的开关,还可选用传输门和门控时钟控制器112a组合而成的开关,传输门的开关动作受门控时钟控制器112a的控制,而门控时钟控制器112a又受控制器200的控制。
[0048] 可以将本实施例的真随机数发生系统中除主时钟发生器100和控制器200之外的电路结构,包括接口模块1、锁相环回路模块2、分频器3、采样用D触发器4、亚稳态消除模块5、m位移位线6、竞争冒险发生器7、异或门模块8和主延迟线9等,集成于一个芯片之中,譬如利用FPGA来实现,接口模块1负责与芯片外的主时钟发生器100和控制器200等电路通信,主时钟信号输入接口单元11为系统提供系统主时钟和分频值,随机数输出接口单元12处理随机数序列的发送。接口模块1是整个芯片和外部连接的桥梁,负责对系统主时钟进行门控处理,接受外部控制信号,对输出数字进行组装等工作。
[0049] 如图4所示,主时钟信号输入接口单元11中有两个寄存器,一个寄存器作为门控时钟控制器112a,其代表是否启动随机数发生芯片的标志,如果该标志位为高电平,代表着将外部时钟送入随机数发生芯片,如果该标志位为低电平,则表示截断整个时钟,随机数发生芯片停止工作;另外一个寄存器即分频计数器113,存储着用于控制分频器2输出频率值的分频值,作为分频器2分频的数值标准。这两个寄存器都在芯片外部控制器200的“写指令”控制信号下工作。随机数输出接口单元12的一个很重要的作用是对单个的随机数进行拼接,在该单元中有一个8位移位线(即p=8)和配合这个移位线的8计数器,按照8位一组的要求进行输出,输出p位一组的随机数序列,每当写满了8位移位线后,产生一个“写出数”的控制信号。
[0050] 本实施例中的各种模块、单元、电路,当然可以是各自独立存在的电路结构,然后将各独立的电路结构连接在一起组成本实施例的真随机数发生系统,它们也可以是已有可编程芯片中预设的电路单元,通过编程(并非编写软件程序的过程,实质上时烧制的过程)来使各电路单元按照要求连接在一起,FPGA即是一种可编程(烧制)的逻辑器件,其芯片内部的资源为数字电路结构以及少量和数字电路直接相关的模拟电路单元结构,FPGA技术作为进来发展较快的一种技术,内部集成了各种逻辑门等电路结构,可以方便的实现多种电路进而完成芯片设计,是快速实现芯片设计的一种良好方法。因此,利用FPGA芯片资源,构建随机数发生电路是能很好的实现真随机数发生芯片的方案之一。
[0051] 本案发明人对根据上述技术方案设计的基于FPGA的真随机数发生芯片的仿真与效果分析:为了验证PLL的随机性效果,本实施例利用计算机进行了仿真,首先利用计算机产生了1000个满足高斯分布的随机数,用来仿真PLL的Jitter,该组随机数分布如图5所示。
[0052] 按照一般地锁相环电路规律,Jitter的平均值应该在5%~10%之内,假定FPGA芯片中能达到的Jitter为5%,据此我们设计的多路扰动线的扰动时间设为5%~10%。给Jitter增加了随机扰动之后,再使用采样用D触发器对数据进行采样,然后得到取值范围为0到255的8位随机数,最后,产生的随机数如图6所示。可见这些点的随机性良好,而且概率分布是平均分布,不再是高斯分布。
[0053] 利用Quartus II可以对FPGA内部的电路用Verilog语言进行建模,并能对其效果进行仿真。利用Verilog对本实施例中的竞争冒险发生器进行了设计,并进行了仿真,仿真的波形如图7所示。由图7可见,在时钟的边沿附近,组合逻辑竞争冒险发生器的输出“rdata”产生了大量的毛刺,这些毛刺在后面利用采样用D触发器采样的时候会产生不确定的采样效果,达到增强最终随机性的目的。
[0054] 如上所是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思和内涵的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈