共享式开关电容真随机数产生器及其产生真随机数的方法与流程

文档序号:11063337阅读:413来源:国知局
共享式开关电容真随机数产生器及其产生真随机数的方法与制造工艺

本发明涉及真随机数产生器领域,尤其涉及共享式开关电容(switch-capacitor,SC)真随机数产生器(true random number generator,TRNG)及其操作方法。



背景技术:

真随机数产生器是信息安全系统中的重要组成部分,在数据加密、数字签名、身份鉴定等应用中被广泛采用。真随机数产生器的随机性、可靠性、速度等都是重要的考虑因素。

已知真随机数产生器(TRNG)有多种产生原理,例如:热噪声放大方式、带噪声的低频时钟采样高频标准时钟方式、基于离散一维非线性方程的混沌原理等。这些产生原理各有各的优点,通常会依据不同的应用需求来选定。其中,使用开关电容实现的基于混沌原理的真随机产生器较其他原理,电路实现更容易、准确,产生的随机数随机性最好。

在基于混沌原理的真随机数产生器中,通常使用离散一维非线性方程,如下式(1-1)所示。该方程产生的离散时间迭代结果表现出了混沌的特性,其长期状态具有不可预测,对初值敏感等特性,能够作为真随机数产生的原理,也是产生真随机数的理想原理之一。对应的函数如图1所示。

能够实现式(1-1)所示的方程的开关电容电路需要由运算放大器和电容构成的负反馈电路完成乘2及加减法运算,其中首先通过电容完成对输入信号的采样,然后由电容和运算放大器完成加减法及乘2运算操作,即随机数生成操作包括采样操作和运算操作。在采样阶段运算放大器处于空闲的未使用状态。

图2示出了基于流水线ADC的真随机数产生器,该真随机数产生器通过级联8个流水线ADC转换级构成环路。但图2的真随机数产生器的缺点在于电路规模较大、复杂度较高,致使真随机数产生器的芯片占有面积较大、功耗较大。

因此,在真随机数产生领域中,如何能够降低芯片的功耗以及减少真随机数产生器中的电路元件的数量以减小芯片面积成为重点研究的方向。



技术实现要素:

本发明的发明人进行了积极的研究并提出本发明以解决现有技术存在的问题。

根据本发明的一个方面,提供了一种共享式开关电容真随机数产生器,其包括第一真随机数产生单元和第二真随机数产生单元,第一真随机数产生单元和第二真随机数产生单元以首尾连接的方式串联在一起形成环路,第一真随机数产生单元和第二真随机数产生单元具有共享的运算放大器,并且第一真随机数产生单元和第二真随机数产生单元分别在第一时钟控制信号和第二时钟控制信号的控制下交替完成随机数生成操作。

优选地,第一真随机数产生单元和第二真随机数产生单元还共享第一开关组、基准电压产生电路以及用于产生第一时钟控制信号和第二时钟控制信号的开关时序控制电路,第一开关组中的开关受第一时钟控制信号和第二时钟控制信号的控制而闭合或断开,并且第一真随机数产生单元和第二真随机数产生单元中的每一个还包括:量化电平选择电路,用于在开关时序控制电路生成的第一时钟控制信号或第二时钟控制信号的控制下根据来自运算放大器的输出和由基准电压产生电路生成的参考电压来生成随机数;第二开关组,第二开关组中的开关在开关时序控制电路生成的第一时钟控制信号和第二时钟控制信号的控制下而闭合或断开;以及第一电容和第二电容,用于在第一开关组和第二开关组中的开关在第一时钟控制信号和第二时钟控制信号的控制下断开或闭合的情况下,与量化电平选择电路和运算放大器一起完成所在真随机数产生单元的采样或随机数生成操作。

在一个实施例中,第一电容和第二电容相同且相匹配,或者跟优选地,第一真随机数产生单元和第二真随机数产生单元中的第一电容和第二电容 均相同且相匹配。

此外,量化电平选择电路还包括:检测校正电路,用于确定运算放大器的输出是否超过预定阈值,并在超过阈值的情况下对运算放大器的输出进行校正;具有锁存功能的比较器,用于将运算放大器的输出与参考电压进行比较,并在第一时钟控制信号或第二时钟控制信号的控制下输出逻辑信号;多路选择器,用于根据逻辑信号选择输出基准电压产生电路产生的一个参考电压;以及后处理器,对逻辑信号进行后处理以生成随机数。

具体地,在第一时钟控制信号和第二时钟控制信号的控制下:在一个时钟周期的前半周期内,第一开关组中的第一开关集合、第一真随机数产生单元的第二开关组中的第一开关集合和第二真随机数产生单元的第二开关组中的第二开关集合闭合且第一开关组中的第二开关集合、第一真随机数产生单元的第二开关组中的第二开关集合和第二真随机数产生单元的第二开关组中的第一开关集合断开,使得:运算放大器的反相输入端通过第一开关组连接第二真随机数产生单元的第一电容和第二电容的一端且运算放大器的第二输出连接第一真随机数产生单元的量化电平选择电路的输入且通过第二真随机数产生单元的第二开关组连接第二真随机数产生单元的第二电容的另一端,第二真随机数产生单元的第一电容的另一端通过第二真随机数产生单元的第二开关组连接第二真随机数产生单元的量化电平选择电路的输出,第一真随机数产生单元的第一电容和第二电容的一端通过第一开关组连接基准电压产生电路生成的参考电压且另一端通过第一真随机数产生单元的第二开关组连接运算放大器的第二输出,从而第一真随机数产生单元完成采样操作且第二真随机数产生单元完成随机数生成操作;以及在一个时钟周期的后半周期内,第一开关组中的第二开关集合、第一真随机数产生单元的第二开关组中的第二开关集合和第二真随机数产生单元的第二开关组中的第一开关集合闭合且第一开关组中的第一开关集合、第一真随机数产生单元的第二开关组中的第一开关集合和第二真随机数产生单元的第二开关组中的第二开关集合断开,使得:运算放大器的同相输入端通过第一开关组连接第一真随机数产生单元的第一电容和第二电容的一端,运算放大器的第一输出连接第二真随机数产生单元的量化电平选择电路的输入且通过第一真随机数产生单元的第二开关组连接第一真随机数 产生单元的第一电容的另一端,第一真随机数产生单元的第二电容的另一端通过第一真随机数产生单元的第二开关组连接第一真随机数产生单元的量化电平选择电路的输出,第二真随机数产生单元的第一电容和第二电容的一端通过第一开关组连接基准电压产生电路生成的参考电压且另一端通过第二真随机数产生单元的第二开关组连接运算放大器的第一输出,从而第二真随机数产生单元完成采样操作且第一真随机数产生单元完成随机数生成操作。

优选地,在一个时钟周期内,第一时钟控制信号和第二时钟控制信号的占空比小于50%且第一时钟控制信号和第二时钟控制信号相互不交叠以具有死区时间。

根据本发明的另一方面,提供了一种操作共享式开关电容真随机数产生器的方法,其中开关电容真随机数产生器包括第一真随机数产生单元和第二真随机数产生单元,该方法包括:将第一真随机数产生单元和第二真随机数产生单元以首尾连接的方式串联在一起形成环路,第一真随机数产生单元和第二真随机数产生单元具有共享的运算放大器;以及利用第一时钟控制信号和第二时钟控制信号分别控制第一真随机数产生单元和第二真随机数产生单元来交替完成随机数生成操作。

优选地,第一真随机数产生单元和第二真随机数产生单元还共享第一开关组、基准电压产生电路以及和用于产生第一时钟控制信号和第二时钟控制信号的开关时序控制电路,第一开关组中的开关受第一时钟控制信号和第二时钟控制信号的控制而闭合或断开,并且在第一真随机数产生单元和第二真随机数产生单元中的每一个中:利用量化电平选择电路,在第一时钟控制信号或第二时钟控制信号的控制下根据来自运算放大器的输出和由基准电压产生电路生成的参考电压生成随机数;利用第一时钟控制信号和第二时钟控制信号闭合或断开第二开关组中的开关;以及在第一开关组和第二开关组中的开关在第一时钟控制信号和第二时钟控制信号的控制下断开或闭合的情况下,利用第一电容和第二电容与量化电平选择电路和运算放大器一起完成该真随机数产生单元的采样或随机数生成操作。

优选地,第一电容和第二电容相同且相匹配,或者更优选地,第一真随机数产生单元和第二真随机数产生单元中的第一电容和第二电容均相同 且相匹配。

此外,在量化电平选择电路中:利用检测校正电路确定运算放大器的输出是否超过预定阈值,并在超过阈值的情况下对运算放大器的输出进行校正;利用具有锁存功能的比较器将运算放大器的输出与参考电压进行比较,并在第一时钟控制信号或第二时钟控制信号的控制下输出逻辑信号;利用多路选择器根据逻辑信号选择输出基准电压产生电路产生的一个参考电压;以及利用后处理器对逻辑信号进行后处理以生成随机数。

具体地,在第一时钟控制信号和第二时钟控制信号的控制下:在一个时钟周期的前半周期内,第一开关组中的第一开关集合、第一真随机数产生单元的第二开关组中的第一开关集合和第二真随机数产生单元的第二开关组中的第二开关集合闭合且第一开关组中的第二开关集合、第一真随机数产生单元的第二开关组中的第二开关集合和第二真随机数产生单元的第二开关组中的第一开关集合断开,使得:运算放大器的反相输入端通过第一开关组连接第二真随机数产生单元的第一电容和第二电容的一端且运算放大器的第二输出连接第一真随机数产生单元的量化电平选择电路的输入且通过第二真随机数产生单元的第二开关组连接第二真随机数产生单元的第二电容的另一端,第二真随机数产生单元的第一电容的另一端通过第二真随机数产生单元的第二开关组连接第二真随机数产生单元的量化电平选择电路的输出,第一真随机数产生单元的第一电容和第二电容的一端通过第一开关组连接基准电压产生电路生成的参考电压且另一端通过第一真随机数产生单元的第二开关组连接运算放大器的第二输出,从而第一真随机数产生单元完成采样操作且第二真随机数产生单元完成随机数生成操作;以及在一个时钟周期的后半周期内,第一开关组中的第二开关集合、第一真随机数产生单元的第二开关组中的第二开关集合和第二真随机数产生单元的第二开关组中的第一开关集合闭合且第一开关组中的第一开关集合、第一真随机数产生单元的第二开关组中的第一开关集合和第二真随机数产生单元的第二开关组中的第二开关集合断开,使得:运算放大器的同相输入端通过第一开关组连接第一真随机数产生单元的第一电容和第二电容的一端且运算放大器的第一输出连接第二真随机数产生单元的量化电平选择电路的输入且通过第一真随机数产生单元的第二开关组连接第一真随机数 产生单元的第一电容的另一端,第一真随机数产生单元的第二电容的另一端通过第一真随机数产生单元的第二开关组连接第一真随机数产生单元的量化电平选择电路的输出,第二真随机数产生单元的第一电容和第二电容的一端通过第一开关组连接基准电压产生电路生成的参考电压且另一端通过第二真随机数产生单元的第二开关组连接运算放大器的第一输出,从而第二真随机数产生单元完成采样操作且第一真随机数产生单元完成随机数生成操作。

优选地,在一个时钟周期内,第一时钟控制信号和第二时钟控制信号的占空比小于50%且第一时钟控制信号和第二时钟控制信号相互不交叠以具有死区时间。

在本发明的技术方案中,通过共享运算放大器,可以减少真随机数产生器中的电路元件以减小芯片面积,并且通过交替控制真随机数产生单元,可以实现功耗的降低。

附图说明

图1是随机数生成原理的示意图;

图2是一种现有的基于流水线型ADC真随机数产生器的示意图;

图3是根据本发明实施例的共享式开关电容真随机数产生器的示意图;

图4是根据本发明实施的开关时序控制电路输出的控制信号时序示意图;

图5是根据本发明实施例的量化电平选择电路的框图;

图6是根据本发明实施例的在一个周期的第一状态下的电路连接示意图;

图7是根据本发明实施例的在一个周期的第二状态下的电路连接示意图;

图8是根据本发明实施例的共享运算放大器的一种电路结构的示意图;

图9是根据本发明实施例的共享式开关电容真随机数产生器的全差分结构实现方式的示意图;以及

图10是根据本发明实施例的共享式开关电容真随机数产生器的操作方法的流程图。

具体实施方式

为了更清楚地说明本发明实施例和技术方案,下面将结合附图及实施例对本发明的技术方案进行更详细的说明,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的实施例,提供了一种共享式开关电容真随机数产生器,其包括第一真随机数产生单元和第二真随机数产生单元,第一和第二真随机数产生单元以首尾连接的方式串联在一起形成环路,第一和第二真随机数产生单元具有共享的运算放大器,并且第一真随机数产生单元和第二真随机数产生单元分别在第一时钟控制信号和第二时钟控制信号的控制下交替完成随机数生成操作。通过共享运算放大器并交替控制真随机数生成单元,可以减少所使用的元件的数量来减小芯片面积、降低功耗。

以下参照附图详细描述本发明的共享式开关电容真随机数产生器的具体实现方式。

图3是根据本发明实施例的共享式开关电容真随机数产生器的示意图。如图所示,开关电容真随机数产生器包括:共享运算放大器100、共享开关时序控制电路110、量化电平选择电路120、电容组130、开关组140、开关组150和共享基准电压产生电路160。其中包括了两个能够完成式(1-1)运算功能的TRNG单元(以下称为TRNG单元A和TRNG单元B),其中TRNG单元A由运算放大器100、开关时序控制电路110、基准电压产生电路160、量化电平选择电路A、开关组150以及图3中上半部分中的开关组140(S1-S4)和电容组130(C1和C2)组成,TRNG单元B由运算放大器100、开关时序控制电路110、基准电压产生电路160、量化电平选择电路B、开关组150以及图3中下半部分中的开关组140(S5-S8)和电容组130(C3和C4)组成。其中TRNG单元A和TRNG单元B分时共享复用的组件包括运算放大器100、开关时序控制电路110、开关组150和基准电压产生电路160。但本领域技术人员应该明白,TRNG单元A和TRNG单元B也可以不共享开关时序控制电路、开关组和基准电压产生电路而是各自具有对 应的电路。

其中,开关组150对应于权利要求中的第一开关组,开关S10、S11和S14对应于权利要求中的第一开关组的第一开关集合,S9、S12、S13对应于权利要求中的定义开关组的第二开关集合,开关组140对应于权利要求中的第二开关组,开关S1和S4对应于权利要求中的第一真随机数产生单元的第二开关组的第二开关集合,开关S2和S3对应于权利要求中的第一真随机数产生单元的第二开关组的第一开关集合,开关S5和S8对应于权利要求中的第二真随机数产生单元的第二开关组的第二开关集合,开关S6和S7对应于权利要求中的第二真随机数产生单元的第二开关组的第一开关集合。此外,电容C1和C3对应于权利要求中的第一电容,电容C2和C4对应于权利要求中的第二电容。

其中,共享运算放大器100是完成上述式(1-1)运算功能的核心元件。

开关时序控制电路110能够产生图4所示的两相不交叠时钟信号。用于控制开关组140和开关组150中开关的开启和关闭、以及为量化电平产生电路120中的带锁存功能的比较器122提供时序。

两个电容组130分别属于两个随机数产生单元,其中电容C1和电容C2以及电容C3和C4是完成式(1-1)的重要元件,电容C1和电容C2相等且需要匹配,电容C3和C4且需要匹配。更优选地,电容C1、C2、C3、C4均相等且需要匹配。

开关组140和开关组150根据开关时序产生电路110输出的时序控制信号,通过内部开关的配合完成式(1-1)的运算。

基准电压产生电路160用于产生参考电压Vref、参考电压Vr1、参考电压Vr2、参考电压Vr3和参考电压Vr4,用于为开关组150提供参考电压Vref,为量化电平选择电路120中带锁存功能的比较器122提供参考电压Vr1、Vr2,以及为多路选择器123提供参考电压Vr3、Vr4和Vref。

以下参照图5具体描述量化电平产生电路120。如图5所示,量化电平产生电路120包括:检测校正电路121、两个带锁存功能的比较器122、多路选择器123和数字后处理器124。

检测校正电路121用于检测量化电平产生电路120输入信号Vin(TRNG单元A或TRNG单元B的运算结果)的电压范围,在输入信号Vin超过正 常电压范围外的最大阈值后,校正整个TRNG电路的输出,使TRNG的输出返回到正常范围。

带锁存功能的比较器122的同相输入端接输入信号Vin,两个反相输入端分别接参考电压Vr1和Vr2。在开关时序控制电路110提供的时钟的作用下,输出逻辑信号D1和D2,用于多路选择器123的控制输入和数字后处理器124产生最后的随机数输出的操作。

多路选择器123能够根据输入逻辑信号D1和D2,选择输入信号Vr3、Vref或Vr4中的一个到输出Vout来为TRNG单元A(或TRNG单元B)在完成式(1-1)运算时提供参考电平。

数字后处理器124用于对带锁存功能的比较器122的输出D1和D2进行处理,从而输出最后的随机数输出RNG。数字后处理的算法可以是简单的异或操作,也可以是复杂的增加随机性的其他算法,本文并不限定数字后处理的算法复杂度。

如上所述,在上述实施例中,通过分时共享复用运算放大器100、开关组150、开关时序控制电路110、基准电压产生电路160,能够实现两个真随机数产生单元通过首尾连接方式,随时钟交替完成式(1-1)的运算。从而能够节省一个运算放大器,节省了随机数的电路面积和功耗。

返回参照图4,示出了开关时序控制电路110产生的两个不交叠时钟输出信号,分别为CLK1和CLK2。在一个时钟周期内,将CLK1为高电平定义为Φ1状态,将CLK2为高电平定义为Φ2状态。从图4中可以看到,CLK1和CLK2的高电平的持续时间略小于T/2,死区时间用于保证开关组140和开关组150的开关切换过程不会影响到电路的正常运算结果。

每个TRNG单元都需要两个状态(Φ1状态和Φ2状态)才能完成式(1-1)的运算功能,概括为对输入的采样操作和运算操作(随机数生成操作)。两个TRNG单元间隔半个时钟周期依次完成采样和运算操作,从而都能够一个周期内完成式(1-1)的运算关系。两个TRNG单元在Φ1状态(或者Φ2状态)分别完成采样和运算操作(运算和采样操作)。

下面分别参照图6和图7分别描述本发明实施例电路的具体操作过程,即在图4定义的第n个周期Φ1状态和Φ2状态的具体工作过程。

在图6中示出了在第n个周期Tn的第一状态(Φ1状态)下,开关组140 和开关组150的开关状态。其中TRNG单元B在Tn-1的Φ2状态对输入V1采样,在Tn的Φ1状态时完成输入为V1的式(1-1)的运算操作。TRNG单元A则在Tn的Φ1状态下完成对TRNG单元B的输出V2的采样操作。

具体地,开关组140和开关组150中的开关S2、S3、S5、S8、S10、S11和S14闭合,其余开关全部断开。共享运算放大器100和电容组130中电容C3、C4构成乘2及加减运算的负反馈运算电路,其中共享运算放大器100的反相输入端接电容C3和C4一端、同相输入端通过开关组150的开关S11接基准电压产生电路160提供的参考电压Vref,共享运算放大器100在Φ1状态的输出为V2,电容C4的另一端接输出V2,电容C3的另一端接量化电平选择电路B 120的输出Vout,同时共享运算放大器输出V2接量化电平选择电路A120的输入Vin。在Φ1状态下TRNG单元B完成运算操作。

同时在Φ1状态,TRNG单元A中的电容组130,电容C1和C2的一端通过开关组150的开关S10接参考电压Vref,电容C1和C2的另一输入端通过开关组140的开关S2和S3接共享运算放大器的输出端V2,完成TRNG单元A的采样操作。量化电平选择电路A 120完成对输出电压V2的电压比较,并将比较结果锁存,为紧随的TRNG单元A的运算阶段提供量化电平,同时输出本周期内TRNG单元B的随机数输出RNG1。

图7示出了在第n个周期Tn的第二状态(Φ2状态)下,开关组140和开关组150的开关状态。其中TRNG单元A在Tn的Φ1状态对输入V2采样,在Tn的Φ2状态时完成输入为V2的式(1-1)的运算操作。TRNG单元B则在Φ2状态下完成对TRNG单元A的输出V1的采样操作。

具体地,开关组140和开关组150中的开关S1、S4、S6、S7、S9、S12和S13闭合,其余开关全部断开。共享运算放大器100和电容组130中电容C1、C2构成乘2及加减运算的负反馈运算电路,其中共享运算放大器100的同相输入端接电容C1和C2一端、反相输入端通过开关组150中开关S13接基准电压产生电路160提供的参考电压Vref,共享运算放大器在Φ2状态的输出端为V1,电容C1的另一端接输出V1,电容C2的另一端接量化电平选择电路A120的输出Vout,同时共享运算放大器输出V1接量化电平选择电路B120的输入Vin。此Φ2状态下TRNG单元A完成运算操作。

同时在Φ2状态,TRNG单元B中的电容组130,电容C3和C4的一端通过开关组150的开关S12接参考电压Vref,电容C3和C4的另一输入端通过开关组140的开关S6和S7接共享运算放大器的输出端V1,完成TRNG单元B的采样操作。量化电平选择电路B120完成对输出电压V1的电压比较,并将比较结果锁存,为紧随的TRNG单元B的运算阶段提供量化电平,同时输出本周期内TRNG单元A的随机数输出RNG2。

上述第n个周期的两个TRNG单元的采样和运算操作在第n个周期之前和后续的各周期内重复进行。从而在每个周期内有RNG1和RNG2分别都产生1bit的二进制随机数输出。

整个系统在时钟的作用下源源不断的产生真随机数输出。

此外,图8示出了一种共享运算放大器100的结构,其具有差分输入、双单端输出形式的结构。但应该理解,图8仅提供了一种共享运算放大器的实现方式,其并不局限于此,类似能够实现该功能的放大器都可以用于运算放大器100。例如,图9示出了根据本发明实施例的共享运算放大器为全差分形式的示意图,其特征为在整个采样和运算阶段,电压都采用差分形式。这些结构对于本领域技术人员来说是显而易见的,因此这里不再进行详细描述。

图10是根据本发明实施例的共享式开关电容真随机数产生器的操作方法的流程图,其中开关电容真随机数产生器包括第一真随机数产生单元和第二真随机数产生单元。

如图10所示,该方法包括:步骤S1002,将第一真随机数产生单元和第二真随机数产生单元以首尾连接的方式串联在一起形成环路,第一真随机数产生单元和第二真随机数产生单元具有共享的运算放大器;以及步骤S1004,利用第一时钟控制信号和第二时钟控制信号分别控制第一真随机数产生单元和第二真随机数产生单元来交替完成随机数生成操作。

如上所述,本发明的关键点在于共享运算放大器和交替控制真随机数生成单元,虽然本发明的实施例仅示出了两个真随机数产生单元,但本领域技术人员在阅读本发明的基础上也可以想到开关电容真随机数产生器具有偶数个真随机数产生单元的实施例,其中这偶数个真随机数产生单元也共享运算放大器且利用时钟控制信号交替控制这偶数个真随机数产生单 元,其实现原理和结构与上述实施例的类似。当然,应结合所能承受的成本、所需要实现的随机数生成效果等方面进行综合考虑来选择适当数量的真随机数产生单元。

上述实施例提供了共享式开关电容真随机数产生器及其操作方法,通过将能够完成上述式(1-1)运算的TRNG单元首尾连接构成环路,同时通过时钟的控制,使两个TRNG单元交替完成采样和运算操作,并通过分时共享复用运算放大器,能够在保证产生相同产量、高性能的真随机数的同时,提高了2倍增益运算放大器的利用效率,从而节省了产生相同产量随机数所需的电路芯片面积和功耗。

需要说明的是,以上参照附图所描述的各个实施例仅用以说明本发明而非限制本发明的范围,本领域的普通技术人员应当理解,在不脱离本发明的精神和范围的前提下对本发明进行的修改或者等同替换,均应涵盖在本发明的范围之内。此外,除上下文另有所指外,以单数形式出现的词包括复数形式,反之亦然。另外,除非特别说明,那么任何实施例的全部或一部分可结合任何其它实施例的全部或一部分来使用。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1