引言
由于系統(tǒng)帶寬不斷的增加,因此針對更高的速度和性能,設(shè)計(jì)人員對存儲技術(shù)進(jìn)行了優(yōu)化。下一代雙數(shù)據(jù)速率(DDR)SDRAM芯片是DDR3 SDRAM。 DDR3 SDRAM具有比DDR2更多的優(yōu)勢。這些器件的功耗更低,能以更高的速度工作,有更高的性能(2倍的帶寬),并有更大的密度。與DDR2相比,DDR3器件的功耗降低了30%,主要是由于小的芯片尺寸和更低的電源電壓(DDR3 1.5V而DDR2 1.8V)。 DDR3器件還提供其他的節(jié)約資源模式,如局部刷新。與DDR2相比,DDR3的另一個(gè)顯著優(yōu)點(diǎn)是更高的性能/帶寬,這是由于有更寬的預(yù)取緩沖(與4位的DDR2相比,DDR3為8位寬),以及更高的工作時(shí)鐘頻率。然而,設(shè)計(jì)至DDR3的接口也變得更具挑戰(zhàn)性。在FPGA中實(shí)現(xiàn)高速、高效率的DDR3控制器是一項(xiàng)艱巨的任務(wù)。直到最近,只有少數(shù)高端(昂貴)的FPGA有支持與高速的DDR3存儲器可靠接口的塊。然而,現(xiàn)在新一代中檔的FPGA提供這些塊、高速FPGA架構(gòu)、時(shí)鐘管理資源和需要實(shí)現(xiàn)下一代DDR3控制器的I/O結(jié)構(gòu)。本文探討設(shè)計(jì)所遇到的挑戰(zhàn),以及如何用一個(gè)特定的FPGA系列LatticeECP3實(shí)現(xiàn)DDR3存儲器控制器。
DDR3存儲器控制器的挑戰(zhàn)
針對存儲器控制器,DDR3器件面臨一系列的挑戰(zhàn)。DDR3的工作頻率起始于DDR2的更高的工作頻率,然后趨于更高的頻率。 DDR3接口需要的時(shí)鐘速度超過400MHz。這是對FPGA架構(gòu)的一個(gè)重大挑戰(zhàn)。針對DDR3存儲器控制器的架構(gòu),fly-by結(jié)構(gòu)和讀寫調(diào)整變得更加復(fù)雜。
不同于DDR2的T型分支拓?fù)浣Y(jié)構(gòu),DDR3采用了fly-by拓?fù)浣Y(jié)構(gòu),以更高的速度提供更好的信號完整性。fly-by信號是命令、地址,控制和時(shí)鐘信號。如圖1所示,源于存儲器控制器的這些信號以串行的方式連接到每個(gè)DRAM器件。通過減少分支的數(shù)量和分支的長度改進(jìn)了信號完整性。然而,這引起了另一個(gè)問題,因?yàn)槊恳粋(gè)存儲器元件的延遲是不同的,取決于它處于時(shí)序的位置。通過按照DDR3規(guī)范的定義,采用讀調(diào)整和寫調(diào)整技術(shù)來補(bǔ)償這種延遲的差異。fly-by拓?fù)浣Y(jié)構(gòu)在電源開啟時(shí)校正存儲器系統(tǒng)。這就要求在DDR3控制器中有額外的信息,允許校準(zhǔn)工作在啟動(dòng)時(shí)自動(dòng)完成。
圖1 針對DDR3的Fly-by結(jié)構(gòu)
讀和寫調(diào)整
在寫調(diào)整期間,存儲器控制器需要補(bǔ)償額外的跨越時(shí)間偏移(對每個(gè)存儲器器件,信號延遲是不同的),這是由于fly-by拓?fù)浣Y(jié)構(gòu)及選通和時(shí)鐘引入的。如圖2所示,源CK和DQS信號到達(dá)目的地有延遲。對于存儲器模塊的每個(gè)存儲器元件,這種延遲是不同的,必須逐個(gè)芯片進(jìn)行調(diào)整,如果芯片有多于一個(gè)字節(jié)的數(shù)據(jù),甚至要根據(jù)字節(jié)來進(jìn)行調(diào)整。該圖說明了一個(gè)存儲器元件。存儲器控制器延遲了DQS,一次一步,直到檢測到CK信號從0過渡到到1。這將再次對齊DQS和CK,以便DQ總線上的目標(biāo)數(shù)據(jù)可以可靠地被捕獲。由于這是由DDR3存儲器控制器自動(dòng)做的,電路板設(shè)計(jì)人員無須擔(dān)心實(shí)施的細(xì)節(jié)。設(shè)計(jì)人員會從額外的裕度中得到好處,這是由DDR3存儲器控制器中的寫調(diào)整的特性所創(chuàng)建的。