《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 解決方案 > 采用FPGA IP實(shí)現(xiàn)DDR的讀寫控制的設(shè)計(jì)與驗(yàn)證

采用FPGA IP實(shí)現(xiàn)DDR的讀寫控制的設(shè)計(jì)與驗(yàn)證

2012-07-05
關(guān)鍵詞: FPGA LattcieXP DDR RAM IP

前言

隨著高速處理器的不斷發(fā)展,嵌入式系統(tǒng)應(yīng)用的領(lǐng)域越來越廣泛,數(shù)字信號(hào)處理的規(guī)模也越來越大,系統(tǒng)中RAM規(guī)模不斷增加,比如視頻監(jiān)控、圖像數(shù)據(jù)采集等領(lǐng)域,圖像處理的實(shí)時(shí)性對(duì)RAM帶寬的要求不斷增加,傳統(tǒng)的SDRAM在帶寬上已經(jīng)逐漸無法滿足應(yīng)用要求,DDR SDRAM(雙倍速率SDRAM)采用在時(shí)鐘CLK信號(hào)的上升和下降沿,雙沿做數(shù)據(jù)傳輸;比傳統(tǒng)的SDRAM只在時(shí)鐘上升沿傳輸?shù)姆绞剑瑐鬏攷捲黾恿艘槐丁?a class="innerlink" href="http://m.xxav2194.com/tags/DDR RAM" title="DDR RAM" target="_blank">DDR RAM已開始廣泛應(yīng)用于嵌入式系統(tǒng)中,正逐步取代傳統(tǒng)的SDRAM。

DDR RAM操作速度的提高,對(duì)設(shè)計(jì)者來說,對(duì)控制時(shí)序的設(shè)計(jì)有了更高的要求;并且,DDR內(nèi)存采用的是支持2.5V電壓的SSTL-Ⅱ標(biāo)準(zhǔn),不再是SDRAM使用的3.3V電壓的LVTTL標(biāo)準(zhǔn)。在很多的處理器上面并不帶有DDR RAM控制器,這對(duì)設(shè)計(jì)者來說,使用DDR RAM難度增加。往往需要在設(shè)計(jì)中插入控制器實(shí)現(xiàn)微處理器或DSP對(duì)存儲(chǔ)器的控制。

現(xiàn)場(chǎng)可編程門陣列(FPGA)已廣泛應(yīng)用于嵌入式系統(tǒng)中。現(xiàn)在很多FPGA都提供了針對(duì)DDR SDRAM的接口特性:其輸入輸出引腳與SSTL-Ⅱ電氣特性兼容,內(nèi)部提供了DDR觸發(fā)器、鎖相環(huán)等硬件資源。使用這些特性,可以比較容易地設(shè)計(jì)性能可靠的高速DDR RAM控制器。本文針對(duì)這一問題,介紹一種采用Lattice FPGA與IP來實(shí)現(xiàn)DDR RAM控制和驗(yàn)證的方法。

LatticeXP

LatticeXP器件將非易失的FLASH單元和SRAM技術(shù)組合在一起,支持瞬間啟動(dòng)和無限可重構(gòu)的單芯片解決方案。FLASH單元陣列中保存用戶配置文件。上電時(shí),配置文件在1毫秒內(nèi)從FLASH存儲(chǔ)器中被傳送到配置SRAM中,完成瞬時(shí)上電。

器件內(nèi)部分為:PIC (可編程的I/O單元),非易失的FLASH MEMORY,SYSCONFIG配置端口,PFU(可編程功能單元),PLL(模擬鎖相環(huán)),PFF(非RAM/ROM功能可編程邏輯單元),EBR(嵌入式RAM塊),JTAG口等幾部分(見圖1)。



圖1 LatticeXP內(nèi)部結(jié)構(gòu)圖

DDR controller IP的生成

IPExpress是Lattice開發(fā)軟件中生成IP模塊的工具,可根據(jù)用戶設(shè)定的參數(shù)生成IP模塊,使用非常方便。

點(diǎn)擊啟動(dòng)IPexpress進(jìn)入生成界面(見圖2)。在左邊選取DDR SDRAM工程,在右邊設(shè)置工程名稱和文件保存地址。



圖2 IPexpress界面

點(diǎn)擊下一步,開始進(jìn)入?yún)?shù)設(shè)置(見圖3)。這里面進(jìn)行設(shè)置DDR RAM的行、列的參數(shù),以及Bank。這些參數(shù)都是根據(jù)DDR RAM芯片手冊(cè)進(jìn)行設(shè)置。本文中采用的DDR RAM顆粒是現(xiàn)代公司的HY5DU561622,16M x16,4bank顆粒。



圖3 DDR RAM的行、列的參數(shù)配置

下一步,進(jìn)行時(shí)序延時(shí)上面的設(shè)置(見圖4)。



圖4 DDR RAM顆粒時(shí)序參數(shù)配置

在這里設(shè)置tRAC(行訪問周期,RAS Access Cycle/Delay)、tCAC(列訪問周期,CAS Access Cycle/ Delay)等參數(shù)。這些參數(shù),在DDR RAM顆粒芯片的手冊(cè)中都有詳細(xì)的列表。需要特別指出的是,由于芯片提供商會(huì)針對(duì)不同的DDR標(biāo)準(zhǔn),例如DDR400,DDR333等,給出不同的延時(shí)參數(shù),會(huì)是以ns為單位的幾個(gè)不同的列表,需要根據(jù)設(shè)計(jì)的不同,參考不同的表格。因?yàn)镮P生成器中采用的是單一參數(shù)設(shè)置,單位采用了CLK為單位,這就需要根據(jù)設(shè)計(jì)標(biāo)準(zhǔn)以及時(shí)鐘頻率來轉(zhuǎn)換一下,進(jìn)行設(shè)定。本文采用的是DDR266標(biāo)準(zhǔn),時(shí)鐘為133MHz,對(duì)應(yīng)的時(shí)鐘周期為1/133MHz,大約為7.5ns。這樣,芯片在DDR266標(biāo)準(zhǔn)的TRCD為20ns(最小值),對(duì)應(yīng)到IP的參數(shù)中就是3。其他參數(shù)也是類似的換算。

設(shè)置完畢以后,點(diǎn)擊generate,可以生成IP代碼文件,如圖5。



圖5 IP生成

DDR controller IP的使用與驗(yàn)證

生成的DDR Controller IP的接口結(jié)構(gòu)如圖6所示。



圖6 DDR Controller接口

RAM接口根據(jù)信號(hào)的定義,對(duì)應(yīng)DDR RAM接口信號(hào)。另一端是用戶接口,包括復(fù)位、時(shí)鐘、地址、數(shù)據(jù)、讀寫、狀態(tài)信號(hào)等。數(shù)據(jù)通過用戶接口送入,通過IP控制時(shí)序送到DDR RAM對(duì)用的地址當(dāng)中。

對(duì)IP的測(cè)試,采用數(shù)據(jù)寫入與讀出進(jìn)行校驗(yàn)的方式來實(shí)現(xiàn)。測(cè)試框圖如圖7所示。



圖7 測(cè)試原理框圖

在FPGA內(nèi)部做兩個(gè)RAM區(qū)域,用于數(shù)據(jù)的保存。這里使用FPGA內(nèi)部的RAM塊,做了兩塊256×32b大小的RAM存儲(chǔ)區(qū)。編寫FPGA代碼,做一個(gè)簡(jiǎn)單的偽隨機(jī)序列發(fā)生器,通過簡(jiǎn)單的異或算法,產(chǎn)生32位隨機(jī)數(shù)據(jù)序列。產(chǎn)生的數(shù)據(jù)存入其中一塊RAM當(dāng)中,同時(shí)也送到IP的用戶接口端,寫入DDR RAM。

在256深度的存儲(chǔ)區(qū)域?qū)憹M以后,開始從DDR RAM回讀數(shù)據(jù)。并把讀取的數(shù)據(jù)送到FPGA內(nèi)部另外一塊RAM當(dāng)中。兩塊RAM中對(duì)用地址的數(shù)據(jù)作比較。如果數(shù)據(jù)一致,說明DDR RAM讀寫正常;如果不同,說明DDR RAM讀寫操作有錯(cuò)誤。

由于本設(shè)計(jì)采用的是DIMM內(nèi)存條512Mb容量,因此測(cè)試時(shí),數(shù)據(jù)地址采用基址加變址的方式。每一次測(cè)試256×32b的數(shù)據(jù)完成后,循環(huán)進(jìn)入下一次測(cè)試時(shí),將起始基地址加256,再進(jìn)行數(shù)據(jù)操作。這樣最終完整可以掃描512M的數(shù)據(jù)地址空間,使測(cè)試更加完整。這種測(cè)試的方法,采用小塊地址,多次操作,可以減少FPGA內(nèi)部RAM的使用量。

本文中編寫的測(cè)試代碼采用Verilog語言編寫,邏輯如圖8。



圖8 測(cè)試代碼邏輯狀態(tài)機(jī)

硬件測(cè)試結(jié)果

本實(shí)驗(yàn)是在Lattice的XP ADVANCED版demo板上進(jìn)行的。

采用的FPGA為L(zhǎng)FXP10C-5F384,內(nèi)存條為Kingston 512M筆記本內(nèi)存條,RAM顆粒為現(xiàn)代HY5DU561622。測(cè)試DDR266連續(xù)運(yùn)行2小時(shí),數(shù)據(jù)無異常,DDR讀寫操作完全正常。

結(jié)語

在嵌入式系統(tǒng)中應(yīng)用DDR RAM的越來越多,在設(shè)計(jì)當(dāng)中采用FPGA,不僅設(shè)計(jì)靈活,而且還可以將周邊的數(shù)字器件綜合設(shè)計(jì)進(jìn)入FPGA,大大提高系統(tǒng)設(shè)計(jì)的性價(jià)比。

參考文獻(xiàn):
1. 胡為,DDR SDRAM在嵌入式系統(tǒng)中的應(yīng)用,單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006.3
2. LatticeXP family handbook. Lattice SEMICONDUCTOR Co.,2006.6
3. Lattice DDR1/2 controller user guide.Lattice SEMICONDUCTOR Co.,2006.6

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩精品福利在线| 美女扒开尿口让男人30视频| 天天躁日日躁狠狠躁欧美老妇 | 337p日本大胆欧美人术艺术精品| 成人毛片18女人毛片免费| 亚洲人成影院午夜网站| 精品熟人妻一区二区三区四区不卡| 国产极品白嫩美女在线观看看| aaaaa级毛片| 扒开美妇白臀扒挺进在线视频| 亚洲丶国产丶欧美一区二区三区| 男女下面一进一出免费无遮挡 | 日本护士xxxx视频| 亚洲国产精品美女| 真实的国产乱xxxx在线| 国产偷窥熟女精品视频| 奇米影视国产精品四色| 大学生美女特级毛片| 中文字幕侵犯一色桃子视频| 日韩网新片免费| 亚洲日本人成中文字幕| 看全色黄大色黄女视频| 国产欧美日韩一区二区加勒比| 99热热久久这里只有精品166| 护士系列sdde221取精| 久久香蕉精品视频| 欧美日韩国产一区二区三区欧 | 97无码免费人妻超级碰碰夜夜| 成人免费一级片| 久久夜色精品国产欧美乱| 欧美成人看片一区二区三区| 人妻系列av无码专区| 美女女女女女女bbbbbb毛片| 国产又色又爽又刺激在线观看 | 免费乱理伦在线播放| 英国video性精品高清最新| 国产精品亚洲欧美大片在线看 | 日韩国产欧美精品在线| 亚洲国产精品尤物yw在线观看 | 欧美一级做一级做片性十三 | 在线精品91青草国产在线观看|