當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]復(fù)雜可編程邏輯器件—FPGA技術(shù)在近幾年的電子設(shè)計(jì)中應(yīng)用越來越廣泛。FPGA具有的硬件邏輯可編程性、大容量、高速、內(nèi)嵌存儲(chǔ)陣列等特點(diǎn)使其特別適合于高速數(shù)據(jù)采集、復(fù)雜

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

在FPGA中構(gòu)造存儲(chǔ)器

許多系列的FPGA芯片內(nèi)嵌了存儲(chǔ)陣列,如ALTERA EPlK50芯片內(nèi)嵌了5K字節(jié)的存儲(chǔ)陣列。因此,在FPGA中實(shí)現(xiàn)各種存儲(chǔ)器,如單/雙端口RAM、單/雙端口ROM、先進(jìn)先出存儲(chǔ)器FIFO等非常方便,而且具有諸多優(yōu)點(diǎn)。其硬件可編程的特點(diǎn)允許開發(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)。一是通過硬件描述語言如VHDL、AHDL、Verilog HDL等編程實(shí)現(xiàn)。二是調(diào)用MAX+PLUSⅡ自帶的庫(kù)函數(shù)實(shí)現(xiàn)。調(diào)用庫(kù)函數(shù)方法構(gòu)造存儲(chǔ)器較硬件描述語言輸入方式更為方便、靈活、快捷和可靠,故也更常用之。

利用庫(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)過了優(yōu)化驗(yàn)證,是數(shù)字電路設(shè)計(jì)中的極好選擇。

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)用,這為設(shè)計(jì)帶來極大的方便。通過對(duì)各種參數(shù)的取舍、參數(shù)設(shè)置和組合,再結(jié)合讀寫控制邏輯就可以構(gòu)造出設(shè)計(jì)需要的存儲(chǔ)器模塊。雙端口RAM常見的應(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ū)懛绞健T摲绞綄?duì)RAM的寫操作只能順序?qū)懭?。這種情況適用于對(duì)象特性與時(shí)間緊密相關(guān)或傳送數(shù)據(jù)與順序密切相關(guān)的場(chǎng)合,如文件傳送、時(shí)序過程、波形分析等。根據(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í)還可以通過 Inversion項(xiàng)設(shè)定該信號(hào)的初始狀態(tài)(初始值)。在窗口的Parameters參數(shù)設(shè)置處,選擇不同的參數(shù)項(xiàng)后,通過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。則可以打開引腳/參數(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。

其它存儲(chǔ)器的構(gòu)造方法

不同的存儲(chǔ)器根據(jù)各自特點(diǎn),應(yīng)用場(chǎng)合也不盡相同。ROM存儲(chǔ)器主要用來存儲(chǔ)“常量”,如系統(tǒng)參數(shù)、波形發(fā)生器的信源等。先進(jìn)先出FIFO存儲(chǔ)器可用于信號(hào)的實(shí)時(shí)不間斷采集,存儲(chǔ)、緩沖兩個(gè)異步時(shí)鐘之間的數(shù)據(jù)傳輸?shù)取?/p>

ROM、FIFO等存儲(chǔ)器的調(diào)用庫(kù)函數(shù)構(gòu)造方法與雙端口RAM的構(gòu)造方法類似,在mega-lpm庫(kù)中調(diào)用相應(yīng)的模塊單元即可。其中ROM存儲(chǔ)器在庫(kù)中是LPM_ROM模塊,F(xiàn)IFO存儲(chǔ)器在庫(kù)中有CSFIFO、DCFIFO、LPM_FIFO、LPM__FIFO_DC、SCFIFO、SFIFO共六種。需要說明的是由于ROM在實(shí)際系統(tǒng)運(yùn)行時(shí)的不可寫入性,在ROM構(gòu)造過程中要對(duì)ROM存儲(chǔ)器進(jìn)行數(shù)據(jù)初始化。這一操作是通過設(shè)置PLM_FILE項(xiàng)完成的。在引腳/參數(shù)設(shè)置窗口的Parameters參數(shù)設(shè)置處選擇該項(xiàng),再通過ParameterValue項(xiàng)確定相應(yīng)的數(shù)據(jù)初始化文件(*.mif)即可。下面是VHDL格式的ROM數(shù)據(jù)初始化文件(文件可用任何文本編輯器實(shí)現(xiàn)):[!--empirenews.page--]

 

 

雙端口RAM在高速數(shù)據(jù)采集中的應(yīng)用

利用傳統(tǒng)方法設(shè)計(jì)的高速數(shù)據(jù)采集系統(tǒng)由于集成度低、電路復(fù)雜,高速運(yùn)行電路干擾大,電路可靠性低,難以滿足高速數(shù)據(jù)采集工作的要求。應(yīng)用FPGA可以把數(shù)據(jù)采集電路中的數(shù)據(jù)緩存、控制時(shí)序邏輯、地址譯碼、總線接口等電路全部集成進(jìn)一片芯片中,高集成性增強(qiáng)了系統(tǒng)的穩(wěn)定性,為高速數(shù)據(jù)采集提供了理想的解決方案。下面以一個(gè)高速數(shù)據(jù)采集系統(tǒng)為例介紹雙端口RAM的應(yīng)用。

該系統(tǒng)要求實(shí)現(xiàn)對(duì)頻率為5MHz的信號(hào)進(jìn)行采樣,系統(tǒng)的計(jì)算處理需要對(duì)信號(hào)進(jìn)行波形分析,信號(hào)采樣時(shí)間為25μs。根據(jù)設(shè)計(jì)要求,為保證采樣波形不失真,A/D采樣頻率用80MHz,采樣精度為8位數(shù)據(jù)寬度。計(jì)算得出存儲(chǔ)容量需要2K字節(jié)。

根據(jù)設(shè)計(jì)要求,雙端口RAM的LPM_WIDTH參數(shù)設(shè)置為8,LPM_WIDTHAD參數(shù)設(shè)置為11(211=2048),使用讀寫使能端及讀寫時(shí)鐘。ADCLK、WRCLK和地址發(fā)生器的計(jì)數(shù)頻率為80MHz。

A/D轉(zhuǎn)換值對(duì)雙端口RAM的寫時(shí)序?yàn)轫樞驅(qū)懛绞剑客瓿梢淮蜛/D轉(zhuǎn)換,存儲(chǔ)一次數(shù)據(jù),地址加1指向下一單元,因此寫地址發(fā)生器(RAM_CONTROL)采用遞增計(jì)數(shù)器實(shí)現(xiàn),計(jì)數(shù)頻率與ADCLK、WRCLK一致以保證數(shù)據(jù)寫入時(shí)序的正確性。寫操作時(shí)序由地址和時(shí)鐘發(fā)生器、 A/D轉(zhuǎn)換時(shí)鐘和雙端口RAM的寫時(shí)鐘產(chǎn)生。停止采樣時(shí)AD_STOP有效,寫地址發(fā)生器停止計(jì)數(shù),同時(shí)停止對(duì)RAM的寫操作。將地址發(fā)生器的計(jì)數(shù)值接至 DSP總線可以獲取采樣的首尾指針。地址發(fā)生器單元一般用(VHDL)語言編程實(shí)現(xiàn),然后生成符號(hào)文件RAM_CONTROL在上層文件調(diào)用。其部分 VHDL語言程序如下:

 

對(duì)雙端口RAM的讀操作采用存儲(chǔ)器映像方式,其讀出端口接DSP的外擴(kuò)RAM總線,DSP可隨機(jī)讀取雙端口RAM的任一單元數(shù)據(jù),以方便波形分析。 由于LPM_RAM_DP模塊的讀端數(shù)據(jù)總線q不具有三態(tài)特性,因此調(diào)用三態(tài)緩沖器74244,通過其將輸出數(shù)據(jù)連接到DSP數(shù)據(jù)總線上。

在高速數(shù)據(jù)采集電路中,數(shù)據(jù)緩存也可以用FIFO或單端口RAM實(shí)現(xiàn)。用FIFO進(jìn)行數(shù)據(jù)緩存,由于其已經(jīng)把地址發(fā)生部分集成在模塊單元內(nèi),因此省去了一部分程序編寫,但是DSP卻不能任意地訪問FIFO的存儲(chǔ)單元,只能是順序?qū)懭?讀出數(shù)據(jù),這樣設(shè)計(jì),系統(tǒng)的靈活性就大大降低。如果DSP的分析計(jì)算需要特定單元的數(shù)據(jù),則系統(tǒng)的效率和速度會(huì)因?yàn)闊o效數(shù)據(jù)的讀取而降低。使用單端口RAM進(jìn)行數(shù)據(jù)緩存同樣存在一些問題。由RAM側(cè)看,DSP和A/D轉(zhuǎn)換器是掛在一條總線上的,當(dāng)從RAM向DSP傳輸數(shù)據(jù)的時(shí)候,A/D轉(zhuǎn)換器就不能有數(shù)據(jù)傳到該總線上,否則會(huì)產(chǎn)生總線沖突,引起芯片損壞。解決這個(gè)問題就需要增加電路。應(yīng)用雙端口RAM就不存在這個(gè)問題,而且使系統(tǒng)結(jié)構(gòu)劃分更明確,符合模塊化設(shè)計(jì)思想。

結(jié)語

綜上所述,利用FPGA芯片的高速工作特性,以及其內(nèi)部集成嵌入式陣列和大規(guī)模邏輯陣列的特點(diǎn),設(shè)計(jì)存儲(chǔ)器,三態(tài)緩存器、地址發(fā)生器、以及復(fù)雜的時(shí)序邏輯電路等,應(yīng)用于高速數(shù)據(jù)采集電路中可以使電路大大簡(jiǎn)化,性能提高。同時(shí)由于FPGA可實(shí)現(xiàn)在系統(tǒng)編程(ISP),使系統(tǒng)具有可在線更新、升級(jí)容易等特點(diǎn),是一種較為理想的系統(tǒng)及電路實(shí)現(xiàn)方法。

本站聲明: 本文章由作者或相關(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日 /美通社/ -- 英國(guó)汽車技術(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ì)日本游戲市場(chǎng)的投資。

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

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

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

8月28日消息,在2024中國(guó)國(guó)際大數(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íng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

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

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

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

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

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