當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]異步FIFO是一種在電子系統(tǒng)中得到廣泛應(yīng)用的器件,文中介紹了一種基于FPGA的異步FIFO設(shè)計(jì)方法。使用這種方法可以設(shè)計(jì)出高速、高可靠的異步FIFO。

摘要:在現(xiàn)代電路設(shè)計(jì)中,一個(gè)系統(tǒng)往往包含了多個(gè)時(shí)鐘,如何在異步時(shí)鐘間傳遞數(shù)據(jù)成為一個(gè)很重要的問題,而使用異步FIFO可以有效地解決這個(gè)問題。異步FIFO是一種在電子系統(tǒng)中得到廣泛應(yīng)用的器件,文中介紹了一種基于FPGA的異步FIFO設(shè)計(jì)方法。使用這種方法可以設(shè)計(jì)出高速、高可靠的異步FIFO。
關(guān)鍵詞:FIFO;FPGA

0引言

在現(xiàn)場可編程邏輯芯片的設(shè)計(jì)過程中不同模塊之間的數(shù)據(jù)接口尤其是不同時(shí)鐘系統(tǒng)的各個(gè)模塊之間的數(shù)據(jù)接口是系統(tǒng)設(shè)計(jì)的一個(gè)關(guān)鍵用異步FIFO模塊來實(shí)現(xiàn)接口,接口雙方都在自己時(shí)鐘的同步下進(jìn)行工作它們之間不需要互相握手只需要跟接口FIFO模塊進(jìn)行交互即可即向接口FIFO模塊中寫入數(shù)據(jù)或從FIFO模塊中讀出數(shù)據(jù)。用這樣一個(gè)緩沖FIFO模塊實(shí)現(xiàn)FPGA內(nèi)部不同時(shí)鐘系統(tǒng)之間的數(shù)據(jù)接口使設(shè)計(jì)變得非常簡單和容易所用的FIFO接口是XILINX公司提供的IP核。經(jīng)過充分測試和優(yōu)化,系統(tǒng)運(yùn)行穩(wěn)定占用的FPGA內(nèi)部資源也非常少。

1 FIFO 類型

FIFO先進(jìn)先出隊(duì)列是一種在電子系統(tǒng)得到廣泛應(yīng)用的器件通常用于數(shù)據(jù)的緩存和用于容納異步信號(hào)的頻率或相位的差異FIFO的實(shí)現(xiàn)通常是利用雙口RAM 和讀寫地址產(chǎn)生模塊來實(shí)現(xiàn)的圖1顯示出了FIFO 的內(nèi)部結(jié)構(gòu)。

圖1 FIFO內(nèi)部結(jié)構(gòu)圖

FIFO的功能框圖如圖2 所示

圖2 FIFO功能框圖

根據(jù)讀寫操作的同步/異步標(biāo)志方案的同步/異步第一個(gè)寫操作以及復(fù)位功能的不同F(xiàn)IFO 存儲(chǔ)器可分為4 大類:

 (1)異步FIFO。 通常只有兩個(gè)控制信號(hào)讀使能( RE )與寫使能( WE)信號(hào)標(biāo)志信號(hào)有全空標(biāo)志(EF)全滿標(biāo)志(FF) 可選半滿標(biāo)志(HF)幾乎全滿標(biāo)志(AF) 幾乎全空標(biāo)志(AE)這些標(biāo)志并不與任何時(shí)鐘或事件同步但是反映讀寫指針的即時(shí)對(duì)照。

(2)選通式FIFO。與異步FIFO存儲(chǔ)器相似選通FIFO通常使用讀寫選通UNCK和LDCK信號(hào)以及輸出使能OE信號(hào)這類FIFO 通常提供半滿標(biāo)志(HF)可選幾乎滿標(biāo)志(AF)幾乎空標(biāo)志(AE)全空標(biāo)志(EF)和全滿標(biāo)志(FF)這些標(biāo)志雖然反映讀寫指針但不與任何時(shí)鐘或事件同步。

(3)標(biāo)準(zhǔn)同步FIFO。同步FIFO需要自由運(yùn)行的讀和寫時(shí)鐘RCLK 和WCLK 讀寫操作是與這些時(shí)鐘同步的控制信號(hào)包括讀使能信號(hào)FEN 寫使能信號(hào)WEN和輸出使能信號(hào)OE 標(biāo)志方案使用全空標(biāo)志全滿標(biāo)志和半滿標(biāo)志時(shí)序上不是FWFT 的因此寫入FIFO 的第一個(gè)字先停留在一個(gè)在存儲(chǔ)單元中。

(4)FWFT 同步FIFO。FWFT First Word Fall Through FIFO與標(biāo)準(zhǔn)FIFO相似它需要自由運(yùn)行的讀時(shí)鐘和寫時(shí)鐘RCLK和WCLK讀寫操作與這些時(shí)鐘同步控制信號(hào)包括讀使能REN寫使能WEN以及輸出使能信號(hào)OE內(nèi)部結(jié)構(gòu)是首字直接通過First Word Fall Through 的即是寫入FIFO 的第一個(gè)數(shù)據(jù)單元直接進(jìn)入輸出緩沖區(qū)而不是停在存儲(chǔ)器單元其標(biāo)志方案是FWFT結(jié)構(gòu)的直接結(jié)果也與標(biāo)準(zhǔn)同步FIFO不同。FWFT FIFO 存儲(chǔ)器使用輸出預(yù)備OR和輸入預(yù)備IR標(biāo)志而不使用全空標(biāo)志和全滿標(biāo)志。FWFT FIFO 也使用半空標(biāo)志,也可選幾乎全空標(biāo)志和全滿標(biāo)志。

2 FPGA內(nèi)部軟FIFO的設(shè)計(jì)

FPGA中有幾個(gè)大容量的RAM,本文以XILINX公司Spartan-ⅡE系列芯片為設(shè)計(jì)芯片。在Spartan-ⅡE系列芯片中包含兩列Block RAM,并且沿垂直邊擺放。如圖3所示

圖3 雙口 RAM

不同的Spartan-ⅡE系列芯片的所包含的Block RAM個(gè)數(shù)和位數(shù)如表1所示:

表1. Spartan-ⅡE BRAM

Spartan-ⅡE系列

個(gè)數(shù)

位數(shù)

XC2S50E

8

32/K位

XC2S100E

10

40/K位

XC2S150E

12

48/K位

XC2S200E

14

56/K位

XC2S300E

16

64/K位

XC2S400E

40

160/K位

XC2S600E

72

288/K位

FPGA 中的軟FIFO由三部分構(gòu)成:寫地址產(chǎn)生模塊、雙口RAM和讀地址產(chǎn)生模塊。如圖4所示

圖4.軟FIFO結(jié)構(gòu)圖

由圖4可以看出,寫地址產(chǎn)生模塊根據(jù)寫時(shí)鐘和寫有效信號(hào)產(chǎn)生遞增的寫地址,讀地址產(chǎn)生模塊根據(jù)讀時(shí)鐘和讀有效信號(hào)產(chǎn)生遞增的讀地址。FIFO的操作如下:在寫時(shí)鐘wr_clk的升沿,當(dāng)wren有效時(shí),將wr_data寫入雙口RAM中寫地址對(duì)應(yīng)的位置中;始終將讀地址對(duì)應(yīng)的雙口RAM中的數(shù)據(jù)輸出到讀數(shù)據(jù)總線上。這樣就實(shí)現(xiàn)了先進(jìn)先出的功能。寫地址產(chǎn)生模塊還根據(jù)讀地址和寫地址關(guān)系產(chǎn)生FIFO的滿標(biāo)志。當(dāng)wren有效時(shí),若寫地址+2=讀地址時(shí),full為1;當(dāng)wren無效時(shí),若寫地址+ 1=讀地址時(shí),full為1。讀地址產(chǎn)生模塊還根據(jù)讀地址和寫地址的差產(chǎn)生FIFO的空標(biāo)志。當(dāng)rden有效時(shí),若寫地址-1=讀地址時(shí),empty為 1;當(dāng)rden無效時(shí),若寫地址=讀地址時(shí),empty為1。按照以上方式產(chǎn)生標(biāo)志信號(hào)是為了提前一個(gè)時(shí)鐘周期產(chǎn)生對(duì)應(yīng)的標(biāo)志信號(hào)。

3 FPGA內(nèi)部軟FIFO的仿真

現(xiàn)場可編程門陣列FPGA是在專用ASIC 的基礎(chǔ)上發(fā)展出來的,它克服了專用ASIC不夠靈活的缺點(diǎn)。與其它中小規(guī)模集成電路相比,它有很強(qiáng)的靈活性,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對(duì)電路的修改和維護(hù)很方便目前FPGA的容量已經(jīng)跨過了百萬門級(jí)使得FPGA 成為解決系統(tǒng)級(jí)設(shè)計(jì)的重要選擇方案之一?,F(xiàn)在FPGA 已經(jīng)成為多種數(shù)據(jù)采集系統(tǒng)應(yīng)用的強(qiáng)有力的解決方案。由于可編程方案的靈活性,數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)可以適應(yīng)日益變化的標(biāo)準(zhǔn)協(xié)議和性能需求,F(xiàn)PGA具有集成優(yōu)勢和更低的系統(tǒng)成本。

甚高速集成電路硬件描述語言VHDL 廣泛用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。它的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言。

本文利用XILINX 公司Spartan-ⅡE 系列的FPGA器件現(xiàn)場用VHDL編程實(shí)現(xiàn)了軟FIFO設(shè)計(jì)。在Quartus II 4.0 環(huán)境中仿真,得到了很不錯(cuò)的效果。部分程序和仿真結(jié)果分別如以下程序和圖5所示。

部分VHDL 程序

FIFO1TO2:FIFO32TO32 PORT MAP

( wrclk=>FIFO1TO2WE,

rdreq=>FIFO1TO2RREQ,

rdclk=>FIFO1TO2RE,

wrreq=>FIFO1TO2WREQ,

data=>FIFO1TO2DATAIN,

rdempty=>FIFO1TO2EMPTY,

wrfull=>FIFO1TO2FULL,

q=>FIFO1TO2DATAOUT);

------------------------------PROCESS_FIFO_DSP1_TO_DSP2FIFO1TO2WRITE:PROCESS(FIFO1TO2WE)

BEGIN

IF (FIFO1TO2WREQ='1'  AND FIFO1TO3FULL='0')

THEN

FIFO1TO2DATAIN<=DSP1DATA;

END IF;

END PROCESS FIFO1TO2WRITE;

FIFO1TO2READ:PROCESS(FIFO1TO2RE)

BEGIN

IF (FIFO1TO2RREQ='1' AND FIFO1TO2EMPTY='0')

THEN

DSP2DATA<=FIFO1TO2DATAOUT;

ELSE

DSP2DATA<="ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ";

END IF;

END PROCESS FIFO1TO2READ;

圖5 部分防真結(jié)果

4 結(jié)論

文中針對(duì)異步FIFO設(shè)計(jì)中的難點(diǎn)和要點(diǎn),提出了具體的解決方案,并用VHDL語言給出了電路的設(shè)計(jì),利用XILINX的Spartan-ⅡE 系列FPGA實(shí)現(xiàn),并被應(yīng)用于多種電路中,在實(shí)際應(yīng)用中取得了較好的效果。

 

參考文獻(xiàn):

[1]徐慶元,張?zhí)煨?,鐘? 基于USB總線的高速視頻采集系統(tǒng)設(shè)計(jì)[J]. 微計(jì)算機(jī)信息.2006,10-1:247-249.

[2]余松煌,周源華數(shù)字圖像處理[M]北京:電子工業(yè)出版社,1987

[3] Martti Juhola.Comparison of Algorithms for Standand Median Filtering  IEEE-TRANS ASSP-39 1991

[4] 林敏,方穎立  VHDL數(shù)字系統(tǒng)設(shè)計(jì)與高層次綜合「M」.北京:電子工業(yè)出版社,2002

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉