Cyclone II實(shí)現(xiàn)DDR SDRAM接口的方法
在不增加電路板復(fù)雜度的情況下要想增強(qiáng)系統(tǒng)性能,改善數(shù)據(jù)位寬是一個(gè)有效的手段。通常來(lái)說(shuō),可以把系統(tǒng)頻率擴(kuò)大一倍或者把數(shù)據(jù)I/O管腳增加一倍來(lái)實(shí)現(xiàn)雙倍的數(shù)據(jù)位寬。這兩種方法都是我們不希望用到的,因?yàn)樗鼈儠?huì)增加整個(gè)設(shè)計(jì)系統(tǒng)的復(fù)雜度。在總的數(shù)據(jù)I/O管腳不變的情況下,使用雙數(shù)據(jù)率(DDR)I/O管腳來(lái)傳輸和接收數(shù)據(jù)也能夠實(shí)現(xiàn)雙倍數(shù)據(jù)位寬的要求。DDR器件使用時(shí)鐘的兩個(gè)沿來(lái)傳輸數(shù)據(jù),在時(shí)鐘頻率和數(shù)據(jù)I/O管腳不變的前提下,比單沿?cái)?shù)據(jù)傳輸(SDR)器件快了一倍。DDR數(shù)據(jù)傳輸廣泛應(yīng)用于有快速數(shù)據(jù)傳輸需求的場(chǎng)合,如網(wǎng)絡(luò)、通信、存儲(chǔ)和圖像處理等領(lǐng)域。
本文引用地址:http://2s4d.com/article/149374.htm Cyclone II器件支持如SDR SDRAM,DDR SDRAM,DDR2 SDRAM以及QDRII RAM等外部存儲(chǔ)器接口。下面將著重討論Cyclone II器件如何實(shí)現(xiàn)DDR SDRAM接口控制的。
Cyclone II器件有專用的與DDR SDRAM接口的data(DQ),data strobe(DQS),clock管腳。一般是8個(gè)DQ信號(hào)對(duì)應(yīng)與1個(gè)DQS信號(hào),DQS信號(hào)和DQ信號(hào)從DDR SDRAM輸出時(shí)是沿對(duì)齊的。進(jìn)入FPGA后要想實(shí)現(xiàn)中心對(duì)齊,即DQS的變化沿與DQ的中心對(duì)齊,那么必須在FPGA內(nèi)部對(duì)DQS做延時(shí)處理,如Figure 9-1所示。
DDR輸入接口實(shí)現(xiàn)如Figure 9-11所示。這也是一個(gè)涉及到異步時(shí)鐘域數(shù)據(jù)通信的問(wèn)題,且看它是如何進(jìn)行同步的。resynch_clk是FPGA內(nèi)部使用的時(shí)鐘,DQS相對(duì)與和DQ同步的時(shí)鐘。這兩個(gè)時(shí)鐘其實(shí)是同頻不同相,相位偏移肯定是要滿足FPGA的采樣時(shí)鐘和數(shù)據(jù)信號(hào)中心對(duì)齊,這涉及到DDR SDRAM的輸出時(shí)鐘信號(hào)的相位調(diào)整。
輸入信號(hào)DQS經(jīng)過(guò)反向延時(shí)后與DQ信號(hào)中心對(duì)齊,然后分別使用方向延時(shí)后的DQS信號(hào)的下降沿和上升沿鎖存DQ信號(hào)前后輸入的數(shù)據(jù)Q0和Q1,同時(shí)在上升沿時(shí)會(huì)對(duì)前一級(jí)采樣的Q0信號(hào)再進(jìn)行一次鎖存,從而使Q0和Q1信號(hào)在被FPGA同步時(shí)鐘采樣前達(dá)到同頻同相。FPGA內(nèi)部時(shí)鐘通過(guò)對(duì)經(jīng)過(guò)處理后的Q0和Q1信號(hào)采樣達(dá)到了雙沿?cái)?shù)據(jù)輸入的采樣。詳細(xì)波形如Figure 9-12所示。
DDR輸出接口實(shí)現(xiàn)如Figure 9-14所示。經(jīng)過(guò)90度相移的DDR SDRAM時(shí)鐘先對(duì)FPGA內(nèi)部時(shí)鐘域的待輸出信號(hào)進(jìn)行一次鎖存,然后由相移時(shí)鐘的高低電平選擇作為當(dāng)前輸出給DDR SDRAM的數(shù)據(jù)信號(hào)。
詳細(xì)波形如Figure 9-15所示。
評(píng)論