Cyclone II的DDR SDRAM介面實現

admin @ 2014-03-26 , reply:0

概述
   在不增加電路板複雜度的情況下要想增強系統性能,改善數據位寬是一個有效的手段。通常來說,可以把系統頻率擴大一倍或者把數據I/O管腳增加一倍來實現雙倍的數據位寬。這兩種……

    在不增加電路板複雜度的情況下要想增強系統性能,改善數據位寬是一個有效的手段。通常來說,可以把系統頻率擴大一倍或者把數據I/O管腳增加一倍來實現雙倍的數據位寬。這兩種方法都是我們不希望用到的,因為它們會增加整個設計系統的複雜度。在總的數據I/O管腳不變的情況下,使用雙數據率(DDR)I/O管腳來傳輸和接收數據也能夠實現雙倍數據位寬的要求。DDR器件使用時鐘的兩個沿來傳輸數據,在時鐘頻率和數據I/O管腳不變的前提下,比單沿數據傳輸(SDR)器件快了一倍。DDR數據傳輸廣泛應用於有快速數據傳輸需求的場合,如網路、通信、存儲和圖像處理等領域。
    Cyclone II器件支持如SDR SDRAM,DDR SDRAM,DDR2 SDRAM以及QDRII RAM等外部存儲器介面。下面將著重討論Cyclone II器件如何實現DDR SDRAM介面控制的。
    Cyclone II器件有專用的與DDR SDRAM介面的data(DQ),data strobe(DQS),clock管腳。一般是8個DQ信號對應與1個DQS信號,DQS信號和DQ信號從DDR SDRAM輸出時是沿對齊的。進入FPGA后要想實現中心對齊,即DQS的變化沿與DQ的中心對齊,那麼必須在FPGA內部對DQS做延時處理,如Figure 9-1所示。
 
    DDR輸入介面實現如Figure 9-11所示。這也是一個涉及到非同步時鐘域數據通信的問題,且看它是如何進行同步的。resynch_clk是FPGA內部使用的時鐘,DQS相對與和DQ同步的時鐘。這兩個時鐘其實是同頻不同相,相位偏移肯定是要滿足FPGA的採樣時鐘和數據信號中心對齊,這涉及到DDR SDRAM的輸出時鐘信號的相位調整。
 
    輸入信號DQS經過反向延時后與DQ信號中心對齊,然後分別使用方向延時后的DQS信號的下降沿和上升沿鎖存DQ信號前後輸入的數據Q0和Q1,同時在上升沿時會對前一級採樣的Q0信號再進行一次鎖存,從而使Q0和Q1信號在被FPGA同步時鐘採樣前達到同頻同相。FPGA內部時鐘通過對經過處理后的Q0和Q1信號採樣達到了雙沿數據輸入的採樣。詳細波形如Figure 9-12所示。
 
    DDR輸出介面實現如Figure 9-14所示。經過90度相移的DDR SDRAM時鐘先對FPGA內部時鐘域的待輸出信號進行一次鎖存,然後由相移時鐘的高低電平選擇作為當前輸出給DDR SDRAM的數據信號。
 
    詳細波形如Figure 9-15所示。
 
    雙向介面的實現只是將前面討論的輸入和輸出方式進行綜合。不論是DQ還是DQS信號,在作為FPGA的輸入管腳時,內部給這個管腳的賦值為高阻態,從而確保讀取的輸入信號有效。
 
 




[admin via 研發互助社區 ] Cyclone II的DDR SDRAM介面實現已經有3395次圍觀

http://cocdig.com/docs/show-post-42958.html