Movatterモバイル変換


[0]ホーム

URL:


CN109033596A - Parallel pseudo-random sequences Generator Design method based on FPGA - Google Patents

Parallel pseudo-random sequences Generator Design method based on FPGA
Download PDF

Info

Publication number
CN109033596A
CN109033596ACN201810779274.3ACN201810779274ACN109033596ACN 109033596 ACN109033596 ACN 109033596ACN 201810779274 ACN201810779274 ACN 201810779274ACN 109033596 ACN109033596 ACN 109033596A
Authority
CN
China
Prior art keywords
pseudo
parallel
logic
matrix
triggers
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
Application number
CN201810779274.3A
Other languages
Chinese (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.)
Chengdu Jiwei Technology Co Ltd
Original Assignee
Chengdu Jiwei Technology Co Ltd
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 Chengdu Jiwei Technology Co LtdfiledCriticalChengdu Jiwei Technology Co Ltd
Priority to CN201810779274.3ApriorityCriticalpatent/CN109033596A/en
Priority to PCT/CN2018/096643prioritypatent/WO2020014993A1/en
Publication of CN109033596ApublicationCriticalpatent/CN109033596A/en
Pendinglegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

The present invention relates to digital processing field more particularly to a kind of parallel bit wides and the optional pseudo-random sequence generator of generator polynomial.A kind of parallel pseudo-random sequences Generator Design method based on FPGA, specific steps are as follows: obtain a step shift matrix using generator polynomial, according to a step shift matrix and initial value, the initialization logic and feedback logic that a series of matrix operations obtain register group are carried out using MATLAB, according to initialization logic and feedback logic, hardware logic is built.The generator has and line number is any, and occupancy logical resource is few, the high feature of clock running frequency.

Description

Parallel pseudo-random sequence generator design method based on FPGA
Technical Field
The invention relates to the field of digital signal processing, in particular to a pseudo-random sequence generator with selectable parallel bit width and generator polynomial.
Background
A pseudo-random sequence is a deterministic sequence with some random character, with good randomness and correlation function close to white noise, and with predictable certainty and repeatability. These characteristics make the pseudorandom sequence widely used in important technical fields such as communication, radar, navigation and cryptography. The regularity and randomness of the pseudorandom sequence make it widely used in wireless communication as a spreading code and a scrambling code.
Today's research on pseudorandom sequences falls into two broad categories: one is a multi-bit pseudo-random sequence generator. The other is a 1-bit pseudo-random sequence generator, and the pseudo-random sequences used by the spreading codes and the scrambling codes in the wireless communication are both 1 bit.
Pseudo-randomThe sequencer is determined by the characteristic polynomial and the initialization value. The pseudo-random sequence generator signature polynomial of order M is as follows: f (x) ═ 1+ g0+g1x+g2x2+…gm-1xm-1The register initial state may be any value other than all 0's. The m-sequence may be generated by an LFSR structure. giThe feedback connection of the shift register is determined. There are two structures of LFSRs. One is a Galois LFSR structure as shown in FIG. one. By rj(i) Indicating the output state of the jth D flip-flop at the ith moment. Comprises the following steps:another is a fibonacci LFSR structure, as shown in fig. 2. Likewise with rj(i) Indicating the output state of the jth D flip-flop at the ith moment. Is provided withBoth of the above two structures are serial pseudo-random sequence generator structures. The generated pseudo-random sequence is denoted as rm-1(0),rm-1(1),rm-1(2),rm-1(3),rm-1(4)…。
At present, a commonly used pseudo-random sequence generator adopts a serial linear feedback shift register architecture, but with the increase of wireless communication bandwidth, the communication rate reaches G bits/second, and the serial pseudo-random sequence generator is far from reaching such a high rate. It is important to study the pseudo-random sequence generator for any parallel operation.
Disclosure of Invention
The invention provides a design method of a parallel pseudo-random sequence generator based on an FPGA (field programmable gate array). according to a Fibonacci LFSR (Linear feedback Shift register) structure, any parallel pseudo-random sequence generator is obtained through research.
The technical scheme of the invention is as follows: and obtaining a one-step shift matrix by using the generating polynomial, performing a series of matrix operations by using MATLAB according to the one-step shift matrix and the initial value to obtain an initialization logic and a feedback logic of the register group, and building a hardware logic according to the initialization logic and the feedback logic.
A design method of a parallel pseudo-random sequence generator based on an FPGA (field programmable gate array) comprises the following specific steps:
s1, obtaining a one-step transfer matrix from the Fibonacci LFSR structure according to the generator polynomial
S2, according to the parallel row number w and the polynomial order number m, w D triggers are used in total, each m D triggers are divided into a group, the number of the last group of D triggers is less than or equal to m, wherein w is more than or equal to 2, and m is more than or equal to 2;
s3, calculating an initialization matrix and a w-step shift matrix of each group of D triggers by using MATLAB;
and S4, designing a digital circuit according to the initialization matrix and the w-step shift matrix.
Furthermore, when W is larger than or equal to m, ceil (W/m) m D triggers are needed,
when w is less than or equal to m, the first w registers in the m registers are selected by w bit parallel output.
The invention has the beneficial effects that:
the invention can realize the pseudo-random sequence generator with any parallel number and generating polynomial, and is particularly suitable for the generation and design of spread spectrum codes or scrambling codes in high-speed parallel baseband processing. The generator has the characteristics of random parallel lines, less occupied logic resources and high clock running frequency, uses less D triggers, only needs an exclusive-OR gate for feedback logic, and has high clock running speed.
Drawings
Fig. 1 is a block diagram of a conventional serial pseudo-random sequence generator galois LFSR.
Fig. 2 is a structural block diagram of a fibonacci LFSR of a conventional serial pseudo-random sequence generator.
FIG. 3 is a block diagram of the parallel architecture of the present design.
Detailed Description
The present invention will be described with reference to the accompanying drawings.
As shown in fig. 1 and 2, the generated pseudo-random sequence is represented as: r ism-1(0),rm-1(1),rm-1(2),rm-1(3),rm-1(4) …, wherein the output of the Fibonacci LFSR structured pseudorandom sequence can also be expressed as follows: r ism-1(0),rm-2(0),rm-3(0)…r1(0),r0(0),rm-1(m),rm-2(m),rm-3(m)…r1(m),r0(m) …, i.e., at the same time, the fibonacci LFSR structure can output m consecutive pseudo-random sequences in parallel.
As shown in figure 3 of the drawings,
considering w is 8-bit parallel output, the output of each D flip-flop at the next moment should be the last w sample value of the corresponding serial output. At the ith moment, the output states of m D triggers of the Fibonacci LFSR structure are just w bits and output m bits in front in parallel. At the next time, the feedback logic is used to make each register turn to the state at the next time w.
According to the Fibonacci LFSR structure, obtaining a one-step transfer matrix:
let R (i) be [ R ]1(i) r2(i) … rm(i)]TThen, the first step is executed,wherein,representing k H matrix multiplications.
When w is less than or equal to m, the w-bit parallel output only needs to select the first w registers in the m registers. According to HwAnd carrying out feedback logic design. Such as: IEEE802.11ad scrambling code generation formula f (x) 1+ x4+x7
And 8 paths of parallel output are carried out, and an 8-step shift matrix is obtained by using MATLAB as follows:
according to an 8-step transfer matrix, D flip-flop r1The feedback logic is designed as follows:
when W is larger than or equal to m, ceil (W/m) m D triggers are needed. Dividing the D flip-flops into N ceil (W/m) groups, wherein each group comprises m, and the N register groups are represented as follows: r1,R2,R3,…RNWherein R isn=[rn1rn2… rnm]And N is 1,2 … N. The output state of the nth group of flip-flops at the ith moment is represented as: rn(i)=[rn1(i) rn2(i) … rnm(i)]。
Each set of registers requires separate initialization logic for register initialization, and also requires separate logic for w-step state transitions.
Initializing the register, and expressing the serial fibonacci LFSR structure output as: x (0), x (1), x (2), x (3), x (4) …
The first set of registers is initialized to the initialization value INIT ═ I of the pseudorandom sequence0,I1,I2......Im-1]And using a w-step transfer matrix HwThe transfer logic is designed. And (3) output selection: [ r ] of1m… r12r11]TThen the set of register outputs are:
with m-step transfer matrix HmInitializing the next set of registers, again using the w-step transfer matrix HwThe transfer logic is designed, and the output of the register can be obtained by the same way:
thus, for the nth set of registers, the (n-1) × m step transfer matrix H is used(n-1)*mInitializing the register by using a w-step transfer matrix HwThe transfer logic is designed.
And finally, in the n groups of registers, taking the state outputs of the first w D triggers to obtain w paths of parallel pseudorandom sequence outputs.
OUT=[r1m… r12r11… … … …rnm… rn2rn1… … … …rnm… rN(N*m-w+1)]T
As the number of parallel numbers increases, the logic resources consumed by the initialization matrix and the transfer matrix of the register set to be computed may increase significantly. Selecting MATLAB to first obtain initialization matrix H(n-1)*mAnd a transfer matrix Hw. N m x m order matrices are derived, followed by register bank initialization logic and feedback logic consisting of exclusive or gates only. This greatly reduces hardware overhead. The combinational logic maximum path is theoretically m 1 exclusive ors, and the maximum path does not increase with the increase of the parallel number. Therefore, with this scheme, high-speed parallel pseudorandom sequences can be generated.
This scheme is implemented using Verilog, using ceil (W/m) m reg variables, with inputs including clk, rst, m-bit initial values init, init _ valid. init _ valid lasts one clock cycle. The init _ valid is used as a MUX selection signal input by the D trigger, when the MUX selection signal is valid, the gating initialization logic initializes the register group, and when the init _ valid is valid, the gating w-step transfer logic is connected to the input end of the D trigger. And finally, selecting the first w D triggers as output.

Claims (2)

CN201810779274.3A2018-07-162018-07-16Parallel pseudo-random sequences Generator Design method based on FPGAPendingCN109033596A (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
CN201810779274.3ACN109033596A (en)2018-07-162018-07-16Parallel pseudo-random sequences Generator Design method based on FPGA
PCT/CN2018/096643WO2020014993A1 (en)2018-07-162018-07-23Fpga-based method for designing parallel pseudo-random sequence generator

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201810779274.3ACN109033596A (en)2018-07-162018-07-16Parallel pseudo-random sequences Generator Design method based on FPGA

Publications (1)

Publication NumberPublication Date
CN109033596Atrue CN109033596A (en)2018-12-18

Family

ID=64642710

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201810779274.3APendingCN109033596A (en)2018-07-162018-07-16Parallel pseudo-random sequences Generator Design method based on FPGA

Country Status (2)

CountryLink
CN (1)CN109033596A (en)
WO (1)WO2020014993A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN111078191A (en)*2019-11-122020-04-28郑州大学 A method for generating pseudo-random numbers based on FPGA hardware
CN112804023A (en)*2021-04-092021-05-14北京理工大学High-speed parallel pseudo-random sequence generation method, device, equipment and storage medium
CN114237552A (en)*2021-12-202022-03-25深圳忆联信息系统有限公司Random sequence generation method, device, equipment and storage medium
WO2022120999A1 (en)*2020-12-112022-06-16清华大学无锡应用技术研究院Feedback shift register array-based sequence cipher algorithm computing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20030014451A1 (en)*2001-07-122003-01-16Optix Networks Inc.Method and machine for scrambling parallel data channels

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN101702117A (en)*2009-11-092010-05-05东南大学 A Pseudo-Random Sequence Generation Method Based on Discrete Asymptotic Deterministic Random
CN102736891A (en)*2011-12-222012-10-17云南大学Design of parallel adjustable pseudorandom sequence generator
CN103716055B (en)*2013-12-162016-11-23北京工业大学A kind of Pre-modulation integral multichannel parallel analog information conversion circuit
CN105404495B (en)*2015-10-212017-11-17哈尔滨工业大学For modulating the high speed PRBS generator and method for generation of wide-band transducer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20030014451A1 (en)*2001-07-122003-01-16Optix Networks Inc.Method and machine for scrambling parallel data channels

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
苗澎等: ""12x2.5Gbit/s并行伪随机序列发生技术及在线误码块监测"", 《电路与系统学报》*

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN111078191A (en)*2019-11-122020-04-28郑州大学 A method for generating pseudo-random numbers based on FPGA hardware
WO2022120999A1 (en)*2020-12-112022-06-16清华大学无锡应用技术研究院Feedback shift register array-based sequence cipher algorithm computing system
CN112804023A (en)*2021-04-092021-05-14北京理工大学High-speed parallel pseudo-random sequence generation method, device, equipment and storage medium
CN112804023B (en)*2021-04-092021-06-29北京理工大学High-speed parallel pseudo-random sequence generation method, device, equipment and storage medium
CN114237552A (en)*2021-12-202022-03-25深圳忆联信息系统有限公司Random sequence generation method, device, equipment and storage medium
CN114237552B (en)*2021-12-202025-08-26深圳忆联信息系统有限公司 Random sequence generation method, device, equipment and storage medium

Also Published As

Publication numberPublication date
WO2020014993A1 (en)2020-01-23

Similar Documents

PublicationPublication DateTitle
EP1782181B1 (en)Method and apparatus for generating random data
CN109033596A (en)Parallel pseudo-random sequences Generator Design method based on FPGA
Panda et al.Modified dual-CLCG method and its VLSI architecture for pseudorandom bit generation
US4691291A (en)Random sequence generators
Datta et al.Design and implementation of multibit LFSR on FPGA to generate pseudorandom sequence number
US8880574B2 (en)State machine and generator for generating a description of a state machine feedback function
CN103098018B (en)Bit sequence generator
PetricaFPGA optimized cellular automaton random number generator
CN105045561A (en)Pseudo-random number generating method
CN105138306A (en)Generation method for pseudo-random signals with optional data bits
CN103197912A (en)Uniform random number generation method for encoding deep-space communication protocol
CN111078191A (en) A method for generating pseudo-random numbers based on FPGA hardware
Faure et al.Method for Generating Pseudorandom Sequence of Permutations Based on Linear Congruential Generator.
Mita et al.A novel pseudo random bit generator for cryptography applications
US8909510B2 (en)LFSR emulation
US7830949B2 (en)Cross correlation circuits and methods
Justin et al.FPGA implementation of high quality random number generator using LUT based shift registers
Hussain et al.Design of Secured Lightweight PRNG Circuit using LFSR for Portable IoT Devices
US20030014451A1 (en)Method and machine for scrambling parallel data channels
TWI387921B (en)A normal distributed random number generator by using the clt and the random number generating method thereof
Wijesinghe et al.Hardware implementation of random number generators
Mita et al.Pseudo-random sequence generators with improved inviolability performance
PV et al.Design and implementation of efficient stochastic number generator
US7317776B2 (en)Efficient pseudo-noise sequence generation for spread spectrum applications
Junsangsri et al.Pseudo-Random Number Generators for Stochastic Computing (SC): Design and Analysis

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
RJ01Rejection of invention patent application after publication
RJ01Rejection of invention patent application after publication

Application publication date:20181218


[8]ページ先頭

©2009-2025 Movatter.jp