基于Cyclone III FPGA的DDR2接口設(shè)計(jì)分析
DDR SDRAM是Double Data Rate SDRAM的縮寫,即雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。DDR內(nèi)存是在SDRAM內(nèi)存基礎(chǔ)上發(fā)展而來(lái)的,能夠在時(shí)鐘的上升沿和下降沿各傳輸一次數(shù)據(jù),可以在與SDRAM相同的總線時(shí)鐘頻率下達(dá)到更高的數(shù)據(jù)傳輸率。雖然DDR2和DDR一樣,都采用相同采樣方式進(jìn)行數(shù)據(jù)傳輸,但DDR2擁有兩倍于DDR的預(yù)讀取系統(tǒng)命令數(shù)據(jù)的能力。也就是說(shuō),在同樣100MHz的工作頻率下,DDR的實(shí)際頻率為200MHz,而DDR2則可以達(dá)到400MHz。DDR2還引入了三項(xiàng)新的技術(shù),它們是OCD、ODT和Post CAS。
我們的設(shè)計(jì)(圖1)采用Altera公司Cyclone III系列型號(hào)為EP3C16F484C6N的FPGA作為控制器,以Micron公司生產(chǎn)的型號(hào)為MT47H16M16BG-5E(16M×16bit)的DDR2 SDRAM為存儲(chǔ)器。用一個(gè)IP核完成對(duì)4片DDR2的控制(帶寬為64bit),且DDR2的最高速率可達(dá)200MHz,以此完成對(duì)數(shù)據(jù)的高速大容量存儲(chǔ)。由于采用一個(gè)DDR2的IP核進(jìn)行控制,所以4片DDR2以地址和控制線共用、數(shù)據(jù)線獨(dú)立的方式進(jìn)行管腳連接。
圖1 接口總框圖
EP3C16只有TOP和BOTTOM邊的BANK支持200MHz DDR2接口(因?yàn)镈DR2管腳的特殊要求,DQS、DQ、DM管腳在FPGA上都需要專用管腳),且最高速率可達(dá)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。為了滿足設(shè)計(jì)要求,我們將4片DDR2分別掛在FPGA的Top和Bottom的4個(gè)BANK。
從表2中可以看到,EP3C16 F484封裝系列的FPGA每個(gè)邊所支持的DQS和DQ組。因?yàn)樵贒DR中若干個(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架構(gòu)的DQS和DQ組。圖2展示了FPGA的DQS和DQ組的分配。
由于設(shè)計(jì)中采用Top和Bottom邊的Bank,這里以第3個(gè)Bank的DQS為例進(jìn)行說(shuō)明。在圖2可以看到,F(xiàn)PGA的Bank3有三個(gè)DQS,分別為DQS1B、DQS3B和DQS5B。由于每組DQ都要和各自對(duì)應(yīng)的DQS配對(duì),所以理論上DQS1B應(yīng)該和DQ1B為一組,DQS3B應(yīng)該和DQ3B為一組,DQS5B應(yīng)該和DQ5B為一組。
評(píng)論