CN115079999A - 随机数据生成电路及读写训练电路 - Google Patents
随机数据生成电路及读写训练电路 Download PDFInfo
- Publication number
- CN115079999A CN115079999A CN202210711838.6A CN202210711838A CN115079999A CN 115079999 A CN115079999 A CN 115079999A CN 202210711838 A CN202210711838 A CN 202210711838A CN 115079999 A CN115079999 A CN 115079999A
- Authority
- CN
- China
- Prior art keywords
- data
- flip
- flop
- dff
- shift register
- 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.)
- Pending
Links
Images
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C19/28—Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
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)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请实施例提供一种随机数据生成电路及读写训练电路,该随机数据生成电路包括:第一移位寄存器和第二移位寄存器;第一移位寄存器包括n个输出端Q1至Qn,第二移位寄存器包括n个输出端Qn+1至Q2n,每个输出端在时钟信号的一个时钟周期内输出1位数据;并转串电路,耦接输出端Q1至Q2n,用于将一个时钟周期内Q1至Q2n输出的并行数据转换成串行数据输出;第一移位寄存器的初始值和第二移位寄存器的初始值不同。本申请实施例可以通过两个移位寄存器并行生成数据,并通过并转串电路将两个移位寄存器生成的并行数据转换为串行数据输出。这样,时钟信号CLK2每次切换均可以输出至少两位数据,有助于提高数据的生成速度。
Description
技术领域
本申请实施例涉及半导体技术领域,尤其涉及一种随机数据生成电路及读写训练电路。
背景技术
数据存储电路用于存储数据,并向外部设备提供数据读写功能。为了保证数据读写功能正常,需要通过时钟信号CLK1和训练数据,对数据处理电路进行读写训练。其中,数据处理电路可以为内部存储器,例如,DDR(double data rate SDRAM)、SDRAM(synchronousdynamic random access memory,同步动态随机存取存储器)。
现有技术中,可以通过LFSR(linear feedback shift register,线性反馈移位寄存器)生成训练数据,以对内部存储器进行读写训练。该LFSR电路包括多个DFF(D typeflip-flop,D型触发器)。每个DFF都接入时钟信号CLK2,以在CLK2每切换一次时,其中一个触发器的输出数据作为生成的数据输出。
然而,上述LFSR电路生成数据的速度较低。
发明内容
本申请实施例提供一种随机数据生成电路及读写训练电路,以提高生成数据的速度。
一方面,本申请实施例提供一种随机数据生成电路,包括:
第一移位寄存器和第二移位寄存器,用于接收同一时钟信号;
所述第一移位寄存器包括n个输出端Q1至Qn,所述第二移位寄存器包括n个输出端Qn+1至Q2n,每个所述输出端在所述时钟信号的一个时钟周期内输出1位数据,所述n为大于或等于1的整数;
并转串电路,耦接所述第一移位寄存器的输出端和所述第二移位寄存器的输出端,用于将一个所述时钟周期内所述输出端Q1至Q2n输出的并行数据转换成串行数据输出;
所述第一移位寄存器的初始值和所述第二移位寄存器的初始值不同。
可选地,所述第一移位寄存器和所述第二移位寄存器相同。
可选地,所述第一移位寄存器和所述第二移位寄存器均包括m个触发器和m个数据处理电路,每一所述触发器的数据输入端对应连接至一个所述数据处理电路的输出端,每一所述触发器的触发输入端用于接收所述时钟信号,所述数据处理电路用于对至少一个所述触发器的输出数据进行逻辑处理,其中,所述第一移位寄存器中n个所述触发器的输出端分别作为所述第一移位寄存器的n个所述输出端,所述第二移位寄存器中n个所述触发器的输出端分别作为所述第二移位寄存器的n个所述输出端,m为大于或等于n的正整数,所述第一移位寄存器的初始值包括所述第一移位寄存器中的所述触发器的数据输入端的初始值,所述第二移位寄存器的初始值包括所述第二移位寄存器中的所述触发器的数据输入端的初始值。
可选地,所述m为8,所述n为4。
可选地,所述第一移位寄存器的8个所述触发器依次记为第1触发器至第8触发器,所述第一移位寄存器的8个所述数据处理电路依次记为第1数据处理电路至第8数据处理电路,所述第1触发器至所述第4触发器的输出端依次为所述输出端Q1至Q4;
所述第二移位寄存器的8个所述触发器依次记为第9触发器至第16触发器,所述第二移位寄存器的8个所述数据处理电路依次记为第9数据处理电路至第16数据处理电路,所述第9触发器至所述第12触发器的输出端依次为所述输出端Q5至Q8。
可选地,所述第1数据处理电路具有3个输入端,分别连接至所述第3触发器至第5触发器的输出端,用于对所述3个输入端接收的输入数据的异或处理;
所述第9数据处理电路具有3个输入端,分别连接至所述第11触发器至第13触发器的输出端,用于对所述3个输入端接收的输入数据进行异或处理。
可选地,所述第2数据处理电路具有3个输入端,分别连接至所述第4触发器至第6触发器的输出端,用于对所述3个输入端接收的输入数据进行异或处理;
所述第10数据处理电路具有3个输入端,分别连接至所述第12触发器至第14触发器的输出端,用于对所述3个输入端接收的输入数据进行异或处理。
可选地,所述第3数据处理电路具有4个输入端,分别连接至所述第1触发器,以及所述第5触发器至第7触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第11数据处理电路具有4个输入端,分别连接至所述第9触发器,以及所述第13触发器至第15触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
可选地,所述第4数据处理电路具有4个输入端,分别连接至所述第2触发器,以及所述第6触发器至第8触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第12数据处理电路具有4个输入端,分别连接至所述第10触发器,以及所述第14触发器至第16触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
可选地,所述第5数据处理电路具有4个输入端,分别连接至所述第4触发器、第5触发器,以及所述第7触发器、第8触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第13数据处理电路具有4个输入端,分别连接至所述第12触发器、第13触发器,以及所述第15触发器、第16触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
可选地,所述第6数据处理电路具有5个输入端,分别连接至所述第1触发器、第3触发器、所述第4触发器、所述第6触发器和所述第8触发器的输出端,用于对所述5个输入端接收到的输入数据进行异或处理;
所述第14数据处理电路具有5个输入端,分别连接至所述第9触发器、第11触发器、所述第12触发器、所述第14触发器和所述第16触发器的输出端,用于对所述5个输入端接收到的输入数据进行异或处理。
可选地,所述第7数据处理电路具有4个输入端,分别连接至所述第1触发器至所述第3触发器以及所述第7触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第15数据处理电路具有4个输入端,分别连接至所述第9触发器至所述第11触发器以及所述第15触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
可选地,所述第8数据处理电路具有4个输入端,分别连接至所述第2触发器至所述第4触发器以及所述第8触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第16数据处理电路具有4个输入端,分别连接至所述第10触发器至所述第12触发器以及所述第16触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
可选地,所述第一移位寄存器和所述第二移位寄存器输出的数据均以2(m-1)位为单位重复出现。
可选地,所述第9触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值和所述第5触发器的数据输入端的初始值的异或结果;
所述第10触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值、所述第2触发器的数据输入端的初始值和所述第6触发器的数据输入端的初始值的异或结果;
所述第11触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值、所述第2触发器的数据输入端的初始值、所述第3触发器的数据输入端的初始值和所述第7触发器的数据输入端的初始值的异或结果;
所述第12触发器的数据输入端的初始值是所述第2触发器的数据输入端的初始值、所述第3触发器的数据输入端的初始值、所述第4触发器的数据输入端的初始值和所述第8触发器的数据输入端的初始值的异或结果;
所述第13触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值、所述第3触发器的数据输入端的初始值和所述第4触发器的数据输入端的初始值的异或结果;
所述第14触发器的数据输入端的初始值是所述第2触发器的数据输入端的初始值和所述第4触发器的数据输入端的初始值的异或结果;
所述第15触发器的数据输入端的初始值是所述第3触发器的数据输入端的初始值;
所述第16触发器的数据输入端的初始值是所述第4触发器的数据输入端的初始值。
另一方面,本申请实施例提供一种读写训练电路,包括数据存储电路和前述随机数据生成电路,所述随机数据生成电路中的并转串电路与所述数据存储电路连接,用于将所述随机数据生成电路生成的数据输入到所述数据存储电路中进行读写训练。
可选地,所述数据存储电路为DDR5内部存储器。
本申请实施例提供的随机数据生成电路及读写训练电路,可以通过第一移位寄存器和第二移位寄存器并行生成数据,并通过并转串电路将两个第一移位寄存器和第二移位寄存器生成的并行数据转换为串行数据输出。这样,时钟信号CLK2每次切换均可以输出至少两位数据,有助于提高数据的生成速度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请实施例的实施例,并与说明书一起用于解释本申请实施例的原理。
图1是本申请实施例提供的一种LFSR电路的结构示意图;
图2是本申请实施例提供的图1所示的LFSR中的各触发器的数据输入端在不同时钟周期内的一种数据示意图;
图3是本申请实施例提供的图1所示的LFSR中的各触发器的数据输入端在不同时钟周期内的另一种数据示意图;
图4是本申请实施例提供的一种随机数据生成电路的结构示意图;
图5是本申请实施例提供的另一种随机数据生成电路的结构示意图;
图6至13是本申请实施例提供的一种第1数据处理电路至第8数据处理电路的结构示意图;
图14是本申请实施例提供的图5所示的第一移位寄存器各触发器的数据输入端在不同时钟周期内的数据示意图;
图15是本申请实施例提供的图5所示的第二移位寄存器各触发器的数据输入端在不同时钟周期内的数据示意图。
通过上述附图,已示出本申请实施例明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请实施例的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
图1是本申请实施例提供的一种LFSR电路的结构示意图。参照图1所示,LFSR电路中包括8个DFF:DFF_1至DFF_8,以及异或门X1至X3。其中,每个DFF均具有数据输入端D、触发输入端C和输出端Q,时钟信号CLK2接入每个DFF的触发输入端C。此外,每个DFF还对应有重置输入端,用于对DFF的数据输入端D的数据进行重置,由于本申请实施例不涉及对该重置输入端的操作,从而图1中并未示出。
其中,DFF_1的输出端Q与DFF_8的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_1的数据输入端D的数据输入到DFF_8的数据输入端D。
DFF_8的输出端Q与DFF_7的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_8的数据输入端D的数据输入到DFF_7的数据输入端D。
DFF_7的输出端Q与DFF_1的输出端Q均连接到异或门X1的输入端,该异或门X1的输出端与DFF_6的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_7的数据输入端D的数据和DFF_1的数据输入端D的数据之间的异或结果,输入到DFF_6的数据输入端D。
DFF_6的输出端Q与DFF_1的输出端Q均连接到异或门X2的输入端,该异或门X2的输出端与DFF_5的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_6的数据输入端D的数据和DFF_1的数据输入端D的数据之间的异或结果,输入到DFF_5的数据输入端D。
DFF_5的输出端Q与DFF_1的输出端Q均连接到异或门X3的输入端,该异或门X3的输出端与DFF_4的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_5的数据输入端D的数据和DFF_1的数据输入端D的数据之间的异或结果,输入到DFF_4的数据输入端D。
DFF_4的输出端Q与DFF_3的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_4的数据输入端D的数据输入到DFF_3的数据输入端D。
DFF_3的输出端Q与DFF_2的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_3的数据输入端D的数据输入到DFF_2的数据输入端D。
DFF_2的输出端Q与DFF_1的数据输入端D连接,以在时钟信号CLK2每次切换时,将DFF_2的数据输入端D的数据输入到DFF_1的数据输入端D。
在初始状态下,每个DFF的数据输入端D都有一个预设数据值,这些预设数据值可以随机设置,从而使的生成的数据也是随机数据。在生成训练数据时,在CLK2切换一次时,每个DFF的输入数据按照上述关系移位一次。其中,DFF_1的输出端Q输出的数据作为LFSR电路生成的数据。
从图1所示LFSR结构可以看出,在当前时钟周期内,DFF_8的数据输入端D的数据是上一时钟周期内DFF_1的数据输入端D的数据,DFF_7的数据输入端D的数据是上一时钟周期内DFF_8的数据输入端D的数据,DFF_6的数据输入端D的数据是上一时钟周期内DFF_1和DFF_7的数据输入端D的数据的异或结果,DFF_5的数据输入端D的数据是上一时钟周期内DFF_1和DFF_6的数据输入端D的数据的异或结果,DFF_4的数据输入端D的数据是上一时钟周期内DFF_1和DFF_5的数据输入端D的数据的异或结果,DFF_3的数据输入端D的数据是上一时钟周期内DFF_4的数据输入端D的数据,DFF_2的数据输入端D的数据是上一时钟周期内DFF_3的数据输入端D的数据,DFF_1的数据输入端D的数据是上一时钟周期内DFF_2的数据输入端D的数据。
按照上述关系可以确定图1所示的LFSR中的各个触发器的数据输入端D在任一时钟周期内的数据。
参照图2所示,C0可以为初始状态。在初始状态C0下,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据可以分别记为D1至D8。图2示出了其余时钟周期C1至C8内触发器的数据输入端D的数据与初始状态下的数据D1至D8之间的关系。每个时钟周期内各触发器的数据输入端D的数据均由上一时钟周期内各触发器的数据输入端D的数据决定。例如,对于C1内DFF_8,其数据输入端D的数据与上一时钟周期C0内DFF_1的数据输入端D的数据相同,又例如,对于C1内DFF_6,其存储的数据是C0内DFF_7和DFF_1的数据输入端D的数据的异或结果。如此,按照图2中的箭头表示的相邻时钟周期内各触发器的数据输入端D的数据之间的关系,可以得到以下C1至C8内各触发器的数据输入端D的数据。
在下一个时钟周期C1内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D2、D3、D4、D1^D5、D1^D6、D1^D7、D8和D1。其中,^为异或运算。
在下一个时钟周期C2内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D3、D4、D1^D5、D1^D6^D2、D1^D7^D2、D2^D8、D1和D2。
在下一个时钟周期C3内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D4、D1^D5、D1^D6^D2、D1^D7^D2^D3、D2^D8^D3、D1^D3、D2和D3。
在下一个时钟周期C4内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D1^D5、D1^D6^D2、D1^D7^D2^D3、D2^D8^D3^D4、D1^D3^D4、D2^D4、D3和D4。
在下一个时钟周期C5内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D1^D6^D2、D1^D7^D2^D3、D2^D8^D3^D4、D3^D4^D5、D2^D4^D1^D5、D3^D1^D5、D4和D1^D5。
在下一个时钟周期C6内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D1^D7^D2^D3、D2^D8^D3^D4、D3^D4^D5、D4^D5^D6、D3^D5^D6^D2、D4^D1^D6^D2、D1^D5和D1^D6^D2。
在下一个时钟周期C7内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D2^D8^D3^D4、D3^D4^D5、D4^D5^D6、D1^D5^D6^D7、D4^D6^D7^D3、D5^D7^D2^D3、D1^D6^D2和D1^D7^D2^D3。
在下一个时钟周期C8内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为D3^D4^D5、D4^D5^D6、D1^D5^D6^D7、D7^D8^D2^D6、D5^D7^D8^D4、D1^D6^D3^D4^D8、D1^D7^D2^D3和D2^D8^D3^D4。
从而,按照图2所示的9个时钟周期C0至C8,将DFF_1的数据输入端D的数据依次输出,得到9位输出数据:D1、D2、D3、D4、D1^D5、D1^D6^D2、D1^D7^D2^D3、D2^D8^D3^D4和D3^D4^D5。
可选地,还可以按照时钟信号的切换继续输出数据。图3是本申请实施例提供的图1所示的LFSR中的各触发器的数据输入端D在不同时钟周期内的另一种数据示意图。
参照图3所示,在时钟周期C9内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为:D4^D5^D6、D1^D5^D6^D7、D7^D8^D2^D6、D3^D7^D8、D1^D5^D6^D8、D1^D2^D4^D5^D7、D2^D8^D3^D4和D3^D4^D5。
在时钟周期C10内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为:D1^D5^D6^D7、D7^D8^D2^D6、D3^D7^D8、D1^D4^D8、D1^D7^D6^D2、D2^D3^D5^D6^D8、D3^D4^D5和D4^D5^D6。
在时钟周期C11内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为:D7^D8^D2^D6、D3^D7^D8、D1^D4^D8、D2^D5、D1^D2^D3^D7^D8、D1^D3^D4^D6^D7、D4^D5^D6、D1^D5^D6^D7。
在时钟周期C12内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为:D3^D7^D8、D1^D4^D8、D2^D5、D1^D3^D6、D1^D2^D3^D4^D8、D2^D4^D5^D7^D8、D1^D5^D6^D7、D7^D8^D2^D6。
在时钟周期C13内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为:D1^D4^D8、D2^D5、D1^D3^D6、D1^D2^D4^D7、D2^D3^D4^D5、D1^D5^D6^D7、D7^D8^D2^D6、D3^D7^D8。
在时钟周期C14内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为:D2^D5、D1^D3^D6、D1^D2^D4^D7、D1^D2^D3^D5^D8、D4^D5^D6^D7^D8、D1^D2^D4^D6^D7、D3^D7^D8、D1^D4^D8。
在时钟周期C15内,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据分别为:D1^D3^D6、D1^D2^D4^D7、D1^D2^D3^D5^D8、D2^D4^D6^D7^D8、D1^D4^D5^D6^D7、D5^D7^D2^D3^D8、D1^D4^D8、D2^D5。
可以看出,上述图1的LFSR电路仅具有一个输出端输出数据,使得生成数据的速度与时钟信号CLK2的频率一致,时钟信号CLK2切换一次会输出一位数据,生成数据的速度较低。
为了解决上述问题,本申请实施例可以通过两个移位寄存器并行生成数据,并通过并转串电路将两个移位寄存器生成的并行数据转换为串行数据输出。这样,时钟信号CLK2每次切换均可以输出至少两位数据,有助于提高数据的生成速度。
下面以具体地实施例对本申请实施例的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请实施例进行描述。
图4是本申请实施例提供的一种随机数据生成电路的结构示意图。请参照图4,随机数据生成电路100包括:第一移位寄存器101、第二移位寄存器102和并转串电路103,并转串电路103耦接第一移位寄存器101和第二移位寄存器102。
其中,第一移位寄存器101和第二移位寄存器102均具有n个输出端,第一移位寄存器101的n个输出端可以记为Q1至Qn。第二移位寄存器102的n个输出端可以记为Qn+1至Q2n,n为大于或等于1的整数。
上述第一移位寄存器101和第二移位寄存器102接收同一时钟信号CLK2,并在时钟信号CLK2每次切换时,第一移位寄存器101通过输出端Q1至Qn,将一个时钟周期内生成的数据并行输出并转串电路103,第二移位寄存器102通过输出端Qn+1至Q2n将一个时钟周期内生成的数据并行输出给并转串电路103。并转串电路103将两个移位寄存器的并行数据转换为串行数据输出,该并转串电路103输出的串行数据为随机数据生成电路100生成的数据。
需要说明的是,上述每个输出端在时钟信号CLK2的一个时钟周期内输出1位数据。从而,在一个时钟周期内,第一移位寄存器101和第二移位寄存器102分别输出n位数据,随机数据生成电路100在一个时钟周期内生成2n位数据。可以看出,图4所示的随机数据生成电路100生成数据的速度是图1所示的LFSR生成数据的速度的2n倍。
基于上述输出端,并转串电路103与第一移位寄存器101耦接可以为并转串电路103与第一移位寄存器101的输出端耦接,并转串电路103与第二移位寄存器102耦接可以为并转串电路103与第二移位寄存器102的输出端耦接。从而,并转串电路103可以将一个时钟周期内输出端Q1至Q2n输出的并行数据转换成串行数据输出。
当然,第一移位寄存器101的初始值和第二移位寄存器102的初始值可以不同。如此,第一移位寄存器101和第二移位寄存器102输出的数据不同,有助于提高随机数据生成电路100生成数据的多样性。由于第一移位寄存器101和第二移位寄存器102的数据输入端D的初始值可以是随机设置的,从而随机数据生成电路100生成的数据是随机数据。
上述第一移位寄存器101和第二移位寄存器102可以相同也可以不同,这里的相同或不同是指结构相同或不同。当第一移位寄存器101和第二移位寄存器102相同时,可以降低随机数据生成电路100的复杂度。因此,在生产随机数据生成电路100时,仅需要使用一种结构的移位寄存器,可以降低随机数据生成电路100的生产成本。并且,结构相同的移位寄存器也方便维护,有助于降低维护成本。
为了使第一移位寄存器101和第二移位寄存器102可以生成数据,可以通过触发器构成第一移位寄存器101和第二移位寄存器102。图5是本申请实施例提供的另一种随机数据生成电路100的结构示意图。参照图5所示,上述第一移位寄存器101和第二移位寄存器102均包括m个触发器,第一移位寄存器101的m个触发器可以记为DFF_1至DFF_m,第二移位寄存器102的m个触发器可以记为DFF_m+1至DFF_2m。从而,DFF_1至DFF_m中的任意n个触发器DFF_1至DFF_n的输出端Q,分别作为上述第一移位寄存器101的n个输出端Q1至Qn。DFF_m+1至DFF_2m中的任意n个触发器DFF_m+1至DFF_m+n的输出端Q,分别作为第二移位寄存器102的n个输出端Qn+1至Q2n,m为大于或等于n的正整数。
需要说明是,由于第一移位寄存器101包括m个触发器,那么,第一移位寄存器101的初始值包括第一移位寄存器101中的m个触发器的的数据输入端m个初始值。同理,第二移位寄存器102的初始值包括第二移位寄存器102中的m个触发器的数据输入端D的m个初始值。
此外,参照图5所示,上述第一移位寄存器101还包括m个数据处理电路,同理,第二移位寄存器102还包括m个数据处理电路。每一触发器的数据输入端D对应连接至一个数据处理电路的输出端,每一触发器的触发输入端C用于接收时钟信号CLK2,以将输出端的数据更新数据输入端的数据。
基于图5所示的随机数据生成电路100,其中的每个触发器用于在时钟信号CLK2的一个时钟周期内输出一位数据,从而,在一个时钟周期内,第一移位寄存器101可以通过Q1至Qn输出n位数据,第二移位寄存器102可以通过Qn+1至Q2n输出n位数据,以使随机数据生成电路100可以输出2n位数据。
上述数据处理电路用于对至少一个触发器的输出数据进行逻辑处理,其输入端可以与任意一个或多个触发器的输出端Q连接。这里的逻辑处理可以为任意逻辑处理,数据处理电路的输出数据和输入数据之间的关系可以是灵活的,以使数据处理电路的输出数据与数据处理电路1012的输入数据虽然不同但相关联。这样,可以提高数据处理电路的输出数据的多样性,进而提高随机数据生成电路100生成的数据的多样性。
为了使上述数据处理电路实现上述逻辑处理,数据处理电路可以包括一个或多个任意逻辑门,这些逻辑门以任意方式连接。例如,数据处理电路可以包括但不限于以下至少一种逻辑门:同或门、与门、异或门、或门等。当数据处理电路包括的逻辑门不同,和/或逻辑门的连接方式不同时,可以使数据处理电路实现不同的逻辑处理。例如,当数据处理电路是异或门级联得到的时,数据处理电路可以用于判断触发器的输出数据是否相同,如果相同,则可以输出高电平信号。如果不相同,则可以生成低电平信号。
可以理解的是,随逻辑门的数量增多以及连接关系的复杂度增大,数据处理电路的输出数据的多样性提高。但是,逻辑门越多,和/或连接关系越复杂,可能会导致数据处理电路的运算复杂度较高,处理时长较大,处理效率较低,进而导致生成数据的速度较低。基于此,为了在运算复杂度和多样化之间平衡,可以通过上述异或门级联得到数据处理电路,异或门级联不仅可以保证运算复杂度相对较小,还可以适当的提高数据多样性。
上述并转串电路103可以设置有2n个输入端,并且这2n个输入端分别与第一移位寄存器101中的n个输出端Q1至Qn、第二移位寄存器102的n个输出端Qm+1至Qm+n连接。如此,第一移位寄存器101的n个输出端Q1至Qn输出的并行数据,以及,第二移位寄存器102的n个输出端Qm+1至Qm+n生成的并行数据,可以通过该连接输入到并转串电路103中,以使并转串电路103将其转换为串行数据输出。
综上所述,在上述随机数据生成电路100生成数据的过程中,首先,在时钟信号CLK2每次切换之后,第一移位寄存器101中的各个触发器从与自身数据输入端D连接的输出端接收数据,并将数据更新到自身的数据输入端D,并且,第二移位寄存器102中的各个触发器从与自身数据输入端D连接的输出端接收数据,并将数据更新到自身的数据输入端D,这些输入数据是数据处理电路的输出数据,并且,第一移位寄存器101的n个触发器DFF_1至DFF_n通过输出端Q1至Qn,将DFF_1至DFF_n的数据输入端D的数据并行输出给并转串电路103,以及,第二移位寄存器102的n个触发器DFF_m+1至DFF_m+n通过输出端Qm+1至Qm+n,将DFF_m+1至DFF_m+n的数据输入端D的数据并行输出给并转串电路103;然后,并转串电路103将接收到的2n位并行数据转换为串行数据输出。
需要说明的是,本申请实施例的上述n和m可以根据实际应用场景灵活选取。当n不同时,生成数据的速度不同,从而可以通过调整n以灵活的调整数据的生成速度。当m不同时,随机数据生成电路100的尺寸不同,从而可以通过调整m以灵活的调整随机数据生成电路100的尺寸。
可选地,上述m可以为8,n可以为4。也就是说,图5所示的第一移位寄存器101和第二移位寄存器102均由8个触发器构成,那么随机数据生成电路100可以由16个触发器构成。并且第一移位寄存器101的其中4个触发器的输出端可以作为第一移位寄存器101的输出端,第二移位寄存器102的其中4个触发器的输出端可以作为第二移位寄存器102的输出端。如此,相较于图1所示的LFSR,可以在时钟信号CLK2的一个时钟周期内输出8位数据,使生成数据的速度提高8倍。
可选地,当上述m为8,n为4时,第一移位寄存器101的8个触发器依次记为第1触发器DFF_1至第8触发器DFF_8,第一移位寄存器101的8个数据处理电路依次记为第1数据处理电路至第8数据处理电路。第1触发器DFF_1至第4触发器DFF_4的输出端Q依次为输出端Q1至Q4。
相应地,第二移位寄存器102的8个触发器依次记为第9触发器DFF_9至第16触发器DFF_16,第二移位寄存器102的8个数据处理电路依次记为第9数据处理电路至第16数据处理电路。第9触发器DFF_9至第12触发器DFF_12的输出端Q依次为输出端Q5至Q8。
可选地,第1数据处理电路具有3个输入端,图6是本申请实施例提供的一种第1数据处理电路的结构示意图。参照图6所示,第1数据处理电路分别连接至第3触发器DFF_3至第5触发器DFF_5的输出端Q,用于对3个输入端接收的输入数据的异或处理。也就是说,在时钟信号CLK2每次切换时,第1数据处理电路对第3触发器DFF_3至第5触发器DFF_5的输出数据进行异或处理,异或处理得到的数据输入到第1触发器DFF_1的数据输入端D。
参照图6所示,上述第1数据处理电路由两个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第3触发器DFF_3的输出端Q和第4触发器DFF_4的输出端Q,另一异或门X2的两个输入端分别连接异或门X1的输出端和第5触发器DFF_5的输出端Q。X2的输出端连接DFF_1的数据输入端D。
本申请实施例可以通过第1数据处理电路,将DFF_3、DFF_4和DFF_5的数据输入端D的数据的异或结果更新到DFF_1的数据输入端D,以使DFF_1的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_1的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图6中的DFF_1的数据输入端D在一个时钟周期即可达到图1中的DFF_1的数据输入端D在8个时钟周期达到的状态,如此,在随机数据生成电路100有8个输出端时,DFF_1输出的数据是图1的DFF_1每隔8个时钟周期输出的数据,中间间隔的7个时钟周期输出的数据由其余7个输出端输出。
同理,第9数据处理电路具有3个输入端,分别连接至第11触发器至第13触发器的输出端,用于对3个输入端接收的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第9数据处理电路对第11触发器DFF_11至第13触发器DFF_13的输出数据进行异或处理,异或处理得到的数据输入到第9触发器DFF_9的数据输入端D。第9数据处理电路的结构和连接关系可以参照图6所示的结构和连接关系,第9数据处理电路对第9触发器DFF_9的数据输入端D的更新是一样的原理,在此不再赘述。
可选地,第2数据处理电路具有3个输入端,图7是本申请实施例提供的一种第2数据处理电路的结构示意图。参照图7所示,第2数据处理电路分别连接至第4触发器至第6触发器的输出端,用于对3个输入端接收的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第2数据处理电路对第4触发器DFF_4至第6触发器DFF_6的输出数据进行异或处理,异或处理得到的数据输入到第2触发器DFF_2的数据输入端D。
参照图7所示,上述第2数据处理电路由两个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第4触发器DFF_4的输出端Q和第5触发器DFF_5的输出端Q,另一异或门X2的两个输入端分别连接异或门X1的输出端和第6触发器DFF_6的输出端Q,X2的输出端连接DFF_2的数据输入端D。
本申请实施例可以通过第2数据处理电路,将DFF_4、DFF_5和DFF_6的数据输入端D的数据的异或结果更新到DFF_2的数据输入端D,以使DFF_2的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_2的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图7中的DFF_2的数据输入端D在一个时钟周期即可达到图1中的DFF_2的数据输入端D在8个时钟周期达到的状态,如此,在随机数据生成电路100有8个输出端时,DFF_2输出的数据是图1中的DFF_2每隔8个时钟周期输出的数据,中间间隔的7个时钟周期输出的数据由其余7个输出端输出。
同理,第10数据处理电路具有3个输入端,分别连接至第12触发器至第14触发器的输出端,用于对3个输入端接收的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第10数据处理电路对第12触发器DFF_12至第14触发器DFF_14的输出数据进行异或处理,异或处理得到的数据输入到第10触发器DFF_10的数据输入端D。第10数据处理电路的结构和连接关系可以参照图7所示的结构和连接关系,第10数据处理电路对第10触发器DFF_10的数据输入端D的更新是一样的原理,在此不再赘述。
可选地,第3数据处理电路具有4个输入端,图8是本申请实施例提供的一种第3数据处理电路的结构示意图。参照图8所示,第3数据处理电路分别连接至第1触发器,以及第5触发器至第7触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第3数据处理电路对第1触发器DFF_1,以及第5触发器DFF_5至第7触发器DFF_7的输出数据进行异或处理,异或处理得到的数据输入到第3触发器DFF_3的数据输入端D。
参照图8所示,上述第3数据处理电路由三个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第1触发器DFF_1的输出端Q和第5触发器DFF_5的输出端Q,一个异或门X2的两个输入端分别连接第6触发器DFF_6的输出端Q和第7触发器DFF_7的输出端Q,异或门X3的两个输入端分别连接异或门X1的输出端和X2的输出端,异或门X3的输出端连接DFF_3的数据输入端D。
本申请实施例可以通过第3数据处理电路,将DFF_1、DFF_5至DFF_7的数据输入端D的数据的异或结果更新到DFF_3的数据输入端D,以使DFF_3的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_3的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图8中的DFF_3的数据输入端D在一个时钟周期即可达到图1中的DFF_3的数据输入端D在8个时钟周期达到的状态,如此,在随机数据生成电路100有8个输出端时,DFF_3输出的数据是图1中的DFF_3每隔8个时钟周期输出的数据,中间间隔的7个时钟周期输出的数据由其余7个输出端输出。
同理,第11数据处理电路具有4个输入端,分别连接至第9触发器,以及第13触发器至第15触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第11数据处理电路对第9触发器DFF_9,以及第13触发器至第15触发器的输出数据进行异或处理,异或处理得到的数据输入到第11触发器DFF_11的数据输入端D。第11数据处理电路的结构和连接关系可以参照图8所示的结构和连接关系,第11数据处理电路对第11触发器DFF_11的数据输入端D的更新是一样的原理,在此不再赘述。
可选地,第4数据处理电路具有4个输入端,图9是本申请实施例提供的一种第4数据处理电路的结构示意图。参照图9所示,第4数据处理电路分别连接至第2触发器,以及第6触发器至第8触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第4数据处理电路对第2触发器DFF_2,以及第6触发器DFF_6至第8触发器DFF_8的输出数据进行异或处理,异或处理得到的数据输入到第4触发器DFF_4的数据输入端D。
参照图9所示,上述第4数据处理电路由三个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第2触发器DFF_2的输出端Q和第6触发器DFF_6的输出端Q,一个异或门X2的两个输入端分别连接第7触发器DFF_7的输出端Q和第8触发器DFF_8的输出端Q,异或门X3的两个输入端分别连接异或门X1的输出端和X2的输出端,异或门X3的输出端连接DFF_4的数据输入端D。
本申请实施例可以通过第4数据处理电路,将DFF_2、DFF_6至DFF_8的数据输入端D的数据的异或结果更新到DFF_4的数据输入端D,以使DFF_4的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_4的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图9中的DFF_4的数据输入端D在一个时钟周期即可达到图1中的DFF_4的数据输入端D在8个时钟周期达到的状态,如此,在随机数据生成电路100有8个输出端时,DFF_4输出的数据是图1中的DFF_4每隔8个时钟周期输出的数据,中间间隔的7个时钟周期输出的数据由其余7个输出端输出。
同理,第12数据处理电路具有4个输入端,分别连接至第10触发器,以及第14触发器至第16触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第12数据处理电路对第10触发器DFF_10,以及第14触发器DFF_14至第16触发器DFF_16的输出数据进行异或处理,异或处理得到的数据输入到第12触发器DFF_12的数据输入端D。第12数据处理电路的结构和连接关系可以参照图9所示的结构和连接关系,第12数据处理电路对第12触发器DFF_12的数据输入端D的更新是一样的原理,在此不再赘述。
可选地,第5数据处理电路具有4个输入端,图10是本申请实施例提供的一种第5数据处理电路的结构示意图。参照图10所示,第5数据处理电路分别连接至第4触发器、第5触发器,以及第7触发器、第8触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第5数据处理电路对第4触发器DFF_4,以及第5触发器DFF_5、第7触发器DFF_7和第8触发器的输出数据进行异或处理,异或处理得到的数据输入到第5触发器DFF_5的数据输入端D。
参照图10所示,上述第5数据处理电路由三个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第4触发器DFF_4的输出端Q和第5触发器DFF_5的输出端Q,一个异或门X2的两个输入端分别连接第7触发器DFF_7的输出端Q和第8触发器DFF_8的输出端Q,异或门X3的两个输入端分别连接异或门X1的输出端和X2的输出端,异或门X3的输出端连接DFF_5的数据输入端D。
本申请实施例可以通过第5数据处理电路,将DFF_4、DFF_5、DFF_7和DFF_8的数据输入端的数据的异或结果输入到DFF_5的数据输入端D,以使DFF_5的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_5的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图10中的DFF_5的数据输入端D在一个时钟周期即可达到图1中的DFF_5的数据输入端D在8个时钟周期达到的状态,DFF_5的数据输入端D的数据不作为第一移位寄存器101的输出数据。
同理,第13数据处理电路具有4个输入端,分别连接至第12触发器、第13触发器,以及第15触发器、第16触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第13数据处理电路对第12触发器、第13触发器,以及第15触发器、第16触发器的输出数据进行异或处理,异或处理得到的数据输入到第13触发器DFF_13的数据输入端D。第13数据处理电路的结构和连接关系可以参照图10所示的结构和连接关系,第13数据处理电路对第13触发器DFF_13的数据输入端D的更新是一样的原理,在此不再赘述。
可选地,第6数据处理电路具有5个输入端,图11是本申请实施例提供的一种第6数据处理电路的结构示意图。参照图11所示,第6数据处理电路分别连接至第1触发器、第3触发器、第4触发器、第6触发器和第8触发器的输出端Q,用于对5个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第6数据处理电路对第1触发器、第3触发器、第4触发器、第6触发器和第8触发器的输出数据进行异或处理,异或处理得到的数据输入到第6触发器DFF_6的数据输入端D。
参照图11所示,上述第6数据处理电路由四个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第3触发器DFF_3的输出端Q和第4触发器DFF_4的输出端Q,一个异或门X2的两个输入端分别连接第6触发器DFF_6的输出端Q和第8触发器DFF_8的输出端Q,异或门X3的两个输入端分别连接异或门X1的输出端进而第1触发器DFF_1的输出端Q,异或门X4的两个输入端分别连接异或门X2的输出端和X3的输出端,异或门X4的输出端连接DFF_6的数据输入端D。
本申请实施例可以通过第6数据处理电路,将DFF_1、DFF_3、DFF_4、DFF_6和DFF_8的数据输入端D的数据的异或结果更新到DFF_6的数据输入端D,以使DFF_6的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_6的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图11中的DFF_6的数据输入端D在一个时钟周期即可达到图1中的DFF_6的数据输入端D在8个时钟周期达到的状态,DFF_6的数据输入端的数据不作为第一移位寄存器101的输出数据。
同理,第14数据处理电路具有5个输入端,分别连接至第9触发器、第11触发器、第12触发器、第14触发器和第16触发器的输出端,用于对5个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第14数据处理电路对第9触发器、第11触发器、第12触发器、第14触发器和第16触发器的输出数据进行异或处理,异或处理得到的数据输入到第14触发器DFF_14的数据输入端D。第14数据处理电路的结构和连接关系可以参照图11所示的结构和连接关系,第14数据处理电路对第14触发器DFF_14的数据输入端D的更新是一样的原理,在此不再赘述。
可选地,第7数据处理电路具有4个输入端,图12是本申请实施例提供的一种第7数据处理电路的结构示意图。参照图12所示,分别连接至第1触发器至第3触发器以及第7触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第7数据处理电路对第1触发器至第3触发器以及第7触发器的输出数据进行异或处理,异或处理得到的数据输入到第7触发器DFF_7的数据输入端D。
参照图12所示,上述第7数据处理电路由三个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第1触发器DFF_1的输出端Q和第2触发器DFF_2的输出端Q,一个异或门X2的两个输入端分别连接第3触发器DFF_3的输出端Q和第7触发器DFF_7的输出端Q,异或门X3的两个输入端分别连接异或门X1的输出端和X2的输出端,异或门X3的输出端连接DFF_7的数据输入端D。
本申请实施例可以通过第7数据处理电路,将DFF_1至DFF_3和DFF_7的数据输入端D的数据的异或结果更新到DFF_7的数据输入端D,以使DFF_7的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_7的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图12中的DFF_7的数据输入端D在一个时钟周期即可达到图1中的DFF_7的数据输入端D在8个时钟周期达到的状态,DFF_7的数据输入端D的数据不作为第一移位寄存器101的输出数据。
同理,第15数据处理电路具有4个输入端,分别连接至第9触发器至第11触发器以及第15触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第15数据处理电路对第9触发器至第11触发器以及第15触发器的输出数据进行异或处理,异或处理得到的数据输入到第15触发器DFF_15的数据输入端D。第15数据处理电路的结构和连接关系可以参照图12所示的结构和连接关系,第15数据处理电路对第15触发器DFF_15的数据输入端D的更新是一样的原理,在此不再赘述。
可选地,第8数据处理电路具有4个输入端,图13是本申请实施例提供的一种第8数据处理电路的结构示意图。参照图13所示,分别连接至第2触发器至第4触发器以及第8触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第8数据处理电路对第2触发器至第4触发器以及第8触发器的输出数据进行异或处理,异或处理得到的数据输入到第8触发器DFF_8的数据输入端D。
参照图13所示,上述第8数据处理电路由三个异或门级联得到。其中,一个异或门X1的两个输入端分别连接第2触发器DFF_2的输出端Q和第3触发器DFF_3的输出端Q,一个异或门X2的两个输入端分别连接第4触发器DFF_4的输出端Q和第8触发器DFF_8的输出端Q,异或门X3的两个输入端分别连接异或门X1的输出端和X2的输出端,异或门X3的输出端连接DFF_8的数据输入端D。
本申请实施例可以通过第8数据处理电路,将DFF_2至DFF_4和DFF_8的数据输入端D的数据的异或结果更新到DFF_8的数据输入端D,以使DFF_8的数据输入端D的数据在一个时钟周期内的更新,与图1中的LFSR中的DFF_8的数据输入端D的数据在8个时钟周期内的更新一致。也就是说,图13中的DFF_8的数据输入端D在一个时钟周期即可达到图1中的DFF_8的数据输入端D在8个时钟周期达到的状态,DFF_8的数据输入端D的数据不作为第一移位寄存器101的输出数据。
同理,第16数据处理电路具有4个输入端,分别连接至第10触发器至第12触发器以及第16触发器的输出端,用于对4个输入端接收到的输入数据进行异或处理。也就是说,在时钟信号CLK2每次切换时,第8数据处理电路对第10触发器至第12触发器以及第8触发器的输出数据进行异或处理,异或处理得到的数据输入到第16触发器DFF_16的数据输入端D。图13中的DFF_8在一个时钟周期即可达到图1中的DFF_8的数据输入端D在8个时钟周期达到的状态,第16数据处理电路对第16触发器DFF_16的数据输入端D的更新是一样的原理,在此不再赘述。
按照上述图5至图13所示的连接关系可以确定图5所示的各个触发器的数据输入端D在任一时钟周期内的数据。图14是本申请实施例提供的图5所示的第一移位寄存器101各触发器的数据输入端D在不同时钟周期内的数据示意图,图15是本申请实施例提供的图5所示的第二移位寄存器102各触发器的数据输入端D在不同时钟周期内的数据示意图。可以理解的是,图14和图15所示的数据是m=8,n=4的情况下的输出数据。
参照图14所示,C0可以为初始状态。在初始状态C0下,第1触发器DFF_1至第8触发器DFF_8的数据输入端D的数据可以分别记为D1至D8。图14示出了时钟周期C1内触发器DFF_1至DFF_8的数据输入端D的数据与初始状态C0下的数据D1至D8之间的关系。
从图6所示的连接关系中可以看出,在当前时钟周期内,DFF_1的数据输入端D的数据是上一时钟周期内DFF_3至DFF_5的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第1触发器DFF_1的数据输入端D的数据为D3^D4^D5。
从图7所示的连接关系中可以看出,在当前时钟周期内,DFF_2的数据输入端D的数据是上一时钟周期内DFF_4至DFF_6的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第2触发器DFF_2的数据输入端D的数据为D4^D5^D6。
从图8所示的连接关系中可以看出,在当前时钟周期内,DFF_3的数据输入端D的数据是上一时钟周期内DFF_1、DFF_5至DFF_7的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第3触发器DFF_3的数据输入端D的数据为D1^D5^D6^D7。
从图9所示的连接关系中可以看出,在当前时钟周期内,DFF_4的数据输入端D的数据是上一时钟周期内DFF_2、DFF_6至DFF_8的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第4触发器DFF_4的数据输入端D的数据为D7^D8^D2^D6。
从图10所示的连接关系中可以看出,在当前时钟周期内,DFF_5的数据输入端D的数据是上一时钟周期内DFF_4、DFF_5、DFF_7和DFF_8的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第5触发器DFF_5的数据输入端D的数据为D4^D5^D7^D8。
从图11所示的连接关系中可以看出,在当前时钟周期内,DFF_6的数据输入端D的数据是上一时钟周期内DFF_1、DFF_3、DFF_4、DFF_6和DFF_8的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第6触发器DFF_6的数据输入端D的数据为D1^D3^D4^D6^D8。
从图12所示的连接关系中可以看出,在当前时钟周期内,DFF_7的数据输入端D的数据是上一时钟周期内DFF_1至DFF_3和DFF_7的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第7触发器DFF_7的数据输入端D的数据为D1^D2^D3^D7。
从图13所示的连接关系中可以看出,在当前时钟周期内,DFF_8的数据输入端D的数据是上一时钟周期内DFF_2至DFF_4和DFF_8的数据输入端D的数据之间的异或结果。从而,在图14所示的下一个时钟周期C1内,第8触发器DFF_8的数据输入端D的数据为D2^D8^D3^D4。
比较图14、图2所示的各触发器的数据输入端的数据,图14所示的时钟周期C1内各触发器DFF_1至DFF_8的数据输入端D的数据,与图2所示的时钟周期C8内各触发器DFF_1至DFF_8的数据输入端D的数据一致。也就是说,图5至13所示的第一移位寄存器101可以通过一个时钟周期,达到图1所示的LFSR在8个时钟周期的状态。也可以理解为,本申请实施例的随机数据生成电路100可以通过数据处理电路,建立了图2中的C8内各触发器的数据输入端D的数据和C0内各触发器的数据输入端D的数据之间的关系,从而实现了超前8个时钟周期更新数据以及输出数据。
具体地,参照图2所示,图1中的LFSR电路通过DFF_1输出的数据依次为:D1、D2、D3、D4、D1^D5、D1^D6^D2、D1^D7^D2^D3和D2^D8^D3^D4。
参照图15所示,根据DFF_1至DFF_8的数据输入端D的初始值,将第二移位寄存器102中各触发器DFF_9至DFF_16的数据输入端D在C0的初始值设置为:D1^D5、D1^D6^D2、D1^D7^D2^D3、D2^D8^D3^D4、D1^D3^D4、D2^D4、D3和D4。从而,参照图14所示,C0状态下进行时钟切换之后,第一移位寄存器101通过DFF_1至DFF_4输出的数据依次为D1、D2、D3和D4。参照15所示,C0状态下进行时钟切换之后,第二移位寄存器102通过DFF_9至DFF_12输出的数据为D1^D5、D1^D6^D2、D1^D7^D2^D3、D2^D8^D3^D4。从而,随机数据生成电路100在C0状态下进行时钟切换之后输出的数据分别为:D1、D2、D3、D4、D1^D5、D1^D6^D2、D1^D7^D2^D3、D2^D8^D3^D4,与图2所示的LFSR电路的DFF_1在C0至C7状态下进行时钟切换输出的数据一致。
参照图3所示,在C8至C15状态下进行时钟切换之后,图1中的LFSR电路通过DFF_1输出的数据依次为:D3^D4^D5、D4^D5^D6、D1^D5^D6^D7、D7^D8^D2^D6、D3^D7^D8、D1^D4^D8、D2^D5和D1^D3^D6。
参照图14所示,在C1状态下进行时钟切换之后,第一移位寄存器101通过DFF_1至DFF_4输出的数据为D3^D4^D5、D4^D5^D6、D1^D5^D6^D7和D7^D8^D2^D6。参照图15所示,第二移位寄存器102通过DFF_9至DFF_12输出的数据为D3^D7^D8、D1^D4^D8、D2^D5和D1^D3^D6。从而,随机数据生成电路100在C0状态下进行时钟切换之后输出的数据分别为:D3^D4^D5、D4^D5^D6、D1^D5^D6^D7、D7^D8^D2^D6、D3^D7^D8、D1^D4^D8、D2^D5和D1^D3^D6,与图3所示的DFF_1在C8至C15状态下进行时钟切换之后输出的数据一致。
可以将图14和15中C1的状态理解为随机数据生成电路100的一个新的初始状态,以进行下一个时钟周期的更新。按照这样的关系可以不断的输出数据,并且两者输出的数据顺序始终相同。
综上所述,相较于图1所示的LFSR,图5至图13所示的连接关系对应的随机数据生成电路100中包括16个触发器,并且通过DFF_1至DFF_4,以及DFF_9至DFF_16可以以8倍的速度生成特征相同的数据。
需要说明是的,由于本申请实施例的随机数据生成电路100中使用m个触发器,每个触发器存储一位数据,那么m个触发器的数据输入端D的数据最多可以为2m个。那么,两个移位寄存器输出的数据以2m位为单元重复出现,那么,第一移位寄存器101和第二移位寄存器102输出的数据均以2(m-1)位为单位重复出现。也就是说,对于大于或等于1且小于或等于m-1的正整数i,当第一移位寄存器101以某一初始值进行随机数据的生成时,第一移位寄存器101输出的第i位数据与第一移位寄存器101输出的第i+j×2m-1位数据相同。同理,当第二移位寄存器102以某一初始值进行随机数据的生成时,第二移位寄存器102输出的第i位数据与第二移位寄存器102输出的第i+j×2m-1位数据相同,j为大于或等于1的正整数。
基于上述随机数据生成电路100的实施例,本申请实施例还提供了一种读写训练电路,包括数据存储电路和前述随机数据生成电路100。随机数据生成电路100中的并转串电路103与数据存储电路连接,用于将随机数据生成电路100生成的数据输入到数据存储电路中进行读写训练。
可选地,所述数据存储电路为DDR5内部存储器。
本申请实施例提供的随机数据生成电路100可以提高生成数据的速度,进而提高对数据存储电路的训练速度和训练效率,节约时间。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。
Claims (17)
1.一种随机数据生成电路,其特征在于,包括:
第一移位寄存器和第二移位寄存器,用于接收同一时钟信号;
所述第一移位寄存器包括n个输出端Q1至Qn,所述第二移位寄存器包括n个输出端Qn+1至Q2n,每个所述输出端在所述时钟信号的一个时钟周期内输出1位数据,所述n为大于或等于1的整数;
并转串电路,耦接所述第一移位寄存器的输出端和所述第二移位寄存器的输出端,用于将一个所述时钟周期内所述输出端Q1至Q2n输出的并行数据转换成串行数据输出;
所述第一移位寄存器的初始值和所述第二移位寄存器的初始值不同。
2.根据权利要求1所述的随机数据生成电路,其特征在于,所述第一移位寄存器和所述第二移位寄存器相同。
3.根据权利要求2所述的随机数据生成电路,其特征在于,所述第一移位寄存器和所述第二移位寄存器均包括m个触发器和m个数据处理电路,每一所述触发器的数据输入端对应连接至一个所述数据处理电路的输出端,每一所述触发器的触发输入端用于接收所述时钟信号,所述数据处理电路用于对至少一个所述触发器的输出数据进行逻辑处理,其中,所述第一移位寄存器中n个所述触发器的输出端分别作为所述第一移位寄存器的n个所述输出端,所述第二移位寄存器中n个所述触发器的输出端分别作为所述第二移位寄存器的n个所述输出端,m为大于或等于n的正整数,所述第一移位寄存器的初始值包括所述第一移位寄存器中的所述触发器的数据输入端的初始值,所述第二移位寄存器的初始值包括所述第二移位寄存器中的所述触发器的数据输入端的初始值。
4.根据权利要求3所述的随机数据生成电路,其特征在于,所述m为8,所述n为4。
5.根据权利要求4所述的随机数据生成电路,其特征在于,所述第一移位寄存器的8个所述触发器依次记为第1触发器至第8触发器,所述第一移位寄存器的8个所述数据处理电路依次记为第1数据处理电路至第8数据处理电路,所述第1触发器至所述第4触发器的输出端依次为所述输出端Q1至Q4;
所述第二移位寄存器的8个所述触发器依次记为第9触发器至第16触发器,所述第二移位寄存器的8个所述数据处理电路依次记为第9数据处理电路至第16数据处理电路,所述第9触发器至所述第12触发器的输出端依次为所述输出端Q5至Q8。
6.根据权利要求5所述的随机数据生成电路,其特征在于,所述第1数据处理电路具有3个输入端,分别连接至所述第3触发器至第5触发器的输出端,用于对所述3个输入端接收的输入数据的异或处理;
所述第9数据处理电路具有3个输入端,分别连接至所述第11触发器至第13触发器的输出端,用于对所述3个输入端接收的输入数据进行异或处理。
7.根据权利要求5所述的随机数据生成电路,其特征在于,所述第2数据处理电路具有3个输入端,分别连接至所述第4触发器至第6触发器的输出端,用于对所述3个输入端接收的输入数据进行异或处理;
所述第10数据处理电路具有3个输入端,分别连接至所述第12触发器至第14触发器的输出端,用于对所述3个输入端接收的输入数据进行异或处理。
8.根据权利要求5所述的随机数据生成电路,其特征在于,所述第3数据处理电路具有4个输入端,分别连接至所述第1触发器,以及所述第5触发器至第7触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第11数据处理电路具有4个输入端,分别连接至所述第9触发器,以及所述第13触发器至第15触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
9.根据权利要求5所述的随机数据生成电路,其特征在于,所述第4数据处理电路具有4个输入端,分别连接至所述第2触发器,以及所述第6触发器至第8触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第12数据处理电路具有4个输入端,分别连接至所述第10触发器,以及所述第14触发器至第16触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
10.根据权利要求5所述的随机数据生成电路,其特征在于,所述第5数据处理电路具有4个输入端,分别连接至所述第4触发器、第5触发器,以及所述第7触发器、第8触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第13数据处理电路具有4个输入端,分别连接至所述第12触发器、第13触发器,以及所述第15触发器、第16触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
11.根据权利要求5所述的随机数据生成电路,其特征在于,所述第6数据处理电路具有5个输入端,分别连接至所述第1触发器、第3触发器、所述第4触发器、所述第6触发器和所述第8触发器的输出端,用于对所述5个输入端接收到的输入数据进行异或处理;
所述第14数据处理电路具有5个输入端,分别连接至所述第9触发器、第11触发器、所述第12触发器、所述第14触发器和所述第16触发器的输出端,用于对所述5个输入端接收到的输入数据进行异或处理。
12.根据权利要求5所述的随机数据生成电路,其特征在于,所述第7数据处理电路具有4个输入端,分别连接至所述第1触发器至所述第3触发器以及所述第7触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第15数据处理电路具有4个输入端,分别连接至所述第9触发器至所述第11触发器以及所述第15触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
13.根据权利要求5所述的随机数据生成电路,其特征在于,所述第8数据处理电路具有4个输入端,分别连接至所述第2触发器至所述第4触发器以及所述第8触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理;
所述第16数据处理电路具有4个输入端,分别连接至所述第10触发器至所述第12触发器以及所述第16触发器的输出端,用于对所述4个输入端接收到的输入数据进行异或处理。
14.根据权利要求3至13任一项所述的随机数据生成电路,其特征在于,所述第一移位寄存器和所述第二移位寄存器输出的数据均以2(m-1)位为单位重复出现。
15.根据权利要求5至13任一项所述的随机数据生成电路,其特征在于,所述第9触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值和所述第5触发器的数据输入端的初始值的异或结果;
所述第10触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值、所述第2触发器的数据输入端的初始值和所述第6触发器的数据输入端的初始值的异或结果;
所述第11触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值、所述第2触发器的数据输入端的初始值、所述第3触发器的数据输入端的初始值和所述第7触发器的数据输入端的初始值的异或结果;
所述第12触发器的数据输入端的初始值是所述第2触发器的数据输入端的初始值、所述第3触发器的数据输入端的初始值、所述第4触发器的数据输入端的初始值和所述第8触发器的数据输入端的初始值的异或结果;
所述第13触发器的数据输入端的初始值是所述第1触发器的数据输入端的初始值、所述第3触发器的数据输入端的初始值和所述第4触发器的数据输入端的初始值的异或结果;
所述第14触发器的数据输入端的初始值是所述第2触发器的数据输入端的初始值和所述第4触发器的数据输入端的初始值的异或结果;
所述第15触发器的数据输入端的初始值是所述第3触发器的数据输入端的初始值;
所述第16触发器的数据输入端的初始值是所述第4触发器的数据输入端的初始值。
16.一种读写训练电路,其特征在于,包括数据存储电路和权利要求1至15任一项所述的随机数据生成电路,所述随机数据生成电路中的并转串电路与所述数据存储电路连接,用于将所述随机数据生成电路生成的数据输入到所述数据存储电路中进行读写训练。
17.根据权利要求16所述的读写训练电路,其特征在于,所述数据存储电路为DDR5内部存储器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210711838.6A CN115079999A (zh) | 2022-06-22 | 2022-06-22 | 随机数据生成电路及读写训练电路 |
PCT/CN2022/103573 WO2023245727A1 (zh) | 2022-06-22 | 2022-07-04 | 随机数据生成电路及读写训练电路 |
US18/093,728 US20230420005A1 (en) | 2022-06-22 | 2023-01-05 | Random data generation circuit and read/write training circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210711838.6A CN115079999A (zh) | 2022-06-22 | 2022-06-22 | 随机数据生成电路及读写训练电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115079999A true CN115079999A (zh) | 2022-09-20 |
Family
ID=83253417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210711838.6A Pending CN115079999A (zh) | 2022-06-22 | 2022-06-22 | 随机数据生成电路及读写训练电路 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115079999A (zh) |
WO (1) | WO2023245727A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024174396A1 (zh) * | 2023-02-23 | 2024-08-29 | 长鑫存储技术有限公司 | 寄存器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6034153B2 (ja) * | 2012-11-21 | 2016-11-30 | 株式会社東芝 | 乱数生成回路 |
CN103257846B (zh) * | 2013-05-08 | 2015-12-09 | 电子科技大学 | 一种用于压缩采样的伪随机序列产生装置 |
CN105138306A (zh) * | 2015-08-12 | 2015-12-09 | 中国电子科技集团公司第四十一研究所 | 一种数据位数可选的伪随机信号发生方法 |
CN105404495B (zh) * | 2015-10-21 | 2017-11-17 | 哈尔滨工业大学 | 用于调制宽带转换器的高速伪随机序列发生器及发生方法 |
CN106452449B (zh) * | 2016-01-13 | 2019-07-09 | 深圳大学 | 多相随机子采样模拟信息转换器及方法 |
CN112162946A (zh) * | 2020-09-17 | 2021-01-01 | 中电科仪器仪表有限公司 | 一种100Gbps伪随机图形发生装置 |
-
2022
- 2022-06-22 CN CN202210711838.6A patent/CN115079999A/zh active Pending
- 2022-07-04 WO PCT/CN2022/103573 patent/WO2023245727A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024174396A1 (zh) * | 2023-02-23 | 2024-08-29 | 长鑫存储技术有限公司 | 寄存器 |
Also Published As
Publication number | Publication date |
---|---|
WO2023245727A1 (zh) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694545B (zh) | 随机数产生器 | |
CN115220694A (zh) | 随机数据生成电路及读写训练电路 | |
JP5141910B2 (ja) | Sms4暗号アルゴリズムを実現する暗号化および復号化処理方法とそのシステム | |
US4901264A (en) | Pseudo random pattern generating device | |
CN107437945B (zh) | 并串转换电路 | |
TWI779606B (zh) | 用於執行散列算法的電路和方法 | |
JP2014102768A (ja) | 乱数生成回路 | |
CN115079999A (zh) | 随机数据生成电路及读写训练电路 | |
CN112820225B (zh) | 一种数据缓存电路、显示面板及显示装置 | |
JP2016126517A (ja) | 乱数生成装置及び乱数生成方法 | |
WO2023231263A1 (zh) | 一种刷新地址产生电路 | |
JP6219631B2 (ja) | 論理演算装置 | |
US10776079B2 (en) | True random number generation device and generation method thereof | |
US11586418B2 (en) | Random number generator, random number generating circuit, and random number generating method | |
CN112821889B (zh) | 输出控制电路、数据传输方法和电子设备 | |
US20230420005A1 (en) | Random data generation circuit and read/write training circuit | |
JP2016126518A (ja) | 乱数生成装置及び乱数生成方法 | |
JP3371677B2 (ja) | 可変長復号化装置 | |
JP3304745B2 (ja) | 可変長符号復号化器 | |
CN110609672B (zh) | 真实随机数产生装置及其产生方法 | |
US11757453B2 (en) | Multi-bit gray code generation circuit | |
JP3346204B2 (ja) | 可変長符号復号装置 | |
CN115237377A (zh) | 真随机数发生电路 | |
CN116820399A (zh) | 一种串行的数据移位电路设计方法 | |
KR101393876B1 (ko) | 확장형 그레이코드 카운터 회로 및 확장형 그레이코드 카운터 회로의 구동 방법 |
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 |