CN103098018B - 比特序列生成器 - Google Patents

比特序列生成器 Download PDF

Info

Publication number
CN103098018B
CN103098018B CN201080068440.0A CN201080068440A CN103098018B CN 103098018 B CN103098018 B CN 103098018B CN 201080068440 A CN201080068440 A CN 201080068440A CN 103098018 B CN103098018 B CN 103098018B
Authority
CN
China
Prior art keywords
rate
bit sequence
state
sub
mtd
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
Application number
CN201080068440.0A
Other languages
English (en)
Other versions
CN103098018A (zh
Inventor
约亨·里瓦尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of CN103098018A publication Critical patent/CN103098018A/zh
Application granted granted Critical
Publication of CN103098018B publication Critical patent/CN103098018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/64Generators producing trains of pulses, i.e. finite sequences of pulses
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/582Parallel finite field implementation, i.e. at least partially parallel implementation of finite field arithmetic, generating several new bits or trits per step, e.g. using a GF multiplier

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)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

一种用于生成由生成函数和该生成函数的初始状态定义的比特序列的比特序列生成器,其包括多个状态机和复用器。多个状态机中的每个状态机生成时间交织比特序列,其中,状态机基于由状态机针对先前的时步所生成的至少一个比特、将要生成的比特序列的生成函数、生成函数的初始状态来生成时间交织比特序列的比特,并且,该比特的生成独立于由多个状态机中的另一状态机所生成的时间交织比特序列。另外,复用器重复地从每个所生成的时间交织比特序列连续选择一个比特,以获得由生成函数和生成函数的初始状态所定义的比特序列。

Description

比特序列生成器
技术领域
根据本发明的实施例涉及比特序列(bitsequence)的生成,并且具体地涉及比特序列生成器、用于生成比特序列的方法、以及用于计算状态机的子速率(sub-rate)转换矩阵和子速率初始状态的装置和方法。
背景技术
在当代技术的广泛应用领域中(例如仅举几个例子,在测试系统、加密、数值仿真和生成噪声信号领域中),需要随机数或伪随机数。在技术上,随机数或伪随机数分别由真正的随机数生成器或伪随机数生成器生成。
真正的随机数生成器通常利用物理的、真实的随机源,而伪随机数生成器通常并不利用显示统计真实的随机性的元件。例如仅举几个例子,这种元件的示例为带有乃奎斯特(Nyquist)噪声的电阻器、电隧道元件、或基于带有散粒噪声行为的无线电活跃哀变或闭反馈环的元件,该闭反馈环将反馈信号用作噪声源。
与此不同,伪随机数生成器通常并不利用这种真正的随机元件,而是基于确定性行为,使得伪随机数生成器所生成的数不是真正的随机数。
因此,每当随机值或伪随机值很重要或被建议用于某应用领域时,真正的随机数生成器或伪随机数生成器被利用。上述例子仅触及可能的应用的表层。
与真正的随机数生成器相比,伪随机数生成器通常允许更快地生成数字且通常更容易实现,并且比对应的真正的随机数生成器显示了更低的能量损耗。但是,应当牢记,伪随机数生成器是确定性(deterministic)系统。因此,所生成的数字可基于对伪随机数生成器的内部结构的了解以及对其状态的了解来计算。在某些情形中,这可能是劣势,而在其他情形中(例如,当周期性的行为或再现性在某些应用中可能很重要时),可能是所希望和想要的结果。
在数字实现或应用中,伪随机数生成器所生成的伪随机数通常包括数字单元或二进制单元。取决于具体的实现,在这种情形中,伪随机数生成器可提供包括单个比特的序列的伪随机比特流或包括字序列的伪随机字流。每个字通常包括多个比特,例如,4比特、6比特、8比特、16比特、32比特等。换言之,字流的一个字通常包括多个比特,并且字可被看作是随机比特序列的一部分。因此,在许多应用中,伪随机比特流和伪随机字流可由彼此导出。
由于电路、计算机系统和其他设备不断提高的运算速度和频率,需要更快地生成带有关于现存位的随机性的足够好的统计分布的伪随机比特流和字流,以例如允许测试应用、数值仿真、加密程序、生成噪声信号或其他数据、信息以及信号的更快的处理。
发明内容
本发明的目的是提供用于生成比特序列的改进的概念,其允许比特序列的比特速率的提高。
该目的是根据权利要求1所述的比特序列生成器、根据权利要求11所述的用于计算状态机的子速率转换矩阵和子速率初始状态的装置、根据权利要求23所述的用于生成伪随机序列的方法、以及根据权利要求24所述的用于计算状态机的子速率转换矩阵和子速率初始状态的方法所实现的。
本发明的实施例提供了一种用于生成由生成函数和该生成函数的初始状态定义的比特序列的比特序列生成器,其包括多个状态机和复用器。多个状态机中的每个状态机生成时间交织比特序列,其中,状态机基于由状态机针对之前的时步所生成的至少一个比特、基于将要生成的比特序列的生成函数、基于生成函数的初始状态,并且独立于由多个状态机中的另一状态机所生成的时间交织比特序列来生成时间交织比特序列的比特。另外,复用器重复地从每个所生成的时间交织比特序列连续选择一个比特,以获得由生成函数和生成函数的初始状态所定义的比特序列。
本发明的另一实施例提供了一种用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态的装置。该装置包括处理器(210),所述处理器被配置为基于全速率序列的生成函数、所述生成函数的初始状态和所述多个状态机中的状态机的数量来计算所述状态机的子速率初始状态。并且,该处理器被配置为基于所述生成函数和所述状态机的数量来计算所述子速率转换矩阵。
根据本发明的实施例基于如下主要思想:由生成函数和生成函数的初始状态所定义的快速比特序列可通过合并彼此独立生成的两个或更多个时间交织比特序列来用高比特速率生成。通过这种方式,可用比特序列的比特速率的子速率来生成每个时间交织比特序列,该比特序列是通过合并多个时间交织比特序列来实现的。
因此,生成时间交织比特序列的状态机可工作在比所生成的比特序列的频率(比特速率)低的时钟频率上。只是复用器必须能够用比特序列的全比特速率来从所生成的时间交织比特序列选择比特。因此,与用相同的比特速率直接提供比特序列的单个状态机相比,其可显著减小状态机所需的硬件要求。
在根据本发明的某些实施例中,多个状态机的状态机基于子速率转换矩阵和子速率初始状态来生成时间交织比特序列。子速率转换矩阵和子速率初始状态是基于生成函数和生成函数的初始状态的。
子速率转换矩阵和子速率初始状态可由上述用于计算状态机的子速率转换矩阵和子速率初始状态的装置所确定。
因此,根据本发明的某些实施例可涉及比特序列生成器,其包括用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态的装置。该装置可计算多个状态机中的每个状态机的子速率转换矩阵和子速率初始状态,使得状态机的合并后的时间交织比特序列导致由生成函数和生成函数的初始状态所导致的全速率比特序列。
在根据本发明的某些实施例中,由生成函数和生成函数的初始状态所定义的比特序列是伪随机比特序列。
附图说明
参照附图,随后将详细描述根据本发明的实施例,其中:
图1是比特序列生成器的框图;
图2是用于计算多个状态机中的一个状态机的子速率转换矩阵和子速率初始状态的装置的框图;
图3是比特序列生成器的框图;
图4是伪随机比特序列生成器的框图,该伪随机序列生成器包括用于计算子速率转换矩阵和子速率初始状态的装置;
图5是线性反馈移位寄存器的框图;
图6是在并行读出操作模式中的线性反馈移位寄存器的框图;
图7是状态机的框图;
图8是状态机的框图;
图9是用于生成比特序列的方法的流程图;以及
图10是用于计算多个状态机中的一个状态机的子速率转换矩阵和子速率初始状态的方法的流程图。
具体实施方式
在下文中,相同的参考标号被部分用于具有相同或相似功能属性的对象和功能单元,并且关于某图的对其的描述应当还应用于其他图,以便减少实施例描述的冗余。
图1示出了根据本发明的实施例的比特序列生成器100的框图。比特序列生成器100包括多个状态机和复用器(MUX)120。多个状态机中的每个状态机110被配置为生成时间交织(time-interleaved)的比特序列112,其中,状态机110基于针对先前时步(precedingtimestep)由状态机生成的至少一比特、将要生成的比特序列122的生成函数、生成函数的初始状态来生成针对当前时步(currenttimestep)的时间交织的比特序列112的一比特,并且该比特的生成是独立于由多个状态机中的另一状态机110所生成的时间交织的比特序列112的。另外,复用器120重复地从每个所生成的时间交织比特序列112中连续选择一比特,以获得由生成函数的初始状态和生成函数所定义的比特序列122。
通过合并多个状态机所生成的时间交织比特序列112,可获得带有比时间交织比特序列112显著更高的比特速率的比特序列122。因此,状态机110可以以更低的时钟速率来运行,这减少了硬件工作和/或功耗。另外,由于状态机110独立于彼此地生成时间交织比特序列112,可使用独立的硬件单元。通过这种方式,例如以低比特速率生成比特序列的现有的状态机可被用于通过利用用于合并独立比特流的复用器120来生成带有多个这种比特速率的比特序列。
在这种情形中,独立于彼此地生成时间交织比特序列意味着状态机110独立于当前的状态或先前的状态或多个状态机的其他状态机110中的一个的输出来生成时间交织比特序列。每个彼此之间的联系仅由如下事实给出:状态机仅基于与将要生成的伪随机比特序列112相同的生成函数和该生成函数的初始状态来生成其时间交织比特序列。通过这种方式,虽然每个单个状态机110并无需知道其他的状态机在干什么,但是时间交织比特序列112合计等于将要生成的比特序列122。
由于复用器120重复地从每个生成的时间交织比特序列112连续选择一比特,因此,时间交织比特序列112包括将要生成的比特序列122的每个第M比特,其中,M是多个状态机110的状态机110的数量。例如,如果如图1所述,比特序列生成器110包括两个状态机110,则第一状态机生成时间交织比特序列112,该时间交织比特序列112包括将要生成的比特序列122的第一、第三、第五、第七比特等,并且第二状态机110生成包括将要生成的比特序列122的第二、第四、第六比特等的时间交织比特序列112。
比特序列生成器100可包括两个或更多个状态机110。
例如,状态机110可以是有限状态机(FSM)或线性有限状态机。
时间交织比特序列112的生成是基于生成函数和生成函数的初始状态的。生成函数和初始状态可由用户定义,或者可被存储设备所存储。换言之,生成函数和初始状态可以是给定的或预先定义的。针对这样一点,生成函数可由参数、系数、变量、公式或另一数学描述所表示。另外,初始状态可由初始状态比特序列所表示。例如,生成函数可以是由P个系数所表示的P度生成多项式g(x)。就此而言,例如,比特序列由生成函数所定义,并且初始状态等于如下措辞:比特序列由生成函数的系数和初始状态比特序列所定义。因此,基于生成函数和初始状态来生成时间交织比特序列的比特例如还意味着:基于生成函数的系数和初始状态比特序列来生成时间交织比特序列的比特。
根据本发明的某些实施例涉及生成伪随机比特序列。换言之,要生成的比特序列是伪随机比特序列。在下文中,描述了关于生成伪随机比特序列的实施例,虽然本发明的创造性的概念并不限于伪随机比特序列。
伪随机比特序列可由生成多项式所定义。这种伪随机比特序列可由线性反馈移位寄存器所生成。例如,带有比特速率f的伪随机比特序列(PRBS){s(i)}可作为时钟频率为f的线性反馈移位寄存器(LFSR)的输出而被生成。
图5示出了带有生成多项式g(x)=1+x2+x5的线性反馈移位寄存器500的示例。该线性反馈移位寄存器500包括五个时钟寄存器510和逻辑XOR(异或)单元520,其逻辑地组合了第二寄存器x2的输出和第五寄存器x5的输出,并且将结果提供至第一寄存器的输入。对应的伪随机序列s(i)由第五寄存器输出。
普通的LFSR可用其P度生成多项式g(x)来表示,即,gP≠0,并且gp=0,p>P
g(x)=1+g1x+g2x2+…+gPxP(1)
当g(x)的系数gp∈B(生成函数的系数)等于1时,第p个移位寄存器阶段的输出被包括在XOR函数中,以用于第一阶段的下一值。
针对非常高的比特速率(例如12.8Gbps)或通常针对大于10Gbps,该直接的方式是非常有挑战性的。
根据所提出的概念,带有比特速率f的相同的伪随机比特序列s(i)由带有f除以M的比特速率的时间交织(复用)M个时间交织比特序列所生成。
例如,状态机110针对每个时步生成时间交织比特序列112的一个或多个比特。例如,通过利用类似于图5中所示出的线性反馈移位寄存器,可针对每个时步生成时间交织比特序列112的一比特。优选地,可使用针对每个时步生成时间交织比特序列112的多于一比特的状态机。每个时步中所生成的比特的数量被设置,并且通过这种方式由状态机110所使用的硬件预先定义。换言之,多个状态机110的状态机110针对每个时步生成对应的时间交织比特序列112的预定数量的比特(1个或多个)。
通过这种方式,可以以比全速率显著低的子速率(对应于时步的长度)来重复地生成预先定义的时间交织比特流112的预定义数量的比特,伪随机比特序列由复用器120所提供。换言之,多个状态机110中的状态机110可生成带有子速率的时间交织比特序列112的预定义数量的比特,并且复用器120用全速率来提供所生成的伪随机比特序列122,该全速率是子速率的整数倍。
状态机所操作的子速率与伪随机比特序列112所设置的全速率的比率取决于时间交织比特序列112所生成的比特(并行生成)的预定义数量以及多个状态机110所包括的状态机的数量。换言之,先前所提及的整数倍可以是时间交织比特序列112的预先定义的比特数量与多个状态机110中的状态机数量的乘积。例如,每个状态机在状态机的每个时钟周期生成对应的时间交织比特序列的4比特,并且多个状态机包括两个状态机,随后伪随机比特序列可以以是时钟速率(子速率)的8倍的比特速率(全速率)被生成,状态机用该时钟速率操作。
在根据本发明的某些实施例中,状态机110的状态可依赖于预定数量的状态比特。预定数量的状态比特可在相同的时步期间被生成,并且可取决于来自先前的时步(例如,紧邻的前一时步)的状态比特。该状态比特的预定数量可等于该时步的时间交织比特序列112的预定比特数量,但是,状态比特的预定数量还可以大于时间交织比特序列112的预定比特数量。换言之,多个状态机110的状态机的状态可由状态机110在相同时步期间生成的预定数量的状态比特所定义。另外,预定数量的状态比特可至少包括针对相同时步的时间交织比特序列112的预定数量的比特。虽然状态比特和在相同的时步期间所生成的时间交织比特序列的比特可能不同,但是在优选的实施例中,状态比特是时间交织比特序列的比特。换言之,通过改变状态,状态机可自动生成由状态比特所表示的时间交织比特序列的比特。
由于当前时步中的多个状态机中的状态机的状态取决于先前时步的状态机的状态,因此,状态机可根据先前时步的状态机的状态来生成针对当前时步的时间交织比特序列的比特。
如果状态机110可针对每个时步(状态机的时钟周期)来确定时间交织比特序列112的多于一比特,则并行确定的时间交织比特序列112的比特可被串行化,以获得时间交织比特序列112。为此,状态机110可包括串行器。串行器可针对每个时步选择针对一时步所生成的状态比特所包括的时间交织比特序列112的比特,从而以串行的方式提供时间交织比特序列112。这可通过中级速率(intermediaterate)来完成,其中,中级速率等于子速率乘以在相同的时步期间所生成的时间交织比特序列112的预定数量的比特。换言之,由状态机110并行生成的时间交织比特序列112的比特被串行化,并且因此,其包括一个比特速率,该比特速率是子速率乘以并行生成的时间交织比特序列的比特数量(时间交织比特序列的预定数量的比特)。
因此,所生成的伪随机比特序列所设置的全速率等于中级速率乘以多个状态机中的状态机110的数量。
可通过各种方式来实现状态机110。例如,如上所述,可使用线性反馈移位寄存器(LFSR)。可替换地,可使用操作于并行读出模式的线性反馈移位寄存器。图1b示出了在用于生成字流而非比特流的配置中的线性反馈移位寄存器600。为了达到该目的,图6的线性反馈移位寄存器600在线性反馈移位寄存器600的输出配置方面不同于图5中的线性反馈移位寄存器。在图5的LFSR的情形中,LFSR的输出主要表示第五寄存器的输出,而图6的LFSR600的输出被耦合至四个寄存器610-1,...,610-4的所有输出。LFSR600的输出在出现在寄存器610-4的输出处的信号处作为比特y(k)提供,在出现在第三寄存器610-3的输出处的信号处作为比特k+1提供,在出现在第二寄存器610-2的输出处的信号处作为比特k+2提供,并且,在第一寄存器110-1的输出处作为比特k+N-1=k+3。
图6的LFSR600通过先前所描述的并行读出N=4个寄存器并随后为LFSR计时N=4次来产生比特序列或比特流,而在这些计时序列期间的输出被忽略。很自然,如图6中所示的LFSR600不仅可被用于获得每个带有N比特的字,还能获得小于或等于LFSR600的寄存器N的数量的任意数量的比特R。在该情形中,并行读出可被限制为R个阶段和后续的对LFSR600的R次计时,同时忽略这些中间计时期间的输出。
图7示出了状态机700的可替换的实现。状态机700包括多个计时寄存器710,每个寄存器710包括用于反馈信号或输入信号的输入710a以及用于输出信号的输出710b。另外,寄存器710还包括用于时钟信号的时钟信号输入710c。类似于图5和图6,寄存器710也被适配用于响应于出现在其各自输入710a处的信号和出现在时钟信号输入710c处的时钟信号来存储至少两个状态(例如,0或1)。寄存器710可适配用于在其输出710b处提供指示其状态的信号。
图7的框图示出了第一寄存器710-1和第二寄存器710-2,其被耦合至通用的时钟信号线720,以经由其时钟信号输入710c来向寄存器710并行提供对应的时钟信号。另外,如图7所示的状态机700包括带有多个输入730a和多个输出730b的反馈电路730。输入730a的数量至少对应于状态机700的寄存器710的数量N,使得在此处所示的实施例中,每个寄存器710被连接至反馈电路730的单个输入。相应地,反馈电路700的输出730b的数量至少对应于寄存器710的数量,使得每个寄存器710经由其输入710a被连接至反馈电路730的输出730b中的一个。但是,在根据本发明的其他实施例中,反馈电路730的输入或输出的数量可以更小或更大。
多个寄存器710和反馈电路730形成闭反馈环路,其中,反馈电路730生成被提供给寄存器710的输入710a的多个反馈信号。由于寄存器710被适配用于一旦接收到经由时钟信号线720所提供的时钟信号(例如,时钟信号的边沿或变化或电平)就有对应于提供至输入710a的信号的状态,因此,反馈电路730经由创建反馈信号来影响从时钟周期到时钟信号的时钟周期的状态变化。有时,寄存器还被称为是触发器。换言之,诸如寄存器710之类的寄存器被适配用于存储至少两个不同的状态。将要存储的状态被提供给寄存器710的输入710a,并且一旦接收到信号就将被存储于其中。与此不同,取决于提供给控制信号输入的控制信号,锁存器将是透明的或固定在某状态。
寄存器710的输出710b被直接或间接耦合至状态机的输出740,使得寄存器710的输出信号不仅被提供给反馈电路730,还被提供给输出740。
反馈电路的输出取决于反馈函数以及提供给反馈电路730的输入730a的信号。反馈信号被生成,并且经由输出730b被提供给寄存器710的输入710a。在该上下文中,反馈电路730被适配为使得对反馈函数的单个应用导致寄存器710的新状态,例如,表示线性反馈移位寄存器的状态,例如如图5所示,在被多次计时之后,用寄存器710的初始状态初始化。换言之,如反馈电路730中所实现的反馈函数提供了生成反馈信号并将其提供给寄存器710的输入710a的可能性,这对应于将始终信号的时钟周期应用到LFSR的多种应用,在将合适的时钟信号提供给时钟信号线720之前,该LFSR用出现在状态机700的寄存器710中的状态初始化。
对实现在反馈电路730中的反馈函数的单个应用导致生成反馈信号,使得响应于时钟信号在寄存器710的输出710b处立即连续生成的字(预定义数量的比特)表示状态的变化,这种状态的变化在LFSR的情形中需要多个时钟周期。
如图7所示,反馈信号可仅依赖于反馈函数和多个寄存器输出信号。通常不需要另外的参数,虽然反馈函数自身可被编程或提供给反馈电路730。
这种状态机700能够更快地生成字流,因为在LFSR的情形中,针对每个时钟周期,并不是仅生成一个反馈信号,而是多个反馈信号,其中的每一个被提供给寄存器710中的一个。
可选地,如图7所示的状态机700包括耦合在寄存器710的输出710b和状态机700的输出740之间的电路750。电路750例如可以是如下电路,其被适配用于从并行提供的寄存器710的输出信号生成串行比特流并将其提供给状态机700的输出740。
另外,如虚箭头760所指示的,反馈电路730可通过将编程信号提供给反馈电路730的输入760来被编程,使得反馈电路可依赖于提供给反馈电路730的一个或多个参数。这提供了实现可编程的比特流的机会。例如,这可基于如下来实现:转换矩阵元素的模2内积和如提供给反馈电路730的输入730a的寄存器输出信号的值。
总结,图7示出了在一个时钟周期中生成比特流的多个比特(例如,时间交织比特序列)的可编程状态机。
反馈函数可由转换矩阵来表示。关于创造性概念,该转换矩阵还可被称为子速率转换矩阵,因为与所生成的全速率比特序列相比,其利用该子速率转换矩阵的状态机用子速率来生成时间交织比特序列。反馈电路730可包括存储单元,该存储单元包括子速率转换矩阵。另外,寄存器710可被配置为由子速率初始状态来初始化。子速率转换矩阵以及子速率初始状态基于生成函数和将要生成的比特序列的生成函数的初始状态。
总结,比特序列生成器可包括用于生成字流的状态机700,字流的每个字包括时间交织比特序列的多个后续比特。状态机包括多个时钟寄存器和反馈电路。多个时钟寄存器包括对应的输入和对应的输出。另外,反馈电路730被耦合至寄存器710的输入和输出,并且基于生成函数和寄存器的多个寄存器输出信号来将多个反馈信号提供给寄存器的输入,寄存器输出信号指示寄存器的状态。另外,状态机700被配置为使得由多个寄存器输出信号所定义的第一字包括时间交织比特序列的后续比特的第一集合,并且使得由多个寄存器输出信号所定义的后续第二字包括时间交织比特序列的后续比特的第二集合。
图8示出了对状态机的另一可替换实现。状态机800包括用于输入信号un的第一输入802,其中,输入信号的后续值被用第一时钟速率f1计时至输入端802。另外,装置800包括用于将输入信号un转换成子速率输入信号Un的去串行器840,其中,子速率输入信号Un用第二时钟速率f2被计时至子速率有限状态机,该第二时钟速率f2是第一时钟速率f1的一个分数。例如,去串行器840可以是用于对输入信号un进行串行至并行转换的电路。因此,去串行化子速率输入信号Un可包括全速率输入信号的R个后续值un,un+1,...,un+R-1,其被用第二时钟速率f2计时至子速率FSM电路810。可包括存储器(具体地,RAM、或可编程逻辑设备、或可编程逻辑阵列(PLA))的子速率FSM电路810被配置为依赖于通过第二输入812所馈送至子速率FSM电路810的先前的子速率内部状态zn以及子速率输入信号Un=[un,un+1,...,un+R-1]来更新子速率内部状态。可选地,子速率FSM电路810可被配置用于依赖于先前的或更新后的子速率内部状态zn,zn+R来提供子速率输出信号An。因此,子速率输出信号Am包括R个信号值vm,vm+1,...,vm+R-1,其被馈送至串行器830,以便对子速率输出信号Am进行串行化,以获得具有第一时钟速率f1的串行输出信号Bm。根据实施例,串行器电路830可包括用于对包括R个输出信号值am,am+1,...,am+R-1进行子速率输出信号Am进行并行至串行转换的电路。
子速率FSM电路810在以子速率输入信号Un=[un,un+1,...,un+R-1]和先前的子速率内部状态zn的形式存在的输入上动作,并且用第二时钟速率f2来输出子速率输出信号An=[an,an+1,...,an+R-1]和更新后的子速率内部状态zn+R二者。更新后的子速率内部状态zn+R被馈送至子速率内部状态寄存器820,其可以是可被划分为两个路径的单个的输出线822。第一路径被耦合至系统的另一部分,其子速率FSM是子部,而第二路径是状态寄存器输出线812。
根据实施例,去串行器840被配置为对输入信号un进行串行至并行转换,使得子速率输入信号Un在时间间隔T2内(其为第二时钟速率f2的倒数,即,T2=1/f2)包括对应于多个后续时间间隔T1的输入信号的多个后续值un,un+1,...,un+R-1,该间隔可以是第一时钟速率f1的倒数,即,T1=1/f1
可替换地,输入信号仅被用于对子速率有限状态机电路810进行编程。例如,子速率转换矩阵的矩阵元素被提供至子速率有限状态机电路810的存储单元。在该示例中,去串行器840仅是一个可选部分,并且输入信号可用独立于输出信号的时钟速率的时钟速率或比特速率或子速率有限状态机电路810所操作的时钟速率来提供。串行器830的输出信号例如可以是将要由状态机800所生成的时间交织比特序列。可替换地,时间交织比特序列可仅从子速率内部状态寄存器820的输出线822输出或与串行器830的输出信号组合输出。
换言之,比特序列生成器可包括状态机,该状态机包括带有第一时钟速率的中间输入信号的输入802、用于将中间速率输入信号转换成具有作为第二时钟速率的一部分的第二时钟速率的子速率输入信号的去串行器840、以及串行器830。子速率有限状态机810依赖于先前的子速率内部状态和子速率输入信号来更新子速率内部状态,并且依赖于先前的或更新后的子速率内部状态来提供子速率输出信号。另外,串行器830对子速率输出信号进行串行化,以获得具有第一时钟速率的中级速率,其中,子速率有限状态机810被配置为将子速率内部状态更新为第二时钟速率。
更一般地,取决于所实现的状态机,时间交织比特序列的比特可等于状态机的状态比特或与之不相等。换言之,在本发明的某些实施例中,状态机可基于状态机针对先前的时步所生成的时间交织比特序列的至少一比特来生成当前时步的时间交织比特序列的比特。
类似于图7中所示的实现,状态机800可基于子速率转换矩阵和子速率初始状态(二者均从生成函数和生成函数的初始状态所导出)来生成时间交织比特序列。转换矩阵可被子速率有限状态机电路810存储,并且子速率内部状态寄存器820可用子速率初始化状态来初始化。
针对上述比特序列生成器的多个状态机中的所有状态机,子速率转换矩阵和子速率初始化状态可能是不同的。可替换地,所有的状态机可基于相同的子速率转换矩阵来生成器时间交织比特序列,但是,可基于不同的子速率初始状态。这是可能的,因为针对所有状态机,根本的生成函数和初始状态是相同的。
如上所述,多个状态机中的每个状态机的子速率转换矩阵和子速率初始状态可从生成函数以及生成函数的初始状态导出。图2示出了根据发明的实施例的用于计算多个状态机中的状态机的子速率转换矩阵212和子速率初始状态214的装置的框图。装置200包括处理器210。该处理器210基于全速率比特序列的生成函数202、生成函数202的初始状态204、以及多个状态机中的若干个状态机206来计算状态机的子速率初始阶段214。另外,处理器210基于生成函数202和状态机206的数量来计算状态机的子速率转换矩阵212。
可针对多个状态机的每个状态机来计算这种子速率转换矩阵212和子速率初始状态214。通过这种方式,例如,多个状态机可以针对任意的生成函数和初始状态来生成时间交织比特序列,其可由复用器合并,以获得由生成函数和初始状态所定义的全速率比特序列。
可独立于比特序列生成器来计算状态机的子速率转换矩阵和子速率初始状态。子速率转换矩阵和子速率初始状态可由存储装置所存储,并且稍后由多个比特序列生成器所使用。装置200可仅需知道利用子速率转换矩阵和稍后的子速率初始状态的比特序列生成器的多个状态机的状态机数量。
通过这种方式,可生成带有高比特速率的比特序列,虽然用显著低的时钟速率来操作状态机。换言之,状态机可提供带有比将要生成的全速率比特序列显著低的比特速率的时间交织比特速率。
与子速率初始状态的计算不同,子速率转换矩阵例如可独立于生成函数的初始状态而被确定。在该情形中,子速率转换矩阵针对多个状态机的所有状态机可以是相同的。状态机的输出随后可由于状态机所确定的不同的子速率初始状态而不同。换言之,处理器210可针对多个状态机中的每个状态机来计算子速率初始状态,使得所计算的子速率初始状态彼此不同。另外,处理器可计算子速率转换矩阵,使得子速率转换矩阵针对多个状态机中的所有状态机都是相同的。换言之,相同的子速率转换矩阵可被所有状态机使用。
如图1所示,可针对伪随机比特序列生成器的每个状态机来计算子速率转换矩阵。基于生成函数,比特序列生成器可输出与利用全速率转换矩阵的单个状态机相同的比特序列。因此,针对多个状态机中的某个状态机的子速率转换矩阵可从这种全速率转换矩阵导出。换言之,处理器可基于生成函数来确定全速率转换矩阵,并且,可基于全速率转换矩阵和状态机数量来计算子速率转换矩阵。另外,计算机可基于全速率转换矩阵、生成函数的初始状态和状态机的数量来计算全速率初始状态。
例如,子速率转换矩阵可以是带有预先定义的行数的方阵。例如,可取决于转换矩阵的最大大小(其可由状态机的存储单元存储)或用于基于子速率转换矩阵来生成时间交织比特序列的比特的状态机所需要的最大计算时间来设置预先定义的行数。子速率转换矩阵的预先定义的行数可以等于或大于生成函数的若干次。例如,针对多项式生成函数,多项式的次指示定义上述生成函数所需的系数的数量。因此,子速率转换矩阵可至少包括等于定义生成函数所必须的系数的数量的行数。
例如,处理器210可被实现为独立的硬件单元,计算机或微控制器的一部分,以及被配置为在计算机或微控制器上运行的计算机程序或软件产品。
以下,将更加详细地介绍用于计算多个状态机的子速率转换矩阵和子速率初始状态的示例。这可基于对伪随机比特序列生成器300的硬件实现来完成,该伪随机比特序列生成器300示出在表示创造性概念的图3中。虽然图3示出了表示多个状态机的三个状态机310,但是,伪随机比特序列生成器还可用两个、或多于三个状态机来实现。每个状态机310被连接至串行器330,并且每个串行器330被连接至复用器320。另外,每个状态机310包括反馈电路312和一个或多个计时状态寄存器314。反馈电路312被连接至状态寄存器314,该状态寄存器314被用输出连接反馈电路312的输入和相关联的去串行器330的输入。伪随机比特序列生成器300表示带有M个时间交织比特流Wm(j)的目标体系架构的示例,其每一个从状态机(此处还称为子速率线性有限状态机)的输出被以速率f/(R·M)串行化。
在所提出的体系架构中(图3),带有比特速率f的相同的序列{s(i)}应当通过以比特速率f/M时间交织(复用)M个比特流wm(j),m=0,1,...,M-1来生成,其每个通过进一步对R比特宽的字vm(k)进行串行化来生成,该vm(k)是以速率f/(R·M)运行的子速率线性有限状态机(LFSM)的输出。M指示每个状态机的单个数或每个时间交织比特序列的单个数。该单个数可确定用于选择不同时间交织比特序列的次序。例如,复用器首先用单个数m=0来从状态机所生成的时间交织比特序列选择一比特,然后,用单个数m=1来从状态机所生成的时间交织比特序列选择一比特,如此继续。
例如,所有的M个LFSM具有可编程的N×N扩展状态转换矩阵Tm(子速率转换矩阵)和可编程初始扩展状态ym(0)(子速率初始状态)。由于在该示例中没有专用的输出矩阵,因此,扩展状态ym∈BN包括输出和状态zm∈BP,P≤N,其唯一地标识所有可触及的ym,由此得出术语“扩展状态”。
一个目标是计算扩展状态转换矩阵Tm∈BN×N和M个时间间隔LFSM的初始扩展状态ym(0)∈BN,m=0,1,...,M-1,以将其作为PRBS多项式g(x)(生成函数)、时间交织比特流的数量M(状态机的数量)和速率减小因子R的函数,并且,当该计算可能时,给出条件。
将示出,针对N=32,M=2和R∈{4,8,12,16,20,24,28,32},存在针对所有带有度P≤N的多项式的解决方案。
例如,专利申请“J.Rivoir:Statemachineandgeneratorforgeneratingadescriptionofastatemachinefeedbackfunction,WO2010034326A1”和“J.Rivoir:Apparatusandmethodforemulatingafull-ratefinitestatemachine,WO2010034327A1”涉及一个时钟周期中的任意(非线性)FSM的多个比特的生成。但是,子速率LFSM的状态转换矩阵中的元素数量随着子速率因子二次变化。创造性概念提出了时间交织多比特流,并且因此,仅要求线性地增加硬件的工作。但是,该方法仅能模拟自治线性FSM的输出,这对于生成PRBS不是限制。
以下,使用了GF(2)中的矩阵方式,并且因此,避免引用分解环g(x)∈BP[x]/(xP-1)的抽象概念。可从“A.Neubauer,J.Freudenberger,V.Kühn:CodingTheory-Algorithms,ArchitecturesandApplications,Wiley2007”和“D.S.Dummit,R.M.Foote:AbstractAlgebra,Wiley2004”中找到对LFSR和相关的数学概念的彻底处理。
LFSR的输出序列{s(i)}在L步后重复。当g(x)是所谓的本原多项式时,序列长度是最大的,即,L=Lmax=2P-1,否则L是Lmax的除数。作为奇数Lmax的除数,L也是奇数。
L是奇数(2)
以下,将假定最大长度的序列,即,本原多项式。
P次通用布尔LFSM和一个输出s(i)具有如下形式的状态方程:
x(0)=x0∈BP
x(i+1)=G·x(i),i=0,1,2,...
s(i)=c′·x(i)(3)
其中,操作是在二进制伽罗瓦(Galois)域GF(2)中进行的,即,逻辑XOR被用作“求和”,而逻辑AND被用作“求积”。“.”表示矩阵内积并有时被忽略。x0是生成函数的初始状态,G是转换矩阵的全速率,并且,s(i)是将要生成的比特序列。
利用常用的状态编号
x=(x1,x2,...,xP)′∈BP(4)
状态转换矩阵(全速率转换矩阵)是
这也被称为是生成多项式g(x)(生成函数)的系数向量的顶伴随矩阵(带有系数g1,...gP)
g=(g1,g2,...,gP)′∈BP(6)
由于输出s等于最后的状态向量,因此,输出向量变为第P个单元行同量
c′=e′P=(0,0,...0,1)∈BP(7)
迭代地应用(3)在第i个时步产生状态和输出。
x(i)=Gi·x0
s(i)=e′PGi·x0(8)
由于在精确地L=Lmax=2P-1时步之后,所有状态重复
x(L+i)=GL·x(i)(9)
因此,P×P状态转换矩阵G是周期性的。
GL=I(10)
请注意,属性(10)对于矩阵的周期性是不够的。Gix,i=0,1,...,L-1必须也形成BP的基础,在这里这是对的,因为,x遍历BP中的所有L=Lmax=2P-1非零状态。
所希望的PRBS{s(i)}必须以m={0,1,...,M-1,0,1,...}的次序由时间交织M比特序列wm(j)生成,并且因此,针对j=0,1,2,...和m=0,1,...,M-1被按照如下构造
wm(j)=s(m+j·M)(11)
参见图3,由于wm(j)是以r=1,2,...,R次从vm(k)的R个元素串行化的,因此,针对k=0,1,2,...,后者可包括wm(j)的R个连续值
v m ( k ) = w m ( kR ) w m ( kR + 1 ) · · · w m ( kR + R - 1 ) - - - ( 12 )
并且,通过(11)
v m ( k ) = s ( m + kMR ) s ( m + kMR + M ) · · · s ( m + kMR + ( R - 1 ) M ) - - - ( 13 )
另外,可选择状态编码和输出。带有序列长度Lmax=2P-1的LFSM至少要求P个状态比特。当M与序列长度不共享通用除数时,每个时间交织LFSM(多个状态机中的状态机)将遍历所有Lmax,并且因此,还需要带有P个元素(zm∈BP)的状态向量。这导致第一(明显)要求
要求1:P≤N(14)
注意,在M与L确实共享除数的情形中,每个LFSM必须仅生成L/gcd(M,L)个不同的状态,并且因此,仅需个状态比特来表示这些状态。
为了简化推导,现将假定M为偶数的实际上相关的情形,这因此与总为奇数的L(参见(2))不共享通用的除数。
要求2:gcd(M,L)=1(15)
现可选择状态编码,使得vm(k)的R个元素与第一P状态比特相同,至少如果R≤P是这样的。所选择的状态编码遵循模式(13)
z m ( k ) = s ( m + kMR ) s ( m + kMR + M ) · · · s ( m + kMR + ( P - 1 ) M ) - - - ( 16 )
为了允许R大于P的情形,根据相同的模式来选择所有输出ym∈BN的N个变量
y m ( k ) = s ( m + kMR ) s ( m + kMR + M ) · · · s ( m + kMR + ( N - 1 ) M )
- - - ( 17 )
这明显假定
要求3:R≤N(18)
这种选择允许在下一状态和输出之间共享方程,这是必要的,因为目标体系架构并非不重要的输出矩阵。
vm(k)=V·ym(k)(19)
V=(IR0R×(N-R))(20)
注意,不同于图5中所示的输出状态向量的第P个元素的状态机,遵从通常的LFSR概念,以上的状态机输出第一R状态元素。这种编号使得索引算术更加容易。
可从状态编码(16)和方程(8)来计算zm(k)
z m ( k ) = e P ′ G m + kMR x 0 e P ′ G m + kMR + M x 0 · · · e P ′ G m + kMR + ( P - 1 ) M x 0 = e P ′ e P ′ G M · · · e P ′ G ( P - 1 ) M G kMR G m x 0 - - - ( 21 )
或简而言之,
zm(k)=QPGkMRx(m)(22)
其中,
Q P = e P ′ e P ′ G M · · · e P ′ G ( P - 1 ) M ∈ B P × P
- - - ( 23 )
可被标识为带有P×P状态转换矩阵GM的LFSM的(方)观测性矩阵,即,P次的LFSM,其在一个周期中进行LFSRG的M个时步,并且,输出是最后一个状态。
现将示出QP的非奇异性。“J.Jordan:Controllabilityofpolynomial-shiftinverseiteration,ProceedingsoftheBeneluxMeetingonSystemsandControl,Helvoirt,TheNetherlands,17.-19.March2004”中的主要理论说明如果并且仅当系统矩阵是周期性的时,系统才是可控的。假定gcd(M,L)=1,GM确实是周期性的,因为G是周期性的。由于对偶原理,模拟声明适用观测性,这暗示观测性矩阵的满秩,或在该情形中,满是方矩阵QP的非奇异性。
这允许针对GkMRx(m)求解(22):
G kMR x ( m ) = Q P - 1 z m ( k ) - - - ( 24 )
zm(k)的状态方程可通过将时步k+1应用到(22)并利用以上的结果(24)来导出。
z m ( k + 1 ) = Q P G ( k + 1 ) MR x ( m ) = Q P G MR · G kMR x ( m )
= Q P G MR Q P - 1 · z m ( k ) - - - ( 25 )
通过状态转换矩阵
S = Q P G MR Q P - 1 - - - ( 26 )
和(22)中的来自k=0的初始状态,状态方程变为
zm(0)=QP·x(m)
zm(k+1)=S·zm(k)(27)
因为(26)通过近似的变换联系了S和GMR,因此,状态zm(k)在每个周期k中进行了MRLFSR步。
类似于(21)、(22)、(23),并且,通过(24),输出方程可被写作
y m ( k + 1 ) = Q N G kMR x ( m )
= Q N G MR Q P - 1 z m ( k ) - - - ( 28 )
Q N = e P ′ e P ′ G M · · · e P ′ G ( N - 1 ) M ∈ B N × P - - - ( 29 )
针对具有隐形输出的LFSM,如图3中所示,这些状态和输出方程可被映射到图3的结构,这并不包括专用的输出矩阵。
ym(k)的N个元素可被看作是扩展状态向量,因为状态向量zm(k)的P个元素等于ym(k)的第一P元素
zm(k)=(Ip0P×(N-P))·ym(k)(30)
其中,IP表示P×P单位矩阵。输出方程(28)现可被写作(扩展)状态方程。
y m ( k + 1 ) = Q N G MR Q P - 1 I P 0 P × ( N - P ) y m ( k )
= Q N G MR Q P - 1 0 N × ( N - P ) y m ( k ) - - - ( 31 )
值得注意的是,扩展系统(子速率转换矩阵)的N×N状态转换矩阵
T = Q N G MR Q P - 1 0 N × ( N - P ) - - - ( 32 )
并不依赖于m。与来自(28)的初始状态(子速率初始状态)一起
ym(0)=QNx(m)(33)
带有相组合的状态的最终的LFSR和输出ym(k)变为
ym(0)=QN·x(m)
ym(k+1)=T·ym(k)(34)
经由zm(k)的绕过是必须的,因为QN通常不是方矩阵,并且因此,并不具备普通的反转,这是与伪反转不同的。
例如,所提出的概念提供了用于生成高速PRBS的方法,其基于可编程LFSM的进一步串行化输出所生成的时间交织更慢的比特流。
用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态的装置可独立于伪随机比特序列生成器而实现,因为仅有一些目标比特序列生成器的硬件参数(例如,多个状态机中的状态机数量)可能是计算状态机的子速率转换矩阵和子速率初始状态所必须的。子速率转换矩阵和子速率初始状态可由存储单元存储,并且稍后可被转移至伪随机比特序列生成器的状态机。通过这种方式,例如可确定并存储多个不同的生成函数和/或初始状态的转换矩阵和子速率初始状态。该所存储的数据可随后被从包括相同硬件的多个伪随机比特序列生成器所使用。
因此,根据所描述的概念的比特序列生成器可独立于用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态的装置而被实现,因为状态机的转换矩阵和子速率初始状态可由存储单元针对一个或多个生成函数而存储并提供。
但是,例如,如果用户希望定义各自的生成函数和/或出示状态,则可利用比特序列生成器和用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态的装置的组合。图4示出了比特序列生成器400的框图,其包括根据发明的实施例的用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态的装置。类似于图1中所示的伪随机比特序列生成器,伪随机比特序列生成器400包括连接至复用器120的两个状态机110。另外,比特序列生成器400包括用于计算连接至状态机110的子速率转换矩阵212和子速率初始状态214的装置的处理器210。处理器210计算子速率转换矩阵212和子速率初始状态214,并且将其提供给状态机110。状态机110基于所提供的子速率转换矩阵212和子速率初始状态214来生成对应的时间交织比特序列112。这些时间交织比特序列112由复用器120合并,使得由生成函数和初始状态所定义的比特序列122被发置为全速率。
根据本发明的某些实施例涉及自动测试设备,其包括比特序列生成器和/或上述的用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态的装置。
对包括独立的状态机110的比特序列生成器的实现具有如下优点:针对自动测试设备而言,自动测试设备的独立测试信道可被用于实现状态机。换言之,可能可以实现比特序列生成器,其能够仅通过根据所描述的饿概念来添加复用器并提供多个状态机中的状态机的资料转换矩阵和资料初始状态来提供非常快的比特序列(例如,伪随机比特序列)。
根据本发明的某些实施例涉及利用实践交织资料状态机的伪随机比特序列生成。
针对这一点,所提出的概念例如说明了生成12.8Gbps的PRBS(或另一比特速率)背后的理论。因为利用全速度LFSR来生成12.8Gbps的PRBS在技术上是极其有挑战性的,例如,该概念提出了例如时间交织两个(M=2)核的6.8Gbps输出,每个包括以6.8Gbps的输出的进一步分数1/R运行的N次的可编程线性有限状态机(LFSM)。子速率状态机的初始状态和后续状态的方程可被导出为度P生成多项式、交织比特流M的数量和速率减少因子R的函数。
例如,所描述的概念解决了如下问题:利用全速度线性反馈移位寄存器来直接生成伪随机比特序列是极其困难的(例如,以12.8Gbps)。在未来,这还将增加以针对20Gbps、40Gbps、100Gbps、或更多,特别是当多项式(生成函数)应当为可编程的时。利用所描述的概念使能更慢的运行逻辑(状态机)。所提出的概念可用作输出任意线性有限状态机,而非仅是伪随机比特序列。多项式还可以是非本原的,因为M(多个状态机中的状态机的数量)还可以是L的除数。所描述的概念还可与专用的输出矩阵一期工作,在该情形中,这可使得任何事更加容易。
通过利用所描述的概念,多个状态机或线性反馈移位寄存器的输出是时间交织的,使得组合的输出等于单个线性反馈移位寄存器的输出,这提供了由生成函数和初始状态所定义的比特序列。
换言之,在发明的某些实施例中,出于其他目的所需的除了复用器之外的任何额外的硬件都不是必须的。另外,所描述的概念可对现有的更低速的伪随机比特序列生成器进行杠杆平衡。因此,根据所描述的概念的比特序列生成器可不具有额外的硬件复杂度、额外的功耗、甚至无需生成更高速度和/或任何多项式。换言之,通过利用所描述的概念,用可编程多项式来生成12.8Gbps(或甚至更高)伪随机比特序列被使能。
与所描述的概念相比,例如以12.8Gbps的设计运行的已知惯常的双极是及其有挑战的,其消耗更大量的功率并限制多项式。
图9示出了根据发明的实施例的用于生成由生成函数和生成函数的初始状态所定义的比特序列的方法900的流程图。方法900包括生成(910)多个时间交织比特序列和重复地从每个所生成的时间交织比特序列中连续选择(920)一比特以获得由生成函数和生成函数的初始状态所定义的比特序列。针对当前时步所生成的时间交织比特序列的比特基于针对先前的时步(例如,针对该时间交织比特序列)所生成的至少一比特、基于将要生成的比特序列的生成函数、基于生成函数的初始状态,并且独立于另一个所生成的时间交织比特序列。
方法900还可包括对应于上述比特序列生成器的特征的步骤。
图10示出了根据发明的实施例的方法1000的流程图,其用于计算多个状态机中的状态机的子速率转换矩阵和子速率初始状态。方法1000包括计算(1010)状态机的子速率初始状态和计算(1020)状态机的子速率转换矩阵。基于全速率比特序列、生成函数的初始状态和多个状态机中的状态机的数量,子速率初始状态被计算(1010)。另外,基于生成函数和状态机的数量,子速率转换矩阵被计算(1020)。
方法1000可包括对应于上二述用于计算多个状态机中的状态机的子速率转换矩阵和资料初始状态的装置的特征的其他步骤。
虽然已经在装置的上下文中描述了所描述的概念的某些方面,但是,很清楚,这些方面还表示对对应的方法的描述,其中,框或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中所描述的方面还表示对对应的框或项目或对应装置的特征的描述。
取决于某些实现要求,发明的实施例可以以硬件或软件实现。可利用数字存储介质来执行实现,例如,软盘、DVD、蓝光、CD、ROM、PROM、EPROM或闪存,其上具有电可读的控制信号,其与可编程计算机系统合作(或能够合作),使得各自方法被执行。因此,数字存储介质可以是计算机可读的。
根据发明的某些实施例包括数据载体,该数据载体具有电可读的控制信号,该控制信号能够与可编程计算机系统合作,使得此处所描述的方法中的一个被执行。
一般而言,本发明的实施例可被实现为带有计算机代码的计算机程序产品,当计算机程序产品在计算机上运行时,该计算机代码操作用于执行方法中的一个。程序代码例如可被存储在机器可读载体上。
其他实施例包括存储在机器可读载体上的用于执行此处所描述的方法中的一个的计算机程序。
换言之,创造性方法的实施例因此是具有当计算机程序在计算机上运行时用于执行此处所描述的方法中的一个的程序代码的计算机程序。
因此,创造性方法的另一实施例是数据载体(或数据存储介质,或计算机可读介质),其包括记录于其上的用于执行此处所描述的方法中的一个的计算机程序。
因此,创造性方法的另一实施例是数据流或信号序列,其表示用于执行此处所描述的方法中的一个的计算机程序。数据流或信号序列例如可被配置为经由数据通信连接来传输,例如,经由因特网。
另一实施例包括处理装置,例如,计算机,或可编程逻辑设备,其被配置用于或适配用于执行此处所描述的方法中的一个。
另一实施例包括计算机,其上安装了用于执行此处所描述的方法中的一个的计算机程序。
在某些实施例中,可编程逻辑设备(例如,现场可编程门阵列)可被用于执行此处所描述的方法的某些或所有功能。在某些实施例中,现场可编程门阵列可与微处理器合作,以便执行此处所描述的方法中的一个。一般而言,优选通过任意硬件装置来执行方法。
上述实施例仅是对本发明的原理的阐释。可理解,对于本领域技术人员而言,此处所描述的修改和布置变化以及细节将是显然的。因此,意欲仅由即将进行的专利权利要求的范围所限定,而非由通过对此处的实施例进行描述和解释所呈现的具体细节所限定。

Claims (20)

1.一种用于生成比特序列(122,s(i))的比特序列生成器(100,300,400),所述比特序列(122,s(i))由生成函数和所述生成函数的初始状态定义,包括:
多个状态机,其中,所述多个状态机中的每个状态机(110,310)被配置为生成时间交织比特序列(112,wm(j)),其中,状态机(110,310)基于由所述状态机(110,310)针对之前的时步所生成的至少一个比特、基于将要生成的比特序列(122,s(i))的生成函数、基于所述生成函数的初始状态、并且独立于由所述多个状态机(110,310)中的另一状态机(110,310)生成的时间交织比特序列(112,wm(j))来生成所述时间交织比特序列(112,wm(j))的比特;以及
复用器(120),所述复用器被配置为重复地从每个所生成的时间交织比特序列(112,wm(j))连续选择一个比特,以获得由所述生成函数和所述生成函数的初始状态所定义的比特序列(122,s(i)),
其中,所述状态机(110,310)包括串行器(330),所述串行器(330)被配置为针对每个时步选择由针对一时步所生成的状态比特所包括的时间交织比特序列(112,wm(j))的比特,从而用中级比特速率(f/M)以串行的方式提供时间交织比特序列(112,wm(j)),其中,所述中级比特速率(f/M)等于子比特速率(f/(RM))乘以在相同时步期间所生成的时间交织比特序列(112,wm(j))的预先定义的比特数量(R),
其中,所述多个状态机中的状态机(110,310)基于子率转换矩阵(T)和子率初始状态(ym(0))来生成所述时间交织比特序列(112,wm(j)),其中,所述子率转换矩阵(T)和所述子率初始状态(ym(0))基于所述生成函数和所述生成函数的初始状态。
2.根据权利要求1所述的比特序列生成器,其中,所述多个状态机中的状态机(110,310)被配置为针对每个时步生成对应的时间交织比特序列(112,wm(j))的预先定义数量的比特(R)。
3.根据权利要求2所述的比特序列生成器,其中,所述多个状态机中的状态机(110,310)被配置为用子比特速率来生成时间交织比特序列(112,wm(j))的预先定义数量的比特(R),其中,所述复用器(120)被配置为用全比特速率来提供所生成的比特序列,所述全比特速率是所述子比特速率的整数倍。
4.根据权利要求3所述的比特序列生成器,其中,所述整数倍是时间交织比特序列(112,wm(j))的比特的预先定义的数目(R)与所述多个状态机(110,310)的状态机数目(M)的乘积。
5.根据权利要求2所述的比特序列生成器,其中,所述多个状态机中的状态机(110,310)的状态由预定义数量的状态比特(N)所定义,所述预定义数量的状态比特(N)由所述状态机(110,310)在相同的时步期间以并行方式生成,其中,所述预定义数量的状态比特(N)至少包括针对相同时步的时间交织比特序列(112,wm(j))的预先定义数量的比特(R)。
6.根据权利要求1所述的比特序列生成器,其中,针对所述多个状态机中的所有状态机(110,310),所述子率转换矩阵(T)是相同的,并且,针对所述多个状态机中的所有状态机(110,310),所述子率初始状态(ym(0))是不同的。
7.根据权利要求1所述的比特序列生成器,其中,所述多个状态机仅包括两个状态机(110,310)或包括三个或更多个状态机(110,310)。
8.根据权利要求1所述的比特序列生成器,其中,将要生成的比特序列(122,s(i))是伪随机比特序列。
9.根据权利要求1所述的比特序列生成器,包括用于计算多个状态机中的状态机的子率转换矩阵(212,T)和子率初始状态(214,ym(0))的装置(200),所述装置包括:
处理器(210),所述处理器(210)被配置为基于全速率序列的生成函数(202)、所述生成函数的初始状态(204)和所述多个状态机中的状态机的数量(M)来计算所述状态机的子率初始状态(214,ym(0)),并且被配置为基于所述生成函数(202)和所述状态机的数量(206,M)来计算所述子率转换矩阵(212,T)。
10.根据权利要求9所述的比特序列生成器,其中,所述处理器(210)被配置为独立于所述生成函数(202)的初始状态(204)而计算所述子率转换矩阵(212,T)。
11.根据权利要求9所述的比特序列生成器,其中,所述处理器(210)被配置为基于所述生成函数(202)来确定全速率转换矩阵(G),其中,所述处理器(210)被配置为基于所述全速率转换矩阵(G)和所述状态机的数量(M)来计算所述子率转换矩阵(212,T),并且其中,所述处理器(210)被配置为基于所述全速率转换矩阵(G)、所述生成函数(202)的初始状态(204)和所述状态机的数量(206,M)来计算所述子率初始状态(214)。
12.根据权利要求9所述的比特序列生成器,其中,所述处理器(210)被配置为针对所述多个状态机中的每个状态机来计算所述子率初始状态(214,ym(0)),使得所计算的子率初始状态(214,ym(0))彼此不同。
13.根据权利要求9所述的比特序列生成器,其中,所述处理器(210)被配置为计算所述子率转换矩阵(212,T),使得所述子率转换矩阵(212,T)针对所述多个状态机中的所有状态机是相同的。
14.根据权利要求9所述的比特序列生成器,其中,所述子速率转换矩阵(212,T)是带有预定义数量的行(N)的方矩阵,其中,所述行的预定义数量(N)等于或大于所述生成函数(P)的阶次。
15.根据权利要求11所述的比特序列生成器,其中,所述处理器(210)被配置为根据如下公式来计算所述子率转换矩阵(212,T):
T = Q N G MR Q P - 1 0 N × ( N - P ) ,
其中,N是T的预先定义的行数,M是所述多个状态机的状态机数量,P是所述生成函数的阶次,G是所述全速率转换矩阵,而R是状态机在相同的时步利用所述子率转换矩阵所生成的比特序列的比特数,并且0N×(N-P)是具有N行(N-P)列的零矩阵,其中
Q N = e P ′ e P ′ G M . . . e P ′ G ( N - 1 ) M
其中,
e′P=(0,0,...0,1)∈B1×P
其中,B1×P是具有1行P列的布尔矩阵,
其中,
Q P = e P ′ e P ′ G M . . . e P ′ G ( P - 1 ) M
16.根据权利要求11所述的比特序列生成器,其中,所述处理器(210)被配置为根据如下公式来计算所述子率初始状态(214,ym(0)):
ym(0)=QN·x(m)
其中,m是指派给每个状态机的各自号码,所述子率初始状态被计算以用于包括等于或低于所述多个状态机中的状态机数目(M)的值,N是所述子率转换矩阵(T)的预先定义的行数,其中,
Q N = e P ′ e P ′ G M . . . e P ′ G ( N - 1 ) M
其中,
e′P=(0,0,...0,1)∈B1×P
其中,P是所述生成函数的阶次,而G是所述全速率转换矩阵,B1×P是具有1行P列的布尔矩阵,并且其中,
x(0)=x0∈BP
x(i+1)=G·x(i),i=0,1,2,...
s(i)=c′·x(i)
其中,BP是具有P行1列的布尔矩阵,s(i)是将要生成的比特序列,并且
c′=e′P=(0,0,...0,1)∈BP
17.根据权利要求1所述的比特序列生成器,其中,所述比特序列生成器包括状态机(800),所述状态机(800)包括:
输入(802),所述输入(802)用于带有第一时钟速率的中级速率输入信号;
去串行器(840),所述去串行器(840)用于将所述中级速率输入信号转换成带有作为所述第一时钟速率的一部分的第二时钟速率的子率输入信号;
子率有限状态机(810),所述子率有限状态机(810)被配置为依赖于之前的子率内部状态和所述子率输入信号来更新子率内部状态,并且依赖于之前的或更新后的子率内部状态来提供子率输出信号;以及
串行器(830),所述串行器(830)被配置为将所述子率输出信号串行化,以获得具有所述第一时钟速率的中级速率输出信号,
其中,所述子率有限状态机(810)被配置为以所述第二时钟速率来更新所述子率内部状态。
18.根据权利要求1所述的比特序列生成器,其中,所述比特序列生成器包括状态机,所述状态机用于生成字流,所述字流中的每个字包括时间交织比特序列中的多个后续比特,所述状态机包括:
多个时钟寄存器(710),所述寄存器(710)包括对应的输入和对应的输出;以及
反馈电路(730),所述反馈电路(730)被耦合至所述寄存器(710)的输入和输出,并且被适配用以基于所述生成函数和所述寄存器的多个寄存器输出信号来将多个反馈信号提供给所述寄存器的输入,所述寄存器的输出指示所述寄存器的状态,
其中,所述状态机(700)被配置为使得由多个寄存器输出信号所定义的第一字包括时间交织比特序列的后续比特的第一集合,并且使得由多个寄存器输出信号所定义的后续第二字包括时间交织比特序列的后续比特的第二集合。
19.一种自动测试设备,所述自动测试设备包括根据权利要求1所述的比特序列生成器。
20.一种用于生成由生成函数和所述生成函数的初始状态所定义的比特序列的方法(900),包括:
生成(910)多个时间交织比特序列,其中,所述多个时间交织比特序列中的时间交织比特序列的比特是基于针对先前的时步所生成的至少一个比特、基于将要生成的比特序列的生成函数、基于所述生成函数的初始状态、并且独立于所述多个时间交织比特序列中的另一个所生成的时间交织比特序列针对当前时步而生成的(910);以及
重复地从每个所生成的时间交织比特序列连续选择(920)一个比特,以获得由所述生成函数和所述生成函数的初始状态所定义的比特序列;
其中,生成(910)多个时间交织比特序列包括针对所述多个时间交织比特序列中的每一个,通过针对每个时步选择由针对一时步所生成的状态比特所包括的时间交织比特序列(112,wm(j))的比特,从而用中级比特速率(f/M)以串行的方式提供时间交织比特序列(112,wm(j)),其中,所述中级比特速率(f/M)等于子比特速率(f/(RM))乘以在相同时步期间所生成的时间交织比特序列(112,wm(j))的预先定义的比特数目(R),
其中,基于子率转换矩阵(T)和子率初始状态(ym(0))来生成所述时间交织比特序列(112,wm(j)),其中,所述子率转换矩阵(T)和所述子率初始状态(ym(0))基于所述生成函数和所述生成函数的初始状态。
CN201080068440.0A 2010-08-03 2010-08-03 比特序列生成器 Active CN103098018B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2010/061310 WO2012016588A1 (en) 2010-08-03 2010-08-03 Bit sequence generator

Publications (2)

Publication Number Publication Date
CN103098018A CN103098018A (zh) 2013-05-08
CN103098018B true CN103098018B (zh) 2015-11-25

Family

ID=43806849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080068440.0A Active CN103098018B (zh) 2010-08-03 2010-08-03 比特序列生成器

Country Status (6)

Country Link
US (1) US9575726B2 (zh)
JP (1) JP2013534336A (zh)
KR (1) KR101402392B1 (zh)
CN (1) CN103098018B (zh)
TW (1) TW201214277A (zh)
WO (1) WO2012016588A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2717629C1 (ru) * 2019-10-08 2020-03-24 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Генератор случайной последовательности

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9575726B2 (en) * 2010-08-03 2017-02-21 Advantest Corporation Bit sequence generator and apparatus for calculating a sub-rate transition matrix and a sub-rate initial state for a state machine of a plurality of state machines
US8861725B2 (en) * 2012-07-10 2014-10-14 Infineon Technologies Ag Random bit stream generator with enhanced backward secrecy
US9588860B2 (en) * 2013-12-26 2017-03-07 Semtech Canada Corporation Systems and methods for random number generation using a fractional rate clock
RU2688751C2 (ru) * 2013-12-30 2019-05-22 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство согласования кодовой скорости полярного кода
CN103713880B (zh) * 2014-01-03 2017-02-22 浪潮(北京)电子信息产业有限公司 一种序列生成器及其设计方法
JP6323065B2 (ja) * 2014-02-26 2018-05-16 セイコーエプソン株式会社 マイクロコンピューター及び電子機器
CN103929278B (zh) * 2014-05-14 2017-06-06 中国电子科技集团公司第五十四研究所 一种基于交织器伪随机码的构造方法
US10700888B2 (en) 2018-08-06 2020-06-30 Macom Technology Solutions Holdings, Inc. CMOS quarter-rate multiplexer for high-speed serial links
CN111414149B (zh) * 2019-01-04 2022-03-29 瑞昱半导体股份有限公司 背景模型更新的方法与相关装置
CN111694546B (zh) * 2020-06-12 2021-07-06 成都海光集成电路设计有限公司 伪随机二进制序列码生成方法以及装置
US20220066498A1 (en) * 2020-08-31 2022-03-03 Stmicroelectronics International N.V. High throughput linear feedback shift register
CN115735191A (zh) * 2021-06-25 2023-03-03 京东方科技集团股份有限公司 随机序列生成的方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446683A (en) * 1993-04-06 1995-08-29 Hewlett-Packard Company Methods and apparatus for generating pseudo-random binary patterns
CN1285987A (zh) * 1997-11-10 2001-02-28 艾利森电话股份有限公司 用于生成一个伪随机数的设备及与之相关的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3539870B2 (ja) * 1998-07-14 2004-07-07 株式会社日立製作所 乱数生成システム及び乱数生成方法
US7194496B2 (en) * 2003-05-02 2007-03-20 Spirent Communications Of Rockville, Inc. System and method for producing functions for generating pseudo-random bit sequences
US7219113B2 (en) * 2003-09-26 2007-05-15 International Business Machines Corporation Pseudo-random binary sequence checker with automatic synchronization
US7613757B1 (en) * 2006-01-20 2009-11-03 L-3 Communications, Corp. System and method for parallel PN generation
JP4678335B2 (ja) * 2006-05-30 2011-04-27 Fdk株式会社 物理乱数生成装置
JP2009237249A (ja) * 2008-03-27 2009-10-15 Hitachi Displays Ltd 表示装置
WO2010034326A1 (en) 2008-09-24 2010-04-01 Verigy (Singapore) Pte. Ltd. State machine and generator for generating a description of a state machine feedback function
WO2010034327A1 (en) 2008-09-24 2010-04-01 Verigy (Singapore) Pte. Ltd. Apparatus and method for emulating a full-rate finite state machine
US9575726B2 (en) * 2010-08-03 2017-02-21 Advantest Corporation Bit sequence generator and apparatus for calculating a sub-rate transition matrix and a sub-rate initial state for a state machine of a plurality of state machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446683A (en) * 1993-04-06 1995-08-29 Hewlett-Packard Company Methods and apparatus for generating pseudo-random binary patterns
CN1285987A (zh) * 1997-11-10 2001-02-28 艾利森电话股份有限公司 用于生成一个伪随机数的设备及与之相关的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2717629C1 (ru) * 2019-10-08 2020-03-24 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Генератор случайной последовательности

Also Published As

Publication number Publication date
TW201214277A (en) 2012-04-01
JP2013534336A (ja) 2013-09-02
US9575726B2 (en) 2017-02-21
KR20130060275A (ko) 2013-06-07
CN103098018A (zh) 2013-05-08
US20150268933A1 (en) 2015-09-24
WO2012016588A1 (en) 2012-02-09
KR101402392B1 (ko) 2014-06-03

Similar Documents

Publication Publication Date Title
CN103098018B (zh) 比特序列生成器
US8880574B2 (en) State machine and generator for generating a description of a state machine feedback function
Panda et al. FPGA implementation of 8, 16 and 32 bit LFSR with maximum length feedback polynomial using VHDL
US10078493B2 (en) Secured pseudo-random number generator
Thomas et al. The LUT-SR family of uniform random number generators for FPGA architectures
KR20100127789A (ko) 디지털 제어 오실레이터를 기반으로한 디지털 난수 생성기
KR101332232B1 (ko) 유한체 연산을 이용한 암호화된 무작위 숫자 생성기
JPH09507110A (ja) 有限体反転
Masoodi et al. An analysis of linear feedback shift registers in stream ciphers
WO2013013480A1 (zh) 伪随机数生成装置和方法
Sewak et al. FPGA implementation of 16 bit BBS and LFSR PN sequence generator: A comparative study
JP2010531018A5 (zh)
Deshpande et al. Fast and efficient hardware implementation of HQC
US9619206B2 (en) Pseudo-random bit sequence generator
JP5670849B2 (ja) 擬似乱数生成装置、および、擬似乱数生成方法
KR100478974B1 (ko) 직렬 유한체 승산기
Babitha et al. FPGA based N-bit LFSR to generate random sequence number
JP3626105B2 (ja) 疑似ランダム信号発生回路
RU2427885C1 (ru) Быстродействующий генератор случайных перестановок и сочетаний
Pandian et al. Five decade evolution of feedback shift register: algorithms, architectures and applications
Sekhar et al. An Efficient Pseudo Random Number Generator for Cryptographic Applications
JP4436830B2 (ja) 構成可能なマルチステップ線形フィードバックシフトレジスタ
Li et al. An algorithm for constructing a minimal register with non-linear update generating a given sequence
MADHUPAVANI et al. Design of Random Number Generation Using 256 Bit LFSR in FPGA
Antonov Random number generator based on multiplicative convolution transform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ADVANTEST CORP.

Free format text: FORMER OWNER: ADVANTEST (CHINA) CO., LTD.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150506

Address after: Tokyo, Japan, Japan

Applicant after: ADVANTEST CORP

Address before: Singapore Singapore

Applicant before: Verigy Pte Ltd Singapore

C14 Grant of patent or utility model
GR01 Patent grant