亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于FPGA的異步FIFO設(shè)計(jì)方法

        2017-03-30 03:54:16黃凡
        微處理機(jī) 2017年1期
        關(guān)鍵詞:信號(hào)系統(tǒng)設(shè)計(jì)

        黃凡

        (海軍駐昆明地區(qū)軍事代表辦事處,昆明650000)

        一種基于FPGA的異步FIFO設(shè)計(jì)方法

        黃凡

        (海軍駐昆明地區(qū)軍事代表辦事處,昆明650000)

        設(shè)計(jì)完成了一種基于FPGA的異步FIFO,運(yùn)用Verilog HDL高級(jí)可編程語(yǔ)言和原理圖相結(jié)合的設(shè)計(jì)方法實(shí)現(xiàn)FIFO讀、寫(xiě)控制算法和數(shù)據(jù)查詢(xún)、存儲(chǔ)中斷模塊。運(yùn)用時(shí)鐘同步技術(shù),解決了FIFO設(shè)計(jì)中亞穩(wěn)態(tài)和競(jìng)爭(zhēng)冒險(xiǎn)的難點(diǎn)。最后采用QuartusII9.0設(shè)計(jì)仿真驗(yàn)證了該設(shè)計(jì),測(cè)試結(jié)果表明該方案工作原理簡(jiǎn)單,性能穩(wěn)定可靠。

        FIFO設(shè)計(jì);FPGA芯片;數(shù)據(jù)存儲(chǔ);數(shù)據(jù)采集;時(shí)序;時(shí)鐘同步

        1 引言

        異步FIFO作為數(shù)據(jù)采集和存儲(chǔ)的關(guān)鍵組成部分之一,在數(shù)據(jù)采集系統(tǒng)中發(fā)揮著舉足輕重的作用。在傳統(tǒng)設(shè)計(jì)方法中,常常采用微處理器[1]和具有FIFO功能的專(zhuān)用RAM芯片實(shí)現(xiàn)異步FIFO,達(dá)到數(shù)據(jù)高速采集和存儲(chǔ)功能,其系統(tǒng)成本較高,實(shí)現(xiàn)起來(lái)較困難[2-3]。而FPGA作為一種集成度很高的設(shè)計(jì)芯片,可以將微處理器和RAM集成到一塊FPGA上,大大簡(jiǎn)化了系統(tǒng)設(shè)計(jì)流程,降低了系統(tǒng)成本和設(shè)計(jì)風(fēng)險(xiǎn)[4-8]。運(yùn)用VerilogHDL高級(jí)可編程語(yǔ)言和原理圖設(shè)計(jì)相結(jié)合的方法,選定Altera公司CycloneⅢ系列FPGA作為設(shè)計(jì)平臺(tái),設(shè)計(jì)完成了一種穩(wěn)定可靠的異步FIFO。

        2 設(shè)計(jì)方案

        提出了一種異步FIFO的設(shè)計(jì)方案,其組成結(jié)構(gòu)示意圖如圖1所示。

        圖1 組成結(jié)構(gòu)示意圖

        系統(tǒng)主要由FIFO控制模塊、讀/寫(xiě)地址信號(hào)產(chǎn)生模塊和RAM模塊組成,其中:

        (1)FIFO控制模塊為整個(gè)系統(tǒng)的核心,實(shí)現(xiàn)了與上位機(jī)數(shù)據(jù)通訊、RAM數(shù)據(jù)讀寫(xiě)和控制、讀/寫(xiě)地址信號(hào)產(chǎn)生單元的控制、外部數(shù)據(jù)采集,以及保證整個(gè)系統(tǒng)可靠穩(wěn)定的工作。其中,外部數(shù)據(jù)采集采用中斷處理的方式,當(dāng)接收到外部數(shù)據(jù)儲(chǔ)存中斷申請(qǐng),提供握手信號(hào);如果連接成功,則將數(shù)據(jù)存儲(chǔ)到RAM中。與上位機(jī)通訊同樣采取中斷查詢(xún)的方式,當(dāng)接收到上位機(jī)數(shù)據(jù)查詢(xún)請(qǐng)求,提供握手信號(hào),如果連接成功,則發(fā)送RAM中的數(shù)據(jù)到上位機(jī)。同時(shí),對(duì)讀、寫(xiě)地址信號(hào)產(chǎn)生模塊的控制以及內(nèi)部讀、寫(xiě)指針均采用時(shí)鐘同步技術(shù),保證每次進(jìn)行數(shù)據(jù)讀寫(xiě)時(shí),地址信號(hào)處于穩(wěn)定狀態(tài),保證了時(shí)序,提高了系統(tǒng)性能。

        (2)讀、寫(xiě)地址信號(hào)產(chǎn)生模塊為RAM提供地址信號(hào),采用二進(jìn)制計(jì)數(shù)器,與FIFO控制模塊的通訊采用時(shí)鐘同步技術(shù),避免了系統(tǒng)的亞穩(wěn)態(tài)現(xiàn)象,提高系統(tǒng)的安全性和穩(wěn)定性。

        (3)RAM作為系統(tǒng)數(shù)據(jù)存儲(chǔ)器,用于中間數(shù)據(jù)的存儲(chǔ)。

        3 主要模塊設(shè)計(jì)

        3.1 FIFO控制模塊

        FIFO控制模塊為整個(gè)系統(tǒng)的核心,主要完成功能包含以下四個(gè)方面:

        (1)與上位機(jī)通訊

        提供中斷接口,控制模塊接收到上位機(jī)中斷數(shù)據(jù)查詢(xún)請(qǐng)求之后,根據(jù)FIFO控制算法判斷是否可以讀取數(shù)據(jù),如果可以,則經(jīng)過(guò)數(shù)據(jù)處理,將數(shù)據(jù)提供給上位機(jī),并提供握手信號(hào),提示上位機(jī)可以讀取數(shù)據(jù)。

        (2)外部數(shù)據(jù)采集通訊

        提供中斷接口,控制模塊接收到外部數(shù)據(jù)存儲(chǔ)請(qǐng)求,根據(jù)FIFO控制算法判斷是否可以存儲(chǔ)數(shù)據(jù),如果可以,則經(jīng)過(guò)數(shù)據(jù)處理,將數(shù)據(jù)存儲(chǔ)到RAM中,并提供握手信號(hào),提示數(shù)據(jù)已經(jīng)存儲(chǔ)完畢,可以進(jìn)行下次存儲(chǔ)。

        (3)RAM數(shù)據(jù)交換控制

        通過(guò)算法,控制RAM數(shù)據(jù)讀寫(xiě),協(xié)調(diào)系統(tǒng)各部分的工作,保證系統(tǒng)各部分滿足時(shí)序要求,按照設(shè)定的流程工作。

        (4)讀/寫(xiě)地址信號(hào)產(chǎn)生模塊的時(shí)鐘信號(hào)

        提供地址信號(hào)產(chǎn)生模塊所需要的時(shí)鐘信號(hào)和復(fù)位信號(hào),經(jīng)過(guò)算法計(jì)算,判定當(dāng)前地址是否增加1或者復(fù)位。

        FIFO控制模塊控制流程時(shí)序示意圖如圖2所示。

        控制時(shí)序:系統(tǒng)上電,發(fā)送復(fù)位信號(hào)RET,系統(tǒng)完成初始化,等待接收系統(tǒng)外部讀取、存儲(chǔ)中斷信號(hào)。

        圖2 FIFO控制流程時(shí)序示意圖

        當(dāng)接收到中斷存儲(chǔ)信號(hào)DatInFlag時(shí),首先判斷是否可以進(jìn)行寫(xiě)入數(shù)據(jù),如果不行,則丟失該中斷信號(hào);如果可以,則進(jìn)行算法計(jì)算,通知寫(xiě)地址信號(hào)產(chǎn)生單元得出當(dāng)前的存儲(chǔ)地址WrAddr[15:0],并且將需要的輸入數(shù)據(jù)DatIn[7:0]準(zhǔn)備好輸出到RAM的數(shù)據(jù)輸入口上,然后給出RAM寫(xiě)信號(hào)時(shí)鐘WrClk=1,將數(shù)據(jù)輸入到RAM中,并回復(fù)握手信號(hào)ReWrEn。

        當(dāng)接收到中斷讀取信號(hào)DatOutFlag時(shí),首先判斷是否可以進(jìn)行讀取數(shù)據(jù),如果不可以,則丟失該中斷信號(hào);如果可以,則進(jìn)行算法計(jì)算,通知讀地址信號(hào)產(chǎn)生單元得出當(dāng)前的存儲(chǔ)地址WrAddr[15:0],然后給出RAM讀信號(hào)時(shí)鐘RdClk=1,數(shù)據(jù)讀出,然后輸出到通訊模塊,并回復(fù)握手信號(hào)ReRdEn,提示上位機(jī)讀取。

        3.2 地址信號(hào)產(chǎn)生模塊

        讀地址信號(hào)產(chǎn)生模塊和寫(xiě)地址信號(hào)產(chǎn)生模塊均采用16位2進(jìn)制計(jì)數(shù)器,且實(shí)現(xiàn)原理基本一樣。FPGA設(shè)計(jì)中,廣泛存在亞穩(wěn)態(tài)現(xiàn)象,它會(huì)使系統(tǒng)出現(xiàn)臨界狀態(tài),導(dǎo)致系統(tǒng)不穩(wěn)定,甚至崩潰。常見(jiàn)設(shè)計(jì)中,采用格雷碼計(jì)數(shù)器用于讀、寫(xiě)指針和地址信號(hào)產(chǎn)生,在本設(shè)計(jì)中為了簡(jiǎn)化設(shè)計(jì)流程,采用2進(jìn)制計(jì)數(shù)器加時(shí)鐘同步設(shè)計(jì)的方法。在計(jì)數(shù)器地址信號(hào)的輸出端,經(jīng)過(guò)一個(gè)計(jì)數(shù)器將地址信號(hào)同步輸出到RAM模塊,并且讀、寫(xiě)RAM時(shí)鐘信號(hào)RdClk、WrClk均采用系統(tǒng)時(shí)鐘同步,且比地址信號(hào)多同步輸出一個(gè)時(shí)鐘脈沖周期,保證了信號(hào)RdClk、WrClk與地址信號(hào)之間不會(huì)存在臨界狀態(tài)。同時(shí)RAM的數(shù)據(jù)信號(hào)輸出也采用了時(shí)鐘同步技術(shù),即數(shù)據(jù)輸出也進(jìn)行了相應(yīng)的同步,大大提高了系統(tǒng)穩(wěn)定性。

        3.3 RAM模塊

        Quartus II軟件提供了軟件IP核,直接通過(guò)軟件進(jìn)行簡(jiǎn)單的配置調(diào)用即可,如圖3所示。該模塊為系統(tǒng)自動(dòng)生成的RAM模塊。

        圖3 RAM結(jié)構(gòu)示意圖

        4 設(shè)計(jì)實(shí)現(xiàn)與仿真驗(yàn)證

        以Altera公司CycloneⅢ系列的一款FPGA為設(shè)計(jì)平臺(tái),基于 QuartusII9.0設(shè)計(jì)軟件,采用VerilogHDL高級(jí)可編程語(yǔ)言和原理圖相結(jié)合的設(shè)計(jì)模式,并且該方案可以無(wú)需更改任何代碼即可移植到Altera公司其它系列FPGA上。

        限于篇幅,不能將FPGA的設(shè)計(jì)代碼一一描述,在這里只給出FPGA設(shè)計(jì)原理圖和時(shí)序仿真結(jié)果圖,分別如圖4和圖5所示。

        圖4 FPGA設(shè)計(jì)原理圖

        圖5 時(shí)序仿真波形圖

        如圖4所示,系統(tǒng)分為三個(gè)大的部分,F(xiàn)IFO控制模塊,讀、寫(xiě)地址信號(hào)產(chǎn)生單元和RAM,其中設(shè)計(jì)的重點(diǎn)和難點(diǎn)是FIFO控制模塊。在FIFO控制模塊設(shè)計(jì)中,采用狀態(tài)機(jī)的設(shè)計(jì)方式,使各個(gè)功能都按照設(shè)計(jì)好的時(shí)序工作,強(qiáng)化了系統(tǒng)的執(zhí)行狀態(tài),同步了工作時(shí)序,提高了系統(tǒng)穩(wěn)定性。但需要注意的是,降低了系統(tǒng)的執(zhí)行速度,從仿真波形圖可以看出系統(tǒng)存儲(chǔ)和讀取的速度大約為400ns/字節(jié)。

        仿真結(jié)果表明:

        中斷存儲(chǔ):系統(tǒng)采集到外部數(shù)據(jù)中斷存儲(chǔ)信號(hào)ReWrFlag,經(jīng)過(guò)計(jì)算,如果可以進(jìn)行數(shù)據(jù)存儲(chǔ),則提供RAM模塊寫(xiě)時(shí)鐘WrClk兩個(gè)脈沖,第一個(gè)脈沖將地址信號(hào)輸入到RAM,第二個(gè)脈沖將數(shù)據(jù)寫(xiě)入到RAM,完成數(shù)據(jù)存儲(chǔ)。在圖5中,可以知道數(shù)據(jù)從0x0000地址開(kāi)始存儲(chǔ),一共存儲(chǔ)了6個(gè)數(shù)據(jù):0x02、0x03、0x04、0x05、0x06、0x07。存儲(chǔ)完畢,提供握手信號(hào)ReWrEn。系統(tǒng)開(kāi)始等待,直到有中斷存儲(chǔ)信號(hào)的到來(lái)。

        中斷查詢(xún):系統(tǒng)采集到上位機(jī)數(shù)據(jù)中斷查詢(xún)信號(hào)ReRdFlag,經(jīng)過(guò)計(jì)算,如果可以進(jìn)行數(shù)據(jù)讀取,則提供RAM模塊讀時(shí)鐘WrClk兩個(gè)脈沖,第一個(gè)脈沖將地址信號(hào)輸入到RAM,第二個(gè)脈沖將數(shù)據(jù)寫(xiě)輸出到數(shù)據(jù)總線,完成數(shù)據(jù)讀取。在圖5中,可以知道數(shù)據(jù)從0x0000地址開(kāi)始讀取,一共讀取了6個(gè):0x02、0x03、0x04、0x05、0x06、0x07,讀取完畢,系統(tǒng)提供握手信號(hào)ReRdEn,此時(shí)上位機(jī)可以從數(shù)據(jù)總線上讀取數(shù)據(jù)。

        注意,如果上位機(jī)一直提供中斷查詢(xún)信號(hào),若此時(shí)RAM中的數(shù)據(jù)已經(jīng)讀取完畢,則不再提供RAM讀時(shí)鐘信號(hào),不進(jìn)行RAM讀操作,且系統(tǒng)輸出Empty=1,表示RAM中已經(jīng)沒(méi)有數(shù)據(jù),系統(tǒng)重新開(kāi)始等待。

        5 結(jié)束語(yǔ)

        簡(jiǎn)要分析和介紹了一種基于FPGA的異步FIFO設(shè)計(jì)原理和方法,分成幾個(gè)模塊,其中詳細(xì)介紹了FIFO控制核心模塊的設(shè)計(jì),最后選擇Altera公司Cyclone系列FPGA為設(shè)計(jì)平臺(tái),運(yùn)用QuartusII9.0的時(shí)序仿真模塊對(duì)該設(shè)計(jì)方法進(jìn)行了仿真驗(yàn)證。測(cè)試結(jié)果表明該設(shè)計(jì)方法設(shè)計(jì)簡(jiǎn)單靈活,易于實(shí)現(xiàn),大大簡(jiǎn)化了設(shè)計(jì)流程,降低了設(shè)計(jì)成本與風(fēng)險(xiǎn),是一個(gè)值得推廣和應(yīng)用的方法。

        [1]鮑爾.嵌入式微處理器系統(tǒng)設(shè)計(jì)實(shí)例(3版)[M].蘇建平,李鵬飛,譯.北京:電子工業(yè)出版社,2004. Bauer.Embedded Microprocessor Systems Real World Design [M].Su Jian-pin,LiPeng-fei,Trans.Beijing: Publishing House of Electronics Industry,2004.

        [2]高禮忠.FIFO在高速數(shù)據(jù)采集系統(tǒng)中應(yīng)用 [J].電子測(cè)量技術(shù),2005(1):51-52. Gao Li-zhong.The Application of FIFO in High Speed Data Acquisition Systems [J].Electronic Measurement Technology,2005(1):51-52.

        [3]陳明義,夏海旻,周建國(guó).高速大容量FIFO的設(shè)計(jì)[J].電子科技,2008,21(6):1-3. Chen Ming-yi,Xia Hai-min,Zhou Jian-guo.A Design of High Speed and Deep FIFO.Electronic Science and Technology,2008,21(6):1-3.

        [4]徐欣,于紅旗,易凡,等.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2004. Xu Xin,Yu Hong-qi,Yi Fan,etc.Design of Embedded System Based on FPGA[M].Beijing:China Machine Press, 2004.

        [5]周昆正.基于FPGA的SDRAM控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2003,26(13):63-65. Zhou Kun-zheng.Design of SDRAM Controller Based on FPGA[J].Modern Electronic Technique,2003,26(13): 63-65.

        [6]邁耶·貝斯.數(shù)字信號(hào)處理的FPGA實(shí)現(xiàn)(2版)[M].劉凌,譯.北京:清華大學(xué)出版社,2006. Mayeer Baese.Implementation of digital signal processing with FPGA[M].Liu Ling,Trans.Beijing:Tsinghua University Press,2006.

        [7]王建華,劉纏牢,陳大川,等.基于DSP+FPGA技術(shù)的實(shí)時(shí)視頻采集系統(tǒng)的設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2007,26 (9):42-44. Wang Jian-hua,Liu Chan-nao,Chen Da-chuan,et al. Design of real-time video processing system based on DSP+FPGA[J].Foreign Electronic Measurement Technology,2007,26(9):42-44.

        [8]劉鳳偉.一種并行異步FIFO控制算法設(shè)計(jì)[J].微處理機(jī),2012,33(5):32-34. Liu Feng-wei.Design of Parallel Asynchronous FIFO Control Algorithm[J].Microprocessors,2012,33(5):32-34.

        Design of Asynchronous FIFO Based on FPGA

        Huang Fan
        (Naval Military Office Stationed at Kunming Area,Kunming 650051,China)

        A method of asynchronous FIFO is designed in this paper.The design method of Verilog HDL and schematic diagram is used to realize reading and writing method of FIFO,and data query and storage of interrupt module.The problems of metastable state and competitive risk are solved by using clock synchronization technology.Finally,the test results,by simulation of QuartusII9.0,show that it has a simple operational principle and stable performance.

        FIFO design;FPGA chip;Data acquisition;Data storage;Time sequence;Clock synchronization

        10.3969/j.issn.1002-2279.2017.01.007

        TN368.1

        B

        1002-2279-(2017)01-0023-04

        黃凡(1984-),男,湖北省天門(mén)市人,工程師,博士,主研方向:裝備監(jiān)造與目標(biāo)探測(cè)、信號(hào)處理。

        2016-04-06

        猜你喜歡
        信號(hào)系統(tǒng)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        完形填空二則
        瞞天過(guò)海——仿生設(shè)計(jì)萌到家
        基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專(zhuān)
        Coco薇(2017年5期)2017-06-05 08:53:16
        91尤物在线看| 曰本大码熟中文字幕| 午夜福利电影| 国内精品久久久久国产盗摄| 中文字幕视频一区懂色| 亚洲av永久无码精品网站| 精品无码久久久久成人漫画 | 中文字幕亚洲永久精品| 国产激情久久久久久熟女老人| 亚洲av无码专区在线播放中文| 久久久久久人妻精品一区百度网盘 | 无套内射无矿码免费看黄| 中国大陆一级毛片| 亚洲产在线精品亚洲第一页| 久久亚洲道色综合久久| 草草浮力地址线路①屁屁影院| 欧美一级在线全免费| 一道本中文字幕在线播放| 五月激情综合婷婷六月久久| 国产成年无码v片在线| 99久久精品无码专区无| 熟女少妇av一区二区三区 | 沐浴偷拍一区二区视频| 巨人精品福利官方导航| 99热成人精品热久久66| 亚洲高清av一区二区| 亚洲精品国产电影| 少妇无码一区二区三区| 91福利精品老师国产自产在线| 91九色熟女潮喷露脸合集| 国产精品成人va在线观看| 美日韩毛片| 日本一区二三区在线中文| 男人的天堂中文字幕熟女人妻| 精品人妻潮喷久久久又裸又黄| 国产一区二区精品网站看黄| 国产一区二区三区激情视频 | 精品蜜桃一区二区三区| 精品一区三区视频在线观看| 内射无码专区久久亚洲| 香蕉亚洲欧洲在线一区|