CN104597805A - 一种基于fifo实现循环移位寄存器的系统及方法 - Google Patents

一种基于fifo实现循环移位寄存器的系统及方法 Download PDF

Info

Publication number
CN104597805A
CN104597805A CN201410748909.5A CN201410748909A CN104597805A CN 104597805 A CN104597805 A CN 104597805A CN 201410748909 A CN201410748909 A CN 201410748909A CN 104597805 A CN104597805 A CN 104597805A
Authority
CN
China
Prior art keywords
fifo
core
data
correlator
circulating 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
Application number
CN201410748909.5A
Other languages
English (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.)
Beijing Near Space Airship Technology Development Co Ltd
Original Assignee
Beijing Near Space Airship Technology Development 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 Beijing Near Space Airship Technology Development Co Ltd filed Critical Beijing Near Space Airship Technology Development Co Ltd
Priority to CN201410748909.5A priority Critical patent/CN104597805A/zh
Publication of CN104597805A publication Critical patent/CN104597805A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明公开了一种基于FIFO实现循环移位寄存器的系统及方法,所述系统包含:若干串联的FIFO核,及与每个FIFO核相连的相关器;所述每个FIFO核是一个深度为2n的先入先出缓存器;用于实现数据的循环移位,循环移位后的数据输出给所述相关器,实现相关器的循环移位;串联的FIFO核的前一个FIFO核中0地址的数据输出给下一个FIFO核,实现FIFO核的串联。每个FIFO核包含的FIFO同步工作。每个FIFO核以时分复用的方式共用一个相关器。

Description

一种基于FIFO实现循环移位寄存器的系统及方法
技术领域
本发明涉及现场可编程逻辑阵列FPGA(Field Programmable Gate Array)硬件设计领域,尤其涉及FPGA中循环移位寄存器的实现方法,具体涉及一种基于FIFO实现循环移位寄存器的系统及方法。
背景技术
在高动态接收机的捕获算法中往往需要进行大量的高速相关运算,因此为了解决大量的高速相关运算的问题需要采用大量的相关器及存储器。由于现有的普通存储器需要大量的外部读写地址线,控制逻辑复杂,这对于提高相关运算的效率问题非常不利。此外采用大量的存储器和相关器必然导致资源的浪费以及计算速率的显著降低。
发明内容
本发明所要解决的技术问题是利用基于FIFO的循环移位寄存器,以实现时分复用相关器的方法。
为了实现上述技术目的,本发明提供一种基于FIFO实现循环移位寄存器的系统,所述系统包含:若干串联的FIFO核及若干相关器,且每个FIFO核与一个相关器相连;
所述每个FIFO核是一个深度为2n的先入先出缓存器;用于实现数据的循环移位,循环移位后的数据输出给所述相关器,实现相关器的循环移位;
串联的FIFO核的前一个FIFO核中0地址的数据输出给下一个FIFO核,实现FIFO核的串联。
可选的,每个FIFO核包含的FIFO同步工作。
每个FIFO核以时分复用的方式共用一个相关器。当相关运算频率f1为124MHz且输入数据的频率f2为15.5MHz时,则串联的FIFO核的数量为32,相关运算器的数量为32个。且当相关运算频率f1为124MHz时一个相关运算器时分复用8次。
此外,本发明还提供了一种基于FIFO实现循环移位寄存器的方法,所述方法为:
首先将FPGA中的32个同步FIFO核在f1时钟下对输入数据进行循环移位,然后将32个FIFO核的输出数据分别作为32个相关器的输入数据进行相关运算,同时将每个FIFO核的输出数据输入至与各FIFO核串联的下一个FIFO核中;其中,f1为相关运算频率,f2为输入数据频率。
可选的,每个FIFO核的深度为8且宽度为6bit。
与现有技术相比,本发明的技术优势在于:
本发明采用相关器的时分复用技术,不仅节约了FPGA资源而且而且提高了整体运算速率;本发明在实现相关运算时采用FIFO核中的循环移位寄存器有效克服了采用普通存储器控制复杂的问题,且将循环移位寄存器与一个相关器相连最终实现了相关器的时分复用,进而有效节约了FPGA的资源。
附图说明
图1是FIFO基本工作原理图;
图2是本发明基于FIFO实现循环移位寄存器整体方案结构图;
图3是本发明实施例采用FIFO实现循环移位寄存器过程框图。
具体实施方式
下面结合附图对技术方案进行详细阐述。
本发明提供了一种采用基于FIFO的循环移位寄存器,以实现时分复用相关器的方法,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
图1描述了FIFO的基本工作原理。FIFO是一种先进先出的数据缓存器。它与普通存储器的区别是没有外部读写地址线,控制逻辑简单。缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。FIFO的主要参数是它的宽度和深度。FIFO的宽度指的是FIFO一次读写操作的数据的位数;深度指的是FIFO可以存储的数据的最大个数。
根据FIFO工作的时钟域,可以将FIFO分为同步FIFO和异步FIFO。同步FIFO是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致,读写时钟是互相独立的。在本方法中采用的是同步FIFO。
实施例
以下以相关运算频率法f1为124MHz,输入数据频率f2为15.5MHz,且FIFO核的深度为8时为例进行技术方案的详细阐述。
本实施例需要256个相关器在124MHz时钟下做256次相关运算。输入数据频率为15.5MHz,因此在124MHz时钟下可以使用32个相关器时分复用8次以实现256次相关。FPGA中的32个同步FIFO核在124MHz时钟下对输入数据进行循环移位,每一个FIFO的输出数据作为32个相关器的输入数据进行相关运算。
32个FIFO模块以串联模式工作。每个FIFO的深度为8,宽度为6bit。输入数据在15.5MHz时钟下写入至FIFO,每124MHz时钟FIFO内部数据进行一次移位,同时将FIFO内最先进入FIFO的数据输出给累加器ADD做相关运算。一个ADD模块在124MHz时钟下时分复用8次,相当于8个相关器。在下一个15.5MHz时钟时,将此FIFO第一次输出给ADD模块的数据同时输出给下一个FIFO模块。每个FIFO的工作模式一致。
整体方案结构如图2所示,图2中的相关器0至相关器7实质上是通过时分复用相关器达到的效果(即通过8次时分复用相关器类似存在8个相关器),而不是实际存在这八个相关器。FIFO_0和FIFO_1分别为前后两个串联的FIFO模块。输入数据在15.5MHz时钟下写入至FIFO_0,在下一个15.5MHz时钟时,将当前0位置上第一次输出给ADD模块的数据同时输出给下一个FIFO模块Fifo_1。一个FIFO模块在124MHz时钟下连续输出8个数据,该8个数据依次在124MHz时钟下ADD相关模块中作相关运算,每个相关结果均打8拍等待下一个数据的到来。结合图3进行说明,最右一列的数据为FIFO的输出数据。第一时段最右一列的数据1,2,3,4,5,6,7,8依次作相关运算,其中数据“1”的相关结果打八拍等待第二时段最右一列第一行数据“2”再作累加相关,数据“2”的相关结果打八拍等待第二时段最右一列第二行数据“3”再作累加相关,依次类推。
FIFO实现循环移位寄存器过程如图3所示。假设依次输入的数据为1,2,3,4,5,6,7,8,9,10.........。FIFO在124MHz时钟下工作。一个时段指8拍124MHz时钟即一个15.5MHz输入数据时钟,每一个时段输入一个新数据。从第1个时段可看出,当向FIFO写了七个数据后,读出一个数据,按照FIFO先进先出的原则,读出的是第一个写进去的数据“1”(如第一时段第1行所示);下一个124MHz时钟将第八个数据“8”(在此称为新进数)写入FIFO,同时读出第二个写进去的数据“2”(如第一时段第2行所示);在第一时段内由于除了第一个写入的数据“1”外,其他的数据均要被后面的时段采用,所以在读出数据“2”后,下一个时钟再将其回写入FIFO,同时读出第三个写进去的数据“3”(如第一时段第3行所示);同理下一个时钟将数据“3”回写入FIFO,读出第四个写进去的数据“4”,依次类推。
第一时段第1行读取的数据“1”和第二时段第1行读取的数据“2”依次输入到下一个FIFO中。两个相邻FIFO之间同一级数据应该相差8个124M时钟,即当第i个FIFO写入第9个数据的同时,写入第i个FIFO的第一个数据写入第i+1个FIFO;也可以理解为同一个数据写入前后两个FIFO的时间上相差8个124M时钟。
而从图3可以看出,第一个时段中当写入第八个数据“8”的同时已经将写入第一个数据“1”读出了,所以为了满足上述的时序关系,将读出的数据“1”在124M时钟下打8拍再送入下一个FIFO;同理第二时段第一行读出的数据“2”也在124M时钟下打8拍再送入下一个FIFO。将320个FIFO按照上述时序关系串联起来就实现了2560级循环移位寄存器。
以上所述仅为本发明的一个具体实施方式,并非用于限定本发明的保护范围,本领域的技术人员应当理解,在不脱离发明原理的前提下,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的保护范围中。

Claims (7)

1.一种基于FIFO实现循环移位寄存器的系统,其特征在于,所述系统包含:若干串联的FIFO核及若干相关器,且每个FIFO核与一个相关器相连;
所述每个FIFO核是一个深度为2n的先入先出缓存器,用于实现数据的循环移位,循环移位后的数据输出给所述相关器,进而实现相关器的相关运算;
其中,串联的FIFO核的前一个FIFO核中0地址的数据输出给下一个FIFO核,实现FIFO核的串联。
2.根据权利要求1所述的基于FIFO实现循环移位寄存器的系统,其特征在于,每个FIFO核包含的FIFO同步工作。
3.根据权利要求1所述的基于FIFO实现循环移位寄存器的系统,其特征在于,每个FIFO核以时分复用的方式共用一个相关器。
4.根据权利要求1或3所述的基于FIFO实现循环移位寄存器的系统,其特征在于,当相关运算频率f1为124MHz且输入数据的频率f2为15.5MHz时,则串联的FIFO核的数量为32,相关器的数量为32个。
5.根据权利要求4所述的基于FIFO实现循环移位寄存器的系统,其特征在于,当相关运算频率f1为124MHz时一个相关运算器时分复用8次。
6.一种基于FIFO实现循环移位寄存器的方法,所述方法为:
首先将FPGA中的32个同步FIFO核在f1时钟下对输入数据进行循环移位,然后将32个FIFO核的输出数据分别作为32个相关器的输入数据进行相关运算,同时将每个FIFO核的输出数据输入至与各FIFO核串联的下一个FIFO核中;
其中,f1为相关运算频率,f2为输入数据频率。
7.根据权利要求6所述的基于FIFO实现循环移位寄存器的方法,其特征在于,每个FIFO核的深度为8且宽度为6bit。
CN201410748909.5A 2014-12-09 2014-12-09 一种基于fifo实现循环移位寄存器的系统及方法 Pending CN104597805A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410748909.5A CN104597805A (zh) 2014-12-09 2014-12-09 一种基于fifo实现循环移位寄存器的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410748909.5A CN104597805A (zh) 2014-12-09 2014-12-09 一种基于fifo实现循环移位寄存器的系统及方法

Publications (1)

Publication Number Publication Date
CN104597805A true CN104597805A (zh) 2015-05-06

Family

ID=53123668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410748909.5A Pending CN104597805A (zh) 2014-12-09 2014-12-09 一种基于fifo实现循环移位寄存器的系统及方法

Country Status (1)

Country Link
CN (1) CN104597805A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106168927A (zh) * 2015-05-22 2016-11-30 罗伯特·博世有限公司 具有在运行中可变的存储区域的fifo存储器
CN109976704A (zh) * 2019-03-29 2019-07-05 西安电子科技大学 一种基于fpga的级联fifo模块的设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458967A (zh) * 2007-12-12 2009-06-17 台湾积体电路制造股份有限公司 双向移位寄存器
CN102117193A (zh) * 2010-01-04 2011-07-06 杭州华三通信技术有限公司 一种实现预读式fifo的方法和预读式fifo
CN102799410A (zh) * 2012-06-19 2012-11-28 东南大学 基于李氏制约竞争计数编码的异步fifo地址转换电路
WO2013049765A1 (en) * 2011-09-30 2013-04-04 Qualcomm Incorporated Fifo load instruction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458967A (zh) * 2007-12-12 2009-06-17 台湾积体电路制造股份有限公司 双向移位寄存器
CN102117193A (zh) * 2010-01-04 2011-07-06 杭州华三通信技术有限公司 一种实现预读式fifo的方法和预读式fifo
WO2013049765A1 (en) * 2011-09-30 2013-04-04 Qualcomm Incorporated Fifo load instruction
CN102799410A (zh) * 2012-06-19 2012-11-28 东南大学 基于李氏制约竞争计数编码的异步fifo地址转换电路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
欧春湘等: "基于FIFO的循环移位寄存器实现方法", 《现代电子技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106168927A (zh) * 2015-05-22 2016-11-30 罗伯特·博世有限公司 具有在运行中可变的存储区域的fifo存储器
CN109976704A (zh) * 2019-03-29 2019-07-05 西安电子科技大学 一种基于fpga的级联fifo模块的设计方法

Similar Documents

Publication Publication Date Title
CN102033732B (zh) 基于fpga的高速低延迟浮点累加器及其实现方法
CN104866452B (zh) 基于fpga和tl16c554a的多串口扩展方法
CN102932696B (zh) 一种星载高速数据复接器系统及实现方法
CN103714038B (zh) 一种数据处理方法和装置
CN107590085B (zh) 一种具有多级缓存的动态可重构阵列数据通路及其控制方法
CN104298634A (zh) 基于fpga和dsp的数据传输系统
CN103984560A (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN104239232B (zh) 一种基于fpga内dpram的乒乓缓存操作结构
CN103309981B (zh) 一种具有高存储效率的adc数据组织系统及其方法
CN103888147A (zh) 一种串行转并行转换电路和转换器以及转换系统
CN103676742A (zh) 一种基于fpga的数据重组方法
CN104702860A (zh) 基于fpga的视频图像切换系统
CN102082577B (zh) 一种高速循环冗余校验crc装置及其实现方法
CN103782267A (zh) 用于电压域交叉的数据存储装置
CN104597805A (zh) 一种基于fifo实现循环移位寄存器的系统及方法
CN103544111B (zh) 一种基于实时性处理的混合基fft方法
CN102063262B (zh) 一种多路模拟量自动采集控制电路
CN103135097A (zh) 一种基于fpga的16通道双模式雷达数字下变频方法
CN103490785A (zh) 高速串并转换方法及转换器
CN102521180B (zh) 一种多通道实时直读存储器结构
CN103714012A (zh) 数据处理方法和装置
CN104252560A (zh) 基于现场可编程门阵列的集中缓存式装置及设计方法
CN202332303U (zh) 一种多通道实时直读存储器结构
CN102799537B (zh) 一种航天器aos系统双口ram缓冲区管理方法
CN103685961B (zh) 一种利用单片sram实现视频数据同步实时处理的系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150506