新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 采用FPGA IP實(shí)現(xiàn)DDR的讀寫控制的設(shè)計(jì)與驗(yàn)證

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

——
作者:上海晏陽科技公司 李鵬剛 陸俊宇 時間:2007-03-02 來源:電子產(chǎn)品世界 收藏

摘要: 本文采用LatticeXP系列結(jié)合解決 的讀寫控制。并且在硬件上面進(jìn)行了實(shí)際測試。
關(guān)鍵詞: ; ;;;

前言

隨著高速處理器的不斷發(fā)展,應(yīng)用的領(lǐng)域越來越廣泛,數(shù)字信號處理的規(guī)模也越來越大,系統(tǒng)中規(guī)模不斷增加,比如視頻監(jiān)控、圖像數(shù)據(jù)采集等領(lǐng)域,圖像處理的實(shí)時性對RAM帶寬的要求不斷增加,傳統(tǒng)的SDRAM在帶寬上已經(jīng)逐漸無法滿足應(yīng)用要求, SDRAM(雙倍速率SDRAM)采用在時鐘CLK信號的上升和下降沿,雙沿做數(shù)據(jù)傳輸;比傳統(tǒng)的SDRAM只在時鐘上升沿傳輸?shù)姆绞?,傳輸帶寬增加了一倍。DDR RAM已開始廣泛應(yīng)用于中,正逐步取代傳統(tǒng)的SDRAM。

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

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

LatticeXP

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

器件內(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)擊啟動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芯片手冊進(jìn)行設(shè)置。本文中采用的DDR RAM顆粒是現(xiàn)代公司的HY5DU561622,16M x16,4bank顆粒。

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

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

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

在這里設(shè)置tRAC(行訪問周期,RAS Access Cycle/Delay)、tCAC(列訪問周期,CAS Access Cycle/ Delay)等參數(shù)。這些參數(shù),在DDR RAM顆粒芯片的手冊中都有詳細(xì)的列表。需要特別指出的是,由于芯片提供商會針對不同的DDR標(biāo)準(zhǔn),例如DDR400,DDR333等,給出不同的延時參數(shù),會是以ns為單位的幾個不同的列表,需要根據(jù)設(shè)計(jì)的不同,參考不同的表格。因?yàn)镮P生成器中采用的是單一參數(shù)設(shè)置,單位采用了CLK為單位,這就需要根據(jù)設(shè)計(jì)標(biāo)準(zhǔn)以及時鐘頻率來轉(zhuǎn)換一下,進(jìn)行設(shè)定。本文采用的是DDR266標(biāo)準(zhǔn),時鐘為133MHz,對應(yīng)的時鐘周期為1/133MHz,大約為7.5ns。這樣,芯片在DDR266標(biāo)準(zhǔn)的TRCD為20ns(最小值),對應(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ù)信號的定義,對應(yīng)DDR RAM接口信號。另一端是用戶接口,包括復(fù)位、時鐘、地址、數(shù)據(jù)、讀寫、狀態(tài)信號等。數(shù)據(jù)通過用戶接口送入,通過IP控制時序送到DDR RAM對用的地址當(dāng)中。
對IP的測試,采用數(shù)據(jù)寫入與讀出進(jìn)行校驗(yàn)的方式來實(shí)現(xiàn)。測試框圖如圖7所示。

圖7 測試原理框圖

在FPGA內(nèi)部做兩個RAM區(qū)域,用于數(shù)據(jù)的保存。這里使用FPGA內(nèi)部的RAM塊,做了兩塊256



評論


相關(guān)推薦

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

關(guān)閉