CN108509382A - A method of overlength sequence fast convolution operation is realized based on FPGA - Google Patents

A method of overlength sequence fast convolution operation is realized based on FPGA Download PDF

Info

Publication number
CN108509382A
CN108509382A CN201810276062.3A CN201810276062A CN108509382A CN 108509382 A CN108509382 A CN 108509382A CN 201810276062 A CN201810276062 A CN 201810276062A CN 108509382 A CN108509382 A CN 108509382A
Authority
CN
China
Prior art keywords
fpga
burst
data
sram
fast convolution
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.)
Granted
Application number
CN201810276062.3A
Other languages
Chinese (zh)
Other versions
CN108509382B (en
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.)
Nankai University
Original Assignee
Nankai University
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 Nankai University filed Critical Nankai University
Priority to CN201810276062.3A priority Critical patent/CN108509382B/en
Publication of CN108509382A publication Critical patent/CN108509382A/en
Application granted granted Critical
Publication of CN108509382B publication Critical patent/CN108509382B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7803System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a kind of methods for realizing overlength sequence fast convolution operation based on FPGA.Two paths of signals is acquired by AD sampling modules first, then collected two paths of data is stored in the two panels random access memory (SRAM) outside FPGA respectively in order, data are taken out from two panels SRAM in the opposite order in burst-length later carries out fast convolution operation, in the DDR2 outside mass data deposit FPGA that operation is obtained simultaneously, the fast convolution operation to two paths of signals based on FPGA is finally realized.

Description

A method of overlength sequence fast convolution operation is realized based on FPGA
【Technical field】
The invention belongs to space orientation problem high speed Real-time digital signal processing field, to two paths of signals carry out high speed, Big depth-sampling and convolution algorithm is to differentiate the small phase difference of two paths of signals.AD sampling modules are adopted using binary channels 12bit AD Collect the Cyclone IV series of modules A N926, FPGA using altera corp, model Cyclone IV EP4CE115F29C7N.The two panels SRAM of storage data is read by way of burst, burst-length adds up, greatly improves successively Arithmetic speed finally realizes the fast convolution operation of two paths of signals within a short period of time.
【Background technology】
In space orientation problem, the phase difference of two paths of signals is an important parameter, can be with by this phase difference Realize that space accurately positions, and convolution algorithm is the important method for finding this phase difference.
When the phase difference of two paths of signals and its it is small when, the resolution of such as optical signal, phase difference must pass through high sampling Convolution is carried out after the sampling of rate and big depth, just can be achieved.Currently, being mainly to two-way discrete digital signal progress convolution algorithm It is realized by software, and the speed that software executes overlength sequence convolution is relatively low, cannot be satisfied to igh-speed wire-rod production line real-time Requirement, and the characteristics of realized using FPGA, its rich hardware resource and concurrent operation can be made full use of, greatly improve Arithmetic speed, to realize sterically defined real-time.
【Invention content】
This method realizes that the fast convolution operation of two paths of signals, technical solution include the following aspects using FPGA:
1.AD modules acquiring datas
Two-way analog signal is sampled using binary channels 12bit AD acquisition modules AN926, sample frequency is 50Mhz, sampling time 5.243ms, i.e. sampling obtain the data of two groups of 262144 12bit after terminating.
2. the outer SRAM of FPGA pieces is written in data
External Static RAM uses the SRAM of two panels model IS61LV25616AL, is connected to by GPIO mouthfuls On FPGA, the storage resource of the SRAM is 256Kx 16bit, meets memory requirement.
Since the data line of the SRAM is 16bit, and the data that the AD acquisitions of storage are actually needed are only 12, therefore In external hardware design, D12, D13, D14, D15 of the SRAM are directly grounded.
Data write-in external SRAM be by FPGA inside control logic control tristate bus line realize.First when need When SRAM is written in the data of AD acquisitions, FPGA controls A/D module and obtains the bus right to use, and FPGA is controlled again at the end of write-in A/D module processed discharges bus, gives bus control right to fast convolution module.3. reading data from SRAM
In order to coordinate fast convolution methods, the method that data are read from SRAM is the key component of this method.Using prominent The mode of hair reads external SRAM, and burst-length reads burst each time since 256, reads length and is increased by 256.It adopts Two panels SRAM is read out with the sequence being completely reversed, i.e. the reading order of SRAM_A is 0,1,2,3 when the first secondary burst ... 255;The reading order of SRAM_B be 255,254,253 ... 2,1,0.The reading order of SRAM_A is 0,1,2 when the second secondary burst, 3…511;The reading order of SRAM_B be 511,510,509 ... 2,1,0.
4. fast convolution operation
The data read from SRAM are sent into fast convolution module, when the first secondary burst, set burst-length as 256, Data parallel is inputted in 256 multipliers successively in order, is used in combination latch to latch multiplication result, Mei Gesuo Storage separate counts successively, the output simultaneously at the end of all latch count full 256 namely the first secondary bursts as a result, Obtain 256 convolution algorithm results that the first secondary burst is calculated.Immediately after enter the second secondary burst, burst-length 512, The data of reading are still sent into fast convolution module, when all latch count full 512, while exporting result.With this side Formula, whole convolution results can be obtained by passing through 1024 secondary bursts altogether.
5. operation result is stored in DDR2 outside FPGA
DRR2 SDRAM have the characteristics that large capacity, high read and write rate.The read-write mode of DDR2 is burst mode.Whenever fast After fast convolution module carries out burst read operation of completion and exports result, DDR2, which just enters, writes burst, length 256, according to The sequence of latch writes the result into DDR2 successively.Before the reading of next secondary burst starts, DDR2, which will write, to be finished and discharges bus.
【The advantages and positive effects of the present invention】
That present invention utilizes FPGA hardwares is resourceful, can parallel computation the characteristics of, realize overlength sequence with hardware circuit The fast convolution operation of row, ensure that the real-time of igh-speed wire-rod production line under the premise of meeting measurement accuracy.If using passing The software convolution method of system reads data from memory and is multiplied accumulating by turn, when convolution completes two sequences of 262144 length Row need to consume 1+2+3+4+ ... 262143+262144=3.436*10 altogether10A clock cycle, when clock is 100Mhz, It is about 5min43s to need the time consumed;And 256+512+768+ ...+261888+262144=need to only be consumed using this method 1.3435*108A clock cycle, when clock is 100Mhz, it is about 1.34s to need the time consumed, and arithmetic speed improves 255 times, greatly improve arithmetic speed.
【Description of the drawings】
Fig. 1 is system principle diagram;
Fig. 2 is fast convolution module principle block diagram;
Fig. 3 is first via sinusoidal signal;
Fig. 4 is the second tunnel sinusoidal signal;
Fig. 5 is the small phase difference of two paths of signals;
Fig. 6 is fast convolution operation result;
Fig. 7 is fast convolution methods flow chart.
【Specific implementation mode】
In order to become apparent to illustrate embodiment of the present invention, with reference to attached drawing hereinafter, the present invention is done further Explanation.
As shown in Figure 3-Figure 5, there is the sinusoidal signal of small phase difference to carry out convolution algorithm two-way, two paths of signals passes through Length after A/D module acquisition is 262144, it is stored in order in the SRAM outside FPGA.Next it carries out successively 1024 secondary burst read operations read length and successively increase 256 since 256, the obtained data of reverse read two panels SRAM are sent Enter fast convolution module, as shown in Figure 2.256 convolution results are obtained simultaneously at the end of burst, are stored in outside FPGA in order In DDR2.Fast convolution operation terminates after 1024 secondary bursts, and convolution results are as shown in Figure 6, it can be seen that, although two paths of signals Phase difference is extremely small, but can still distinguish peak value and appear in left-of-center position.

Claims (2)

1. a kind of method for realizing overlength sequence fast convolution operation based on FPGA, the two paths of data that this method acquires A/D module It is stored in outside FPGA in the independent SRAM of two panels by tristate bus line, then two panels SRAM is carried out respectively in burst-length Inverted sequence is read, and the data of reading is sent into fast convolution module, while operation result being stored in the DDR2 outside FPGA.
2. this method takes the mode of burst to be written and read operation to data, burst read operation terminates that 256 can be obtained each time For a convolution algorithm as a result, burst-length is successively increased since 256, each burst-length increases by 256, carries out 1024 secondary bursts altogether Read operation, so that it may complete the sequence convolution of two row, 262144 length, speed improves 255 times than traditional software approach.
CN201810276062.3A 2018-03-27 2018-03-27 Method for realizing quick convolution operation of super-long sequence based on FPGA Active CN108509382B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810276062.3A CN108509382B (en) 2018-03-27 2018-03-27 Method for realizing quick convolution operation of super-long sequence based on FPGA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810276062.3A CN108509382B (en) 2018-03-27 2018-03-27 Method for realizing quick convolution operation of super-long sequence based on FPGA

Publications (2)

Publication Number Publication Date
CN108509382A true CN108509382A (en) 2018-09-07
CN108509382B CN108509382B (en) 2022-06-07

Family

ID=63377951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810276062.3A Active CN108509382B (en) 2018-03-27 2018-03-27 Method for realizing quick convolution operation of super-long sequence based on FPGA

Country Status (1)

Country Link
CN (1) CN108509382B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024380A1 (en) * 1999-09-28 2001-04-05 Telefonaktiebolaget Lm Ericsson (Publ) Interleaver and method for interleaving a data bit sequence
CN1378345A (en) * 2002-01-30 2002-11-06 信息产业部电信传输研究所 Realising method for parallel cascade convolution code hardware decoder
US20060236045A1 (en) * 2005-04-13 2006-10-19 Analog Devices, Inc. Apparatus for deinterleaving interleaved data using direct memory access
US20080098281A1 (en) * 2006-10-18 2008-04-24 Trellisware Technologies, Inc. Using sam in error correcting code encoder and decoder implementations
CN101237240A (en) * 2008-02-26 2008-08-06 北京海尔集成电路设计有限公司 A method and device for realizing cirrocumulus interweaving/de-interweaving based on external memory
CN101652757A (en) * 2007-04-13 2010-02-17 Rgb网络有限公司 Sdram convolutional interleaver with two paths
US8799750B1 (en) * 2011-05-09 2014-08-05 Xilinx, Inc. Convolutional interleaver for bursty memory access
CN104461934A (en) * 2014-11-07 2015-03-25 北京海尔集成电路设计有限公司 Time-domain deconvolution interweaving device and method suitable for DDR memorizer
CN105282083A (en) * 2015-11-03 2016-01-27 西安烽火电子科技有限责任公司 Burst-mode broadband data processing device and method based on FPGA chip
US20170102950A1 (en) * 2003-05-23 2017-04-13 Ip Reservoir, Llc Intelligent Data Storage and Processing Using FPGA Devices
CN107403221A (en) * 2016-05-03 2017-11-28 想象技术有限公司 The hardware of convolutional neural networks is realized
US20180032857A1 (en) * 2015-10-07 2018-02-01 Intel Corporation Method and Apparatus for Performing Different Types of Convolution Operations with the Same Processing Elements

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024380A1 (en) * 1999-09-28 2001-04-05 Telefonaktiebolaget Lm Ericsson (Publ) Interleaver and method for interleaving a data bit sequence
CN1378345A (en) * 2002-01-30 2002-11-06 信息产业部电信传输研究所 Realising method for parallel cascade convolution code hardware decoder
US20170102950A1 (en) * 2003-05-23 2017-04-13 Ip Reservoir, Llc Intelligent Data Storage and Processing Using FPGA Devices
US20060236045A1 (en) * 2005-04-13 2006-10-19 Analog Devices, Inc. Apparatus for deinterleaving interleaved data using direct memory access
US20080098281A1 (en) * 2006-10-18 2008-04-24 Trellisware Technologies, Inc. Using sam in error correcting code encoder and decoder implementations
CN101652757A (en) * 2007-04-13 2010-02-17 Rgb网络有限公司 Sdram convolutional interleaver with two paths
CN101237240A (en) * 2008-02-26 2008-08-06 北京海尔集成电路设计有限公司 A method and device for realizing cirrocumulus interweaving/de-interweaving based on external memory
US8799750B1 (en) * 2011-05-09 2014-08-05 Xilinx, Inc. Convolutional interleaver for bursty memory access
CN104461934A (en) * 2014-11-07 2015-03-25 北京海尔集成电路设计有限公司 Time-domain deconvolution interweaving device and method suitable for DDR memorizer
US20180032857A1 (en) * 2015-10-07 2018-02-01 Intel Corporation Method and Apparatus for Performing Different Types of Convolution Operations with the Same Processing Elements
CN105282083A (en) * 2015-11-03 2016-01-27 西安烽火电子科技有限责任公司 Burst-mode broadband data processing device and method based on FPGA chip
CN107403221A (en) * 2016-05-03 2017-11-28 想象技术有限公司 The hardware of convolutional neural networks is realized

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
K.CHOLAN ET AL: "Design and Implementation of Low Power High Speed Viterbi Decoder", 《SCIVERSE SCIENCEDIRECT》, 31 December 2012 (2012-12-31), pages 61 - 68 *
赵博: "FPGA在实时SAR成像系统中的应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
赵博: "FPGA在实时SAR成像系统中的应用", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 11, 5 November 2010 (2010-11-05), pages 37 - 38 *
韩芳: "有限域快速多项式相乘运算核的研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》, no. 5, 15 September 2005 (2005-09-15), pages 136 - 78 *
高聪: "基于SIFT算法图像配准的FPGA实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》, no. 5, 15 May 2014 (2014-05-15), pages 138 - 2692 *

Also Published As

Publication number Publication date
CN108509382B (en) 2022-06-07

Similar Documents

Publication Publication Date Title
CN103325426B (en) Based on the seamless acquisition method that DDR2SDRAM array segment stores
CN103199870B (en) A kind of trigger point fast-positioning device
CN105718404A (en) Square-wave generator and generating method based on FPGA
CN105044420A (en) Waveform searching method of digital oscilloscope
CN105116318B (en) A kind of method that burr detection is realized in logic analyser
CN103678729B (en) A kind of high-speed a/d sampled data real-time storage method realized based on FPGA
CN108038068A (en) One kind reads method of data synchronization and system based on DDR
CN107124185A (en) A kind of data buffer storage and playback system of time-interleaved A/D conversion system
CN104077492A (en) Sample data interpolation method based on FPGA
CN102539864B (en) Digital oscilloscope and signal measurement method
CN103592598A (en) Sampling device for timing analysis of logic analyzer
CN104535980B (en) Five-dimensional dynamic stereoscopic clutter map implementation method based on DDR3-SDRAM
CN106502580A (en) A kind of deep memorizer and measuring instrument
CN102841880B (en) A kind of method based on the refinement of digital signal processor fast frequency spectrum
CN103592489A (en) Method for designing deep storage of digital oscilloscope
CN108509382A (en) A method of overlength sequence fast convolution operation is realized based on FPGA
CN102231140B (en) Method for obtaining data envelopments based on double-port random access memory (DPRAM)
CN106443115A (en) Depth storage based oscilloscope
CN103645378B (en) The pulse power Statistical Measurement of Radial Void that a kind of high speed is seamless catches
CN206460088U (en) A kind of oscillograph stored based on depth
CN204100994U (en) A kind of two-phase Linear Array CCD Data Acquisition and disposal system
CN112711393B (en) Real-time multichannel accumulation method based on FPGA
CN103969484A (en) High-refresh-rate waveform synthesizer and high-refresher-rate oscilloscope
CN204886928U (en) Small time interval data acquisition device based on PCIE bus
CN202453885U (en) Four-channel synchronous data acquisition card

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
GR01 Patent grant
GR01 Patent grant