随机乱数产生电子电路及方法与流程

文档序号:21718342发布日期:2020-08-05 01:05阅读:396来源:国知局
本发明关于一种随机乱数产生技术,特别是有关于一种将背对背连接反相器短路的随机乱数产生方法以及装置。
背景技术
::目前已经有许多种随机乱数产生的电路以及技术。有些乱数产生器(rng)是使用亚稳态,例如,把电子元件设定为亚稳态。例如,barangi等人在2016年1月1日在ieeetransactiononmagnetics期刊第52卷第1期发表的"用于高速且有限能量应用的基于应变电子学的真乱数产生器"文章中描述基于亚稳态的rng。此外,在2010年7月2010ieeesymposiumonvlsicircuits(vlsic)发表的“2.4ghz7mwall-digitalpvt-variationtoleranttruerandomnumbergeneratorin45nmcmos"文章中,srinivasan等人揭露一种rng,其使用两步式粗粒度/细粒度调整自校正回授回圈。技术实现要素:根据本发明的一实施例,本发明提供一种随机乱数产生(randomnumbergeneration,rng)电子电路,其包含第一反相器及第二反相器、一开关、以及逻辑电路。第一反相器具有一第一输入端以及一第一输出端。第二反相器具有一第二输入端以及一第二输出端。第一输出端连接至第二输入端,以及该第二输出端连接至该第一输入端。当开关导通时,第一输出端与第一输入端短路且第二输出端与第二输入端短路,以设定第一反相器及第二反相器为一亚稳态(meta-stablestate),以及当开关断路时,第一反相器及第二反相器解除亚稳态而进入一随机双稳态(bi-stablerandomstate)。逻辑电路用以交替地导通以及断路该开关,并在该随机双稳态时,从使该第一反相器及该第二反相器的至少其中的一个输出多个随机值。在一些实施例中,逻辑电路用以对该开关施加一时脉信号,以交替地导通以及断路该开关。在一些实施例中,逻辑电路用以施加一噪声信号至开关。在一实施例中,逻辑电路累加该多个随机值,以提高该多个随机值的随机性。在一实施例中,该电路进一步包含一功能正反器以及一多工器。功能正反器接收一功能输入信号以及输出一功能输出信号。多工器产生一输出信号,在该输出信号中该多个随机值与该功能输出信号的值在时间上交错。在一实施例中,开关、第一反相器及第二反相器形成一rng级(rngstage),随机乱数产生电子电路包含至少一额外rng级,至少一额外rng级包含一开关以及一对反相器。逻辑电路对rng级以及额外rng级的输出信号进行xor运算,以提高多个随机值的随机性。在一实施例中,开关、第一反相器及第二反相器形成一rng级,随机乱数产生电子电路更包含至少一额外rng级,该至少一额外rng级包含一开关以及一对反相器。逻辑电路根据额外rng级产生的多个随机值,交替地导通以及断路rng级的开关。在另一实施例中,开关、第一反相器及第二反相器形成一rng级,随机乱数产生电子电路包含至少一额外rng级,该至少一额外rng级包含一开关以及一对反相器。逻辑电路包含一振荡器以及一反相器级链或是缓冲器级链(achainofinverterorbufferstages)。振荡器产生一噪声信号,反相器级链或是缓冲器级链包含多个反相器或缓冲器级,并由该噪声信号驱动。多个反相器级或是暂存器级的输出信号作为一外部噪声而施加至该rng级以及该至少一额外rng级。在又一实施例,开关、第一反相器及第二反相器形成一rng级,随机乱数产生电子电路包含至少一额外rng级,该至少一额外rng级包含一开关以及一对反相器。逻辑电路包含一延迟元件链(achainofdelayelements),其包含多个延迟元件并用以产生一时脉信号的复制信号,其中该多个延迟元件的输出信号施加至该rng级的该开关以及该至少一额外rng级的该开关。在一些实施例中,逻辑电路根据该第一反相器及该第二反相器的该第一输出信号及该第二输出信号,衍生出一自抖动时脉信号,并使用该自抖动时脉信号以交替地导通以及断路该开关。在一实施例中,逻辑电路藉由以下操作以衍生出该自抖动时脉信号:当该第一反相器的该输出信号与该第二反相器的该输出信号的至少其中的一信号与代表一第一逻辑值的电压相比小于一预先定义距离时,将该自抖动时脉信号设定成该第一逻辑值;以及当该第一反相器的该输出信号与该第二反相器的该输出信号与代表该第一逻辑值的电压相比皆大于该预先定义距离时,将该自抖动时脉信号设定成一第二逻辑值。根据本发明的一实施例,本发明提供一种随机乱数产生(rng)方法,其包含下列步骤:操作一具有一第一输入端以及一第一输出端的第一反相器、以及一具有一第二输入端以及一第二输出端的第二反相器,其中该第一输出端连接至该第二输入端,以及该第二输出端连接至该第一输入端;交替地导通以及断路一开关,当该开关导通时,该第一输出端与该第一输入端短路且该第二输出端与该第二输入端短路,以设定该第一反相器及该第二反相器为一亚稳态,以及当该开关断路时,该第一反相器及该第二反相器解除该亚稳态而进入一随机双稳态;以及在该随机双稳态时,从该第一反相器及该第二反相器的至少其中的一个输出多个随机值。附图说明图1是根据本发明的一实施例示意绘示一乱数产生器(randomnumbergenerator,rng)的方块图。图2a与图2b是根据本发明的实施例示意绘示具有后处理的rng的方块图。图3是根据本发明的一实施例示意绘示整合一功能正反器(ff)的rng的方块图。图4a与图4b是根据本发明的实施例示意绘示包含有平行xor运算的rng级的rng的方块图。图5a与图5b是根据本发明的实施例示意绘示包含级联rng级的rng的方块图。图6是根据本发明的一实施例示意绘示可增强随机性的rng的方块图。图7是根据本发明的一实施例示意绘示具有驱动强度校正功能的rng的方块图。图8是根据本发明的一实施例具有使用一位移暂存器做驱动强度校正的rng的方块图。图9与图10是根据本发明的实施例示意绘示具有自抖动时脉信号的rng的方块图。符号说明:100、104、32a、32b:反相器102:rng级108:反相器链112:时脉源116:延迟元件链20:rng24:取样电路28:后处理电路36:开关40、52:d型正反器44:异或门48、88:延迟元件56:异或门60:功能正反器64:多工器66:驱动强度校正电路68:滤波器72:驱动强度控制电路76:位移暂存器80:或门84:与门92:强pmos96:弱nmosclk:时脉信号具体实施方式以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。本发明的实施例用于提供改善随机乱数产生的方法以及电路。所揭露的乱数产生(rng)电路可用于,例如,执行加密操作的系统、或是其他任何使用随机乱数的应用。本文所描述的rng具有小型、快速且可扩展的优点,因此有利于应用在成本低、低电流消耗而需要高频率随机乱数的系统。应注意的是在本文中随机乱数产生电路也称为随机乱数产生器,而rng根据上下文可代表随机乱数产生器(randomnumbergenerator)或是随机乱数产生(randomnumbergeneration)。在一些实施例中,随机乱数产生(rng)电路包含一对反相器(非门),其背对背(back-to-back)连接,例如,每一反相器的输入端连接另一反相器的输出端;一开关连接横跨该对反相器。当此开关导通时,此对反相器处于亚稳态而使其输出信号在代表逻辑"0"的电压以及代表逻辑"1"的电压之间的电压范围中飘移(wander)或是偏移(drift)。当开关断路,上述反相器解除亚稳态而进入双稳态。当进入双稳态,反相器的输出信号稳定在逻辑"1"而另一反相器的输出信号稳定在逻辑“0”。然而,哪一个反相器输出逻辑“1”而哪一个反相器输出逻辑“0”是随机的,其取决于反相器的输出端在开关断路时的瞬时模拟电压。因此,每次导通以及断路开关会造成该对反相器产生一随机二进位值。可在任一个反相器的输出端撷取随机值。在一些实施例中,rng更包含一控制逻辑电路,例如,其使用一时脉信号以交替导通与断路此开关,并输出从该对反相器生成的随机值序列。本发明会描述多种根据短路的背对背连接反相器的建构方式产生的rng组态。在逻辑电路的一些组态中,可藉由累加多个随机值来增强随机性。其他组态可包含相级联(cascade)的至少二对反相器。在其他的实施例,反相器的输出端用于衍生自抖动交替信号(self-jitteringalternatesignal),其用于切换上述开关。藉由反相器的亚稳态以及使用交替信号切换开关产生的时间扰动度(timejitter)以引入噪声,此机制可增强随机性。在一些实施例中,rng包含一校正电路,用于校正反相器的驱动强度,以达到较佳的随机性。然而,在许多实际应用,上述短路机制本身就有自校正特性可补偿两个反相器之间的不匹配,所以不一定需要此校正机制。本发明的rng机制容易实现,也能提供足够用于许多应用的随机性程度。由于实现的电路简单,所以本发明的rng可操作在高码率,例如,100mbps以上的等级。使用背对背连接反相器做间歇短路操作的rng图1是根据本发明的一实施例示意绘示乱数产生器(rng)20的方块图。rng20接收输入模拟噪声,并使用此噪声产生随机位序列作为一输出信号。上述噪声可来自任何适合的噪声源,例如,电阻上的的热噪声、宇宙(cosmic)或是电磁辐射、既有的数字或是模拟电路活动、或是使用噪声产生电路(例如,环式振荡器)。可使用适合的高通滤波器(high-passfilter)对上述噪声进行滤波,以降低后续噪声取样值之间的相关度。在本示例中,rng20包含一取样电路24以及一后处理电路28。取样电路24从模拟噪声中产生随机位。后处理电路28增强随机位的随机性。在其他实施例中,后处理电路28可省略不用,而取样电路24产生的输出位可作为rng20的输出信号。取样电路24包含一对反相器(逻辑非门)32a以及32b。两个反相器背对背连接,例如,反相器32a的输出端连接反相器32b的输入端,而反相器32b的输出连接反相器32a的输入端。模拟输入噪声可施加至此背对背连接电路的任何所选端点。开关36连接横跨背对背连接的两个反相器。开关36由时脉信号clk驱动。在一些实施例中,可用适合电路产生模拟噪声。在其他的实施例中,从环境(例如电磁场、宇宙辐射及/或电容耦合附近信号)收集到的自然噪声,即足以作为上述要求的模拟噪声。在一些实施例中,逻辑元件,例如暂存器或是反相器,设置在取样电路24的输出端,例如在取样电路24的输出端与后处理电路28的输入端之间的do线路上。当开关36导通使逻辑元件的输出信号位于逻辑“0”或是逻辑“1”时,可调整此逻辑元件以解决逻辑元件的输入端的亚稳态。例如,可使用具有非对称的nmos以及pmos属性的反相器来实现。图1的底部绘示取样电路24的更详细的电路实施例。如图所示,反相器32a可使用p型金属氧化物半导体场效应晶体管(可称其为pmosfet,或是更简略地称为pmos)p1以及n型金属氧化物半导体场效应晶体管(可称其为nmosfet,或更简略地称其为nmos)n1。反相器的输入信号施加至pmosp1以及nmosn1的栅极。pmosp1的源极接脚连接至电源电压vcc,nmosn1的源极接脚接地。pmosp1的漏极接脚连接至nmosn1的漏极接脚,而此处作为此反相器的输出端。pmosp2以及nmosn2可用类似方式实现反相器32b。可使用一场效应晶体管(本实施例使用nmos,但是也可用pmos)来实现开关36,此场效应晶体管的栅极由时脉信号clk驱动,而源极与漏极连接横跨上述两个反相器。在本示例中,当时脉信号clk为高位准时开关36导通;当时脉信号clk为低位准时开关36断路;但是本发明不受此举例限制。当开关36导通时,两个反相器形成短路,例如,每一反相器的输出端与输入端短路,也与另一反相器的输入端以及输出端形成短路。此时,即时脉信号clk为高位准的区间,反相器32a以及32b处于亚稳态,表示其输出端会在代表逻辑“0”的电压以及代表逻辑“1”的电压之间变化。平均而言,每一反相器的输出端的电压将在代表逻辑“0”的电压以及代表逻辑“1”的电压之间的中间点附近;但是,由于模拟噪声影响,在既定位置以及时间点的实际瞬时电压会随机变化。断路开关(在本示例中,时脉信号clk变成低位准)可解除反相器的亚稳态而使反相器进入双稳态。进入双稳态时,反相器32a的输出端会趋于双稳但随机的状态,即反相器32a的输出信号会根据开关36断路时的瞬时电压值而形成逻辑“1”或是逻辑“0”。反相器32b的输出端趋向上述相对状态。两反相器将保持此些稳定输出信号直到开关36再一次导通,例如在本示例中,在时脉信号clk的下一个上升缘会使开关36导通。因此,在时脉信号clk的每一个低位准的区间,每一反相器的输出端会提供一随机二进位值。在本示例中,可从反相器32a的输出端取得此随机二进位值;但本发明不受此举例限制。任何适合的时脉频率皆可作为时脉信号clk。在一实施例中,时脉频率在200mhz的等级。此时脉信号不需要很精准,因此简易的时脉产生电路(例如,环式振荡器)即可用于产生上述时脉信号。在上述背对背连接反相器的短路操作机制中,可使用内置补偿方式对两个反相器的驱动强度之间的不匹配进行补偿。请参阅图1的下方部分。当开关36断路,反相器32a以及32b的状态将取决于nmosn1的驱动强度(drive_strength(n1))加上pmosp2的驱动强度(drive_strength(p2))以及nmosn2的驱动强度(drive_strength(n2))加上nmosp1的驱动强度(drive_strength(p1))之间竞速,而趋于一致。因此,例如,一阶不匹配(firstordermismatch),即nmosn1的驱动强度(drive_strength(n1))大于nmosn2的驱动强度(drive_strength(n2))以及pmosp1的驱动强度(drive_strength(p1))大于pmosp2的驱动强度(drive_strength(p2))且两者大于的比例相同,是可以被补偿。因此,对于许多应用,上述rng装置的随机性已经足够而不需要校正。例如,发明人执行的电脑模拟显示,当反相器32a以及32b的驱动强度之间有5%不匹配时、及/或每一反相器的pmos场效应晶体管与nmos场效应晶体管的驱动强度有50%不匹配时,rng装置仍可有高随机性。在上述模拟中,标称(nominal)电压位准假定为vdd=1.2v,注入的噪声位准为±25mv。然而,必要时,可增加额外的校正电路,如图7所示。每个时脉周期产生的随机二进位值序列do提供给后处理电路28。在图1所示的实施例,后处理电路28包含一d型正反器(d-ff)40,其具有一输入端(d)、一输出端(q)以及一反相输出端反相输出端短路连接输入端d。随机二进位值序列do施加至上述d-ff的时脉输入端(cp)。使用一低于do信号的取样率的频率(例如,do信号的取样率的1/4、1/16或是其他任何比例)对d-ff40的输出端q上的信号进行取样,以此方式,d-ff40可累加上述随机二进位值,藉此提升所产生的随机乱数列的随机性。输出端q作为电路28的输出端,其从整体上来看也是rng20的输出端。在一些实施例中,逻辑电路施加噪声至时脉信号clk,其用于切换开关36,例如,施加噪声至实现此开关的fet的栅极。因此,噪声可通过栅极藉由电容性耦合(例如开关36的栅极与其他接脚之间的电容性耦合)而传送到反相器。此外,受到时脉信号上的噪声影响,此开关导通以及断路的时序并没有完美的周期性,而是包含一些时间扰动(timejitter)。此影响有助于提高输出随机位的随机程度,也使上述电路对于周遭元件的资料变化较不敏感。此外,除了把噪声施加在栅极上的时脉信号,也可使用施加噪声至开关36的其他形式。在一示例性实施例,环式振荡器,其包含连接成一环的奇数个反相器级,可用于产生此噪声。环式振荡器的每一反相器级可电性耦接,例如经由电阻、电容器或其他元件连接,至与反相器32a、32b或是开关36连接的网路,以提供上述的噪声并造成相对于反相器32a以及32b的转态电压的位准上非常高的噪声程度。此外,噪声不一定需要施加至开关36,或是经过开关36施加。例如,噪声可直接施加上述反相器。噪声亦可来自电源供应线、来自基板或是来自其他源极。在一些实施例中,反相器32a以及32b可为高临界电压(high-threshold-voltage,hvt)反相器,藉以降低在亚稳态中的漏电流。在一些实施例中,开关36可包含一强临界电压(low-threshold-voltage,lvt)nmos,藉以提高切换速度。另一增进随机性的机制图2a与图2b是根据本发明的其他实施例示意绘示具有另一后处理机制的rng的方块图。在图2a中,异或门44以及一可选的延迟元件48可执行后处理。在图2b中,异或门56以及d型正反器52执行后处理。d型正反器52由时脉信号提供时脉,而异或门56设置在d型正反器52的回授回圈内。通常会适当设定开关36以及时脉线延迟,以使d型正反器52能取样反相器32b的输出端的双稳态信号与d型正反器52的前一输出信号的反相信号进行xor运算的结果。应注意的是反相器32b的输出端的双稳态信号也可以与d型正反器52的前一输出信号的非反相信号进行xor运算、或是执行更精细的回授机制,类似线性回授位移暂存器(linear-feedbackshiftregister,lfsr)。上述两个后处理机制可用于累加多个随机位值以提高随机性,也可以用于取代图1的后处理电路28。在上述两个后处理机制中,为了提高随机性,输出端do可用比时脉信号clk的频率更低的频率进行取样。图3是根据本发明的一实施例示意绘示整合功能正反器(ff)的rng的方块图。在此实施例,上述rng机制与功能正反器60相整合,并可共用一些ff的逻辑门。上述“功能正反器”是指ff的输入端(d)以及输出端(q)上的信号为主机系统的功能信号。除了反相器32a与32b,开关36以及功能正反器60,上述电路可包含一多工器(mux)64,其由时脉信号clk所控制。上述电路的输出信号qout显示在图3的下半部,其随着时间而变化。如图所示,每一时脉周期包含一“rng时段(rngtime)”以及“功能时段(functime)"。而在rng时段,由于多工器64选择rng输出信号,所以qout的数值为随机的。在功能时段,多工器64选择功能正反器60的输出信号,因此qout的数值为为功能正反器60的输出信号。也就是说,qout包含在时间上交错的随机乱数值以及功能输出信号的数值。例如,图3的电路可用于减缓或防范对主机系统地旁通道攻击(side-channelattack)、差分功率分析(differentialpoweranalysis,dpa)攻击。使用多工处理功能资料以及随机资料以防范攻击的其他态样已揭露于美国专利申请案号16/194,342,申请日2018年11月18日,名称为"mitigationofside-channelattackusesmall-overheadrandompre-charge",其由本发明的申请人申请,所公开内容通过引用并入本文。图4a与图4b是根据本发明的实施例示意绘示包含平行xor运算的rng级的rng的方块图。如图所示,每一独立的rng级与图1的取样电路相似。一异或门可执行两个rng级的输出信号的异或(xor)运算,藉以产生随机输出信号do。在图4a中,一rng级由时脉clk控制,而另一rng级由时脉clk的反相信号控制,而两个rng级都是由同相位的时脉信号clk所控制。相比于使用单一rng级的随机性,上述平行xor运算机制可提高随机程度。图4a与图4b绘示使用两个rng级(rngstage)的组态;在其他实施例,上述平行xor运算机制可包含任何适合数量的rng级。此外,其他任何适合的rng级组态(例如,图2a或图2b所示的组态)也可使用xor运算。对比于图1、图2a与图2b所示的累计机制,平行xor运算不要求降频取样,但其代价是需要复制多份硬件来实现。图5a与图5b是根据本发明的实施例示意绘示包含级联rng级(cascaderngstage)的rng的方块图。此些机制提供比使用单一rng级的随机性有更增强随机性程度的又一方式。在此些级联机制中,rng级的输出信号(do)作为级联电路中下一rng级的时脉信号(clk)。如图5a所示,每一独立rng级与图1的取样电路24相似。在图5b中,每一独立rng级与图2a的rng相似。图5a与图5b绘示的两级联rng级(twocascadedrngstages)的示例性组态。在其他实施例,可级联任何适合数量的rng级。此外,可级联其他任何适合的rng级组态(例如,图2b的组态)。而在级联机制中,硬件是复制的。另一方面,此实施例不须降频取样,例如,保持原来的时脉频率,便可提升随机性。图6是根据本发明的另一实施例示意绘示具有增强随机性的rng100的方块图。此组态是一用于提高rng的输出信号的随机程度的技术。在本示例中,rng100包含多个rng级(rngstage)102。应注意的是,此实施例可使用任何适合数量的rng级102。每一rng级102包含背对背连接的一对反相器、以及一开关。多个rng级可用任何适合方式连接,以产生rng100的输出信号,例如通过xor运算(例如图4a或图4b所示的机制)或是将每一rng级102连接至一后处理单元28。每一rng级102具有一时脉输入端clk,其信号用于控制上述开关;一“a”输入端,用以接收外部噪声;以及一"do"输出端,用以输出随机位值。rng100更包含一环式振荡器(ringoscillator,ro)104,其驱动一反相器链(chainofinverters)108。每一rng级102的"a"输入端耦接,例如通过电容性耦合,至反相器链的所选存取埠(selectedtap)。因此,每一rng级102会接收ro信号的被延迟及/或被反相的复制信号,其作为外部噪声。在其他实施例,rng100包含多个ro104,其通常具有不同频率,每一ro驱动一个反相器链108。除了多个反相器,本实施例也可以使用多个缓冲器(buffer)。rng100亦包含一时脉源(图中标示为clk)112,其驱动一延迟元件链116。延迟元件链116的每一存取埠(tap)可产生某一时脉相位r。每一rng级102的“clk”输入端连接至延迟元件链的一所选存取埠,藉此由所选的时脉相位所控制。藉由以不同的噪声以及时脉复制信号来驱动多个rng级时脉以及外部噪声输入,可增强整体rng输出信号的随机程度。在一些实施例中,“时脉源(clk)”电路以及“环式振荡器(ro)”电路中的仅一个包含多个存取埠。在一些实施例中,clk与ro两者彼此非同步。在一些实施例中,当使用多个ro来实现,其频率为非同步。在一些实施例中,ro电路与clk电路的至少一个可用故意抖动信号(intentionaljitter)来实现,例如,使用从lfsr的输出端取得的数字抖动信号。可选的驱动强度校正图7是根据本发明的一实施例示意绘示具有驱动强度校正功能的rng的方块图。在此例中,rng包含短路的背对背连接反相器32a以及32b,如上先前例子的说明。除此之外,rng包含一对驱动强度校正电路66,其分别耦接两个反相器。每一驱动强度校正电路66包含一滤波器68以及一驱动强度控制电路72。滤波器68对反相器的输出端上的电压进行低通滤波。根据滤波后的输出电压,驱动强度控制电路72可调整反相器的驱动强度。此两个驱动强度校正电路66是彼此独立操作。图7的下方部分显示驱动强度校正电路66的一示例性实施例。在此例中,每一滤波器68包含一电阻电容(rc)滤波器,而每一驱动强度控制电路72包含一晶体管,其用于调整反相器的nmos的偏压,使得在某一时间,因为rng取样值的不平衡而使得具有pmosp1与nmosn1的反相器的平均输出电压降低,且耦接的电容器c上的电压将会下降,造成nmosn1的源极接脚与接地之间的电阻值增加,藉此弱化自己驱动逻辑"0"的能力,同时造成具有pmosp1与nmosn1的反相器的平均输出电压上升,反之亦然。类似的,上述校正过程也会发生在pmosp2与nmosn2的校正过程。在图7的示例中,反相器32a与32b皆会被校正。在另一实施例中,可以仅一反相器被校正,因此可省略其中一个校正电路66。图8是根据本发明的另一实施例示意绘示使用位移暂存器76进行驱动强度校正的rng的方块图。在此校正机制中,位移暂存器76保持一数字字元q[n-1:0],其载明一待施加至反相器32a以及32b的nmos场效应晶体管的校正值。如图8的下半部所示,彼此平行连接的n个晶体管的叠堆耦接至每一反相器的nmos。每一晶体管的栅极分别由反相器的控制字元的个别位所驱动。控制字元的数值可用于校正一反相器,而此数值的相反值则用于校正另一反相器。在图8的示例中,反相器32a以及32b皆会被校正。在另一实施例中,可仅一个反相器被校正。当执行驱动强度校正时,例如使用图7或是图8所示的机制,每个校正过程中可调整对驱动强度的控制。具有自抖动时脉信号的rng图9是根据本发明的一实施例示意绘示具有自抖动时脉信号的rng的方块图。在本实施例中,在rng内部使用在信号转态时间引入随机抖动的方式,从两反相器的输出信号衍生出用于切换开关36的交变信号(clk)。当对一些系统时脉取样,其可能在一些后处理之后,自抖动时脉信号有助于提升输出位do的随机性。如果系统时脉的频率比时脉信号clk低很多,则随机性可提升更多。除了使用上述短路的背对背连接反相器的随机性之外,可使用自抖动时脉信号来进一步提升随机程度。图9的rng包含背对背连接的反相器32a以及32b、以及一开关36。在此实施例,端点“a"的电压以及端点"b"上的电压(即两个反相器的瞬时输出电压)分别回授至或门80的两个输入端。与门84的输入端连接或门80的输出端,而与门84的另一输入端接受一致能(enable)信号。与门84是可选的元件,其用于选择性启动以及禁能rng。上述说明假定致能信号为"1",因此或门80的输出信号即是与门84的输出信号。与门84的输出信号会被延迟元件88延迟。延迟元件的输出信号作为提供给开关36的时脉信号clk。延迟元件88为可选元件,在一些实施例中也可省略延迟元件88。上述电路会产生一交变clk信号用于切换开关36。如上所述,反相器的输出端"a"与"b"回授连接至或门80的输入端。然而,与传统或门不同的是,只有当或门80的输入端电压接近代表逻辑"1"的电压时,或门80才会把输入信号解释成逻辑"1"。否则,如果输入信号在代表“1”以及“0”的电压之间的电压范围内,或门80会把输入信号解释成逻辑“0”。具体而言,当反相器32a与32b处于亚稳态,则输出端"a"与"b"上的信号输入至或门80都会被解译成逻辑"0"。例如,在电压0v代表逻辑“0”而电压1.2v代表逻辑“1”。传统的或门会把任何低于0.6v的电压解释成"0"而把任何高于0.6v的电压解释成"1",而与传统的或门不同的是,本发明的或门80会把高于1v的输入电压解释成逻辑"1",而把低于1v的输入电压解释成逻辑"0"。此外,可使用其他适合的阈值。通常,此实施例使用的阈值会比代表逻辑"1"与"0"的电压之间的中间电压更接近代表逻辑“1”的电压。当开关36断路,即时脉信号clk从逻辑“1”变成˙逻辑“0”,则输出端"a"与"b"的其中的一个上的信号电压会从任意电压转变成代表逻辑“1”的电压,而另一个上的信号电压从转变成代表逻辑“0”的电压。根据开关36断路时输出端"a"与"b"上的实际电压,上述转变的持续时间是随机的。由于只有当输入端“a”与“b”的电压接近代表逻辑“1”的电压(而非代表逻辑“1”与逻辑"0"的电压之间的中间值)时,或门80才会把输入端“a”与“b”的电压解释成逻辑“1”,从开关36开始断路到或门80输出逻辑“1”的时间是随机的。此时,经过与门84以及延迟元件88的额外(可选的)延迟处理后,时脉信号clk会变为逻辑"1"而开关36导通。当开关36导通,端点"a"与"b"(即两个反相器的输出端)上的电压变为亚稳态。或门80会把此些电压解释成逻辑“0”并输出逻辑“0”。经过与门84以及延迟元件88的额外(可选的)延迟处理后,时脉信号clk会变为逻辑“0”而开关36断路。持续上述流程,则从上述内容可看出开关36会以随机时序抖动的频率切换。通常,或门80会设计成当开关36导通而使反相器32a与32b短路时,或门的两个输入信号(反相器的间歇亚稳态输出信号)会被解释成"0"而或门的输出信号会稳定在逻辑“0”。或门通常会采用间歇数值不会造成过高的漏电流的方式来实现。如下说明,延迟元件(dly)88的延迟可设计成有不同的上升时间延迟以及下降时间延迟。具体而言,上述延迟可设计成当开关36导通时端点"a"与"b"会处于亚稳态。图9的下方部分是根据本发明的一实施例显示符合上述需求的或门80的示例性实施例。在此例中,使用一对"强(strong)"pmos场效应晶体管92以及一对"弱(weak)"nmos场效应晶体管96来实现上述或门。在以下内容,用语“弱晶体管”表示晶体管需要有大栅极电压(gatevoltage)才能导通,以使输入信号被解译成逻辑"1";反之亦然。“弱”nmos可包含,例如,具有大的通道长度l及/或小的通道宽度w的高临界电压(hvt)晶体管。同样地,“强”pmos可包含,例如,具有小的通道长度l及/或大的通道宽度w的低临界电压(lvt)晶体管。此外,额外的串接元件,例如电阻、晶体管、二极管或其他元件,可插置在每一nmos元件96的源极以及接地端之间。上述实现方式可藉由nmos元件96弱化对逻辑“1”的辨识能力。只有当输入端"a"与"b"的输入信号都接近代表逻辑“1”的电压时,此组态才会使栅极80的输出信号变成逻辑"1"。在图9的示例中,交变信号clk可使用非传统的或门从端点“a”与“b”上的电压得出,如上所述。在一实施例中,或门可用具有类似特性的与非门(nandgate)取代。上述回授路径,其从端点"a"与"b",通过或门80、与门84(如果有使用)、延迟元件88(如果有使用),到开关36的栅极,应要足够长以让端点"a"与"b"上的电压在开关36导通与断路时能稳定。在一些实施例中,不同的延迟可施加在导通的开关36(时脉信号clk从逻辑"0"变成"1")以及断路的开关36(时脉信号clk从逻辑"1"变成"0")上。非对称的延迟可助于开关在导通以及断路时电压稳定,而不须降低周期时间(位元率)。图10是根据本发明的再一实施例示意绘示另一具有自抖动时脉信号的rng的方块图。在此实施例,rng的一些元件,即反相器32a以及32b、开关36、延迟元件88以及与门84,是与图9的对应元件相似。然而,在此实施例中,不使用图9的或门80,而是rng包含反相器100与104、以及一反异或门108(其为或非nor、或是等效于xor门加上not门)。反相器100与104的输入端皆连接端点"a";或者,两个输入端也可皆连接端点"b"。在图10的实施例中,使用一强pmos以及一弱nmos来实现反相器100。另一方面,使用一弱pmos以及一强nmos来实现反相器104。当反相器32a与32b处于双稳态,反相器100与104的输出信号(例如反异或门108的输入信号)处于相同逻辑状态,逻辑"1"或逻辑"0"。因此,反异或门108的输出信号可为逻辑"1"。当反相器32a与32b处于亚稳态时,反相器100与104的输出信号(例如反异或门108的输入信号)将会处于相对的逻辑状态,亦即,一个信号在逻辑"1"而另一个信号在逻辑"0"。因此,反异或门108的输出信号将会是逻辑"0"。从上述说明内容可看出,反相器100与104、以及反异或门108的操作逻辑上等效于图9的或门80。而两者的差异在于,在图10中,反相器32a与32b的仅一个的输出信号(例如,只有端点"a"或"b"上的信号)有用于产生自抖动时脉。此外,本发明可使用其他从反相器32a及/或反相器32b的输出信号产生出自抖动交变信号clk的任何适合电路。其他实施例以及变化型为了清楚绘示本发明的概念,图1、图2a、图2b、图3、图4a、图4b、图5a、图5b、以及图6至图10所示的rng组态仅是示例性组态。在其他实施例,可使用其他任何适合的组态。在上述图式以及其他实施例中反相器32a与32b、以及开关36之外的电路元件在本文中共同称之为"逻辑电路"。在其他可能的功能中,逻辑电路用以交替地导通以及断路(例如,使用一时脉信号)上述开关,并从反相器输出多个随机值。在一些实施例中,如图9与图10中所示,逻辑电路产生用于切换开关的交变信号。逻辑电路的其他功能可包含各种后处理功能,例如,用于增强随机性的后处理。在各种实施例中,上述揭露的rng可使用任何适合硬件来实现,例如使用一个或多个离散元件、一个或多个特殊应用集成电路(asic)、及/或一个或多个现场可程式逻辑门阵列(fpga)。虽然本发明以前述的实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的专利保护范围须视权利要求所界定者为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1