<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > FPGA研發(fā)之道(12)-設(shè)計不是湊波形(二)FIFO(下)

          FPGA研發(fā)之道(12)-設(shè)計不是湊波形(二)FIFO(下)

          作者: 時間:2014-11-03 來源:網(wǎng)絡(luò) 收藏

            設(shè)計中除了上篇所介紹的功能之外, 還有以下作為以下功能使用:

          本文引用地址:http://www.ex-cimer.com/article/264819.htm

            (1) 內(nèi)存申請

            在軟件設(shè)計中,使用malloc()和free()等函數(shù)可以用于內(nèi)存的申請和釋放。特別是在有操作系統(tǒng)的環(huán)境下,可以保證系統(tǒng)的內(nèi)存空間被動態(tài)的分配和使用,非常的方便。如果在內(nèi)部實現(xiàn)此動態(tài)的內(nèi)存分配和申請,相對來說較為復(fù)雜,例如某些需要外部數(shù)據(jù)存儲且需動態(tài)改變的應(yīng)用需求下,需要對外部DDR(或等)的存儲空間,進行動態(tài)的分配和釋放。通過使用作為內(nèi)存分配器,雖然比不上軟件的靈活和方便,但是使用也較為簡便。

            舉例說明假設(shè)外部存儲空間為8Mbyte,可將其劃分為8192個1Kbyte空間。并將數(shù)值0-8191存儲中,F(xiàn)IFO內(nèi)部存儲所標示可用的內(nèi)存空間。如下圖所示。

            

           

            首先,進行內(nèi)存的初始化,即將0-8191寫入FIFO中。

            如需申請內(nèi)存后,從FIFO中讀取值A(chǔ),然后根據(jù)A的標示,寫入A所指示的外部存儲區(qū)(DDR)中相應(yīng)的位置,即申請{A,10’h0_00} ->{A,10’h3_FF}的空間區(qū)域。

            如釋放內(nèi)存后,即可向FIFO中寫入相應(yīng)的值。即可保證下次該空間能夠被設(shè)計使用。

            在此種設(shè)計中,F(xiàn)IFO承擔了內(nèi)存分配和釋放器的角色。此時只能申請或釋放最小單元倍數(shù)的內(nèi)存空間,如本例所示:為1Kbit。如FIFO讀空,則代表申請內(nèi)存失敗,需要等待其他塊內(nèi)存釋放后再寫入FIFO中,才能再次申請。

            (2) 串并轉(zhuǎn)換

            對于串并轉(zhuǎn)換,可能對于FPGA工程師來說,非常常見,但是如果有專門的IP實現(xiàn)此功能,可簡化設(shè)計,減少出錯及驗證的工作量。例如:對于外部輸入的需要進行串并轉(zhuǎn)換的信號,并進行存儲的信號,如設(shè)計進行串并轉(zhuǎn)換在存儲等操作,設(shè)計,可以直接通過例化讀寫位寬不一致的FIFO,例如1入8出的FIFO,可直接將外部輸入信號直接轉(zhuǎn)換成8BIT信號并進行存儲后,供后續(xù)處理使用(其他的)。

            (3) 業(yè)務(wù)優(yōu)先級劃分

            通過FIFO設(shè)置不同水位線,可以劃分不同的業(yè)務(wù)優(yōu)先級,保證高業(yè)務(wù)優(yōu)先級數(shù)據(jù)流在帶寬受限時,優(yōu)先通過,而低業(yè)務(wù)優(yōu)先級只能在滿足高優(yōu)先級需求后有多余的帶寬時才能通過。并且可以劃分多個優(yōu)先級,滿足多種業(yè)務(wù)的需求。設(shè)計將在以后篇幅中詳述。

            (4)固定帶寬設(shè)定

            通過對FIFO接口的讀出使能,能夠保證實現(xiàn)固定帶寬的輸出,例如FIFO讀接口為32bit,而讀時鐘為50Mhz,則輸出為1.6Gbit/S。如實現(xiàn)固定帶寬的輸出(如1Gbit/S),有兩種方式,一種可以通過降低時鐘頻率到31.25Mhz。另一種方式,可通過讀信號中間插入等待周期,如果讀出長度為N的數(shù)據(jù)所需時鐘周期為M,則需等待(3M/5)的周期,從而降低至1Gbit/S的處理能力,這在某些需要進行流量限制的業(yè)務(wù)方式中使用。

            對于FIFO來說,作為FPGA內(nèi)部資源的一個常用器件,最常見應(yīng)用于異步時鐘域劃分和緩沖數(shù)據(jù),但不僅限于此,簡化設(shè)計、減少耦合、輸入輸出接口固定,便于仿真和驗證,都是使用FIFO帶來的設(shè)計上的益處。

          fpga相關(guān)文章:fpga是什么




          關(guān)鍵詞: FPGA FIFO SRAM

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();