基于D触发器亚稳态特性的真随机数生成装置制造方法及图纸

技术编号:20763397 阅读:29 留言:0更新日期:2019-04-03 14:09
本发明专利技术提供一种基于D触发器亚稳态特性的真随机数生成装置和方法,能够在FPGA或芯片中只依靠数字电路即可产生真随机数。本发明专利技术的一种基于D触发器亚稳态特性的真随机数生成装置,包括数据输入模块、组合逻辑模块和同步输出模块,其中数据输入模块包括两组数据选择器和四组寄存器,每两组寄存器对应连接一组数据选择器;组合逻辑模块包括移位器、选择器、加法器、异或门,其中移位器、选择器、加法器、异或门依次顺序连接。

【技术实现步骤摘要】
基于D触发器亚稳态特性的真随机数生成装置
本专利技术属于数字电路
,涉及一种基于D触发器亚稳态特性的真随机数生成装置。
技术介绍
随机序列性质如下:(1)看起来是随机的,即能通过所能找到的所有的正确的随机性检验;(2)这个序列是不可预测的,也就是说,即使给出产生序列的算法或者硬件设计和以前已经产生的序列的所有知识,也不可能通过计算来预测下一个随机位是什么;(3)这个序列不能重复产生,即使你在完全相同的操作条件下(同样的地点、同样的温度等等)用完全相同的输入序列生成装置操作两次,将得到两个完全不同的、毫不相关的随机序列。亚稳态的定义为当数据的变化不满足时钟的建立时间或保持时间的要求时,寄存器的输出可能进入亚稳态。亚稳态意味着输出信号不能在预定的时间内进入已知的状态,也就是说器件的传播延迟超过了额定值。在亚稳态,寄存器的输出保持在高电平和低电平之间一段时间,也就是说,传播延迟时间后,寄存器输出信号是一个中间电平。一旦电路进入亚稳态,那么在亚稳态停留的时间将不可预知。当发生亚稳态后,即使最终输出稳定下来,设计者也不能肯定输出的逻辑值一定正确。在输出信号从亚稳态到稳态的变化过程中,输出信号也许长期游离于非法的逻辑电平值,也可能发生振荡。D触发器是通过D锁存器一样的电平器件所组成的时序电路。分析一个典型的由D锁存器所组成的上升沿有效的D触发器模型。当时钟输入端口维持在高电平的时候,输入端端在某一时刻,输入一个值D0。这个值从输入端端与非门进入,在器件内会有一个延迟,再加上反馈回与非门一个输入端的信号与另一个输入端的信号可能存在不一致,使得在整个D锁存器的建立过程中,第一级输出端输出的电压会存在一个“不稳定阶段”,称为建立时间,这个不稳定阶段的“长度”与器件传输时延,和输入端输入电平,第一级输出端初始电平有关(假设时钟端电平始终不变)。注意,这个时间段的起始位置在输入端开始有效的那一点上。因为输入端输入后,还要经过一个时间段,第一级输出端才开始“震荡”。从时钟端口上升沿开始,到窗口时间前面输入必须有效那一点结束,这段时间就是D触发器的建立时间。从时钟端口上升沿开始,到窗口时间后面输入必须有效的那一点结束,这段时间就是D触发器的保持时间。从时钟端口上升沿开始,到输出端稳定结束,这段时间就是D触发器的传播延迟时间。D触发器产生亚稳态分析如下:任何在采样窗口时间内的电平异常,都可能引起采样异常,这就是导致亚稳态的最根本原因。假设当D触发器第一级的时钟关断时,输入端的不同输入电平会“定格”在初始值上,如果这个初始值恰好在中间电平,那么第一级锁存器的输出端会经过一个较长时间才能达到应有的电平高度,再加上互相反馈输入的联合影响,最后整个锁存器的建立时间都会被拉长。另外,由于系统随时都存在各种噪声,因此加上噪声会导致最后的电平与输入无关。相同时钟域内D触发器的亚稳态分析:假设在两个相邻的D触发器中间,有一条很长很复杂的组合逻辑器件链条。因此从前一级D触发器出发的数据,需要经过很久才能在后一级D触发器的输入端稳定下来。这个时间甚至要接近时钟周期,那么这个信号在采样窗口开始之后,才稳定下来,因此D触发器第一级没有足够时间正确无误地设置电平,从而导致亚稳态的出现。这种情况叫做建立时间违约。另一种情况,如果在第一周期上升沿,从前一级触发器出发的数据D0到达了下一级。这时有一个在第二周期上升沿,从前一级触发器出发的数据D1经过一个非常短的路径到达了下一级。如果这个传输时间小于保持时间,那么,在上一个D0还没有完全结束采样的时候,D1会过来破坏这个采样。因此产生保持时间违约。
技术实现思路
本专利技术的目的在于提供一种基于D触发器亚稳态特性的真随机数生成装置和方法,能够在FPGA或芯片中只依靠数字电路即可产生真随机数。本专利技术通过以下技术方案实现:一种基于D触发器亚稳态特性的真随机数生成装置,包括数据输入模块、组合逻辑模块和同步输出模块,其中数据输入模块包括两组数据选择器和四组寄存器,每两组寄存器对应连接一组数据选择器;组合逻辑模块包括移位器、选择器、加法器、异或门,其中移位器、选择器、加法器、异或门依次顺序连接;所述寄存器用于保存符合产生亚稳态条件的寄存器值;所述数据选择器用于选择不同寄存器作为输出值,一路输出连接组合逻辑模块中移位器的输入,另一路输出连接组合逻辑模块中信号选择器的控制输入;所述移位器用于将输入值进行2的n次方乘法,并输出至信号选择器;所述信号选择器用于选择移位器输出的结果或选择全0输出,其输出连接加法器的输入;所述加法器用于将各个信号选择器输出相加,其输出连接异或门的输入;所述异或门用于将加法器输出的多比特信号变为单比特的满足亚稳态产生条件的信号,并输出至同步输出模块;所述同步输出模块用于将异或门输出的满足亚稳态产生条件的信号锁定到稳定的0或1,最终得到随机数。本专利技术的有益效果:本专利技术利用D触发器亚稳态特性实现真随机数的生成,设计一种电路能够确保其每个时钟周期均可进入亚稳态。采用组合逻辑(移位器和加法器)实现乘法功能,该组合逻辑电路相对复杂且路径长;同时将输出结果按位异或,不但增加了组合逻辑路径长度,也保证只要异或输入中至少有一条路径时序违例就可以满足输出的异或结果进入D触发器A满足产生亚稳态的条件。进入亚稳态之后根据亚稳态的特性,恢复到稳态1或0是随机的,从而实现全数字逻辑实现真随机数,可以在FPGA这种不能集成模拟器件的芯片上实现真随机数。附图说明图1为基于D触发器亚稳态特性的真随机数生成装置示意图。具体实施方式如图1所示,本专利技术的基于D触发器亚稳态特性的真随机数生成装置包括数据输入模块、组合逻辑模块和同步输出模块,其中数据输入模块包括两组数据选择器(选择器0、选择器1)和四组寄存器(寄存器0、寄存器1、寄存器2、寄存器3),每两组寄存器对应一组数据选择器,通过移位加实现的32位两输入乘法器,64位按位异或电路,D触发器A,D触发器B和D触发器C组成的两级同步电路。其随机数生成的具体实施过程如下:1、通过查看电路综合后产生的时序分析报告,32位乘法器输入由两组寄存器输出组成,确认由哪一位寄存器的输出到达异或结果输入的D触发器(D触发器A)路径上产生建立时间违例的情况;2、真随机数发生装置电路开始工作,根据步骤1得到的寄存器值作为数据输入模块的输入值,经过数据选择器选择后的输出值作为组合逻辑电路的输入。由于64’HAAAA_AAAA_AAAA_AAAA按位异或后结果为0,64’H1555_5555_5555_5555按位异或后结果为1,64条组合逻辑路径长短不一并且存在建立时间违例路径,可保证D触发器A的输入端口D不停地0与1翻转,且可能处于0与1之间的电平,即在D触发器A的时钟上升沿窗口(建立时间与保持时间之内),输入端口D并没有稳定,满足产生亚稳态的条件,D触发器A的输出进入亚稳态,即组合逻辑模块输出为亚稳态信号。组合逻辑模块输出进入下一级同步输出模块,通过D触发器B和D触发器C两级同步处理后,最终的输出进入稳态,进入稳态的信号受到电路中热噪声及电噪声干扰,可能是0,也可能是1,从而实现D触发器C的输出即同步输出模块输出是真随机数。假设乘数X的第10位到D触发器A存在建立时间违例,则要求寄存器0×寄存器2=本文档来自技高网
...

【技术保护点】
1.一种基于D触发器亚稳态特性的真随机数生成装置,其特征在于,包括数据输入模块、组合逻辑模块和同步输出模块,其中数据输入模块包括两组数据选择器和四组寄存器,每两组寄存器对应连接一组数据选择器;组合逻辑模块包括移位器、选择器、加法器、异或门,其中移位器、选择器、加法器、异或门依次顺序连接;所述寄存器用于保存符合产生亚稳态条件的寄存器值;所述数据选择器用于选择不同寄存器作为输出值,一路输出连接组合逻辑模块中移位器的输入,另一路输出连接组合逻辑模块中信号选择器的控制输入;所述移位器用于将输入值进行2的n次方乘法,并输出至信号选择器;所述信号选择器用于选择移位器输出的结果或选择全0输出,其输出连接加法器的输入;所述加法器用于将各个信号选择器输出相加,其输出连接异或门的输入;所述异或门用于将加法器输出的多比特信号变为单比特的满足亚稳态产生条件的信号,并输出至同步输出模块;所述同步输出模块用于将异或门输出的满足亚稳态产生条件的信号锁定到稳定的0或1,最终得到随机数。

【技术特征摘要】
1.一种基于D触发器亚稳态特性的真随机数生成装置,其特征在于,包括数据输入模块、组合逻辑模块和同步输出模块,其中数据输入模块包括两组数据选择器和四组寄存器,每两组寄存器对应连接一组数据选择器;组合逻辑模块包括移位器、选择器、加法器、异或门,其中移位器、选择器、加法器、异或门依次顺序连接;所述寄存器用于保存符合产生亚稳态条件的寄存器值;所述数据选择器用于选择不同寄存器作为输出值,一路输出连接组合逻辑模块中移位器的输入,另一路输出连...

【专利技术属性】
技术研发人员:林桐杨柱郑伟王茵戴春泉
申请(专利权)人:北京理工雷科雷达技术研究院有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1