CN106155629A - Random number high rate bioreactor device and its implementation - Google Patents
Random number high rate bioreactor device and its implementation Download PDFInfo
- Publication number
- CN106155629A CN106155629A CN201610430082.2A CN201610430082A CN106155629A CN 106155629 A CN106155629 A CN 106155629A CN 201610430082 A CN201610430082 A CN 201610430082A CN 106155629 A CN106155629 A CN 106155629A
- Authority
- CN
- China
- Prior art keywords
- length
- module
- data
- matrix
- random number
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种随机数高速实时处理器及其实现方法,其中,处理器包括:Toeplitz矩阵构造模块,用于使用m+n‑1个种子数据构造一个m×n的Toeplitz矩阵,并将其分解为n/k个m×k的子矩阵,依次输入到矩阵相乘模块;原始数据预处理模块,用于将长度为n的原始数据分解为n/k个长度为k的子数据,依次输入到矩阵相乘模块;矩阵相乘模块,用于将所述m×k的子矩阵与所述长度为k的子数据相乘,获得长度为m的中间数据并输入到累加模块;累加模块,用于将所述长度为m的中间数据进行累加n/k次,获得的累加结果即为处理后的最终数据。通过采用本发明公开的方案可以极大的提高数据后处理速度。
The invention discloses a random number high-speed real-time processor and its implementation method, wherein the processor includes: a Toeplitz matrix construction module, which is used to construct an m×n Toeplitz matrix by using m+n-1 seed data, and It is decomposed into n/k sub-matrices of m×k, which are sequentially input to the matrix multiplication module; the original data preprocessing module is used to decompose the original data with a length of n into n/k sub-data with a length of k, input to the matrix multiplication module in turn; the matrix multiplication module is used to multiply the sub-matrix of m × k with the sub-data of k length to obtain the intermediate data with a length of m and input it to the accumulation module; A module for accumulating the intermediate data with a length of m for n/k times, and the obtained accumulation result is the processed final data. By adopting the solution disclosed in the present invention, the post-processing speed of data can be greatly improved.
Description
技术领域technical field
本发明涉及数据后处理技术领域,尤其涉及一种随机数高速实时处理器及其实现方法。The invention relates to the technical field of data post-processing, in particular to a random number high-speed real-time processor and an implementation method thereof.
背景技术Background technique
随机数是一种广泛使用的基础资源,性能良好的随机数在众多领域比如量子通信、密码学、博彩业、蒙特卡洛模拟、数值计算、随机抽样等都有着广泛而重要的应用。用来产生随机数序列的器件,即随机数发生器通常先产生原始随机数据,再经过后处理提纯之后,才可以得到性能良好的随机数序列。Random numbers are a widely used basic resource. Random numbers with good performance have extensive and important applications in many fields such as quantum communication, cryptography, gaming industry, Monte Carlo simulation, numerical calculation, random sampling, etc. The device used to generate the random number sequence, that is, the random number generator usually first generates the original random data, and then after post-processing and purification, the random number sequence with good performance can be obtained.
随机数的后处理方法通常基于哈希函数实现,常见的哈希函数有SHA、Universal2等。Toeplitz矩阵是Universal2类哈希函数的一种,基于该矩阵的后处理算法,其安全性是信息理论可证的,被广泛用于对安全性要求较高的随机数,特别是量子随机数的后处理。The post-processing method of random numbers is usually implemented based on hash functions, and common hash functions include SHA, Universal 2 , etc. The Toeplitz matrix is a type of Universal 2 hash function. The post-processing algorithm based on this matrix is provable by information theory. It is widely used for random numbers with high security requirements, especially quantum random numbers. post-processing.
目前,基于Toeplitz矩阵的后处理算法通常在软件中实现,其算法复杂度高,需要大量的CPU运算,处理速度慢,通常只能达到1Mbps量级,这个速度也远远达不到实际需要,而且因为需要依赖计算机做离线处理,随机数发生器装置无法实时化、小型化。At present, the post-processing algorithm based on the Toeplitz matrix is usually implemented in software. The algorithm complexity is high, requiring a lot of CPU operations, and the processing speed is slow. Usually, it can only reach the order of 1Mbps, which is far from the actual needs. And because it needs to rely on the computer for offline processing, the random number generator device cannot be real-time and miniaturized.
发明内容Contents of the invention
本发明的目的是提供一种随机数高速实时处理器及其实现方法,极大的提高了数据后处理速度。The purpose of the present invention is to provide a random number high-speed real-time processor and its realization method, which greatly improves the post-processing speed of data.
本发明的目的是通过以下技术方案实现的:The purpose of the present invention is achieved through the following technical solutions:
一种随机数高速实时处理器,包括:A high-speed real-time processor for random numbers, comprising:
Toeplitz矩阵构造模块、原始数据预处理模块、矩阵相乘模块以及累加模块,其中:Toeplitz matrix construction module, raw data preprocessing module, matrix multiplication module and accumulation module, wherein:
所述Toeplitz矩阵构造模块,用于使用m+n-1个种子数据构造一个m×n的Toeplitz矩阵,并将其分解为n/k个m×k的子矩阵,依次输入到矩阵相乘模块;The Toeplitz matrix construction module is used to construct an m×n Toeplitz matrix using m+n-1 seed data, and decompose it into n/k sub-matrices of m×k, which are sequentially input to the matrix multiplication module ;
所述原始数据预处理模块,用于将长度为n的原始数据分解为n/k个长度为k的子数据,依次输入到矩阵相乘模块;The raw data preprocessing module is used to decompose the raw data with a length of n into n/k sub-data with a length of k, and input them to the matrix multiplication module in turn;
所述矩阵相乘模块,用于将所述m×k的子矩阵与所述长度为k的子数据相乘,获得长度为m的中间数据并输入到累加模块;The matrix multiplication module is used to multiply the m×k sub-matrix and the sub-data with a length of k to obtain intermediate data with a length of m and input it to the accumulation module;
所述累加模块,用于将所述长度为m的中间数据进行累加n/k次,获得的累加结果即为处理后的最终数据。The accumulating module is used for accumulating the intermediate data with a length of m for n/k times, and the obtained accumulating result is the processed final data.
m与n的比例由原始数据的随机性决定,所述随机性由最小熵H∞来量化,其定义为:H∞=-log2Pmax;其中,Pmax为最有可能出现的结果的概率;The ratio of m to n is determined by the randomness of the original data, which is quantified by the minimum entropy H ∞ , which is defined as: H ∞ =-log 2 P max ; where P max is the most likely outcome probability;
m与n的满足以下关系:m/n≤H∞,且m≤n、m与n均为正整数以及n为k的整数倍。The relationship between m and n satisfies the following relationship: m/n≤H ∞ , and m≤n, both m and n are positive integers, and n is an integer multiple of k.
所述矩阵相乘模块中的乘法通过按位与运算实现,所述累积模块中的加法通过按位或运算实现。The multiplication in the matrix multiplication module is realized by a bitwise AND operation, and the addition in the accumulation module is realized by a bitwise OR operation.
各模块的工作时钟均为同一系统时钟,时钟信号通过全局时钟路径送入各个模块,时钟的频率影响处理的速度;The working clock of each module is the same system clock, and the clock signal is sent to each module through the global clock path, and the frequency of the clock affects the processing speed;
各模块在系统时钟控制下采取流水线的工作形式:Each module takes the form of pipeline work under the control of the system clock:
m×k的子矩阵成与长度为k的子数据的输入同步进行,作为流水线的一级;The sub-matrix formation of m×k is performed synchronously with the input of the sub-data with a length of k, as the first stage of the pipeline;
m×k的子矩阵成与长度为k的子数据相乘作为流水线的一级;The sub-matrix of m×k is multiplied with the sub-data of length k as the first stage of the pipeline;
长度为m的中间数据的累加作为流水线的一级;The accumulation of intermediate data with a length of m is used as the first stage of the pipeline;
一个流水周期结束时得到的结果就是m×n的Toeplitz矩阵与长度为n的原始数据相乘后得到的长度为m的最终数据,之后进入下一个流水周期。The result obtained at the end of a pipeline cycle is the final data of length m obtained by multiplying the m×n Toeplitz matrix with the original data of length n, and then enters the next pipeline cycle.
所述Toeplitz矩阵构造模块、原始数据预处理模块、矩阵相乘模块以及累加模块均在FPGA内由硬件描述语言规定的硬件结构实现或在其他类似的具有硬件并行计算能力的平台实现。The Toeplitz matrix construction module, the original data preprocessing module, the matrix multiplication module and the accumulation module are all implemented in the FPGA by the hardware structure specified by the hardware description language or in other similar platforms with hardware parallel computing capabilities.
一种随机数高速实时处理方法,包括:A high-speed real-time processing method for random numbers, comprising:
使用m+n-1个种子数据构造一个m×n的Toeplitz矩阵,并将其分解为n/k个m×k的子矩阵;Use m+n-1 seed data to construct an m×n Toeplitz matrix, and decompose it into n/k m×k sub-matrices;
将长度为n的原始数据分解为n/k个长度为k的子数据;Decompose the original data of length n into n/k sub-data of length k;
将所述m×k的子矩阵与所述长度为k的子数据相乘,获得长度为m的中间数据;multiplying the sub-matrix of m×k by the sub-data of length k to obtain intermediate data of length m;
将所述长度为m的中间数据进行累加n/k次,获得的累加结果即为处理后的最终数据。The intermediate data with a length of m is accumulated n/k times, and the obtained accumulation result is the processed final data.
m与n的比例由原始数据的随机性决定,所述随机性由最小熵H∞来量化,其定义为:H∞=-log2Pmax;其中,Pmax为最有可能出现的结果的概率;The ratio of m to n is determined by the randomness of the original data, which is quantified by the minimum entropy H ∞ , which is defined as: H ∞ =-log 2 P max ; where P max is the most likely outcome probability;
m与n的满足以下关系:m/n≤H∞,且m≤n、m与n均为正整数以及n为k的整数倍。The relationship between m and n satisfies the following relationship: m/n≤H ∞ , and m≤n, both m and n are positive integers, and n is an integer multiple of k.
乘法通过按位与运算实现,加法通过按位或运算实现。Multiplication is implemented with a bitwise AND operation, and addition is implemented with a bitwise OR operation.
该方法各步骤的工作时钟均为同一系统时钟,各步骤在系统时钟控制下采取流水线的工作形式:The working clock of each step of the method is the same system clock, and each step adopts a pipeline working form under the control of the system clock:
m×k的子矩阵成与长度为k的子数据的输入同步进行,作为流水线的一级;The sub-matrix formation of m×k is performed synchronously with the input of the sub-data with a length of k, as the first stage of the pipeline;
m×k的子矩阵成与长度为k的子数据相乘作为流水线的一级;The sub-matrix of m×k is multiplied with the sub-data of length k as the first stage of the pipeline;
长度为m的中间数据的累加作为流水线的一级;The accumulation of intermediate data with a length of m is used as the first stage of the pipeline;
一个流水周期结束时得到的结果就是m×n的Toeplitz矩阵与长度为n的原始数据相乘后得到的长度为m的最终数据,之后进入下一个流水周期。The result obtained at the end of a pipeline cycle is the final data of length m obtained by multiplying the m×n Toeplitz matrix with the original data of length n, and then enters the next pipeline cycle.
由上述本发明提供的技术方案可以看出,可以大幅降低了算法对FPGA硬件资源的使用量,使得在有限资源的FPGA内能够实现大规模的Toeplitz矩阵乘法;同时利用FPGA硬件电路处理速度快、能够并行运算的特点,可以大幅提高数据后处理速度。同时,随机数高速实时处理器,不仅可以在FPGA硬件中实现,同时可以在ASIC、CPLD等类似的硬件中实现。此外,本发明的方案数据处理速率达到了4Gbps,相比于基于软件的实现方法,速率提高了三个量级。As can be seen from the technical solution provided by the present invention, the algorithm can greatly reduce the usage of FPGA hardware resources, so that large-scale Toeplitz matrix multiplication can be realized in the FPGA of limited resources; The feature of parallel computing can greatly improve the speed of data post-processing. At the same time, the random number high-speed real-time processor can be implemented not only in FPGA hardware, but also in ASIC, CPLD and other similar hardware. In addition, the data processing rate of the solution of the present invention reaches 4Gbps, and compared with the software-based implementation method, the rate is increased by three orders of magnitude.
附图说明Description of drawings
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following will briefly introduce the accompanying drawings that need to be used in the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For Those of ordinary skill in the art can also obtain other drawings based on these drawings on the premise of not paying creative efforts.
图1为本发明实施例提供的随机数高速实时处理器的结构示意图;Fig. 1 is the structural representation of the random number high-speed real-time processor that the embodiment of the present invention provides;
图2为本发明实施例提供的随机数高速实时处理器工作流程图。Fig. 2 is a flowchart of the operation of the random number high-speed real-time processor provided by the embodiment of the present invention.
具体实施方式detailed description
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
图1为本发明实施例提供的随机数高速实时处理器的结构示意图。如图1所示,其主要包括:Toeplitz矩阵构造模块、原始数据预处理模块、矩阵相乘模块以及累加模块。FIG. 1 is a schematic structural diagram of a random number high-speed real-time processor provided by an embodiment of the present invention. As shown in Figure 1, it mainly includes: Toeplitz matrix construction module, raw data preprocessing module, matrix multiplication module and accumulation module.
其工作过程如图2所示:Its working process is shown in Figure 2:
所述Toeplitz矩阵构造模块1,用于使用m+n-1个种子数据构造一个m×n的Toeplitz矩阵,并将其分解为n/k个m×k的子矩阵,依次输入到矩阵相乘模块3。The Toeplitz matrix construction module 1 is used to construct an m×n Toeplitz matrix using m+n-1 seed data, and decompose it into n/k sub-matrices of m×k, which are sequentially input to matrix multiplication Module 3.
本发明实施例中,Toeplitz矩阵是一种Universal2类哈希函数,如下式表示:In the embodiment of the present invention, the Toeplitz matrix is a Universal 2 -type hash function, represented by the following formula:
Toeplitz矩阵的特点是矩阵中所有对角元素均相同,所以可以使用m+n-1个种子数据构造一个m×n的Toeplitz矩阵,矩阵的每一行均为上一行右移一位并加入一个新的随机数得到的。所述构成Toeplitz矩阵的m+n-1个种子数据,为无偏量子随机数序列。The characteristic of the Toeplitz matrix is that all diagonal elements in the matrix are the same, so an m×n Toeplitz matrix can be constructed using m+n-1 seed data, and each row of the matrix is shifted to the right of the previous row and a new one is added. obtained by the random number. The m+n-1 seed data constituting the Toeplitz matrix is an unbiased quantum random number sequence.
本发明实施例中,m与n的比例由原始数据的随机性决定,所述随机性由最小熵H∞来量化,其定义为:H∞=-log2Pmax;其中,Pmax为最有可能出现的结果的概率;In the embodiment of the present invention, the ratio of m to n is determined by the randomness of the original data, and the randomness is quantified by the minimum entropy H ∞ , which is defined as: H ∞ =-log 2 P max ; where P max is the maximum the probability of a likely outcome;
m与n的满足以下关系:m/n≤H∞,且m≤n、m与n均为正整数以及n为k的整数倍。The relationship between m and n satisfies the following relationship: m/n≤H ∞ , and m≤n, both m and n are positive integers, and n is an integer multiple of k.
所述原始数据预处理模块2,用于将长度为n的原始数据分解为n/k个长度为k的子数据,依次输入到矩阵相乘模块3。The original data preprocessing module 2 is used to decompose the original data with a length of n into n/k sub-data with a length of k, and input them to the matrix multiplication module 3 in sequence.
所述矩阵相乘模块3,用于将所述m×k的子矩阵与所述长度为k的子数据相乘,获得长度为m的中间数据并输入到累加模块4;其中的乘法通过按位与运算实现。The matrix multiplication module 3 is used to multiply the m×k sub-matrix and the sub-data with a length of k to obtain intermediate data with a length of m and input it to the accumulation module 4; wherein the multiplication is performed by pressing Implementation of bit-AND operation.
所述累加模块4,用于将所述长度为m的中间数据进行累加n/k次,获得的累加结果即为处理后的最终数据;其中的加法通过按位或运算实现。The accumulation module 4 is used for accumulating the intermediate data with a length of m for n/k times, and the obtained accumulation result is the processed final data; the addition is realized by a bitwise OR operation.
本发明实施例中,所述Toeplitz矩阵构造模块、原始数据预处理模块、矩阵相乘模块以及累加模块均在FPGA内由硬件描述语言规定的硬件结构实现或在其他类似的具有硬件并行计算能力的平台实现。In the embodiment of the present invention, the Toeplitz matrix construction module, the original data preprocessing module, the matrix multiplication module and the accumulation module are all realized by the hardware structure specified by the hardware description language in the FPGA or in other similar hardware parallel computing capabilities. platform implementation.
此外。如图2所示,各模块的工作时钟均为同一系统时钟,时钟信号通过全局时钟路径送入各个模块,时钟的频率影响处理的速度;also. As shown in Figure 2, the working clock of each module is the same system clock, and the clock signal is sent to each module through the global clock path, and the frequency of the clock affects the processing speed;
各模块在系统时钟控制下采取流水线的工作形式:Each module takes the form of pipeline work under the control of the system clock:
m×k的子矩阵成与长度为k的子数据的输入同步进行,作为流水线的一级;The sub-matrix formation of m×k is performed synchronously with the input of the sub-data with a length of k, as the first stage of the pipeline;
m×k的子矩阵成与长度为k的子数据相乘作为流水线的一级;The sub-matrix of m×k is multiplied with the sub-data of length k as the first stage of the pipeline;
长度为m的中间数据的累加作为流水线的一级;The accumulation of intermediate data with a length of m is used as the first stage of the pipeline;
一个流水周期结束时得到的结果就是m×n的Toeplitz矩阵与长度为n的原始数据相乘后得到的长度为m的最终数据,之后进入下一个流水周期。The result obtained at the end of a pipeline cycle is the final data of length m obtained by multiplying the m×n Toeplitz matrix with the original data of length n, and then enters the next pipeline cycle.
本发明实施例中,参数m、n、k以及系统工作时钟频率f的选取,受限于所用的硬件资源,实时处理速率S由参数k与系统工作时钟频率f决定,即:S=f·k·m/n。In the embodiment of the present invention, the selection of parameters m, n, k and system operating clock frequency f is limited by the hardware resources used, and the real-time processing rate S is determined by parameter k and system operating clock frequency f, that is: S=f· k m/n.
本实施例中待处理的原始随机数据,其最小熵:H∞>0.8bits/bit。The minimum entropy of the original random data to be processed in this embodiment: H ∞ >0.8 bits/bit.
本实施例中,取m=1024,n=1280,即m/n=0.8≤H∞。取k=80,则一个流水周期为16个时钟周期,也即平均16个时钟周期产生1024位处理之后的数据。In this embodiment, m=1024, n=1280, that is, m/n=0.8≤H ∞ . If k=80, one pipeline cycle is 16 clock cycles, that is, 16 clock cycles generate 1024-bit processed data on average.
各模块的工作时钟均为同一时钟,时钟信号通过全局时钟路径送入各个模块,本实施例中工作时钟频率f选择为62.5MHz,那么本实例中基于FPGA和Toeplitz矩阵的随机数高速实时处理器实时处理速率达到了4Gbps。The operating clock of each module is the same clock, and the clock signal is sent to each module through the global clock path. In this embodiment, the operating clock frequency f is selected as 62.5MHz, so in this example, the random number high-speed real-time processor based on FPGA and Toeplitz matrix The real-time processing rate has reached 4Gbps.
如果选用更高性能的FPGA或者ASIC、CPLD等硬件实现,参数k与系统工作时钟频率f可以更大,实时处理速率可以更高。If higher-performance FPGA or ASIC, CPLD and other hardware are used for implementation, the parameter k and system operating clock frequency f can be larger, and the real-time processing rate can be higher.
另一方面,为了解决子矩阵乘法运算时子矩阵生成元和原始数据扇出较大的问题,在矩阵相乘模块的入口处把扇出大的信号各自锁存到多个同类寄存器中,扇出时,每个同类寄存器只负责扇出到一部分负载,从而解决扇出过大的问题;此外,在编写硬件电路时,用时序约束来满足建立保持时间。On the other hand, in order to solve the problem of large fan-out of sub-matrix generators and original data during sub-matrix multiplication, the signals with large fan-out are latched into multiple registers of the same type at the entrance of the matrix multiplication module. When outputting, each register of the same type is only responsible for fanning out to a part of the load, thereby solving the problem of excessive fanning out; in addition, when programming hardware circuits, use timing constraints to meet the setup and hold time.
本发明的另一实施例还提供一种随机数高速实时处理方法,该方法基于前述处理器来实现。同样的参见附图2,其主要包括:Another embodiment of the present invention also provides a high-speed real-time processing method for random numbers, which is implemented based on the aforementioned processor. See also accompanying drawing 2, it mainly comprises:
使用m+n-1个种子数据构造一个m×n的Toeplitz矩阵,并将其分解为n/k个m×k的子矩阵;Use m+n-1 seed data to construct an m×n Toeplitz matrix, and decompose it into n/k m×k sub-matrices;
将长度为n的原始数据分解为n/k个长度为k的子数据;Decompose the original data of length n into n/k sub-data of length k;
将所述m×k的子矩阵与所述长度为k的子数据相乘,获得长度为m的中间数据;multiplying the sub-matrix of m×k by the sub-data of length k to obtain intermediate data of length m;
将所述长度为m的中间数据进行累加n/k次,获得的累加结果即为处理后的最终数据。The intermediate data with a length of m is accumulated n/k times, and the obtained accumulation result is the processed final data.
本发明实施例中,m与n的比例由原始数据的随机性决定,所述随机性由最小熵H∞来量化,其定义为:H∞=-log2Pmax;其中,Pmax为最有可能出现的结果的概率;In the embodiment of the present invention, the ratio of m to n is determined by the randomness of the original data, and the randomness is quantified by the minimum entropy H ∞ , which is defined as: H ∞ =-log 2 P max ; where P max is the maximum the probability of a likely outcome;
m与n的满足以下关系:m/n≤H∞,且m≤n、m与n均为正整数以及n为k的整数倍。The relationship between m and n satisfies the following relationship: m/n≤H ∞ , and m≤n, both m and n are positive integers, and n is an integer multiple of k.
本发明实施例中,乘法通过按位与运算实现,加法通过按位或运算实现。In the embodiment of the present invention, the multiplication is realized by a bitwise AND operation, and the addition is realized by a bitwise OR operation.
本发明实施例中,该方法各步骤的工作时钟均为同一系统时钟,各步骤在系统时钟控制下采取流水线的工作形式:In the embodiment of the present invention, the working clocks of each step of the method are the same system clock, and each step adopts a pipeline working form under the control of the system clock:
m×k的子矩阵成与长度为k的子数据的输入同步进行,作为流水线的一级;The sub-matrix formation of m×k is performed synchronously with the input of the sub-data with a length of k, as the first stage of the pipeline;
m×k的子矩阵成与长度为k的子数据相乘作为流水线的一级;The sub-matrix of m×k is multiplied with the sub-data of length k as the first stage of the pipeline;
长度为m的中间数据的累加作为流水线的一级;The accumulation of intermediate data with a length of m is used as the first stage of the pipeline;
一个流水周期结束时得到的结果就是m×n的Toeplitz矩阵与长度为n的原始数据相乘后得到的长度为m的最终数据,之后进入下一个流水周期。The result obtained at the end of a pipeline cycle is the final data of length m obtained by multiplying the m×n Toeplitz matrix with the original data of length n, and then enters the next pipeline cycle.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。Those skilled in the art can clearly understand that for the convenience and brevity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional modules according to needs. The internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。The above is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person familiar with the technical field can easily conceive of changes or changes within the technical scope disclosed in the present invention. Replacement should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610430082.2A CN106155629A (en) | 2016-06-15 | 2016-06-15 | Random number high rate bioreactor device and its implementation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610430082.2A CN106155629A (en) | 2016-06-15 | 2016-06-15 | Random number high rate bioreactor device and its implementation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106155629A true CN106155629A (en) | 2016-11-23 |
Family
ID=57353190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610430082.2A Pending CN106155629A (en) | 2016-06-15 | 2016-06-15 | Random number high rate bioreactor device and its implementation |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155629A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319448A (en) * | 2018-02-02 | 2018-07-24 | 北京邮电大学 | A method of for realizing that high speed is extracted at random in randomizer |
CN109088718A (en) * | 2018-07-11 | 2018-12-25 | 上海循态信息科技有限公司 | Secrecy Enhancement Method and system based on linear feedback shift register |
CN115361127A (en) * | 2022-08-23 | 2022-11-18 | 中国科学院计算技术研究所 | A quantum random number post-processing method and device |
CN115396090A (en) * | 2022-08-23 | 2022-11-25 | 中国科学院计算技术研究所 | A quantum random number post-processing method and device |
CN115860127A (en) * | 2022-12-19 | 2023-03-28 | 上海爱信诺航芯电子科技有限公司 | Quantum random number real-time high-speed post-processor and post-processing implementation method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005532A1 (en) * | 2006-06-30 | 2008-01-03 | Wu-Jie Liao | Random number generator and random number generating method |
CN102354280A (en) * | 2011-08-16 | 2012-02-15 | 西南大学 | Physical random number generator |
CN103713879A (en) * | 2013-12-30 | 2014-04-09 | 中国科学技术大学 | Unbiased high-speed quantum random number generator based on photon arrival time |
CN105022606A (en) * | 2015-06-30 | 2015-11-04 | 中国科学技术大学先进技术研究院 | Ultra-high-speed quantum random number generator and generation method based on laser phase fluctuation |
CN204759398U (en) * | 2015-06-30 | 2015-11-11 | 中国科学技术大学先进技术研究院 | Hypervelocity quantum random number generator based on laser phase is undulant |
-
2016
- 2016-06-15 CN CN201610430082.2A patent/CN106155629A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005532A1 (en) * | 2006-06-30 | 2008-01-03 | Wu-Jie Liao | Random number generator and random number generating method |
CN102354280A (en) * | 2011-08-16 | 2012-02-15 | 西南大学 | Physical random number generator |
CN103713879A (en) * | 2013-12-30 | 2014-04-09 | 中国科学技术大学 | Unbiased high-speed quantum random number generator based on photon arrival time |
CN105022606A (en) * | 2015-06-30 | 2015-11-04 | 中国科学技术大学先进技术研究院 | Ultra-high-speed quantum random number generator and generation method based on laser phase fluctuation |
CN204759398U (en) * | 2015-06-30 | 2015-11-11 | 中国科学技术大学先进技术研究院 | Hypervelocity quantum random number generator based on laser phase is undulant |
Non-Patent Citations (4)
Title |
---|
XIAOGUANG ZHANG等: "FPGA Implementation of Toeplitz Hashing Extractor for Real Time Post-processing of Raw Random Numbers", 《REAL TIME CONFERENCE 2016 IEEE-NPSS》 * |
YOU-QI NIE等: "68 Gbps quantum random number generation by measuring laser phase fluctuations", 《REV.SCI.INSTRUM》 * |
YOU-QI NIE等: "Practical and fast quantum random number generation based on photon arrival time relative to external reference", 《APPL.PHYS.LETT》 * |
崔珂: "量子密钥分发实时处理技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319448A (en) * | 2018-02-02 | 2018-07-24 | 北京邮电大学 | A method of for realizing that high speed is extracted at random in randomizer |
CN108319448B (en) * | 2018-02-02 | 2022-06-07 | 北京邮电大学 | Method for realizing high-speed random extraction in random number generator |
CN109088718A (en) * | 2018-07-11 | 2018-12-25 | 上海循态信息科技有限公司 | Secrecy Enhancement Method and system based on linear feedback shift register |
CN115361127A (en) * | 2022-08-23 | 2022-11-18 | 中国科学院计算技术研究所 | A quantum random number post-processing method and device |
CN115396090A (en) * | 2022-08-23 | 2022-11-25 | 中国科学院计算技术研究所 | A quantum random number post-processing method and device |
CN115361127B (en) * | 2022-08-23 | 2024-10-18 | 中国科学院计算技术研究所 | Quantum random number post-processing method and device |
CN115396090B (en) * | 2022-08-23 | 2025-01-21 | 中国科学院计算技术研究所 | A quantum random number post-processing method and device |
CN115860127A (en) * | 2022-12-19 | 2023-03-28 | 上海爱信诺航芯电子科技有限公司 | Quantum random number real-time high-speed post-processor and post-processing implementation method |
CN115860127B (en) * | 2022-12-19 | 2024-09-10 | 上海航芯电子科技股份有限公司 | Quantum random number real-time high-speed post-processor and post-processing implementation method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155629A (en) | Random number high rate bioreactor device and its implementation | |
JP3696209B2 (en) | Seed generation circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device | |
WO2009066709A1 (en) | Random number generating apparatus and method | |
CN102541508A (en) | True random number generating system and method | |
AU2021200063B2 (en) | Systems and computer-implemented methods for generating pseudo random numbers | |
Weerasinghe | An effective RC4 stream cipher | |
Teh et al. | GPUs and chaos: a new true random number generator | |
CN103838626A (en) | Data processing device and method for processing serial tasks | |
CN103309893A (en) | Character string comparing method and device | |
Veljković et al. | Low-cost implementations of on-the-fly tests for random number generators | |
CN111078191A (en) | A method for generating pseudo-random numbers based on FPGA hardware | |
CN104580017B (en) | BlueDrama distribution method and system based on RSS | |
CN116522296A (en) | Strong PUF-oriented machine learning-resistant CRP confusion method | |
CN102707923A (en) | Pseudo-random number generation circuit and pseudo-random number generation method | |
Fan et al. | A novel algorithm to analyze the dynamics of digital chaotic maps in finite-precision domain | |
Guo et al. | Parallel and real-time post-processing for quantum random number generators | |
WO2025124450A1 (en) | Quantum circuit construction method and apparatus, and device, storage medium and product | |
CN106201435A (en) | Pseudo-random number generation method based on cell neural network | |
Meher et al. | Hardware-efficient systolic-like modular design for two-dimensional discrete wavelet transform | |
CN115879554B (en) | Quantum modulus square operation method and device, electronic device and modulus arithmetic component | |
CN115113847A (en) | Pseudo-random number generator and generation method based on FCSR cascade feedback | |
RU2681702C1 (en) | Arithmetic-logic apparatus and a method for converting data using such device | |
RU2505849C2 (en) | Boolean function variable signal generator | |
Hosbas et al. | True Random Number Generator Design with A Fractional Order Sprott B Chaotic System | |
CN106775575B (en) | The multiplier of low cost RFID authentication protocol based on quadratic residue |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |