CN112363688B - 一种基于振荡环抖动的低功耗真随机数发生器 - Google Patents
一种基于振荡环抖动的低功耗真随机数发生器 Download PDFInfo
- Publication number
- CN112363688B CN112363688B CN202011259410.XA CN202011259410A CN112363688B CN 112363688 B CN112363688 B CN 112363688B CN 202011259410 A CN202011259410 A CN 202011259410A CN 112363688 B CN112363688 B CN 112363688B
- Authority
- CN
- China
- Prior art keywords
- current
- conf
- configuration
- circuit
- jitter
- 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.)
- Active
Links
- 230000010355 oscillation Effects 0.000 title claims abstract description 64
- 235000003642 hunger Nutrition 0.000 claims abstract description 67
- 230000037351 starvation Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000000630 rising effect Effects 0.000 claims description 32
- 238000012360 testing method Methods 0.000 claims description 31
- 238000013139 quantization Methods 0.000 claims description 22
- 101100328518 Caenorhabditis elegans cnt-1 gene Proteins 0.000 claims description 12
- 238000012886 linear function Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 abstract description 5
- 238000009825 accumulation Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 230000003068 static effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Tests Of Electronic Circuits (AREA)
- Manipulation Of Pulses (AREA)
Abstract
本发明公开了一种基于振荡环抖动的低功耗真随机数发生器,基于温度补偿和相位自矫正,使得设计的电路同时具有温度稳定性和低功耗的特性。本发明针对熵源电路中CSRO的频率和抖动受温度反转效应影响较大的问题,对电流饥饿型反相器中限流管的栅极电压设计了电压偏置电路,提高了CSRO频率的温度稳定性,保证了CSRO中抖动的大小,从而使得电路产生的随机数能够满足随机性要求。然后针对电路在连续生成随机数的过程中,因为固有偏差持续累积,导致电路消耗大量的冗余功耗的问题,提出了振荡环振荡相位自矫正的电路结构,有效的避免了固有偏差的累积,从而消除了固有偏差累积所带来的冗余功耗。
Description
技术领域
本发明一种面向IOT应用的极低功耗真随机数发生器。
背景技术
随着5G通信的推广和物联网(TheInternetofThings,IOT)技术的快速发展,可以预见在不久的将来一个万物互联的时代即将到来。所谓万物互连是指日常生活中所用到的各种物理电子实体之间的相互连接,比如:手机,门禁卡,银行卡,智能家居中的控制器等。这些物理电子实体中存储着大量的用户信息,其中包含很多用户敏感信息。一旦这些信息被窃取,导致敏感信息泄露,便会对人们的隐私和财产造成严重的威胁。为了提高信息的安全性,现代密码学技术经常被用在安全系统中。
在现代密码学技术中,随机数有着非常重要的地位。几乎各种密码协议、算法、密钥的产生等都要用到随机数。随机数发生器被视为安全系统中的重要一环,一旦随机数发生器所产生的随机数不能满足随机性要求,那么其所在的安全系统就很容易被攻击者攻破,造成严重的后果。
根据随机数发生器产生随机数原理的不同,可以将随机数发生器分为两类:伪随机数发生器和真随机数发生器。从随机数发生器的发展历程上看,最初的随机数发生器是伪随机数发生器,它是基于特定的算法和逻辑处理来产生随机数。这些随机数具有周期性,根据不同的产生原理,伪随机数的周期有长有短。伪随机数发生器的优点在于,结构简单,数据的输出速率比较快,并且实现方便;缺点是一旦它用来产生随机数的原始“种子”和产生随机数的算法被窃取,那么也就等于它所产生的随机数完全被掌握。因此在安全性要求较高的安全系统中,伪随机数发生器的安全性是不够的,此时需要采用真随机数发生器。真随机数发生器一般是利用一些物理过程中的随机噪声来产生随机数,比如:热噪声,散粒噪声,亚稳态等。这些随机噪声是不可预测的,是良好的随机源。它的不可预测性正好解决了伪随机数的周期性问题,使得最终产生的数据可以具备真正的随机性。在面向物联网的应用中往往对安全性的要求比较高,它要求即使攻击者具备较强的计算能力,并且知道了已经产生的随机数序列,也无法预测下一个即将产生的随机数。所以真随机数发生器成为面向物联网应用的一个研究热点。
物联网终端普遍的供电方式是电池供电,低功耗设计已经成是首要考虑的设计目标。由于目前的电池续航能力有限,如果终端设备功耗太大,那么电池将要频繁更换,从而影响用户体验。同时,物联网终端设备作为物联网的感知层,处于物联网网络拓扑结构的末端,高功耗会进一步阻碍物联网终端设备的发展。因此,对于面向物联网应用的终端芯片来说,在电路设计中实现低功耗的研究具有现实意义。
基于以上背景,面向IOT应用的极低功耗真随机数发生器已经成为研究关注的一个热点问题。现有基于振荡环抖动的TRNG电路设计的复杂度和功耗都得到了一定程度的优化。但是电路在实际的生产制造过程中,不可避免的产生工艺偏差,使得现有基于振荡环抖动的TRNG电路中依然存在大量的冗余功耗。
发明内容
发明目的:针对上述现有技术,提出一种基于振荡环抖动的低功耗真随机数发生器,解决现有基于振荡环抖动的真随机数发生器由于振荡周期偏差导致消耗大量冗余功耗的问题。
技术方案:一种基于振荡环抖动的低功耗真随机数发生器,包括:抖动放大和提取模块、抖动量化电路;
所述抖动放大和提取模块包括第一电流饥饿型反相器链、第二电流饥饿型反相器链、与非门、二选一数据选择器以及异或门;其中,所述第一电流饥饿型反相器链由偶数级延迟可配置电流饥饿型反相器连接构成,所述第二电流饥饿型反相器链与所述第一电流饥饿型反相器链中的反相器数量相同;所述第一电流饥饿型反相器链的输出连接到与非门的第一输入端,形成一个闭合的电流饥饿型反相器振荡环;所述与非门的第二输入端接使能信号EN,所述与非门的输出连接到二选一数据选择器的第一输入端,所述二选一数据选择器的输出端同时连接到所述第一电流饥饿型反相器链和第二电流饥饿型反相器链的输入端,所述第一电流饥饿型反相器链的输出还连接到异或门的输入节点A,所述第二电流饥饿型反相器链的输出端连接到所述异或门的输入节点B,所述第二电流饥饿型反相器链作为所述电流饥饿型反相器振荡环的补偿链;
所述抖动量化电路由一个高频环形振荡器连接一个异步计数器所构成,所述异或门的输出端连接到所述高频环形振荡器的输入端。
进一步的,还包括温度补偿电路,所述温度补偿电路由两个单独的电压偏置电路构成,分别产生所述第一电流饥饿型反相器链和第二电流饥饿型反相器链的各反相器中NMOS限流管和PMOS限流管的栅极电压。
进一步的,所述NMOS限流管的电压偏置电路采用两级RVT NMOS和两级HVT NMOS组成;所述PMOS限流管的电压偏置电路采用三级RVT NMOS和两级HVT NMOS组成。
进一步的,所述电压偏置电路的参数调节方法包括如下步骤:
步骤一:常温下,分别设置PMOS限流管和NMOS限流管的栅源电压VGS为阈值电压VTH,即:VTH=VGS=|VGS|,此时的所述NMOS限流管偏置电压记为VN1,所述PMOS限流管偏置电压记为VP1;
步骤二:测量此时所述电流饥饿型反相器振荡环在多点温度T下的频率,并且用一次线性函数进行拟合,得到式子fT=k1T+b,其中fT是温度影响的频率,k1是温度系数,b是大于0的常数;使用线性函数拟合NMOS限流管的偏置电压VN和频率之间的关系,得到式子其中/>是VN影响的频率,k2是VN电压系数,c是大于0的常数;使用线性函数拟合PMOS限流管的偏置电压VP和频率之间的关系,得到式子/>其中/>是VP影响的频率,k4是VP电压系数,VDD是电源电压,e是大于0的常数;
步骤三:调节两个电压偏置电路中MOS管的宽长比,使得常温下的NMOS限流管偏置电压VN值为步骤1中的VN1,PMOS限流管偏置电压VP为步骤1中的VP1;然后测量多点温度下两个电压偏置电路的VN和VP,然后分别进行一次线性拟合,得到式子VN=k3T+d和VP=k5T+g,其中系数k3小于0,系数k5大于0,d和g是大于0的常数;
步骤四:计算(k2k3-k4k5+k1)的值是否小于1值-2,如果不是,则回到步骤三重新调节电压偏置电路中MOS管的宽长比,从而调节k3,k5的值,如果满足则调参结束。
进一步的,所述抖动量化电路中,所述量化振荡环由首尾相连的一个与非门和两个反相器构成。
进一步的,所述抖动量化电路中,所述异步计数器采用C2MOS寄存器。
进一步的,所述电流饥饿型反相器振荡环中,通过配置各反相器的控制比特位来控制各级反相器的延迟,从而调节振荡环的周期及其占空比;所述二选一数据选择器的第二输入端定义为配置端Test[0],控制端定义为配置端Test[1];所述异步计数器的控制端定义为配置端Test[2];当配置端Test[0]和配置端Test[1]为低电平,配置端Test[2]为高电平的时候,电路进入校准模式,以上升沿偏差进行振荡周期校准,对所述第一电流饥饿型反相器链和第二电流饥饿型反相器链中延迟可配置电流饥饿型反相器进行配置的配置端分别是:N1_CONF[7:0],P1_CONF[7:0],N2_CONF[7:0],P2_CONF[7:0];其中第一电流饥饿型反相器链中上升沿偏差的配置位为:N1_CONF[3:0],P1_CONF[3:0];下降沿偏差的配置位为:N1_CONF[7:4],P1_CONF[7:4];第二电流饥饿型反相器链中上升沿偏差的配置位为:N2_CONF[3:0],P2_CONF[3:0];下降沿偏差的配置位为:N2_CONF[7:4],P2_CONF[7:4];
上升沿偏差配置包括如下步骤:
步骤一:将所述异步计数器中各触发器的状态复位,并保持一段时间直到电路中各节点电位处于稳定状态;
步骤二:将配置端Test[0]驱动为高电平,使得所述第一电流饥饿型反相器链和第二电流饥饿型反相器链的各反相器依次翻转,最终所述异或门的两个输入节点A和B从低电平翻转为高电平,节点A和B的上升沿之间因为固有偏差和抖动的影响,两个上升沿到来的时间不一样,存在时间差;在所述时间差内,所述抖动量化电路中的高频环形振荡器处于振荡状态,所述异步计数器的输入节点F的振荡信号驱动异步计数器从0开始计数,直到节点A和B都为高电平,异步计数器停止计数,计数结果记为cnt0,计数的结果就是对所述节点A和B的上升沿时间差的量化结果;
步骤三:将所述电流饥饿型反相器振荡环所对应的配置位N1_CONF[3:0]和P1_CONF[3:0]置为高电平,降低其上升延迟,缩小与所述补偿链的延迟差,重复步骤一和二,将步骤二的重新得到的计数结果记为cnt1;
步骤四:比较cnt0和cnt1的值,如果cnt1小于cnt0,则认为所述电流饥饿型反相器振荡环的上升延迟大于所述补偿链,如果cnt1大于cnt0,则认为所述补偿链的上升沿延迟大于所述电流饥饿型反相器振荡环;
步骤五:通过步骤四的判断结果将边沿延迟大的反相器链中的对应的配置位Nx_CONF[3:0](x={1,2}),Px_CONF[3:0](x={1,2})依次打开,打开时的时候,先打开PMOS配置位Px_CONF[3:0](x={1,2}),再打开NMOS配置位Nx_CONF[3:0](x={1,2});每打开一个配置位,都要先进行复位,再对所述配置端Test[0]进行配置,将打开第n个配置位时,计数结果记为cntn;
步骤六:如果cntn<cntn-1,那么重复步骤五,当cntn>cntn-1的时候,将该次的配置位关掉,那么计数为cntn-1时的配置位状态下的电路偏差最小。
进一步的,上升沿偏差配置完成后,再对下降沿偏差进行配置,配置时首先将配置端Test[0]驱动为高电平,调整下降沿偏差的配置位N1_CONF[7:4],P1_CONF[7:4]和N2_CONF[7:4],P2_CONF[7:4]。
有益效果:1、在CMOS电路中动态功耗在电路的总功耗中占比较大,因此在电路设计中首先考虑降低动态功耗。本发明采用了先提取抖动,然后再量化抖动的电路架构,在量化电路部分,信号E对抖动量化电路进行了门控,使得量化电路只在抖动持续的时间内才处于振荡状态,在非抖动的时间内处于稳定状态。处于稳定状态时,量化电路只产生少量的静态功耗,使得量化电路的动态功耗得以降低。
2、为了放大振荡环振荡周期的抖动,本发明采用电流饥饿型反向器构成振荡环,相比于增加振荡环中反相器级数方法来放大抖动,采用电流饥饿型反相器构成振荡环,具有面积小,功耗低的优势。
3、为了克服温度反转效应所带来的问题,本发明对电流饥饿型反相器链中限流管的栅极电压设计了电压偏置电路,采用两个单独的电压偏置电路分别产生NMOS和PMOS限流管的栅极电压,从而使得振荡环的频率具备温度稳定性,保证温度为从-20℃到120℃变化时,电路都能产生随机性良好的随机数。
4、基于延迟可配置电流饥饿型反相器的振荡环电路,通过配置反相器的控制位来调节振荡环的周期及其占空比,降低了固有偏差所导致的冗余功耗。
附图说明
图1为本发明低功耗真随机数发生器的电路结构图;
图2为温度补偿电路结构示意图,其中(a)为NMOS限流管偏置电路,(a)为PMOS限流管偏置电路;
图3为偏置电路的参数调节流程图;
图4为C2MOS寄存器的结构示意图;
图5为基于延迟可配置电流饥饿型反相器结构示意图;
图6为以上升沿为例的固有偏差的校准流程图。
具体实施方式
下面结合附图对本发明做更进一步的解释。
如图1所示,一种基于振荡环抖动的低功耗真随机数发生器,包括:抖动放大和提取模块、抖动量化电路。
抖动放大和提取模块包括第一电流饥饿型反相器链、第二电流饥饿型反相器链、与非门、二选一数据选择器以及异或门。其中,第一电流饥饿型反相器链由偶数级延迟可配置电流饥饿型反相器连接构成,第二电流饥饿型反相器链与第一电流饥饿型反相器链中的反相器数量相同。第一电流饥饿型反相器链的输出连接到与非门的第一输入端,形成一个闭合的电流饥饿型反相器振荡环。与非门的第二输入端接使能信号EN,与非门的输出连接到二选一数据选择器的第一输入端,所述二选一数据选择器的输出端同时连接到第一电流饥饿型反相器链和第二电流饥饿型反相器链的输入端,第一电流饥饿型反相器链的输出还连接到异或门的输入节点A,第二电流饥饿型反相器链的输出端连接到异或门的输入节点B,第二电流饥饿型反相器链作为所述电流饥饿型反相器振荡环的补偿链。
抖动量化电路由一个高频环形振荡器连接一个异步计数器所构成,异或门的输出端连接到高频环形振荡器的输入端。其中,量化振荡环由首尾相连的一个与非门和两个反相器构成。当节点E为低电平的时候,高频RO环和异步计数器的各节点的电平处于稳定状态,此时抖动量化模块只消耗少量的静态功耗。当节点E为高电平的时候,此时与非门的逻辑功能等效为反相器,高频RO环开始振荡。节点F的振荡环信号作为异步计数器的时钟信号,驱动异步计数器进行计数。降低高频环的周期可以减小电路产生的随机数之间的相关性,保证结果的随机性,所以高频振荡环采用一个与非门和两个反相器所构成,从而使得周期最小化。
如图4所示,异步计数器采用C2MOS寄存器,C2MOS寄存器是一个正沿触发的主从寄存器,类似于经典的传输门型寄存器。电路的工作原理是:当CLK为低电平时,晶体管M3和M4导通,主级反相器导通,此时内部节点X上采样D的反相数据,因此主级处于求值模式。同时晶体管M7和M8处于关断状态,从级反相器维持在高阻态,即处于维持模式,输出Q维持原来的值不变。当CLK为高电平时,晶体管M3和M4处于关断状态,主级部分处在维持模式。晶体管M7和M8导通,从级部分处于求值状态,存储在X节点的值经过从级反相器传送到输出节点Q。其优点在于,当C2MOS寄存器处于静态模式的时候,电路中没有直通功耗,只存在少量的静态功耗。采用C2MOS寄存器构成抖动量化电路中的异步计数器,利用其特殊的电路结构来消除计数器模块在静态模式下的直通功耗。
当信号EN为低电平的时候,经过与非门输出后的节点固定为高电平,在经过第一电流饥饿型反相器链的偶数级反相器之后输出分别也都是高电平,此时电路处于静态模式;当信号EN为高电平的时候,此时与非门的逻辑功能等效为反相器,与非门的输出经过第一电流饥饿型反相器链的偶数级反相器之后返回到与非门的输入端形成一个闭合的电流饥饿型反相器振荡环,振荡环从一个固定的状态开始振荡,电路进入工作模式;第二电流饥饿型反相器链作为电流饥饿型反相器补偿链,因为电流饥饿型反相器振荡环和电流饥饿型反相器补偿链的输入端都由与非门的输出节点驱动,所以它们每一次的翻转都是从同一个相位开始,避免了固有偏差Δt在下次振荡中被累积,从而避免了抖动量化电路的动态功耗持续增加,消除了电流饥饿型反相器振荡环振荡周期固有偏差的积累。
电流饥饿型反向器是在常规反向器的电路基础上分别增加了一个PMOS管和NMOS管,称为限流管。限流管的偏置电压VP和VN分别用来将其栅源电压保持在近阈值电压的水平上,此时反相器在发生翻转的时候,充放电电流大幅降低,使得振荡环频率大幅降低,从而放大抖动。为了将电路中的抖动放大到可量化的水平,那么在反相器发生翻转的时候,通过限流管的电流必须足够的小。降低限流管电流的方法是增加限流管的导通电阻。在设计中可以通过降低限流管(W/L)的值,以及降低MOS管的栅源电压来降低VGS-VTN的值,从而增加限流管的导通电阻。为了降低振荡环中的电流,同时保证振荡环周期的偏差较小,电路正常工作时,电流饥饿型反相器限流管的栅源电压VGS应该保持在近阈值电压的范围内。
温度的变化会影响振荡环的频率,使电路产生随机数的随机性得不到保证,同时造成电路性能严重不稳定。具体的,温度的变化会影响MOS管的载流子迁移率及其阈值电压的变化,当载流子迁移率和阈值电压发生变化时,MOS管在工作过程中平均充放电的时间发生变化,使得振荡环频率发生改变。MOS管的阈值电压和载流子迁移率都与温度呈负相关。因此随着温度的升高,阈值电压降低,载流子迁移率也降低。阈值电压降低导致MOS管平均电流增大,从而振荡环频率增大;载流子迁移率降低,导致MOS管平均电流减小,从而振荡环频率降低。所以温度和振荡环频率的相关性取决于,阈值电压和载流子迁移率对频率影响的相对比重大小。因此,本发明的低功耗真随机数发生器还包括温度补偿电路,该温度补偿电路由两个单独的电压偏置电路构成,分别产生第一电流饥饿型反相器链和第二电流饥饿型反相器链的各反相器中NMOS限流管和PMOS限流管的栅极电压。如图2所示,NMOS限流管的电压偏置电路采用两级RVT NMOS和两级HVT NMOS组成;PMOS限流管的电压偏置电路采用三级RVT NMOS和两级HVT NMOS组成。
如图3所示,电压偏置电路的参数调节方法包括如下步骤:
步骤一:常温下,分别设置PMOS限流管和NMOS限流管的栅源电压VGS为阈值电压VTH,即:VTH=VGS=|VGS|,使得CSRO周期的抖动足够大,保证所述振荡环周期的抖动易于采样提取,此时的NMOS限流管偏置电压记为VN1,PMOS限流管偏置电压记为VP1。
步骤二:测量此时电流饥饿型反相器振荡环在多点温度T下的频率,并且用一次线性函数进行拟合,得到式子fT=k1T+b,其中fT是温度影响的频率,k1是温度系数,其值是大于0的常数,b是大于0的常数。使用线性函数拟合NMOS限流管的偏置电压VN和频率之间的关系,得到式子其中/>是VN影响的频率,k2是VN电压系数,c是大于0的常数。使用线性函数拟合PMOS限流管的偏置电压VP和频率之间的关系,得到式子/>其中/>是VP影响的频率,k4是VP电压系数,VDD是电源电压,e是大于0的常数。
步骤三:调节两个电压偏置电路中MOS管的宽长比,使得常温下的NMOS限流管偏置电压VN值为步骤1中的VN1,PMOS限流管偏置电压VP为步骤1中的VP1。然后测量多点温度下两个电压偏置电路的VN和VP,然后分别进行一次线性拟合,得到式子VN=k3T+d和VP=k5T+g,其中系数k3小于0,系数k5大于0,d和g是大于0的常数。
步骤四:计算(k2k3-k4k5+k1)的值是否小于1值-2,如果不是,则回到步骤三重新调节电压偏置电路中MOS管的宽长比,从而调节k3,k5的值,如果满足则调参结束。
将二选一数据选择器的第二输入端定义为配置端Test[0],控制端定义为配置端Test[1];异步计数器的控制端定义为配置端Test[2]。当配置端Test[1]为高电平,Test[2]为低电平的时候,此时电路是正常的熵源电路,计数器中只有D0触发器处于工作状态,它的Q端数据作为随机数;其他的触发器时钟端电平处于稳定状态,触发器处于静态模式,只消耗少量的静态功耗;当配置端Test[1]为低电平,Test[2]为高电平的时候,电路进入校准模式,此时异步计数器中的各级触发器都处于工作状态。
第一电流饥饿型反相器链和第二电流饥饿型反相器链中采用延迟可配置电流饥饿型反相器,如图5所示。当配置端Test[0]和配置端Test[1]为低电平,配置端Test[2]为高电平的时候,电路进入校准模式,以上升沿偏差进行振荡周期校准,对第一电流饥饿型反相器链和第二电流饥饿型反相器链中延迟可配置电流饥饿型反相器进行配置的配置端分别是:N1_CONF[7:0],P1_CONF[7:0],N2_CONF[7:0],P2_CONF[7:0]。其中第一电流饥饿型反相器链中上升沿偏差的配置位为:N1_CONF[3:0],P1_CONF[3:0];下降沿偏差的配置位为:N1_CONF[7:4],P1_CONF[7:4];第二电流饥饿型反相器链中上升沿偏差的配置位为:N2_CONF[3:0],P2_CONF[3:0];下降沿偏差的配置位为:N2_CONF[7:4],P2_CONF[7:4]。
如图6所示,上升沿偏差配置包括如下步骤:
步骤一:将异步计数器中各触发器的状态复位,并保持一段时间直到电路中各节点电位处于稳定状态。
步骤二:将配置端Test[0]驱动为高电平,使得第一电流饥饿型反相器链和第二电流饥饿型反相器链的各反相器依次翻转,最终异或门的两个输入节点A和B从低电平翻转为高电平,节点A和B的上升沿之间因为固有偏差和抖动的影响,两个上升沿到来的时间不一样,存在时间差;在该时间差内,抖动量化电路中的高频环形振荡器处于振荡状态,异步计数器的输入节点F的振荡信号驱动异步计数器从0开始计数,直到节点A和B都为高电平,异步计数器停止计数,计数结果记为cnt0,计数的结果就是对节点A和B的上升沿时间差的量化结果。
步骤三:将电流饥饿型反相器振荡环所对应的配置位N1_CONF[3:0]和P1_CONF[3:0]置为高电平,降低其上升延迟,缩小与补偿链的延迟差,重复步骤一和二,将步骤二的重新得到的计数结果记为cnt1。
步骤四:比较cnt0和cnt1的值,如果cnt1小于cnt0,则认为电流饥饿型反相器振荡环的上升延迟大于补偿链,如果cnt1大于cnt0,则认为补偿链的上升沿延迟大于电流饥饿型反相器振荡环。
步骤五:通过步骤四的判断结果将边沿延迟大的反相器链中的对应的配置位Nx_CONF[3:0](x={1,2}),Px_CONF[3:0](x={1,2})依次打开,打开时的时候,先打开PMOS配置位Px_CONF[3:0](x={1,2}),再打开NMOS配置位Nx_CONF[3:0](x={1,2});每打开一个配置位,都要先进行复位,再对所述配置端Test[0]进行配置,将打开第n个配置位时,计数结果记为cntn。
步骤六:如果cntn<cntn-1,那么重复步骤五,当cntn>cntn-1的时候,将该次的配置位关掉,那么计数为cntn-1时的配置位状态下的电路偏差最小。
上升沿偏差配置完成后,再对下降沿偏差进行配置,配置时首先将配置端Test[0]驱动为高电平,调整下降沿偏差的配置位N1_CONF[7:4],P1_CONF[7:4]和N2_CONF[7:4],P2_CONF[7:4],其余步骤与上升沿偏差配置一致。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于振荡环抖动的低功耗真随机数发生器,其特征在于,包括:抖动放大和提取模块、抖动量化电路;
所述抖动放大和提取模块包括第一电流饥饿型反相器链、第二电流饥饿型反相器链、与非门、二选一数据选择器以及异或门;其中,所述第一电流饥饿型反相器链由偶数级延迟可配置电流饥饿型反相器连接构成,所述第二电流饥饿型反相器链与所述第一电流饥饿型反相器链中的反相器数量相同;所述第一电流饥饿型反相器链的输出连接到与非门的第一输入端,形成一个闭合的电流饥饿型反相器振荡环;所述与非门的第二输入端接使能信号EN,所述与非门的输出连接到二选一数据选择器的第一输入端,所述二选一数据选择器的输出端同时连接到所述第一电流饥饿型反相器链和第二电流饥饿型反相器链的输入端,所述第一电流饥饿型反相器链的输出还连接到异或门的输入节点A,所述第二电流饥饿型反相器链的输出端连接到所述异或门的输入节点B,所述第二电流饥饿型反相器链作为所述电流饥饿型反相器振荡环的补偿链;
所述抖动量化电路由一个高频环形振荡器连接一个异步计数器所构成,所述异或门的输出端连接到所述高频环形振荡器的输入端。
2.根据权利要求1所述的基于振荡环抖动的低功耗真随机数发生器,其特征在于,还包括温度补偿电路,所述温度补偿电路由两个单独的电压偏置电路构成,分别产生所述第一电流饥饿型反相器链和第二电流饥饿型反相器链的各反相器中NMOS限流管和PMOS限流管的栅极电压。
3.根据权利要求2所述的基于振荡环抖动的低功耗真随机数发生器,其特征在于,所述NMOS限流管的电压偏置电路采用两级RVT NMOS和两级HVT NMOS组成;所述PMOS限流管的电压偏置电路采用三级RVT NMOS和两级HVT NMOS组成。
4.根据权利要求3所述的基于振荡环抖动的低功耗真随机数发生器,其特征在于,所述电压偏置电路的参数调节方法包括如下步骤:
步骤一:常温下,分别设置PMOS限流管和NMOS限流管的栅源电压VGS为阈值电压VTH,即:VTH=VGS=|VGS|,此时的所述NMOS限流管偏置电压记为VN1,所述PMOS限流管偏置电压记为VP1;
步骤二:测量此时所述电流饥饿型反相器振荡环在多点温度T下的频率,并且用一次线性函数进行拟合,得到式子fT=k1T+b,其中fT是温度影响的频率,k1是温度系数,b是大于0的常数;使用线性函数拟合NMOS限流管的偏置电压VN和频率之间的关系,得到式子其中/>是VN影响的频率,k2是VN电压系数,c是大于0的常数;使用线性函数拟合PMOS限流管的偏置电压VP和频率之间的关系,得到式子/>其中/>是VP影响的频率,k4是VP电压系数,VDD是电源电压,e是大于0的常数;
步骤三:调节两个电压偏置电路中MOS管的宽长比,使得常温下的NMOS限流管偏置电压VN值为步骤1中的VN1,PMOS限流管偏置电压VP为步骤1中的VP1;然后测量多点温度下两个电压偏置电路的VN和VP,然后分别进行一次线性拟合,得到式子VN=k3T+d和VP=k5T+.g,其中系数k3小于0,系数k5大于0,d和g是大于0的常数;
步骤四:计算(k2k3-k4k5+k1)的值是否小于10-2,如果不是,则回到步骤三重新调节电压偏置电路中MOS管的宽长比,从而调节k3,k5的值,如果满足则调参结束。
5.根据权利要求1或2所述的基于振荡环抖动的低功耗真随机数发生器,其特征在于,所述抖动量化电路中,所述高频环形振荡器由首尾相连的一个与非门和两个反相器构成。
6.根据权利要求1或2所述的基于振荡环抖动的低功耗真随机数发生器,其特征在于,所述抖动量化电路中,所述异步计数器采用C2MOS寄存器。
7.根据权利要求1所述的基于振荡环抖动的低功耗真随机数发生器,其特征在于,所述电流饥饿型反相器振荡环中,通过配置各反相器的控制比特位来控制各级反相器的延迟,从而调节振荡环的周期及其占空比;所述二选一数据选择器的第二输入端定义为配置端Test[0],控制端定义为配置端Test[1];所述异步计数器的控制端定义为配置端Test[2];当配置端Test[0]和配置端Test[1]为低电平,配置端Test[2]为高电平的时候,电路进入校准模式,以上升沿偏差进行振荡周期校准,对所述第一电流饥饿型反相器链和第二电流饥饿型反相器链中延迟可配置电流饥饿型反相器进行配置的配置端分别是:N1_CONF[7:0],P1_CONF[7:0],N2_CONF[7:0],P2_CONF[7:0];其中第一电流饥饿型反相器链中上升沿偏差的配置位为:N1_CONF[3:0],P1_CONF[3:0];下降沿偏差的配置位为:N1_CONF[7:4],P1_CONF[7:4];第二电流饥饿型反相器链中上升沿偏差的配置位为:N2_CONF[3:0],P2_CONF[3:0];下降沿偏差的配置位为:N2_CONF[7:4],P2_CONF[7:4];
上升沿偏差配置包括如下步骤:
步骤一:将所述异步计数器中各触发器的状态复位,并保持一段时间直到电路中各节点电位处于稳定状态;
步骤二:将配置端Test[0]驱动为高电平,使得所述第一电流饥饿型反相器链和第二电流饥饿型反相器链的各反相器依次翻转,最终所述异或门的两个输入节点A和B从低电平翻转为高电平,节点A和B的上升沿之间因为固有偏差和抖动的影响,两个上升沿到来的时间不一样,存在时间差;在所述时间差内,所述抖动量化电路中的高频环形振荡器处于振荡状态,所述异步计数器的输入节点F的振荡信号驱动异步计数器从0开始计数,直到节点A和B都为高电平,异步计数器停止计数,计数结果记为cnt 0,计数的结果就是对所述节点A和B的上升沿时间差的量化结果;
步骤三:将所述电流饥饿型反相器振荡环所对应的配置位N1_CONF[3:0]和P1_CONF[3:0]置为高电平,降低其上升延迟,缩小与所述补偿链的延迟差,重复步骤一和二,将步骤二的重新得到的计数结果记为cnt1;
步骤四:比较cnt0和cnt1的值,如果cnt1小于cnt0,则认为所述电流饥饿型反相器振荡环的上升延迟大于所述补偿链,如果cnt1大于cnt0,则认为所述补偿链的上升沿延迟大于所述电流饥饿型反相器振荡环;
步骤五:通过步骤四的判断结果将边沿延迟大的反相器链中的对应的配置位Nx_CONF[3:0](x={1,2}),Px_CONF[3:0](x={1,2})依次打开,打开时的时候,先打开PMOS配置位Px_CONF[3:0](x={1,2}),再打开NMOS配置位Nx_CONF[3:0](x={1,2});每打开一个配置位,都要先进行复位,再对所述配置端Test[0]进行配置,将打开第n个配置位时,计数结果记为cnt n;
步骤六:如果cnt n<cnt n-1,那么重复步骤五,当cnt n>cnt n-1的时候,将该次的配置位关掉,那么计数为cnt n-1时的配置位状态下的电路偏差最小。
8.根据权利要求7所述的基于振荡环抖动的低功耗真随机数发生器,其特征在于,上升沿偏差配置完成后,再对下降沿偏差进行配置,配置时首先将配置端Test[0]驱动为高电平,调整下降沿偏差的配置位N1_CONF[7:4],P1_CONF[7:4]和N2_CONF[7:4],P2_CONF[7:4]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011259410.XA CN112363688B (zh) | 2020-11-12 | 2020-11-12 | 一种基于振荡环抖动的低功耗真随机数发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011259410.XA CN112363688B (zh) | 2020-11-12 | 2020-11-12 | 一种基于振荡环抖动的低功耗真随机数发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363688A CN112363688A (zh) | 2021-02-12 |
CN112363688B true CN112363688B (zh) | 2024-03-08 |
Family
ID=74516051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011259410.XA Active CN112363688B (zh) | 2020-11-12 | 2020-11-12 | 一种基于振荡环抖动的低功耗真随机数发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363688B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957741A (zh) * | 2010-10-18 | 2011-01-26 | 东南大学 | 一种基于亚阈值特性的真随机数发生器 |
CN109783060A (zh) * | 2019-01-16 | 2019-05-21 | 河海大学常州校区 | 基于电流饥饿型环形振荡器的高速真随机数发生器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5171315B2 (ja) * | 2008-02-28 | 2013-03-27 | 株式会社東芝 | 乱数生成回路 |
-
2020
- 2020-11-12 CN CN202011259410.XA patent/CN112363688B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957741A (zh) * | 2010-10-18 | 2011-01-26 | 东南大学 | 一种基于亚阈值特性的真随机数发生器 |
CN109783060A (zh) * | 2019-01-16 | 2019-05-21 | 河海大学常州校区 | 基于电流饥饿型环形振荡器的高速真随机数发生器 |
Non-Patent Citations (1)
Title |
---|
一种用于电子标签的低功耗高精度时钟电路设计;沈少武;程仕意;徐斌富;;现代电子技术(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112363688A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9846568B2 (en) | System and method for dynamic tuning feedback control for random number generator | |
KR100861371B1 (ko) | 온도센서 및 이를 이용한 반도체 메모리 장치 | |
US8342747B2 (en) | Temperature sensing circuit of semiconductor device | |
Suresh et al. | Entropy extraction in metastability-based TRNG | |
US8552793B2 (en) | Semiconductor device | |
US8805907B2 (en) | Random number generation device having a ring oscillator | |
KR100998452B1 (ko) | 멀티플렉서의 선택-대-출력 지연을 결정하기 위한 링발진기 | |
US20190356314A1 (en) | Physical unclonable device and method of maximizing existing process variation for a physically unclonable device | |
US20170324402A1 (en) | Power efficient high speed latch circuits and systems | |
Huang et al. | A highly reliable and energy-efficient schmitt trigger puf featuring ultra-wide supply voltage range | |
CN112363688B (zh) | 一种基于振荡环抖动的低功耗真随机数发生器 | |
CN107506174B (zh) | 基于饥饿电流环形振荡器的真随机数发生器 | |
Shah et al. | Low transistor count storage elements and their performance comparison | |
CN114567293B (zh) | 锁存器以及包括锁存器的处理器和计算装置 | |
KR101203605B1 (ko) | 고속 동작을 위한 플립플롭 | |
US20220247388A1 (en) | Low power flip-flop | |
US8810279B2 (en) | Pseudo-static domino logic circuit and apparatuses including same | |
TW202008717A (zh) | 資料閂鎖電路及其脈波信號產生器 | |
Koyily et al. | Predicting soft-response of MUX PUFs via logistic regression of total delay difference | |
Mathew et al. | Ultra-low energy circuit building blocks for security technologies | |
US20240061651A1 (en) | Contention-Based Random-Number Generator | |
CN116088668B (zh) | 一种超低功耗的时序错误预测芯片 | |
CN211577876U (zh) | 一种提高输出序列随机性的细粒度校正装置 | |
JP2000323979A (ja) | 可逆断熱論理回路及びこれを利用したパイプライン可逆断熱論理装置 | |
Cabacinho et al. | Design of a 28nm CMOS Self-Biased Ring Oscillator for Intrinsically Robust PVT TRNG |
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 |