
圖4 每一個(gè)FPGA供應(yīng)商都已著手用自己的方法處理DDR存儲(chǔ)器接口的問題。一方面,由于I/O塊中的資源是有限的,數(shù)據(jù)多路分解和/或時(shí)鐘轉(zhuǎn)換邏輯必須在FPGA核心邏輯中實(shí)現(xiàn),設(shè)計(jì)者可能不得不對(duì)接口邏輯進(jìn)行手工布線以確保臨界時(shí)序。而另一方面,萊迪思半導(dǎo)體公司最近推出的EC和ECP系列在I/O塊中提供了純粹的硬線接口來處理與DDR接口有關(guān)的所有功能和時(shí)序問題(包括溫度和電壓補(bǔ)償),避免了在FPGA核心布線資源中滿足時(shí)序要求的問題。后一種方法確保了設(shè)計(jì)的成功! ¤b于DDR存儲(chǔ)器設(shè)計(jì)的復(fù)雜性,詳細(xì)地考慮這種接口的某些方面是很有裨益的! DDR SDRAM接口綜述 在一個(gè)典型的非DDR系統(tǒng)中,無論控制器還是存儲(chǔ)器,都用一個(gè)單一的系統(tǒng)時(shí)鐘來發(fā)送和捕捉數(shù)據(jù)(圖 5)。設(shè)計(jì)者漸漸熟悉了這些系統(tǒng)中的時(shí)序約束。隨著時(shí)間的推移,伴隨時(shí)鐘速度的提高,這些約束變得更為苛刻。

圖5 下述的同步公共時(shí)鐘系統(tǒng)的典型時(shí)序預(yù)算包括: ·存儲(chǔ)器訪問時(shí)間(tAC) ·數(shù)據(jù)傳播延時(shí)(tPROP) ·從控制器到存儲(chǔ)器的時(shí)鐘歪斜(tSKEW) ·溫度、電壓下的數(shù)據(jù)至?xí)r鐘的時(shí)間 當(dāng)設(shè)計(jì)者在這些系統(tǒng)中改用雙倍數(shù)據(jù)速率實(shí)現(xiàn)時(shí),系統(tǒng)的位速率增加到了兩倍。這實(shí)實(shí)在在地將數(shù)據(jù)窗口減小了一半。盡管在老的公共時(shí)鐘系統(tǒng)中數(shù)據(jù)窗口有6ns或更長一些,在DDR系統(tǒng)中設(shè)計(jì)者將面臨3ns或更短的數(shù)據(jù)窗口。速度增加的改進(jìn),通常是由設(shè)計(jì)者所依賴的、來改善性能的、更小尺寸的工藝來取得的,但是它現(xiàn)在已經(jīng)不足以補(bǔ)償減半的數(shù)據(jù)窗口了。更為復(fù)雜的是,現(xiàn)在這些時(shí)間已經(jīng)接近信號(hào)在FR4和FPGA走線中的傳播時(shí)間。另外,一個(gè)存儲(chǔ)周期的時(shí)序預(yù)算實(shí)際上被物理板走線的延時(shí)所占用,并且隨溫度和電壓的不同而不同,這個(gè)現(xiàn)象沒有因硅片尺寸的減小而得到改進(jìn)。

圖6
圖6是一個(gè)典型的DDR傳送過程中的3ns窗口的緊迫的時(shí)序。顯然當(dāng)今的存儲(chǔ)器訪問和傳播時(shí)間使得在單一時(shí)鐘控制的數(shù)據(jù)傳送和捕捉系統(tǒng)中的DDR傳送成為可能。要一個(gè)DDR系統(tǒng)工作,存儲(chǔ)器件在同一時(shí)刻發(fā)送數(shù)據(jù)使之成為一個(gè)有效數(shù)據(jù)信號(hào)的能力是必需的。這將有效地在時(shí)序預(yù)算中消除存儲(chǔ)器訪問時(shí)間和數(shù)據(jù)傳播時(shí)間(選通和數(shù)據(jù)信號(hào)將有相同的傳播時(shí)間),并極大地拓展有效數(shù)據(jù)窗口。在擁有同時(shí)(tALIGN)發(fā)送數(shù)據(jù)選通和數(shù)據(jù)的能力下,這種方法僅有的歪斜將是細(xì)小而差異有限的(圖7)。

圖7 一個(gè)替代的方法 要實(shí)現(xiàn)這種數(shù)據(jù)傳送的方法,DDR SDRAM接口得依靠采用一個(gè)叫做DQS的數(shù)據(jù)選通信號(hào)。DQS由一個(gè)送入DDR存儲(chǔ)器的差分時(shí)鐘產(chǎn)生,且使用DDR存儲(chǔ)器中的一個(gè)DLL生成DQS,并使之與輸出數(shù)據(jù)對(duì)齊。

圖8 讀操作的接口時(shí)序要求 但一個(gè)讀操作實(shí)施后,DDR存儲(chǔ)器輸出互相對(duì)齊了的數(shù)據(jù)和DQS。為了控制器(FPGA)輸入寄存器能夠以正確的建立和保持時(shí)間來捕捉數(shù)據(jù),來自存儲(chǔ)器的DQS需要移相90度。其結(jié)果是DQS的邊沿對(duì)準(zhǔn)數(shù)據(jù)窗口的中心,提供了最大限度的建立和保持時(shí)間。圖9說明了所需的DQS相對(duì)于數(shù)據(jù)的移相。

圖9 很顯然,現(xiàn)在有一個(gè)合理的數(shù)據(jù)窗口用以捕捉數(shù)據(jù)! 〈薉QS信號(hào)有幾個(gè)特性: ·DQS是雙向的 ·產(chǎn)生的一根DQS線用于8根來自DDR存儲(chǔ)器的數(shù)據(jù)線 ·DQS相對(duì)于數(shù)據(jù)的相位取決于實(shí)施的操作(讀或?qū)懀 QS不可以自由地工作 ·在存儲(chǔ)器件中,DQS由DLL產(chǎn)生以使其和數(shù)據(jù)之間的歪斜最小化 ·當(dāng)信號(hào)結(jié)束三態(tài)后,DQS有一個(gè)前同步狀態(tài),其變?yōu)榈! ぎ?dāng)返回三態(tài)前,DQS有一個(gè)后同步狀態(tài),其變?yōu)榈汀! D10描述了一個(gè)DDR存儲(chǔ)器和FPGA控制器及其相關(guān)的數(shù)據(jù)和控制線。請(qǐng)?jiān)俅巫⒁釪QS是雙向的。注意提供給存儲(chǔ)器的時(shí)鐘信號(hào)是差分的(CLKP和CLKN),以使得工作周期之間的差異最小。理解用于捕捉/發(fā)送數(shù)據(jù)到/來自存儲(chǔ)器的并非時(shí)鐘信號(hào),這一點(diǎn)很重要。DDR存儲(chǔ)器還需要一個(gè)數(shù)據(jù)屏蔽(DM)信號(hào),用來在寫周期時(shí)屏蔽數(shù)據(jù)位。這樣僅允許用一個(gè)周期中的兩個(gè)DQS邊沿中的一個(gè)來寫存儲(chǔ)器。