欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 通讯论文 > 基于FIFO的循环移位寄存器实现技术分析

基于FIFO的循环移位寄存器实现技术分析

日期:2023-01-24 阅读量:0 所属栏目:通讯论文


  0 引 言
  在高动态接收机的时域相关+FFT捕获算法中需要进行大量的高速相关运算[1?2],因此在FPGA实现中需要产生大量的相关器。为了节省有限的FPGA资源、降低成本,同时相关运算频率[f1]是相关输入数据(后简称“输入数据”)频率[f2]的整数倍,因此时分复用相关器是达到目的的可行方法[3?4]。
  输入数据在频率的FIFO实现循环移位寄存器。
  1 FIFO简介
  FIFO(First Input First Output)是一种先进先出的数据缓存器,如图1所示。它与普通存储器的区别是没有外部读写地址线,控制逻辑简单。缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址[5]。
  FIFO的主要参数是它的宽度和深度。FIFO的宽度指的是FIFO一次读写操作的数据位;深度指的是FIFO可以存储N(设宽度为N)位数据的个数[6]。
  根据FIFO工作的时钟域,可以将FIFO分为同步FIFO和异步FIFO[7]。同步FIFO是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致,读写时钟是互相独立的。在本文中采用的是同步FIFO。
  2 方案设计
  在工程中需要2 560个相关器在124 MHz时钟下做2 560次相关运算。输入数据频率为15.5 MHz,因此在124 MHz时钟下可以使用320个相关器时分复用8次以实现2 560次相关。FPGA中的320个同步FIFO核在124 MHz时钟下对输入数据进行循环移位,每一个FIFO的输出数据作为320个相关器的输入数据进行相关运算[8]。整体方案结构如图2所示。
  320个FIFO模块以串联模式工作。图2中FIFO_0和FIFO_1分别为前后两个串联的FIFO模块。每个FIFO的深度为8,宽度为6 b。输入数据在15.5 MHz时钟下写入至FIFO_0,每124 MHz时钟FIFO内部数据进行一次移位,同时将最先进入FIFO的数据即移位到0位置的数据输出给累加器ADD做相关运算。一个ADD模块在124 MHz时钟下时分复用8次,相当于8个相关器add7~add0。在15.5 MHz时钟的控制下,将当前0位置上第一次输出给ADD模块的数据同时输出给下一个FIFO模块FIFO_1。每个FIFO的工作模式均与FIFO_0的一致。
  以第一个FIFO为例说明FIFO模块的具体工作过程。假设依次输入的数据为1,2,3,4,5,6,7,8,9,10,…。具体实现过程如图3所示。
  FIFO在124 MHz时钟下工作。一个时段指8拍124 MHz时钟即一个15.5 MHz输入数据时钟,每一个时段输入一个新数据。从第1个时段可看出,当向FIFO写了7个数据后,读出一个数据,按照FIFO先进先出的原则,读出的是第一个写进去的数据“1”(如第一时段第1行所示);下一个124 MHz时钟将第八个数据“8”(在此称为新进数)写入FIFO,同时读出第二个写进去的数据“2” (如第一时段第2行所示);在第一时段内由于除了第一个写入的数据“1”外,其他的数据均要被后面的时段采用,所以在读出数据“2”后,下一个时钟再将其回写入FIFO,同时读出第三个写进去的数据“3” (如第一时段第3行所示);同理下一个时钟将数据“3”回写入FIFO,读出第四个写进去的数据“4”,依次类推。
 第一时段第1行读取的数据“1”和第二时段第1行读取的数据“2”依次输入到下一个FIFO中。两个相邻FIFO之间同一级数据应该相差8个124 MHz时钟,即当第[i]个FIFO写入第9个数据的同时,写入第[i]个FIFO的第一个数据写入第[i+1]个FIFO;也可以理解为同一个数据写入前后两个FIFO的时间上相差8个124 MHz时钟。
  而从图3可以看出,第一个时段中当写入第八个数据“8”的同时已经将写入第一个数据“1”读出了,所以为了满足上述的时序关系,将读出的数据“1”在124 MHz时钟下打8拍再送入下一个FIFO;同理第二时段第一行读出的数据“2”也在124 MHz时钟下打8拍再送入下一个FIFO。将320个FIFO按照上述时序关系串联起来就实现了2 560级循环移位寄存器。
  3 仿真与分析
  3.1 仿真条件
  在FPGA中对上述方案进行仿真。调用320个FIFO内核以实现循环移位寄存器,320个FIFO的输出分别作为320个相关器的输入,320个相关器在主时钟124 MHz下时分复用8次实现2 560个相关器。其中FIFO输入数据的频率为15.5 MHz,整个运算过程在主时钟124 MHz下工作。调用的FIFO内核如图4所示,其宽度为6 b,深度为8。输入数据为:-2,0,0,0,-2,-6,2,6,0,0,2,2,6,0,4,2,…。
  3.2 仿真结果
  320个FIFO核串联工作,连续两个相邻的FIFO_0和FIFO_1的时序逻辑如图5所示相邻两个FIFO的时序关系都与FIFO_0和FIFO_1的一样。320个FIFO核就是以这样的方式连接实现循环移位寄存器。
  一个FIFO同一时段在124 MHz时钟下连续输出八个数据,该八个数据依次在124 MHz时钟下作相关运算,每个相关结果均打八拍等待下一个数据的到来。以图3为例说明,最右一列的数据为FIFO的输出数据。第一时段最右一列的数据1,2,3,4,5,6,7,8依次作相关运算,其中数据“1”的相关结果打八拍等待第二时段最右一列第一行数据“2”再作累加相关,数据“2”的相关结果打八拍等待第二时段最右一列第二行数据“3”再作累加相关,依次类推。此过程的FPGA仿真图如图6所示,sum0~sum7为一个FIFO输出作相关运算的8个相关结果。
  4 结 语
  高动态接收机的时域相关+FFT捕获算法需要大量相关运算,为了减少硬件 资源采用了时分复用技术实现大量的相关运算。本方案将输入数据经过多级串联FIFO进行循环移位,再作相关运算实现了相关器的时分复用。
  参考文献
  [1] 李菊,陈禾,金俊昆,等.基于FFT的两种伪码快速捕获方案的研究与实现[J].电子与信息学报,2006(10):1778?1781.
  [2] 谢钢.GPS原理与接收机设计[M].北京:电子工业出版社,2012.
  [3] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008.
  [4] 劳有兰,陈锦.基于FPGA时分复用数字基带通信系统的设计[J].广西工学院学报,2003(2):34?37.
  [5] 张奇山,刘安芝,刘希顺.基于FPGA的FIFO设计和应用[J].嵌入式技术,2009(18):50?52.
  [6] 周晓波,李锐菁,赵强.基于FPGA 的高速存储器接口应用开发[J].铁路计算机应用,2013(5):8?11.
  [7] 唐清善,费玮玮,蔡惠智,等.基于FPGA的高速异步FIFO的设计与实现[J].微计算机信息,2009(29):6?8.

本文链接:http://www.qk112.com/lwfw/jsjlw/txlw/261641.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学