随机数生成装置和方法

文档序号:9489265阅读:335来源:国知局
随机数生成装置和方法
【技术领域】
[0001] 本发明涉及数字电路领域,尤其涉及一种随机数生成装置和方法。
【背景技术】
[0002] 在数字同步电路中常采用触发器或锁存器作为存储单元,这两种器件都定义了 一个信号的时序要求,只有满足了这个时序要求这两种器件才可以正确地在输入端获取 (capture)数据、在输出端产生数据。这两种器件都易进入亚稳态,所谓亚稳态是指触发器 或锁存器无法在某个规定时间段内达到一个可确认的状态。当触发器或锁存器进入亚稳态 时,既无法预测触发器或锁存器的输出电平,也无法预测触发器或锁存器输出何时才能稳 定在某个正确的电平上。在这期间,触发器或锁存器输出一些中间级电平,或者可能处于振 荡状态,并且这些中间级电平可以沿信号通道上的各个触发器或锁存器级联式传播下去。 下面以触发器为例介绍亚稳态的情况,对于锁存器也同样适用。
[0003] 为了确保触发器中操作的可靠性,输入信号在时钟沿之前必须稳定一段时间,这 段时间通常被定义为触发器建立时间Ts,且输入信号在时钟沿之后还要继续稳定一段时 间,将这段时间定义为触发器保持时间Th,然后触发器经过输出延时(clocktooutput,简 称:Tco)后输出信号。如果一个数据信号在变化时没有满足触发器建立时间Ts和保持时 间Th的要求,触发器的输出就可能会出现亚稳态的情况。
[0004] 如图1所示,为现有技术中触发器正常状态时的时序图,具体地,在图1(a)中,输 入信号A在时钟上升沿之前已经稳定且大于触发器建立时间Ts,并且在时钟上升沿之后稳 定时间大于触发器保持时间Th,此时触发器的输出不会出现亚稳态,经过输出延时Tco后 触发器输出信号的值等于输入信号A。其中,如果输入信号与时钟信号异步,该输入信号又 称为异步输入信号,过渡期(transition)为异步输入信号由A到B变化过程中的过渡时 间,在这个transition过程中异步输入信号的值是不确定的;在图1(b)中,与图1(a)类 似,异步输入信号B在时钟上升沿之前已经稳定且大于触发器建立时间Ts,在时钟上升沿 之后稳定时间大于触发器保持时间Th,此时触发器的输出不会出现亚稳态,经过输出延时 Tco后触发器输出信号的值等于异步输入信号B。如图2所示,为现有技术中触发器发生 亚稳态时的时序图,与图1不同的是,在该图中,异步输入信号在时钟上升沿之前就已经由 A变到B,但是异步输入信号B在时钟上升沿之前的稳定时间小于了触发器建立时间Ts,而 A在时钟上升沿之前就已经结束,所以A的时钟上升沿之后稳定时间可以视为负值,而该负 值小于触发器要求的保持时间Th,所以在这种情况下,触发器的输出可能会出现亚稳态的 情况,并且在亚稳态稳定下来后触发器的输出可能是异步输入信号A,也可能是异步输入信 号B,是随机的、与异步输入信号没有关系的。触发器在经历亚稳态以后,输出值具体会稳定 在哪个值,受触发器电路设计、制造工艺偏差、电路环境温度、噪声等多个因素的影响,这种 不确定性可以作为真随机数源。对于触发器而言,发生亚稳态的可能性越低,其作为真随机 数源生成的随机数的质量就越低。
[0005] 根据图1和图2的时序图可知,触发器输入端的异步输入信号如果在触发器时钟 沿的前后Ts+Th时间内保持稳定,也就是异步输入信号在Ts+Th时间窗没有变化,那么触 发器就不会发生亚稳态,此时触发器的输出是完全确定的、没有随机性的;而只有在触发器 时钟沿的前后Ts+Th时间窗内,若异步输入信号发生了变化,触发器的输出才有可能发生 亚稳态。但是,在先进的半导体工艺下,Ts+Th时间窗非常小,例如:0. 1ns,甚至更小,那么 假设触发器时钟的周期是50ns,那么异步输入信号在Ts+Th时间窗内发生变化的可能性只 为:0. lns*100% /50ns=0.2%。因此,这种情况下触发器的输出发生亚稳态的可能性非 常小,可能性最大时为0. 2%,可能性最小时基本为零。
[0006] 另外,在芯片电路设计中,异步输入信号往往需要特定的时钟源来产生,例如:需 要抖动比较大的时钟来产生异步输入信号,所以产生异步输入信号的难度比较大,还会增 加芯片的复杂度;并且由于该异步输入信号的时钟与触发器的时钟是不相干的两个时钟, 这两个时钟之间可能是异步的情况,也可能是同步的情况,这是无法预测的,这种情况下该 异步输入信号不能做到与触发器时钟完全异步,所以该异步输入信号的变化与触发器的时 钟沿可能会发生相关的"共振"现象,这样就会大大减少异步输入信号在Ts+Th时间窗内发 生变化的可能性,从而进一步降低触发器的输出发生亚稳态的可能性。

【发明内容】

[0007] 本发明提供一种随机数生成装置和方法,用以提高触发器的输出发生亚稳态的可 能性,实现根据触发器输出端的亚稳态生成真随机数,且不用采用专门的时钟产生异步输 入信号,降低芯片的复杂度。
[0008] 本发明提供一种随机数生成装置,包括:
[0009] 可调延迟模块,用于对第一时钟信号进行延迟,生成η个第二时钟信号,在控制信 号的控制下对所述η个第二时钟信号的延迟进行调整,其中,所述η个第二时钟信号相对于 所述第一时钟信号的延迟依次增大,η为大于或等于3的自然数;
[0010] 存储模块,包括η级存储单元,所述η级存储单元包括第1级存储单元、中间级存 储单元和第η级存储单元,所述η个第二时钟信号和第三时钟信号分别作为所述η级存储 单元的输入信号和时钟信号,使得所述第1级存储单元和所述第η级存储单元的输出为正 常状态,所述中间级存储单元中至少有一级存储单元的输出为亚稳态,所述第一时钟信号 与所述第三时钟信号为同步信号;
[0011] 同步逻辑模块,用于对所述η级存储单元的输出进行同步,以便得到所述η级存储 单元的稳定的输出,消除所述亚稳态;
[0012] 延迟控制逻辑模块,用于根据所述η级存储单元的稳定的输出,生成所述控制信 号,生成并输出真随机数。
[0013] 本发明还提供一种随机数生成方法,包括:
[0014] 对第一时钟信号进行延迟,生成η个第二时钟信号,在控制信号的控制下对所述η 个第二时钟信号的延迟进行调整,其中,所述η个第二时钟信号相对于所述第一时钟信号 的延迟依次增大,η为大于或等于3的自然数;
[0015] 将所述η个第二时钟信号和第三时钟信号分别作为η级存储单元的输入信号和时 钟信号,使得第1级存储单元和第η级存储单元的输出为正常状态,中间级存储单元中至少 有一级存储单元的输出为亚稳态,其中,所述η级存储单元包括所述第1级存储单元、所述 中间级存储单元和所述第η级存储单元,所述第一时钟信号与所述第三时钟信号为同步信 号;
[0016] 对所述η级存储单元的输出进行同步,以便得到所述η级存储单元的稳定的输出, 消除所述亚稳态;
[0017] 根据所述η级存储单元的稳定的输出,生成所述控制信号,生成并输出真随机数。
[0018] 在本发明中,可调延迟模块对第一时钟信号进行延迟,生成η个第二时钟信号,在 控制信号的控制下对η个第二时钟信号的延迟进行调整,其中,η个第二时钟信号相对于第 一时钟信号的延迟依次增大,η为大于或等于3的自然数,η个第二时钟信号和第三时钟信 号分别作为存储模块中η级存储单元的输入信号和时钟信号,使得第1级存储单元和第η 级存储单元的输出为正常状态,中间级存储单元中至少有一级存储单元为亚稳态,然后通 过同步逻辑模块对η级存储单元的输出进行同步,得到η级存储单元的稳定的输出,消除前 述的亚稳态,最后延迟控制逻辑模块根据η级存储单元的稳定的输出生成控制信号,生成 并输出真随机数,这样,由于采用的第一时钟信号与第三时钟信号为同步信号,所以可以避 免采用异步输入信号时不能与存储单元的时钟完全异步的情况,提高了存储单元的输出发 生亚稳态的可能性,实现根据触发器输出端的亚稳态生成真随机数,保证了得到的真随机 数的随机性,且不用采用专门的时钟产生异步输入信号,容易实现,降低了芯片的复杂度。
【附图说明】
[0019] 图1为现有技术中触发器正常状态时的时序图;
[0020] 图2为现有技术中触发器发生亚稳态时的时序图;
[0021] 图3为本发明随机数生成装置实施例的结构示意图;
[0022] 图4为本发明随机数生成装置实施例的第一实例结构示意图;
[0023] 图5为本发明随机数生成装置实施例的图4实例中η级D触发器的D输入端的第 三时钟信号的上升沿与时钟端的第二时钟信号的上升沿的相对关系;
[0024] 图6为本发明随机数生成装置实施例的第二实例结构示意图;
[0025] 图7为本发明随机数生成装置实施例的图6实例中η级D触发器的D输入端的第 三时钟信号的下降沿与时钟端的第二时钟信号的上升沿的相对关系;
[0026] 图8为本发明随机数生成装置实施例的第三实例结构示意图;
[0027] 图9为本发明随机数生成装置实施例的图8实例中η级D触发器的D输入端的第 二时钟信号的上升沿与时钟端的第三时钟信号的上升沿的相对关系;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1