《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計應(yīng)用 > 基于FPGA的高速FIFO電路設(shè)計
基于FPGA的高速FIFO電路設(shè)計
摘要: 由于FPGA內(nèi)嵌存儲器的容量有限,通常不能夠滿足實際設(shè)計電路的需求,需要外接SRAM、SDRAM、磁盤陣列等大容量存儲設(shè)備。本文主要介紹高速FIFO電路在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,相關(guān)電路主要有高速A/D轉(zhuǎn)換器、FPGA、SDRAM存儲器等。
關(guān)鍵詞: FIFO 存儲器 FPGA SRAM
Abstract:
Key words :

 前言

  在大容量高速采集系統(tǒng)項目的開發(fā)過程中,FPGA作為可編程邏輯器件,設(shè)計靈活、可操作性強,是高速數(shù)字電路設(shè)計的核心器件。由于FPGA內(nèi)嵌存儲器的容量有限,通常不能夠滿足實際設(shè)計電路的需求,需要外接SRAM、SDRAM、磁盤陣列等大容量存儲設(shè)備。本文主要介紹高速FIFO電路在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,相關(guān)電路主要有高速A/D轉(zhuǎn)換器、FPGA、SDRAM存儲器等。圖1為本方案的結(jié)構(gòu)框圖。A/D輸出的數(shù)據(jù)流速度快,經(jīng)過FPGA降速后,位數(shù)寬,速度仍然很高,不能直接存儲到外部存儲器。在設(shè)計時,要經(jīng)過FIFO緩存,然后才能存儲到外部存儲器。本設(shè)計的FIFO容量小、功能強,充分利用了FPGA內(nèi)部FIFO電路的特點,結(jié)合實際電路,優(yōu)化了整個電路模型的設(shè)計。

 

  異步FIFO生成

  FIFO占用的內(nèi)存資源為FPGA內(nèi)嵌的block RAM,由Xilinx公司提供的ISE開發(fā)平臺自動生成。讀寫時鐘有通用時鐘和獨立時鐘可選,我們采用獨立時鐘,rd_clk和wr_clk獨立,為了保證在高速采集時數(shù)據(jù)不丟失,rd_clk頻率不低于wr_clk。FIFO讀模式采用標準FIFO,每次啟動采集時都要對FIFO進行復(fù)位,為異步復(fù)位,初始化內(nèi)部指針和輸出寄存器。在FIFO生成過程中,我們啟用almost_full 和almost_empty選項,以及prog_full 和prog_empty選項,prog_full和prog_empty要進行參數(shù)設(shè)置,具體設(shè)置參數(shù)如圖2所示。

 

  FIFO接口信號定義

  根據(jù)FIFO的生成過程,在圖3中給出了讀寫時鐘域的信號定義,所有的在寫時鐘域的輸入信號都必須經(jīng)過寫時鐘同步,所有的在讀時鐘域的輸入信號都要經(jīng)過讀時鐘同步。信號經(jīng)過時鐘同步后,可以確保在讀寫過程中不會出現(xiàn)亞穩(wěn)態(tài),導(dǎo)致讀寫操作出現(xiàn)錯誤。


下面對讀寫時鐘域定義信號給予說明:

  rst:復(fù)位信號,高有效,異步復(fù)位,每次啟動采集都要首先對FIFO進行復(fù)位;

  wr_clk:寫時鐘;

  wr_en:與寫時鐘同步;

  din:輸入數(shù)據(jù)總線;

  rd_clk:讀時鐘;

  dout:輸出數(shù)據(jù)總線;

  full:FIFO全滿標志;

  empty:FIFO全空標志;

  almost_full:高有效,如果為高電平,在寫一個數(shù)據(jù)FIFO將全滿;

  almost_empty:高有效,如果為高電平,在讀一個數(shù)據(jù)FIFO將全空;

  prog_full:可編程滿標志,根據(jù)需要,可以設(shè)定FIFO內(nèi)部有多少數(shù)據(jù),該標志信號有效;

  prog_empty:可編程空標志,根據(jù)需要,可以設(shè)定FIFO內(nèi)部有多少數(shù)據(jù),該標志信號有效;

  wr_data_count:說明FIFO內(nèi)部已經(jīng)寫了多少數(shù)據(jù);

  rd_data_count:說明FIFO內(nèi)部有多少數(shù)據(jù)可以讀。

  FIFO控制電路設(shè)計

  實際電路設(shè)計不考慮讀寫時鐘的頻率和相位的異同,讀寫時鐘域的電路基于同步電路設(shè)計的理念來進行設(shè)計,在設(shè)計過程中,滿足讀時鐘頻率不低于寫時鐘頻率即可。在圖4中給出了FIFO控制電路的流程圖,下面將對低速傳輸和高速傳輸進行詳細介紹。

 

  低速采集數(shù)據(jù)傳輸過程

  在圖5給出了低速采集時傳輸周期時序仿真時序圖,在低速采集時,寫時鐘頻率小于讀時鐘,每次觸發(fā)長度為FIFO長度的一半。采集結(jié)束即剩余數(shù)據(jù)傳輸?shù)拈L度不到FIFO的一半。根據(jù)prog_full的設(shè)置,在prog_full有效,同時采集門控信號有效時啟動觸發(fā)請求,由于prog_full為寫時鐘域信號,必須要經(jīng)過rd_clk同步,源代碼如下:

 process(rd_clk,acq_start_rst)
begin
if acq_start_rst='1'then
prog_full_dly<='0';
prog_full_dly1<='0';
elsif rd_clk'event and rd_clk='1'
then
if acq_gate= '1' then
prog_full_dly<=prog_full;
prog_full_dly1<=prog_
full_dly;
else
prog_full_dly<='0';
prog_full_dly1<='0';
end if;
end if;
end process;

  當FIFO半滿時觸發(fā)讀請求有效,acq_frame_l為低電平,啟動采集數(shù)據(jù)傳輸請求,地址和數(shù)據(jù)同時有效,sdram控制器給出應(yīng)答信號acq_trdy_l,長度由FIFO讀寫控制電路決定,觸發(fā)一次的長度為32,即FIFO半滿的長度,傳輸完畢,給出傳輸結(jié)束標志信號acq_blast,一次傳輸周期結(jié)束。采集門控信號結(jié)束后,F(xiàn)IFO剩余數(shù)據(jù)長度不足32,這時候啟動門控結(jié)束傳遞進程,觸發(fā)結(jié)束標志由almost_empty決定,當alomost_empty有效時,停止觸發(fā)。

       高速采集數(shù)據(jù)傳輸過程

  在高速采集時,讀時鐘頻率等于寫時鐘頻率,當啟動觸發(fā)傳輸時,觸發(fā)傳輸長度為門控信號長度,直到將FIFO內(nèi)部數(shù)據(jù)傳輸完畢,觸發(fā)結(jié)束標志由almost_empty決定,當alomost_empty有效時,停止觸發(fā)傳輸,觸發(fā)傳輸過程如圖6所示。

 

  結(jié)語

  采用高速異步FIFO作為數(shù)據(jù)采集緩存,應(yīng)用范圍十分廣泛。特別是在高速數(shù)據(jù)采集系統(tǒng)中,在外接存儲器時,采集數(shù)據(jù)首先要經(jīng)過緩存才能存入外部存儲器,采用FPGA自生成FIFO就能夠滿足要求。本方案充分利用FIFO的特點,通過控制電路優(yōu)化設(shè)計,解決了讀寫時鐘的異同問題,提高了電路的工作效率。


 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩蜜桃| 亚洲第一中文字幕| 欧美第一黄网免费网站| 久久久亚洲高清| 欧美专区福利在线| 欧美一区网站| 久久精品在线观看| 久久久www| 久久久久免费| 噜噜噜噜噜久久久久久91| 每日更新成人在线视频| 噜噜噜噜噜久久久久久91 | 亚洲免费观看高清在线观看 | 国产精品国产三级国产专播品爱网| 欧美日韩xxxxx| 欧美日韩精品二区第二页| 欧美精品三级日韩久久| 欧美精品一区二区三区蜜桃 | 欧美日韩一区二区免费视频| 欧美日韩国产综合久久| 欧美特黄一区| 国产精品女同互慰在线看| 国产精品一区久久久| 国产乱码精品一区二区三| 国产一区二区成人久久免费影院| 国产一区二区精品久久99| 黄色成人av| 亚洲激情av在线| 一本到12不卡视频在线dvd| 一区二区三区四区精品| 亚洲欧美日韩久久精品| 欧美中文字幕第一页| 亚洲国产成人精品久久| 亚洲精选久久| 亚洲欧美中文另类| 久久九九精品99国产精品| 久久视频国产精品免费视频在线| 欧美成人亚洲成人日韩成人| 欧美日韩国产高清| 国产精品资源| 亚洲第一网站| 一区二区三区四区五区在线| 性亚洲最疯狂xxxx高清| 亚洲国产精品悠悠久久琪琪 | 亚洲午夜激情| 久久精品水蜜桃av综合天堂| 麻豆9191精品国产| 欧美日韩一区精品| 国产亚洲女人久久久久毛片| 亚洲国产经典视频| 亚洲伊人观看| 亚洲伦理精品| 欧美一二三区精品| 欧美高清在线一区二区| 国产精品久久久久9999高清| 韩国精品在线观看| 99国产精品99久久久久久粉嫩| 亚洲欧美另类在线| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲自啪免费| 你懂的视频欧美| 国产精品视频免费观看www| 亚洲高清资源综合久久精品| 亚洲一级黄色av| 最新成人在线| 欧美在线一二三| 欧美精品一区在线| 国产一区二区三区在线观看精品| 亚洲精品中文在线| 久久精品国产一区二区三区| 亚洲视频导航| 毛片av中文字幕一区二区| 国产精品你懂的| 亚洲精品视频在线观看网站| 欧美专区18| 亚洲综合99| 欧美日韩成人激情| 影音先锋久久资源网| 亚洲女同精品视频| 正在播放亚洲一区| 免费亚洲一区二区| 国产视频自拍一区| 亚洲午夜精品国产| 99国产精品国产精品久久| 久久久久久久久久久久久久一区 | 国产精品久久国产精麻豆99网站| 亚洲国产高潮在线观看| 欧美一区二区在线看| 亚洲综合色网站| 欧美久久电影| 亚洲国产精品黑人久久久| 欧美一区二区三区免费看| 亚洲欧美日韩国产一区二区三区| 欧美片第1页综合| 在线不卡亚洲| 欧美在线观看一区| 欧美在线黄色| 国产精品免费小视频| 日韩亚洲在线| 99热这里只有精品8| 欧美成人午夜激情在线| 精品91在线| 久久精品国产精品亚洲综合| 欧美在线亚洲综合一区| 国产精品爽黄69| 亚洲在线一区| 午夜日韩在线观看| 国产精品成人一区二区三区夜夜夜 | 国产香蕉97碰碰久久人人| 亚洲一区二区三区国产| 亚洲一区免费视频| 欧美特黄一级| 在线综合亚洲| 亚洲男女自偷自拍图片另类| 欧美精品在线看| 日韩午夜激情av| 夜夜嗨av色一区二区不卡| 欧美区一区二区三区| 亚洲韩日在线| 一区二区三区视频观看| 欧美日韩一二三四五区| 亚洲老司机av| 亚洲一区国产一区| 国产精品裸体一区二区三区| 亚洲小视频在线| 欧美一区观看| 国内精品视频666| 91久久精品一区二区三区| 欧美成人综合| 日韩一区二区精品| 亚洲欧美一级二级三级| 国产模特精品视频久久久久| 欧美亚洲一区二区在线| 久久久国产精品一区二区三区| 狠狠色2019综合网| 亚洲每日在线| 欧美午夜精品一区二区三区| 亚洲午夜av电影| 欧美一区二区三区视频在线| 国产一区二区毛片| 亚洲国产精品久久久久| 欧美激情精品| 国产精品99久久久久久久久| 欧美一区二区三区四区在线| 好吊色欧美一区二区三区四区| 亚洲伦理在线免费看| 国产精品成人播放| 欧美一区在线视频| 欧美黄色小视频| 亚洲一区欧美一区| 麻豆九一精品爱看视频在线观看免费| 亚洲欧洲日产国产综合网| 亚洲影音一区| 精品成人一区二区三区| 99精品国产福利在线观看免费 | 一区二区精品在线| 国产欧美一区二区三区久久人妖 | 一区二区三区日韩欧美精品| 国产精品一区二区三区免费观看| 亚洲大片av| 欧美日韩你懂的| 欧美综合国产| 欧美日韩伦理在线免费| 午夜日韩av| 欧美日本国产| 欧美影院视频| 欧美视频福利| 亚洲福利国产| 国产精品av久久久久久麻豆网| 久久国产精品黑丝| 欧美性色综合| 亚洲激情一区二区| 国产精品色婷婷| 亚洲免费av片| 国内精品久久久久影院色| 一区二区三区四区国产精品| 国产一区二区高清不卡| 一区二区三区国产| 精品999日本| 午夜在线一区| 亚洲人成网站在线观看播放| 久久激情视频免费观看| 99re这里只有精品6| 久久综合给合| 亚洲欧美国产精品va在线观看| 欧美久久婷婷综合色| 久久精品成人一区二区三区 | 91久久国产综合久久91精品网站| 西瓜成人精品人成网站| 亚洲日本一区二区| 久久久久久综合网天天| 亚洲视频免费在线观看| 欧美插天视频在线播放| 欧美亚洲综合久久| 欧美私人网站| 妖精成人www高清在线观看| 激情综合中文娱乐网| 欧美综合二区| 亚洲一级黄色av| 欧美日韩直播|