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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA技術(shù)的存儲(chǔ)器設(shè)計(jì)及其應(yīng)用

          基于FPGA技術(shù)的存儲(chǔ)器設(shè)計(jì)及其應(yīng)用

          作者: 時(shí)間:2012-05-24 來(lái)源:網(wǎng)絡(luò) 收藏

          復(fù)雜可編程邏輯器件—在近幾年的電子越來(lái)越廣泛。具有的硬件邏輯可編程性、大容量、高速、內(nèi)嵌存儲(chǔ)陣列等特點(diǎn)使其特別適合于高速數(shù)據(jù)采集、復(fù)雜控制邏輯、精確時(shí)序邏輯等場(chǎng)合的。而中的存儲(chǔ)功能目前還是一個(gè)較新的。本文將介紹在FPGA中構(gòu)造的方法,特別是結(jié)合高速數(shù)據(jù)采集的特點(diǎn)重點(diǎn)描述雙端口RAM的構(gòu)造方法應(yīng)用。

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

            在FPGA中構(gòu)造

            許多系列的FPGA芯片內(nèi)嵌了存儲(chǔ)陣列,如ALTERA EPlK50芯片內(nèi)嵌了5K字節(jié)的存儲(chǔ)陣列。因此,在FPGA中實(shí)現(xiàn)各種,如單/雙端口RAM、單/雙端口ROM、先進(jìn)先出存儲(chǔ)器FIFO等非常方便,而且具有諸多優(yōu)點(diǎn)。其硬件可編程的特點(diǎn)允許開(kāi)發(fā)人員靈活設(shè)定存儲(chǔ)器數(shù)據(jù)的寬度、存儲(chǔ)器的大小、讀寫控制邏輯等,尤其適用于各種特殊存儲(chǔ)要求的場(chǎng)合。FPGA/FPGA器件可工作于百兆頻率以上,其構(gòu)造的存儲(chǔ)器存取速度也可達(dá)百兆次/秒以上,這樣構(gòu)成的高速存儲(chǔ)器能夠勝任存儲(chǔ)數(shù)據(jù)量不太大,但速度要求很高的工作場(chǎng)合。

            FPGA中構(gòu)造存儲(chǔ)器主要有兩種方法實(shí)現(xiàn)。一是通過(guò)硬件描述語(yǔ)言如VHDL、AHDL、Verilog HDL等編程實(shí)現(xiàn)。二是調(diào)用MAX+PLUSⅡ自帶的庫(kù)函數(shù)實(shí)現(xiàn)。調(diào)用庫(kù)函數(shù)方法構(gòu)造存儲(chǔ)器較硬件描述語(yǔ)言輸入方式更為方便、靈活、快捷和可靠,故也更常用之。

            利用庫(kù)函數(shù)構(gòu)造雙端口RAM

            在MAX+PLUSⅡ中有幾個(gè)功能單元描述庫(kù)。prim邏輯元庫(kù),包括基本邏輯單元電路,如與、或、非門,觸發(fā)器、輸入、輸出引腳等;mf宏功能庫(kù),包括TTL數(shù)字邏輯單元如74系列芯片;而下文將要詳細(xì)介紹的參數(shù)化雙端口RAM模塊所在的參數(shù)化模塊庫(kù)(mega-lpm)中,包括各種參數(shù)化運(yùn)算模塊(加、減、乘、除)、參數(shù)化存儲(chǔ)模塊(單、雙端口RAM、ROM、FIFO等)以及參數(shù)化計(jì)數(shù)器、比較器模塊等等。庫(kù)中的這些元件功能邏輯描述經(jīng)過(guò)了優(yōu)化驗(yàn)證,是數(shù)字電路中的極好選擇。

            mega-lpm庫(kù)中共有五種參數(shù)化雙端口RAM模塊:ALTDPRAM、LPM_RAM_DP、CSDPRAM、LPM_RAM_DQ和LPM_RAM_IO。其中ALTDPRAM和LPM_RAM_DP模塊讀寫有兩套總線,讀和寫有各自的時(shí)鐘線、地址總線、數(shù)據(jù)總線和使能端,可同時(shí)進(jìn)行讀寫操作。除此之外,ALTDPRAM模塊還有一個(gè)全局清零端口。CSDPRAM模塊則有a、b兩組寫端時(shí)鐘線、地址總線、數(shù)據(jù)總線和使能端,可同時(shí)對(duì)RAM進(jìn)行寫操作,但對(duì)RAM讀、寫只能分時(shí)進(jìn)行。LPM_RAM_DQ模塊相對(duì)簡(jiǎn)單,讀與寫共用一組地址總線,有各自的數(shù)據(jù)線和時(shí)鐘線。LPM_RAM_IO模塊只有一組地址總線和數(shù)據(jù)總線。

            mega-1pm函數(shù)庫(kù)中的雙端口RAM模塊全是參數(shù)化調(diào)用,這為帶來(lái)極大的方便。通過(guò)對(duì)各種參數(shù)的取舍、參數(shù)設(shè)置和組合,再結(jié)合讀寫控制邏輯就可以構(gòu)造出設(shè)計(jì)需要的存儲(chǔ)器模塊。雙端口RAM常見(jiàn)的應(yīng)用模式主要有以下兩種:

            1.存儲(chǔ)器映像方式。該方式可以隨意對(duì)存儲(chǔ)器的任何單元進(jìn)行讀寫操作。其主要應(yīng)用于多CPU的共享數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳送等。該方式中,讀、寫控制線、地址總線和數(shù)據(jù)總線有兩套。根據(jù)兩端口之間數(shù)據(jù)的傳送方向?yàn)閱蜗蚧螂p向,又有單向數(shù)據(jù)總線和雙向數(shù)據(jù)總線之分。

            2.順序?qū)懛绞?。該方式?duì)RAM的寫操作只能順序?qū)懭搿_@種情況適用于對(duì)象特性與時(shí)間緊密相關(guān)或傳送數(shù)據(jù)與順序密切相關(guān)的場(chǎng)合,如文件傳送、時(shí)序過(guò)程、波形分析等。根據(jù)寫控制邏輯的不同,可對(duì)RAM進(jìn)行循環(huán)寫入或一次寫入方式。該方式下的讀操作可以是存儲(chǔ)器映像讀或順序讀,前一種有較大的靈活性,而后一種則類似于FIFO形式。

            在讀、寫使用獨(dú)立的地址總線和數(shù)據(jù)總線時(shí),可以同時(shí)對(duì)RAM不同單元進(jìn)行讀寫操作。根據(jù)不同控制邏輯的要求,對(duì)讀寫時(shí)鐘、時(shí)鐘使能端口可以適時(shí)設(shè)置,以滿足控制需要。

            下面以LPM_RAM_DP模塊為例介紹庫(kù)函數(shù)法構(gòu)造雙端口RAM的步驟。

            首先在MAX+PLUSⅡ中建立一個(gè)圖形編輯文件。雙擊文件任意空白處彈出庫(kù)函數(shù)選擇窗口。然后從mega-lpm庫(kù)中選擇LPM_RAM_DP模塊。

            在LPM_RAM_DP模塊中共有9個(gè)可配置參數(shù):

            LPM_FILE——指定存儲(chǔ)器的初始化數(shù)據(jù)文件;

            LPM_INDATA——選擇輸入數(shù)據(jù)采用寄存方式還是非寄存方式;

            LPM_NUMWORDS——設(shè)置存儲(chǔ)器的深度(大?。?;

            LPM_OUTDATA——選擇輸出數(shù)據(jù)采用寄存方式還是非寄存方式;

            LPM_RDADDRESS_CONTROL——決定讀地址控制信號(hào)是寄存方式還是非寄存方式;

            LPM_WIDTH——設(shè)置存儲(chǔ)數(shù)據(jù)寬度;

            LPM_WIDTHAD——設(shè)置地址總線寬度;

            LPM_WRADDRESS_CONTROL——選擇寫地址控制信號(hào)是寄存方式還是非寄存方式;

            USE_EAB——決定是否使用嵌入式陣列塊。

            雙擊雙端口RAM參數(shù)列表可彈出引腳/參數(shù)設(shè)置窗口。在引腳/參數(shù)設(shè)置窗口可以具體對(duì)雙端口RAM進(jìn)行引腳、參數(shù)設(shè)置??梢愿鶕?jù)具體的對(duì)存儲(chǔ)器的功能要求,決定各種口線的使用與否。例如不想使用rdclken(讀時(shí)鐘使能)信號(hào),則可以將其Status設(shè)置為Unused即可。同時(shí)還可以通過(guò)Inversion項(xiàng)設(shè)定該信號(hào)的初始狀態(tài)(初始值)。在窗口的Parameters參數(shù)設(shè)置處,選擇不同的參數(shù)項(xiàng)后,通過(guò)ParameterValue項(xiàng)可以改變或設(shè)置其相應(yīng)的狀態(tài)或數(shù)值。如想設(shè)置存儲(chǔ)數(shù)據(jù)為8位寬度,則選擇LPM_WIDTH項(xiàng),然后將Parameter Value設(shè)置為8。

            例如要設(shè)計(jì)一個(gè)11位寬數(shù)據(jù),512個(gè)存儲(chǔ)單元,使用讀寫同步時(shí)鐘、不需要讀寫使能端及時(shí)鐘使能端的雙端口RAM。則可以打開(kāi)引腳/參數(shù)設(shè)置窗口,設(shè)置LPM_NUMWORDS為512,LPM_WIDTH為11,LPM_WIDTHAD為9,LPM_INDATA、LPM_OUTDATA、LPM_RDADDRESS_CONTROL和LPM_WRADDRESS_CONTROL為寄存方式,使用嵌入式陣列;rdaddress、rdclock、data、wraddress、wrclock、q為Used,rden、rdclken、wren、wrclken為Unused。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();