基于FPGA內(nèi)部的FIFO設(shè)計(jì)
出處:liudewei 發(fā)布于:2008-09-16 11:28:34
在FPGA設(shè)計(jì)中,內(nèi)部的FIFO設(shè)計(jì)是 個(gè)不可或缺的內(nèi)容,其設(shè)計(jì)的質(zhì)師會(huì)直接影響FPGA的邏輯容量和時(shí)序。在Xilinx中的某些高端器件是內(nèi)置的FIFO控制器,在coregen中可以直接產(chǎn)生這的硬FIFO控制器, 強(qiáng)烈建議能夠使用硬的HFO控制器的場(chǎng)合,直接的好處足節(jié)省邏輯資源和提高邏輯速度,對(duì)于絕大部分的HFO設(shè)計(jì),推薦使用Xili coregm產(chǎn)生。這樣可以保證功能正確,對(duì)于需要定制FIFO控制器的場(chǎng)合請(qǐng)小心。
下面將結(jié)合coregn來(lái)說(shuō)明如何設(shè)計(jì)一個(gè)FIFO
產(chǎn)生FIFO時(shí)應(yīng)使用coregen的FIFO generator,打開(kāi)后顯示如圖1所示的對(duì)話框。

圖1 FIFO cenerator對(duì)話框
注意其中選項(xiàng)的意義在左邊的(Read/Wfik 0ock Donmm)中選擇同步FIFO或異步FIFO,即囪寫(xiě)時(shí)鐘是否是同-個(gè)。
在( Memory Type)中選擇是使用內(nèi)部的塊RAM或分布式RAM,或者移位寄存器或者內(nèi)置的FIFO(目前Virtex ̄4和Virtex-5的器件有內(nèi)置FIFO)。選擇時(shí)根據(jù)具體應(yīng)用決定,一般來(lái)說(shuō),當(dāng)需要的RAM較小時(shí)選擇分布式RAM;當(dāng)使用有內(nèi)置FIFO的器件時(shí)優(yōu)選內(nèi)置FIFO;較大的RAM且沒(méi)有內(nèi)置FIFO的器件時(shí)選擇塊RAM。
(Supported Features)列的第1個(gè)功能是對(duì)不對(duì)稱(chēng)的位寬的支持,指FIFO的讀/寫(xiě)位寬可以不一致;第2個(gè)功能是First-Word Fall-Through,當(dāng)需要看見(jiàn)FIFO內(nèi)的第1個(gè)數(shù),而又不想進(jìn)行讀操作時(shí)使用,一般用做需要根據(jù)FIFO內(nèi)數(shù)據(jù)決定是否需要對(duì)FIFO進(jìn)行操作的場(chǎng)合;第3個(gè)功能是說(shuō)是否使用內(nèi)部的內(nèi)置FIFO控制器,當(dāng)選擇內(nèi)置FIFO的應(yīng)用時(shí)會(huì)有這個(gè)功能;第4個(gè)是ECO的支持,指內(nèi)置的Error Correcti。n Checking的功能,目前只有Virtex-5的塊RAM和內(nèi)置FIFO有此功能。
單擊【下一步】按鈕進(jìn)入(Fifo Generator)對(duì)話框2,如圖2所示。

圖2 (Fifo Generator)對(duì)話框2
在其中設(shè)置詳細(xì)的屬性,從上往下一是是否標(biāo)準(zhǔn)FIFO,還是需要支持First-WordFall-Through:二是對(duì)于內(nèi)置FIFO的應(yīng)用,還需要設(shè)置讀/寫(xiě)時(shí)鐘的頻率;三是設(shè)置讀/寫(xiě)位寬和深度;四是是否需要內(nèi)置的ECO;五是是否要使用塊RAM或FIFO內(nèi)的寄存器。注意選擇了使用內(nèi)部寄存器,下面顯示的Read Latency會(huì)增加。通常塊RAM或者FIFO是輸入寄存,鎖存器輸出,所以不選使用內(nèi)部寄存器。Read Latency是一個(gè)時(shí)鐘周期,選擇時(shí)會(huì)是兩個(gè)時(shí)鐘周期。在設(shè)計(jì)時(shí)需要根據(jù)時(shí)鐘頻率和時(shí)序要求決定是否選這個(gè)選項(xiàng),不選的話,RAM會(huì)有一個(gè)較大的Tco。當(dāng)然也可以不選擇這個(gè)選項(xiàng)而多增加寄存器在代碼中,這樣處理的優(yōu)點(diǎn)是可以抵消一些線延時(shí);缺點(diǎn)是無(wú)法使用RAM內(nèi)置的寄存器,從而浪費(fèi)了資源。
單擊【下一步】按鈕將出現(xiàn)如圖3所示的對(duì)話框3。
從上往下一是是否需要幾乎空滿標(biāo)志;二是是否需要產(chǎn)生讀/寫(xiě)響應(yīng)信號(hào);三是是否需要產(chǎn)生讀/寫(xiě)錯(cuò)誤標(biāo)志;四是是否需要產(chǎn)生復(fù)位及復(fù)位是同步的還是異步的;五是復(fù)位時(shí)滿標(biāo)志的值。上面的讀/寫(xiě)錯(cuò)誤就是overflow和underflow,是指當(dāng)FIFO滿時(shí)仍在寫(xiě),空時(shí)仍在讀的標(biāo)志,可以用來(lái)監(jiān)控FIFO是否出現(xiàn)了錯(cuò)誤操作。RAM的復(fù)位指復(fù)位RAM的輸入\輸出寄存器,而不會(huì)復(fù)位RAM內(nèi)部的內(nèi)容。

圖3 Fifo Generator 對(duì)話框
單擊【下一步】按鈕打開(kāi)如圖4所示的對(duì)話框4。

圖4 Fifo Generator對(duì)話框4
在其中可以設(shè)置FIFO的空滿標(biāo)志的閾值。
單擊【下一步】按鈕打開(kāi)如圖5所示的對(duì)話框5。
在其中可以設(shè)置將FIFO內(nèi)部的數(shù)據(jù)的個(gè)數(shù)通過(guò)接口開(kāi)放給用戶邏輯可見(jiàn)。
單擊【下一步】按鈕打開(kāi)對(duì)話框如圖6所示的對(duì)話框6,可以看到所有的設(shè)置,并仔細(xì)檢查設(shè)置是否正確。
單擊(Finish)按鈕,會(huì)產(chǎn)生.V的原文件和.edn或。ngc的網(wǎng)表。綜合和仿真可以用。Ⅴ的源文件,布局布線時(shí)需要將.edn的文件放在mlcro search path的目錄或工程目錄中。另外,還會(huì)產(chǎn)生.xco的文件,這是產(chǎn)生的∏FO時(shí)的配置文件,下次可以在coregen中import這個(gè)文件產(chǎn)生一個(gè)和這次配置相同的FIFO。
如本節(jié)所示,在coregen中產(chǎn)生FIFO是一個(gè)較簡(jiǎn)單的操作,推薦能用coregen時(shí)盡量使用。手動(dòng)定制FIFO不屬于本節(jié)的內(nèi)容,在此不講述。

圖5 Fifo Generator對(duì)話框5

圖6 Fifo Generator對(duì)話框6
參考文獻(xiàn):
[1]. Through datasheet http://m.58mhw.cn/datasheet/Through_1177452.html.
[2]. ECO datasheet http://m.58mhw.cn/datasheet/ECO_2043505.html.
[3]. Virtex-5 datasheet http://m.58mhw.cn/datasheet/Virtex-5_1706996.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問(wèn)題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 微帶線阻抗匹配設(shè)計(jì)與實(shí)操調(diào)試技巧
- 從S參數(shù)到實(shí)際元件:微帶線濾波器的設(shè)計(jì)與仿真流程
- IP67/IP68連接器設(shè)計(jì)解析
- 電源管理IC失效的常見(jiàn)原因
- MOSFET體二極管特性分析
- PCB高頻高速信號(hào)布線設(shè)計(jì)核心規(guī)范(實(shí)操版)
- 基于FPGA的FIR濾波器硬件實(shí)現(xiàn):架構(gòu)優(yōu)化與資源管理
- 工業(yè)自動(dòng)化設(shè)備連接器選型指南
- 提高電源管理IC可靠性的設(shè)計(jì)方法
- MOSFET柵極驅(qū)動(dòng)電路設(shè)計(jì)技巧









