基于Cyclone III FPGA的DDR2接口設計分析

發(fā)布時(shí)間:2011-4-28 17:35    發(fā)布者:1046235000
關(guān)鍵詞: Cyclone , DDR2接口 , FPGA
DDR SDRAM是Double Data Rate SDRAM的縮寫(xiě),即雙倍速率同步動(dòng)態(tài)隨機存儲器。DDR內存是在SDRAM內存基礎上發(fā)展而來(lái)的,能夠在時(shí)鐘的上升沿和下降沿各傳輸一次數據,可以在與SDRAM相同的總線(xiàn)時(shí)鐘頻率下達到更高的數據傳輸率。雖然DDR2和DDR一樣,都采用相同采樣方式進(jìn)行數據傳輸,但DDR2擁有兩倍于DDR的預讀取系統命令數據的能力。也就是說(shuō),在同樣100MHz的工作頻率下,DDR的實(shí)際頻率為200MHz,而DDR2則可以達到400MHz。DDR2還引入了三項新的技術(shù),它們是OCD、ODT和Post CAS。

我們的設計(圖1)采用Altera公司Cyclone III系列型號為EP3C16F484C6N的FPGA作為控制器,以Micron公司生產(chǎn)的型號為MT47H16M16BG-5E(16M×16bit)的DDR2 SDRAM為存儲器。用一個(gè)IP核完成對4片DDR2的控制(帶寬為64bit),且DDR2的最高速率可達200MHz,以此完成對數據的高速大容量存儲。由于采用一個(gè)DDR2的IP核進(jìn)行控制,所以4片DDR2以地址和控制線(xiàn)共用、數據線(xiàn)獨立的方式進(jìn)行管腳連接。

圖1 接口總框圖

EP3C16只有TOP和BOTTOM邊的BANK支持200MHz DDR2接口(因為DDR2管腳的特殊要求,DQS、DQ、DM管腳在FPGA上都需要專(zhuān)用管腳),且最高速率可達200MHz。

表1中Column I/O是指Top和Bottom I/O,Row I/O是指Right和Left I/O。Hybrid mode是指由Column和Row I/O混合。

從表1中可以看出,Cyclone III只有6系列的FPGA在Top和Bottom BANK才支持200MHz頻率的DDR2。為了滿(mǎn)足設計要求,我們將4片DDR2分別掛在FPGA的Top和Bottom的4個(gè)BANK。

從表2中可以看到,EP3C16 F484封裝系列的FPGA每個(gè)邊所支持的DQS和DQ組。因為在DDR中若干個(gè)DQ是由一個(gè)DQS進(jìn)行采樣的,所以FPGA以若干個(gè)DQ和一個(gè)DQS為最小單位進(jìn)行分組。

表1 FPGA BANK管腳速度

表2 FPGA BANK DQ

如Number of ×8 Groups,其中×8就是指8個(gè)DQ,一個(gè)DQS即和8個(gè)DQ組成一個(gè)Group(即這8個(gè)DQ由這一個(gè)DQS進(jìn)行采樣)。FPGA分別有Left、Right、Top和Bottom四邊,其表示FPGA的每邊都支持4個(gè)DQS和DQ組,而每一邊有兩個(gè)Bank,即每個(gè)Bank都支持兩個(gè)×8架構的DQS和DQ組。圖2展示了FPGA的DQS和DQ組的分配。

由于設計中采用Top和Bottom邊的Bank,這里以第3個(gè)Bank的DQS為例進(jìn)行說(shuō)明。在圖2可以看到,FPGA的Bank3有三個(gè)DQS,分別為DQS1B、DQS3B和DQS5B。由于每組DQ都要和各自對應的DQS配對,所以理論上DQS1B應該和DQ1B為一組,DQS3B應該和DQ3B為一組,DQS5B應該和DQ5B為一組。

圖2 FPGA BANK DQS/DQ

表3中展示了FPGA管腳中的DQ分配?梢钥吹,對于×8架構的DDR2,Bank3只有DQ3B和DQ5B,且DQ3B和DQ5B各自都有9個(gè),DQS1B其實(shí)沒(méi)有屬于自己的DQ。其實(shí)在Bank4中還有1個(gè)DQS2B和8個(gè)DQ2B,1個(gè)DQS4B和8個(gè)DQ4B。

而對于×16架構的DDR2,則有18個(gè)DQ3B和1個(gè)DQ5B,DQS1B沒(méi)有屬于自己的DQ,其實(shí)在Bank4中還有17個(gè)DQ5B,這樣在Bank3和Bank4中一共就有18個(gè)DQ5B。

表3 FPGA BANK Pin

在×32架構的DDR2中則有19個(gè)DQ5B,沒(méi)有DQ1B和DQ3B,在Bank4中還有17個(gè)DQ5B,這樣在Bank3和Bank4中一共就有36個(gè)DQ5B。

對于×9/×18/×36這里暫不討論,其為QDRII SRAM設計,其多余DQ做奇偶校驗使用。

從表4可以看出FPGA是如何支持不同架構的DDR2的,還可以知道同一組的DQ不一定在同一個(gè)Bank,不是每個(gè)DQS都有自己的DQ,即使DQS有自己的DQ,其DQ數量也不一定相同。


圖3 FPGA DQ/DQS Pin

除了DQS和DQ外,DM也有自己專(zhuān)用的管腳,在DDR中DM為數據信號(DQ)屏蔽位,由于DM是以8bit為單位起作用的,所以理論上只要有8個(gè)DQ便會(huì )有一個(gè)DM。事實(shí)上在FPGA的Bottom邊Bank中DM的分配如表5所示。

表4 不同架構DDR2的支持數量


表5 FPGA的Bottom邊Bank中DM的分配


了解清楚FPGA中的DQS,DQ和DM分配,我們再來(lái)看看DDR2的架構。DDR2選用Micron生產(chǎn)的MT47H16M16BG-5E,其大小為16M×16bit,每一片分為4個(gè)Bank,每個(gè)Bank為4M×16bit。如果看到×16,你就認為這是一片×16架構的DDR2,再按照FPGA上×16架構的管腳去設計,那就大錯特錯了。

雖然該DDR2是16位的帶寬,但其卻有兩個(gè)DQS,分別是LDQS和UQDS,也就是說(shuō)其實(shí)兩個(gè)DQS分別采樣低8位和高8位數據。請注意,即使是32位帶寬的DDR,其也有4個(gè)DQS,每個(gè)DQS也僅采樣8位數據。至于有沒(méi)有一個(gè)DQS能采樣16位或32位數據的DDR,這就不為人知了。

確定了DDR2的架構,就確定了DDR2和FPGA的DQS,DQ和DM的連接方式。由于我們采用的是×8架構的DDR2,所以一組內的DQ僅需要8個(gè),而有的DQS帶有9個(gè)DQ,在選用該DQ的時(shí)候只要任意選取其中的8個(gè)就可以。

在SSTL-18電平標準中,為了實(shí)現更高的信號頻率,輸入信號需要和一個(gè)參考電壓(VREF)進(jìn)行比較輸出后才被認為是實(shí)際輸入。因為DDR2采用1.8V的SSTL電平進(jìn)行數據傳輸,所以DDR2所在FPGA 的Bank電壓必須是1.8V,FPGA就必須在該Bank使用VREF參考電壓。在FPGA的每個(gè)Bank都有兩個(gè)VREF參考電壓輸入,該Bank的I/O分屬這兩個(gè)VREF組,如在Bank3存在VREFB3N0和VREFB3N1。

當FPGA的一個(gè)Bank存在VREF輸入或雙向的管腳時(shí),為了防止輸出的開(kāi)關(guān)噪聲轉移到VREF和限制輸送到VCCIO的噪聲水平,FPGA輸入輸出IO的位置有如下限制(BGA封裝的FPGA):

• 每個(gè)VREF最多支持32個(gè)輸入;

• 在Top和Bottom Bank每12個(gè)連續的管腳最多只支持9個(gè)輸出。在Right和Left Bank每14個(gè)連續的管腳最多只支持9個(gè)輸出;

• 在VREF和輸出管腳(除了DQ和DQS)之間必須用兩個(gè)輸入或空腳進(jìn)行隔離。一般是空著(zhù),因為輸入會(huì )因為輸出管腳引來(lái)的噪聲而導致讀入不正確;

• 如果不需VREF參考,一般在一個(gè)BANK中只要全部是同組數據總線(xiàn)或地址總線(xiàn)時(shí),輸出個(gè)數不受限制(即受同一個(gè)OE控制的不受限制)。如果不是同一個(gè)OE控制就要滿(mǎn)足上面約束關(guān)系,以及驅動(dòng)型接口要考慮驅動(dòng)能力。

圖4所示,輸出腳必須和VREF用兩個(gè)輸入或空腳進(jìn)行隔離。另外,由于DDR2的地址和控制線(xiàn)都是輸出管腳,所以在手動(dòng)分配管腳的時(shí)候很容易超出2所述的限制,而且FPGA是BGA封裝,只從SYMBOL上很難看出管腳的連續性。FPGA的管腳在外部看來(lái)是方陣排列,但其在FPGA的內部卻是線(xiàn)性的排列,所以硬件設計時(shí)最好通過(guò)軟件去看管腳的連續性。在原理圖設計分配DDR2所在Bank的輸出管腳時(shí),建議采用Quartus II軟件自動(dòng)分配,這樣才能更好地避免錯誤。


圖4 FPGA Output Pad

此外,還要注意:

• 在Cyclone III系列的FPGA中,不支持差分的DQS,該FPGA的IP只在寫(xiě)模式下用到DQS,在讀數據時(shí)不用(因為IP復位時(shí)IP會(huì )發(fā)送接收訓練序列自校正產(chǎn)生捕獲時(shí)鐘);

•多余不用的DQ可以當做普通I/O使用;

• Quartus II軟件自動(dòng)分配管腳時(shí)不會(huì )區分同一組的DQ和DM,即DQ和DM可以互換(在EP3C16時(shí)僅有TOP邊的DQ和DM可以互換);

• DDR2的地址和控制線(xiàn)在FPGA上沒(méi)有專(zhuān)用管腳,可以任意使用其它IO(只要符合輸入輸出位置限制);

• 可以使用任何一對臨近的差分I/O管腳當作DDR2的時(shí)鐘。
本文地址:http://selenalain.com/thread-63830-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
star530 發(fā)表于 2011-6-4 19:42:49
好,好好學(xué)習
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页