999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FIFO的循環移位寄存器實現方法

2014-10-17 17:54:19歐春湘楊嘉偉任曉松
現代電子技術 2014年19期

歐春湘++楊嘉偉++任曉松

摘 要: 為了完成高頻率下相關器的時分復用,相關器的低頻輸入數據須通過循環移位寄存器移位。提出了在FPGA中采用多級串聯FIFO核實現循環移位寄存器。對上述方案進行FPGA仿真實驗,經實測表明基于FIFO的循環移位寄存器工作穩定,能夠實時地提供準確數據給時分復用相關器模塊。

關鍵詞: FIFO; 移位寄存器; FPGA; 相關器

中圖分類號: TN915.04?34 文獻標識碼: A 文章編號: 1004?373X(2014)19?0060?03

Implementation of circulating shift?register based on FIFO

OU Chun?xiang1, YANG Jia?wei2, REN Xiao?song1

(1. Information Technology Academy of China Aerospace Science & Industry Corporation, Beijing 100071, China;

2. Defense Technology Academy of China Aerospace Science & Industry Corporation, Beijing 100854, China )

Abstract: Since the low frequency input data of the correlator should be shifted by circulating shift?register to accomplish time division multiplexing of the correlator in high frequency, an implementation method of circulating shift?register which adopts series FIFO (First input first output) core in FPGA is proposed. FPGA simulation of the scheme mentioned above was performed. The results shows that the shift?register based on FIFO works stable and can provide accurate data to the time division multiplexing correlator.

Keywords: FIFO; shift?register; FPGA; correlator

0 引 言

在高動態接收機的時域相關+FFT捕獲算法中需要進行大量的高速相關運算[1?2],因此在FPGA實現中需要產生大量的相關器。為了節省有限的FPGA資源、降低成本,同時相關運算頻率[f1]是相關輸入數據(后簡稱“輸入數據”)頻率[f2]的整數倍,因此時分復用相關器是達到目的的可行方法[3?4]。

輸入數據在頻率[f1]下經過普通移位寄存器會造成數據的丟失。只有經過循環移位才能保證在下一個輸入數據來之前,寄存器內之前的[N(N=f1f2)]個輸入數據均在[f1]頻率下進行了相關運算。由于FIFO先進先出的原理,利用深度為[N]的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所示[9?10]。在FIFO_0內寫滿了8個數-2,0,0,0,-2,-6,2,6的下一拍即當FIFO_0寫入第九個數“0”的同時,FIFO_1開始寫入第一個數“-2”。每相鄰兩個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.

[8] 胡輝,袁超,吳超,等.基于FPGA的GPS接收機相關器技術研究與實現[J].系統仿真學報,2011(7):1513?1517.

[9] 何清平,劉佐濂.基于FPGA設計的綜合技術分析[J].中國科技信息,2006(11):181?183.

[10] 張小新,魏厚龍.FPGA技術及其開發方式概述[J].山西電子技術,2008(5):86?87.

第一時段第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所示[9?10]。在FIFO_0內寫滿了8個數-2,0,0,0,-2,-6,2,6的下一拍即當FIFO_0寫入第九個數“0”的同時,FIFO_1開始寫入第一個數“-2”。每相鄰兩個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.

[8] 胡輝,袁超,吳超,等.基于FPGA的GPS接收機相關器技術研究與實現[J].系統仿真學報,2011(7):1513?1517.

[9] 何清平,劉佐濂.基于FPGA設計的綜合技術分析[J].中國科技信息,2006(11):181?183.

[10] 張小新,魏厚龍.FPGA技術及其開發方式概述[J].山西電子技術,2008(5):86?87.

第一時段第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所示[9?10]。在FIFO_0內寫滿了8個數-2,0,0,0,-2,-6,2,6的下一拍即當FIFO_0寫入第九個數“0”的同時,FIFO_1開始寫入第一個數“-2”。每相鄰兩個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.

[8] 胡輝,袁超,吳超,等.基于FPGA的GPS接收機相關器技術研究與實現[J].系統仿真學報,2011(7):1513?1517.

[9] 何清平,劉佐濂.基于FPGA設計的綜合技術分析[J].中國科技信息,2006(11):181?183.

[10] 張小新,魏厚龍.FPGA技術及其開發方式概述[J].山西電子技術,2008(5):86?87.

主站蜘蛛池模板: 伊人色综合久久天天| 人妻中文字幕无码久久一区| 欧美色图第一页| 亚洲成人在线网| 91国内在线视频| 国产欧美日韩资源在线观看| 国产免费久久精品99re不卡| 色婷婷在线影院| 超清无码一区二区三区| 欧美69视频在线| 日本福利视频网站| 国产电话自拍伊人| 国产91全国探花系列在线播放| 久久久成年黄色视频| 欧美一区二区三区不卡免费| 久久久精品国产亚洲AV日韩| 亚洲精品另类| 欧美a级完整在线观看| 2021国产在线视频| 美女免费精品高清毛片在线视| 精品国产女同疯狂摩擦2| 午夜福利在线观看成人| 日韩123欧美字幕| 色网在线视频| 亚洲中久无码永久在线观看软件| 久久99国产精品成人欧美| 91亚洲视频下载| 中国国产高清免费AV片| 污污网站在线观看| 国产高清国内精品福利| 亚洲bt欧美bt精品| 日本三级黄在线观看| 欧美啪啪网| www.亚洲一区| 欧美亚洲国产精品第一页| 欧美激情一区二区三区成人| 女人爽到高潮免费视频大全| 东京热一区二区三区无码视频| 国产综合色在线视频播放线视| 欧美视频在线第一页| 日韩精品高清自在线| 最新痴汉在线无码AV| 91久久夜色精品国产网站| 操美女免费网站| 中国国产A一级毛片| 亚洲国产欧美国产综合久久 | 日本久久久久久免费网络| 欧美黄网站免费观看| 秋霞国产在线| 午夜免费小视频| 青青青视频蜜桃一区二区| 久久国产乱子伦视频无卡顿| a级毛片免费看| 国内精品小视频在线| 国产色伊人| 亚洲 欧美 中文 AⅤ在线视频| 国产99视频精品免费视频7| 中文字幕欧美日韩| 免费在线看黄网址| 成人第一页| 国产麻豆aⅴ精品无码| 久久夜夜视频| 国产不卡网| 亚洲一区二区三区麻豆| 欧美日韩在线成人| 欧美中文字幕在线视频| 国产欧美日韩综合一区在线播放| 国产成人精品三级| 国产精品一区不卡| www.亚洲国产| 国产精品七七在线播放| 国产噜噜噜视频在线观看| 国产成人无码AV在线播放动漫 | 久久福利片| 老司机精品99在线播放| 青青网在线国产| 综合色亚洲| 波多野结衣久久精品| 亚欧成人无码AV在线播放| 欧美性久久久久| 久久免费成人| 国产免费久久精品99re不卡|