新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 手把手教你FPGA存儲(chǔ)器項(xiàng)使用DRAM

手把手教你FPGA存儲(chǔ)器項(xiàng)使用DRAM

作者: 時(shí)間:2017-10-10 來源:網(wǎng)絡(luò) 收藏

  某些終端,包含板載的、可以動(dòng)態(tài)隨機(jī)訪問的存儲(chǔ)塊(),這些存儲(chǔ)塊可以在 VI中直接訪問,速率非常高。

本文引用地址:http://m.butianyuan.cn/article/201710/365206.htm

  可以用來緩存大批量的數(shù)據(jù),而且速度可以非常快。針對(duì)一些特殊應(yīng)用,比如:瞬時(shí)帶寬非常高,而且有要保存原始數(shù)據(jù)的時(shí)候,就可以用做一個(gè)大的FIFO緩沖。

  DRAM的大小每塊板卡可能不同,一般在官網(wǎng)中對(duì)應(yīng)板卡的說明中都會(huì)標(biāo)明DRAM的大小(如果有DRAM的話)。比如,PXIe-7966R就有512M的DRAM空間。

  http://sine.ni.com/nips/cds/view/p/lang/zhs/nid/210272

    

 

  PXIe-7966R擁有512M的板載內(nèi)存(DDR2)

  不同的板卡板載內(nèi)存大小不同,同時(shí)DDR系列也可能不同,7976R擁有高達(dá)2GB的板載緩存,且為DDR3,容量更大且速度更快。

  http://sine.ni.com/nips/cds/view/p/lang/zhs/nid/212692

    

 

  PXIe-7976R擁有2GB的板載內(nèi)存(DDR3)

  本文將以PXIe-7966R為例,手把手教大家使用DRAM Bank。

  存儲(chǔ)器項(xiàng)使用DRAM  

  步驟一:將FPGA終端添加到項(xiàng)目中

  配置之前,先將FPGA終端添加到項(xiàng)目中,在FPGA終端的屬性對(duì)話框中選擇“Mode” LabVIEW FPGA Memories,如下圖。

    

 

  DRAM配置Mode

  步驟二:配置為LabVIEW FPGA Memory

  在LabVIEW FPGA中Memory的主要特點(diǎn)是可以用來按地址存儲(chǔ)索引數(shù)據(jù),與FIFO的先進(jìn)先出而言,各有自己的適用范圍。

  把DRAM配置成Memory之后,可以在FPGA終端上面,“右鍵”創(chuàng)建Memory,并在彈出的對(duì)話框中的“Implementation”中選擇“DRAM”;在DRAM bank中可以選擇是Bank0還是Bank1,對(duì)于7966R而言,每個(gè)Bank有256M。

    

 

  對(duì)參數(shù)進(jìn)行配置

  步驟三:設(shè)置Memory參數(shù)

  1)設(shè)置需要的點(diǎn)數(shù)

  系統(tǒng)會(huì)依據(jù)設(shè)置的值計(jì)算出一個(gè)實(shí)際分配的元素?cái)?shù)目,同時(shí)可以關(guān)注剩余的DRAM大小有多少。

  2)設(shè)置Data type

  可以設(shè)置Memory的數(shù)據(jù)類型。數(shù)據(jù)類型可以選擇的各種常用的數(shù)據(jù)類型,同時(shí)也可以設(shè)置為“Customer Control”,特別要注意的是“數(shù)據(jù)的最大位寬”。

    

 

  Data type參數(shù)設(shè)置

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

    

 

  配置DRAM Bank的數(shù)據(jù)類型

  步驟四:訪問DRAM

  Memory中的數(shù)據(jù)訪問是依據(jù)地址訪問的,具體讀寫方式可以參考幫助文檔。由于Memory中訪問是依據(jù)地址來操作的,因此,在程序中可以將一段地址以“環(huán)形”方式反復(fù)讀寫,這個(gè)也是在緩存數(shù)據(jù)時(shí)候經(jīng)常用到的。比如:在FPGA中實(shí)現(xiàn)“參考觸發(fā)”方式的數(shù)據(jù)采集,就需要緩存一部分?jǐn)?shù)據(jù),并以環(huán)形FIFO的方式進(jìn)行讀寫,保證緩沖區(qū)中的數(shù)據(jù)是最新的一段。

  使用DRAM進(jìn)行編程,以下為示例,提供參考:分別是環(huán)形方式寫數(shù)據(jù)到FIFO中和環(huán)形方式讀取FIFO中的數(shù)據(jù)。

    

 

  讀取DRAM數(shù)據(jù)

    

 

  向DRAM寫入數(shù)據(jù)

  或者也可以在范例查找器中直接搜索,參考范例如下

    

 

  DRAM Memory使用范例

  參考鏈接:

  在NIFlexRIO中使用DRAM

  http://www.ni.com/white-paper/14571/zhs/

  訪問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...



關(guān)鍵詞: FPGA DRAM

評(píng)論


相關(guān)推薦

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

關(guān)閉