用低成本FPGA解決高速存儲器接口挑戰(zhàn)
實現(xiàn)高性能的DDR存儲器需要在輸入端的讀操作和在輸出端的寫操作有專用的DDR寄存器結(jié)構(gòu),LatticeEC提供這個能力。除這些寄存器外,EC器件有兩個單元簡化用于讀操作的輸入結(jié)構(gòu)設(shè)計,這兩個單元是DQS延時塊和極性控制邏輯。這兩個塊對于實現(xiàn)可靠的高速DDR SDRAM控制器十分關(guān)鍵。由于DQS邏輯的復(fù)雜性,用FPGA實現(xiàn)高速存儲器控制器時,設(shè)計者會遇到問題。LatticeEC為設(shè)計者提供這些專用塊,能夠緩解這個問題。
DLL校準(zhǔn)DQS延時塊
源同步接口通常要求調(diào)整輸入時鐘,以便用輸入寄存器正確捕獲數(shù)據(jù)。對大多數(shù)接口而言,PLL被用于這種調(diào)整。然而對于DDR存儲器,稱為DQS的時鐘是受約束的,因此這種方法不可行。在DDR存儲器接口,DQS與主時鐘的關(guān)系會有變化,這是由于PCB上走線的長度和使用的存儲器所引起的。
圖3:DLL校準(zhǔn)總線和DQS/DQS轉(zhuǎn)移分布。
如圖2所示,Lattice DQS電路包括一個自動時鐘轉(zhuǎn)移電路,用以簡化存儲器接口設(shè)計和保證穩(wěn)健的操作。此外,DQS延時塊還提供用于DDR存儲器接口所需的時鐘對列。來自焊盤的DQS信號通過DQS延時單元送入專用的布線資源。DQS信號也送入極性控制邏輯,用于控制輸入寄存器塊中連至同步寄存器的時鐘極性。
專用DQS延時塊的溫度、電壓和工藝變化由一組校準(zhǔn)信號(6位寬的總線)進行補償,它們來自器件兩側(cè)的兩個DLL。每個DLL補償器件一半的DQS延時,如圖3所示。DLL用系統(tǒng)時鐘和專用反饋環(huán)來補償。這是一個重要的結(jié)構(gòu)特征,因為這個器件不會受到通常其它FPGA嚴格的I/O布局要求的牽制。
極性控制邏輯
對于典型的DDR存儲器設(shè)計,延時DQS選通脈沖和內(nèi)部系統(tǒng)時鐘(在讀周期)之間的相位關(guān)系是未知的。Lattice-EC器件含有專用電路在這些域間傳遞數(shù)據(jù)。為了防止建立和保持時間發(fā)生變化,即DQS延時和系統(tǒng)時鐘間的域傳遞,它使用了一個時鐘極性選擇器,這改變了鎖存在輸入寄存器塊中同步寄存器中的數(shù)據(jù)的邊沿。這需要測定在每個讀周期的起始時刻有正確的時鐘極性。DDR存儲器讀操作前, DQS處于三態(tài)(由端接上拉)。起始時刻DDR存儲器驅(qū)動DQS為低電平,一個專用電路用于檢測這個傳遞,這個信號用來控制至同步寄存器的時鐘極性。
評論