手把手教你FPGA存儲器項使用DRAM
某些FPGA終端,包含板載的、可以動(dòng)態(tài)隨機訪(fǎng)問(wèn)的存儲塊(DRAM),這些存儲塊可以在FPGA VI中直接訪(fǎng)問(wèn),速率非常高。
本文引用地址:http://dyxdggzs.com/article/201710/365206.htmDRAM可以用來(lái)緩存大批量的數據,而且速度可以非???。針對一些特殊應用,比如:瞬時(shí)帶寬非常高,而且有要保存原始數據的時(shí)候,就可以用DRAM做一個(gè)大的FIFO緩沖。
DRAM的大小每塊板卡可能不同,一般在官網(wǎng)中對應板卡的說(shuō)明中都會(huì )標明DRAM的大小(如果有DRAM的話(huà))。比如,PXIe-7966R就有512M的DRAM空間。
http://sine.ni.com/nips/cds/view/p/lang/zhs/nid/210272

PXIe-7966R擁有512M的板載內存(DDR2)
不同的板卡板載內存大小不同,同時(shí)DDR系列也可能不同,7976R擁有高達2GB的板載緩存,且為DDR3,容量更大且速度更快。
http://sine.ni.com/nips/cds/view/p/lang/zhs/nid/212692

PXIe-7976R擁有2GB的板載內存(DDR3)
本文將以PXIe-7966R為例,手把手教大家使用DRAM Bank。
FPGA存儲器項使用DRAM
步驟一:將FPGA終端添加到項目中
配置之前,先將FPGA終端添加到項目中,在FPGA終端的屬性對話(huà)框中選擇“Mode” LabVIEW FPGA Memories,如下圖。

DRAM配置Mode
步驟二:配置為L(cháng)abVIEW FPGA Memory
在LabVIEW FPGA中Memory的主要特點(diǎn)是可以用來(lái)按地址存儲索引數據,與FIFO的先進(jìn)先出而言,各有自己的適用范圍。
把DRAM配置成Memory之后,可以在FPGA終端上面,“右鍵”創(chuàng )建Memory,并在彈出的對話(huà)框中的“Implementation”中選擇“DRAM”;在DRAM bank中可以選擇是Bank0還是Bank1,對于7966R而言,每個(gè)Bank有256M。

對參數進(jìn)行配置
步驟三:設置Memory參數
1)設置需要的點(diǎn)數
系統會(huì )依據設置的值計算出一個(gè)實(shí)際分配的元素數目,同時(shí)可以關(guān)注剩余的DRAM大小有多少。
2)設置Data type
可以設置Memory的數據類(lèi)型。數據類(lèi)型可以選擇的各種常用的數據類(lèi)型,同時(shí)也可以設置為“Customer Control”,特別要注意的是“數據的最大位寬”。

Data type參數設置
DRAM中每個(gè)訪(fǎng)問(wèn)單元是獨立的,設置的元素個(gè)數相同,數據類(lèi)型不同的時(shí)候,配置的Memory在DRAM Bank中占用的空間是相同的。所以,為了能夠最大限度的使用DRAM中的空間,可以在這里設置Customer Control,然后選擇一個(gè)含有兩個(gè)U64元素的簇(2個(gè)U64剛好占用128位帶寬),如下圖所示。

配置DRAM Bank的數據類(lèi)型
步驟四:訪(fǎng)問(wèn)DRAM
Memory中的數據訪(fǎng)問(wèn)是依據地址訪(fǎng)問(wèn)的,具體讀寫(xiě)方式可以參考幫助文檔。由于Memory中訪(fǎng)問(wèn)是依據地址來(lái)操作的,因此,在程序中可以將一段地址以“環(huán)形”方式反復讀寫(xiě),這個(gè)也是在緩存數據時(shí)候經(jīng)常用到的。比如:在FPGA中實(shí)現“參考觸發(fā)”方式的數據采集,就需要緩存一部分數據,并以環(huán)形FIFO的方式進(jìn)行讀寫(xiě),保證緩沖區中的數據是最新的一段。
使用DRAM進(jìn)行編程,以下為示例,提供參考:分別是環(huán)形方式寫(xiě)數據到FIFO中和環(huán)形方式讀取FIFO中的數據。

讀取DRAM數據

向DRAM寫(xiě)入數據
或者也可以在范例查找器中直接搜索,參考范例如下

DRAM Memory使用范例
參考鏈接:
在NIFlexRIO中使用DRAM
http://www.ni.com/white-paper/14571/zhs/
訪(fǎng)問(wèn)DRAM(FPGA模塊)
http://zone.ni.com/reference/zhs-XX/help/371599N-0118/lvfpgaconcepts/fpg...
高效使用DRAM和NI CompactRIO
http://zone.ni.com/reference/zhs-XX/help/373197K-0118/cserieshelp/dram_u...
評論