舒适噪声发生器matlab( 二 )


2 自适应匹配
灵敏放大器工作电流平衡是获得理想随机序列的关键 。但负载失配、工艺偏差等非理想因素都会影响电流大小,使输出序列产生明显的偏向性 。因此,需要灵敏放大器在工作中能够自适应匹配 。
2.1 可配置NMOS阵列
灵敏放大器中各MOS管宽长比的工艺偏差可等效为图1中晶体管N3和N4的偏差[4],造成工作电流失衡 。为补偿工艺偏差,可将图1中的晶体管N3和N4替换为可配置NMOS阵列NF1和NF2,其内部结构如图2所示 。
以ncf0为例,ncf0高电平时,晶体管开关N1导通,N2并联在N0两端,可配置NMOS阵列的等效宽长比升高,相应支路工作电流增大;反之电流减小,从而有效补偿工艺偏差提高序列随机性 。
2.2 动态补偿算法
为使灵敏放大器可根据输出序列的偏向性调整可配置NMOS阵列来补偿偏差,提出动态补偿算法 。算法采用单级等距调节,复杂性低易于实现 。其状态转移图如图3所示 。
有限状态机拥有动态配置和动态监控两种模式 。TRNG在上电启动后经初始化进入动态配置模式 。动态配置模式下每4个时钟周期,状态机对TRNG输出的4位数据进行一次读取检测 。若4位数据中“1”的个数多于“0”,令flag=1 。反之令flag=0 。状态机根据flag的值令可配置NMOS阵列NF1、NF2自加或自减 。当中“1”和“0”个数相等时,若输出为“1100”或“0011”,则令flag=2,配置状态维持不变 。若输出为“1010”或“0101”,则判定TRNG在当前配置下,受热噪声影响可以等概率输出“1”或“0”,令flag=3,配置完成,状态机进入动态监控模式 。动态监控模式下,若检测到输出序列连续出现12个“1”或“0”,判定输出序列失去随机性,令flag=4,状态机返回动态配置模式 。否则,状态机维持在动态监控模式,可配置NMOS阵列配置不变 。
2.3 TRNG电路整体结构
可自适应匹配的TRNG整体结构如图4所示 。灵敏放大器在热噪声的影响下每个时钟周期随机输出低电平“0”或高电平“1”,输出数据存储在移位寄存器中 。动态补偿模块根据移位寄存器中的数据偏向性调节可配置NMOS阵列,使电路工作在高熵值区域 。负载匹配模块用以降低负载失配对输出序列随机性的影响 。
3 实验结果和分析
整体电路采用的/混合仿真器对模拟电路和模块进行联合仿真 。在1.2 V电源电压下,令时钟频率为1 GHz并手动引入10%的工艺偏差,输出序列如图5所示 。可知当0 μs时,输出偏向1,经过约0.4 μs的动态配置,TRNG输出序列随机并进入动态监控模式 。在1.5 μs时刻,再次引入工艺偏差,输出序列偏向1 。TRNG重新进入动态配置模式,并在约1.92 μs完成动态配置进入动态监控模式 。仿真结果表明电路实现自适应匹配功能,具有良好的抗工艺偏差特性 。
将仿真获得的100 000位原始序列经过冯诺依曼后处理后得到约26 000位数据,分成10组,输入到NIST测试套件[8]中进行检测 。测试结果如表1所示 。从测试结果可以看出,各项P值都处在较高水平,随机性优异 。
将所得序列输入到测试自相关特性,结果如图6所示 。由图可知,在95%的自信区间内2 000位连续数据间的自相关性近似为0 。
为了验证电路的鲁棒性,TRNG在0.8 V~1.4 V电源电压,-40 ℃、40 ℃和120 ℃的环境下进行仿真,将输出序列送入NIST套件进行测试 。测试结果如图7所示 。P值大于0.1则通过随机测试 。可知TRNG在各温度及电压下均有良好的随机性,且P值随着电源电压的升高呈上升趋势 。
本设计首先采用灵敏放大器代替高增益高带宽差分运算放大器,既避免运放设计的困难,同时又通过灵敏放大器中交叉耦合的正反馈结构提高TRNG吞吐率 。其次,在输出端用D触发器进行负载隔离,降低灵敏放大器差分输出端负载失衡对输出序列随机性的影响,使得TRNG在工作阶段负载平衡 。最后,提出具有动态配置和动态监控两种模式的补偿算法,使TRNG在工作环境剧烈变化时能自适应调节,增加输出序列的随机性和TRNG适用范围 。所设计TRNG电路采用TSMC 65 nm CMOS 工艺实现,经NIST套件测试,具有较高的随机性,可广泛应用于密钥生成和信号加密等领域 。