最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

通過訓(xùn)練加修正配置ddr3中數(shù)據(jù)選通信號延時(shí)的方法

文檔序號:6362858閱讀:992來源:國知局
專利名稱:通過訓(xùn)練加修正配置ddr3中數(shù)據(jù)選通信號延時(shí)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域的內(nèi)存控制器,尤其是DDR3內(nèi)存控制器寫操作數(shù)據(jù)選通信號延時(shí)配置方法。
背景技術(shù)
雙倍數(shù)據(jù)速率2 (DDR2)中,內(nèi)存模組(Module)上,時(shí)鐘信號(Clock)、地址信號(Address)、命令信號(Command)、控制信號(Controll)米用T型走線方式導(dǎo)致這些信號在傳輸?shù)倪^程中反射及衰減嚴(yán)重,導(dǎo)致了 DDR2的數(shù)據(jù)傳輸頻率受到限制。在雙倍數(shù)據(jù)速率 3 (DDR3)中,內(nèi)存模組上,時(shí)鐘信號、地址信號、命令信號、控制信號采用飛越總線(Fly-ByBus)走線方式,以盡量減少這些信號的反射與衰減,讓內(nèi)存頻率能夠跑的更高。DDR3采用Fly-By Bus走線方式之后,頻率的瓶頸是解決了,可是同時(shí)又帶來一個(gè)麻煩,那就是同一個(gè)通道(Channel)內(nèi)每個(gè)內(nèi)存芯片接收到時(shí)鐘信號、地址信號、命令信號、控制信號的時(shí)間都不一樣,因?yàn)镕ly-By Bus走線依次經(jīng)過每個(gè)內(nèi)存芯片,而信號在印制電路板傳輸線(PCB Trace)上面?zhèn)鬏敱厝粠砦锢硌訒r(shí)。舉例說明,在DDR3無緩沖雙列直插模組中,F(xiàn)ly-By Bus走線經(jīng)過的第一個(gè)內(nèi)存芯片與經(jīng)過的最后一個(gè)內(nèi)存芯片之間的時(shí)鐘信號延時(shí)差達(dá)到Ins之多。在DDR3中,800MT/s對應(yīng)的時(shí)鐘長度為2. 5ns,1600MT/s對應(yīng)的時(shí)鐘長度為I. 25ns,足可以看出在DDR3中,F(xiàn)ly-By Bus走線經(jīng)過的第一個(gè)內(nèi)存芯片與經(jīng)過的最后一個(gè)內(nèi)存芯片之間的延時(shí)差不容忽視。寫操作中,內(nèi)存芯片要求控制器發(fā)來的數(shù)據(jù)選通信號(DQS)的上升沿和控制器發(fā)來的時(shí)鐘信號(Clock)的上升沿盡量對齊。每個(gè)內(nèi)存芯片接收到時(shí)鐘信號的時(shí)間點(diǎn)是不一樣的,換句話說,內(nèi)存控制器需要對各個(gè)數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號(Write DQS)延時(shí)做
單獨(dú)配置。內(nèi)存控制器要保證所有內(nèi)存芯片都能正常接收控制器發(fā)來的數(shù)據(jù),每個(gè)內(nèi)存芯片都需滿足DQS上升沿與Clock上升沿之間的相位差(tDQSS)的規(guī)范(Spec)。理論上tDQSS越小越好,即Write DQS與Clock完全對齊。按照固態(tài)技術(shù)協(xié)會(JEDEC)協(xié)議的定義,
tDQSS I <l/4Tck, Tck指時(shí)鐘周期,即數(shù)據(jù)選通信號與時(shí)鐘信號之間的相位差允許達(dá)到25%的時(shí)鐘周期長度。在JEDEC協(xié)議中,定義了一種叫做寫水準(zhǔn)測量(Write Leveling)的方式,以讓所有內(nèi)存芯片滿足DQS上升沿與Clock上升沿之間的相位差tDQSS的規(guī)范(Spec)。寫水準(zhǔn)測量方式的實(shí)現(xiàn)步驟如下
1、上電之后,開始內(nèi)存正常讀寫操作之前,讓內(nèi)存控制器進(jìn)入寫水準(zhǔn)測量模式;
2、內(nèi)存控制器往內(nèi)存芯片發(fā)不同相位的DQS,即將WriteDQS的延時(shí)值一直從大往小設(shè)置,每設(shè)置一個(gè)延時(shí)值,內(nèi)存控制器對應(yīng)發(fā)出一個(gè)DQS ;
3、內(nèi)存芯片用控制器發(fā)過來的DQS去采樣Clock;
4、當(dāng)采樣到的Clock由O變?yōu)镮時(shí),從某個(gè)數(shù)據(jù)信號(DQ)反饋值給控制器;
5、控制器收到反饋后,將當(dāng)前的WriteDQS延時(shí)值作為最終值。
該寫水準(zhǔn)測量方式需要在內(nèi)存控制器定義大量的Write Leveling寄存器,并需要大量相應(yīng)代碼配合完成控制器與內(nèi)存芯片之間的交互,手段復(fù)雜,給實(shí)踐應(yīng)用造成很多不便。專利公開號為CN1855302A的專利申請公開了一種用于DRAM器件的數(shù)據(jù)選通同步的方法和設(shè)備,該申請?zhí)峁┝擞糜跈z測數(shù)據(jù)選通信號和時(shí)鐘信號之間的相位差、并使用所檢測到的相位差來調(diào)節(jié)信號定時(shí)的方法,該方法主要是通過添加相位檢測電路和可調(diào)節(jié)延遲電路的方式實(shí)現(xiàn)數(shù)據(jù)選通同步。由于該方法是對硬件做出的改進(jìn),對技術(shù)工藝水平要求較高,同時(shí)也增加了產(chǎn)品成本。

發(fā)明內(nèi)容
為了解決采用Fly-By走線方式帶來的內(nèi)存控制器對各個(gè)數(shù)據(jù)組Write DQS延時(shí)配置的難題,實(shí)現(xiàn)合理配置數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)值,本發(fā)明提供了一種通過訓(xùn)練加修正配置DDR3中數(shù)據(jù)選通信號延時(shí)的方法,其基本原理是利用DDR3內(nèi)存模組的時(shí)鐘信號的飛越總線(Fly-By Bus)走線經(jīng)過的每個(gè)內(nèi)存芯片之間時(shí)鐘信號(Clock)走線的物理延時(shí)差,即飛越總線在相鄰兩兩內(nèi)存芯片之間的延時(shí)差值,來修正數(shù)據(jù)組的Write DQS延時(shí)值。本發(fā)明方法主要包括如下步驟
步驟一印制電路板PCB設(shè)計(jì)中,通道內(nèi)所有數(shù)據(jù)組做嚴(yán)格延時(shí)等長控制,而非線長等長控制,并且需要計(jì)入內(nèi)存控制器芯片內(nèi)部封裝延時(shí);
步驟二 進(jìn)行寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練所需的基本配置,給每個(gè)數(shù)據(jù)組配置一個(gè)能夠滿足基本的讀操作的參數(shù),包括控制器接受數(shù)據(jù)窗口開啟的時(shí)機(jī)、讀操作中數(shù)據(jù)選通信號針對數(shù)據(jù)的延時(shí)、寫操作中數(shù)據(jù)針對數(shù)據(jù)選通信號的延時(shí);
步驟三進(jìn)行通道內(nèi)所有數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練,然后統(tǒng)計(jì)得到所有數(shù)據(jù)組寫操作數(shù)據(jù)選通信號延時(shí)可配置的范圍;
步驟四根據(jù)內(nèi)存模組的時(shí)鐘信號的飛越總線在相鄰兩兩內(nèi)存芯片之間的延時(shí)差值來制作修正表,并根據(jù)修正表修正各個(gè)數(shù)據(jù)組寫操作數(shù)據(jù)選通信號延時(shí)可配置的范圍;
步驟五對各個(gè)數(shù)據(jù)組的修正后寫操作數(shù)據(jù)選通信號延時(shí)可配置的最大值與最小值分別求平均值,將該平均值作為寫操作數(shù)據(jù)選通信號延時(shí)最終值;
步驟六將各個(gè)數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)最終值寫入相應(yīng)的延時(shí)寄存器,控制相應(yīng)寫操作時(shí)序。本發(fā)明方法中,嚴(yán)格延時(shí)等長控制是指從內(nèi)存控制器芯片內(nèi)部延時(shí)加上PCB板上的各段PCB走線的總延時(shí),在數(shù)據(jù)組與數(shù)據(jù)組之間保持嚴(yán)格的總延時(shí)等長,而非線長等長控制,且總延時(shí)需要計(jì)入內(nèi)存控制器所在芯片的芯片內(nèi)部引腳封裝延時(shí);數(shù)據(jù)組與數(shù)據(jù)組之間總延時(shí)的差值需要控制在40ps以下。本方法步驟二中的基本配置如下控制器接受數(shù)據(jù)窗口開啟的時(shí)機(jī)需選擇在讀準(zhǔn)備過程中,可配置寬度大于O. 9個(gè)時(shí)鐘周期;所述讀操作中數(shù)據(jù)選通信號針對數(shù)據(jù)的延時(shí)、 寫操作中數(shù)據(jù)針對數(shù)據(jù)選通信號的延時(shí)均配置為O. 25個(gè)時(shí)鐘周期。本方法的寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練的步驟如下
(I)先對某一數(shù)據(jù)組進(jìn)行寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練,將此數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號的延時(shí)值設(shè)為寄存器本身能設(shè)的最大值;
(2)發(fā)出寫操作;
(3)發(fā)出讀操作,讀取步驟(2)的寫操作寫進(jìn)去的值,檢查此數(shù)據(jù)組讀取的值是否正
確;
(4)將此數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號的延時(shí)值逐一減小,每次減小I;每設(shè)一個(gè)數(shù)據(jù)選通信號延時(shí)值就做一次寫操作,檢查讀取的值與寫進(jìn)去的值是否一致;
(5)以滿足寫進(jìn)去再讀出來數(shù)據(jù)組對應(yīng)值正確為條件,統(tǒng)計(jì)此數(shù)據(jù)組可配置的寫操作數(shù)據(jù)選通信號延時(shí)值的范圍,即寫進(jìn)去再讀出來正確的寫操作數(shù)據(jù)選通信號延時(shí)值的最小值與最大值;
(6)完成此數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練,并按以上步驟完成通道內(nèi)所有數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練。本方法的修正步驟之前需要先根據(jù)各個(gè)數(shù)據(jù)組寫操作數(shù)據(jù)選通信號延時(shí)可配置的范圍值大小判斷是不需修正的有效值,還是需要修正的無效值
(1)若等于寫操作數(shù)據(jù)選通信號延時(shí)寄存器能設(shè)的最大值或者最小值,那么遭遇邊界,為無效值,遭遇邊界的無效值需要根據(jù)修正表進(jìn)行修正;
(2)若大于寫操作數(shù)據(jù)選通信號延時(shí)寄存器能設(shè)大的最小值且小于能設(shè)的最大值,那么為有效值,修正值和原來值相等。修正是以被修正數(shù)據(jù)組對應(yīng)的內(nèi)存芯片與作為修正基準(zhǔn)的內(nèi)存芯片之間的時(shí)鐘信號的飛越總線走線延時(shí)差為修正幅度,具體計(jì)算方法為將內(nèi)存芯片相鄰兩兩之間的長度差值記為Ltc和Lw,其中Lw代表內(nèi)存模組上位于中間的兩個(gè)芯片之間的長度差值,Ltc代表其余的相鄰芯片兩兩之間的長度差值;將U、Lw轉(zhuǎn)化為延時(shí)差值Τφ和ΤΨ,Τφ=174ρ8/inch* U,Tw=174ps/inch* Lw ;再將Τφ、ΤΨ轉(zhuǎn)化為對應(yīng)寫操作數(shù)據(jù)選通信號延時(shí)寄存器最小單元個(gè)數(shù)Φ和Ψ,Φ= ΤΦΑ, Ψ=ΤΨΛ,其中t是寫操作數(shù)據(jù)選通信號延時(shí)寄存器最小單元;Φ和Ψ便是用來修正寫操作數(shù)據(jù)選通信號延時(shí)可配置范圍的修正值。本發(fā)明方法與JEDEC中定義的復(fù)雜的Write Leveling方式比較而言,相同點(diǎn)是都通過內(nèi)存控制器與內(nèi)存芯片的交流來完成,不同點(diǎn)是交流反饋方式Write Leveling方式中,控制器在不同DQS延時(shí)設(shè)置下發(fā)出DQS,內(nèi)存芯片在用內(nèi)存控制器發(fā)來的DQS采樣到Clock從O到I的變化時(shí),從某個(gè)數(shù)據(jù)信號(DQ)反饋,告知控制器當(dāng)前設(shè)置是好的。而本方法是通過控制器在不同DQS延時(shí)設(shè)置下,先發(fā)出寫操作,再發(fā)出讀操作,看是否正確來找到寫操作數(shù)據(jù)選通信號(Write DQS)延時(shí)可配置的范圍。得到各個(gè)數(shù)據(jù)組Write DQS延時(shí)可配置范圍之后,再經(jīng)過相應(yīng)算法得到各個(gè)數(shù)據(jù)組Write DQS延時(shí)的最終值。本方法不需要控制器在發(fā)出不同Write DQS延時(shí)值設(shè)置時(shí)等待內(nèi)存芯片的特定信號反饋,內(nèi)存芯片也不需要在發(fā)現(xiàn)Write DQS能正常采樣Clock時(shí)給內(nèi)存控制器輸出一個(gè)指定信號,而是通過寫數(shù)據(jù)進(jìn)去再讀出來比較看是否正確,這樣的方法簡單實(shí)用,容易操作,且不論內(nèi)存模組是使用16位位寬、8位位寬還是4位位寬內(nèi)存芯片,內(nèi)存模組端的內(nèi)存芯片的分布是否均勻,本發(fā)明方法均適用。


圖I是通過訓(xùn)練加修正合理配置寫操作數(shù)據(jù)選通信號(Write DQS)延時(shí)值的原理框圖。圖2是印制電路板(PCB)設(shè)計(jì)延時(shí)等長要求示意圖。圖3是滿足DDR3無緩沖雙列直插內(nèi)存模組設(shè)計(jì)規(guī)范的8位位寬組成的內(nèi)存模組的時(shí)鐘信號(Clock)的飛越總線(Fly-By Bus)走線示意圖。圖4是修正值Φ和修正值Ψ計(jì)算方法示意圖。圖5是針對8個(gè)最小值與8個(gè)最大值的修正表。圖6是寫操作數(shù)據(jù)選通信號(Write DQS)延時(shí)值計(jì)算方法示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明。目前在DDR3的內(nèi)存模組(Module)中,由8位位寬內(nèi)存芯片組成占絕大多數(shù),本發(fā)明方法具體講述8位位寬組成的內(nèi)存模組的寫操作數(shù)據(jù)選通信號(Write DQS)延時(shí)配置方法。本發(fā)明方法以滿足DDR3無緩沖雙列直插內(nèi)存模組設(shè)計(jì)規(guī)范(DDR3 SDRAM UnbufferedDIMM Design Specification)的8位位寬組成的內(nèi)存模組為例,來示意每個(gè)數(shù)據(jù)組數(shù)據(jù)選通信號延時(shí)訓(xùn)練(Write DQS Training)結(jié)束后的最小值及最大值的具體修正方法,并通過 Write DQS延時(shí)值計(jì)算方法,計(jì)算得到各個(gè)數(shù)據(jù)組最終的Write DQS延時(shí)值。圖I示出了通過訓(xùn)練加修正合理配置Write DQS延時(shí)值的原理。如圖I所示,本發(fā)明方法,為實(shí)現(xiàn)DDR3中Write DQS延時(shí)合理配置,步驟如下
(1)印制電路板(PCB)設(shè)計(jì)中,通道(Channel)內(nèi)所有數(shù)據(jù)組做嚴(yán)格延時(shí)等長控制,而非線長等長控制,并且需要計(jì)入內(nèi)存控制器芯片內(nèi)部封裝延時(shí);
(2)開始寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練(WriteDQS Training)之前,完成訓(xùn)練所需的基本配置先給每個(gè)數(shù)據(jù)組配置一個(gè)能夠滿足基本的讀操作的參數(shù),包括控制器接受數(shù)據(jù)窗口開啟的時(shí)機(jī)、讀操作中DQS針對DQ的延時(shí),再給每個(gè)數(shù)據(jù)組配置寫操作中DQ針對DQS的延時(shí);
(3)開始訓(xùn)練,先完成數(shù)據(jù)組O的訓(xùn)練,步驟如下
a、將數(shù)據(jù)組O的WriteDQS的延時(shí)值設(shè)為寄存器本身能設(shè)的最大值,假設(shè)為N ;
b、發(fā)出寫操作;
C、再發(fā)出讀操作去讀剛寫進(jìn)去的值,檢查讀出來數(shù)據(jù)組O對應(yīng)值是否正確;
d、將數(shù)據(jù)組O的WriteDQS的延時(shí)值逐一減小,每次減小1,每設(shè)一個(gè)延時(shí)值就做一次寫操作,看讀出來的值和寫進(jìn)去的值是否一致;
e、以滿足寫進(jìn)去再讀出來數(shù)據(jù)組O對應(yīng)值正確為條件,統(tǒng)計(jì)數(shù)據(jù)組O的WriteDQS延時(shí)值的可配置范圍,記為
,Omin為滿足條件的最小值,Omax為滿足條件的最大值;
f、完成數(shù)據(jù)組O的訓(xùn)練。(4)按照步驟(3)的方法,完成通道內(nèi)所有數(shù)據(jù)組的Write DQS Training,統(tǒng)計(jì)得到所有數(shù)據(jù)組Write DQS延時(shí)可配置的范圍如下
弟7數(shù)據(jù)組[7min,7max]
弟6數(shù)據(jù)組[6min,6max]
弟5數(shù)據(jù)組[5min,5max]
弟4數(shù)據(jù)組[4min, 4max]弟3數(shù)據(jù)組[3min,3max]
弟2數(shù)據(jù)組[2min,2max]
弟I數(shù)據(jù)組[lmin,Imax]
第O數(shù)據(jù)組[Omin, OmaJ
每個(gè)數(shù)據(jù)組包括一個(gè)最小值與一個(gè)最大值,8個(gè)數(shù)據(jù)組將對應(yīng)8個(gè)最小值與8個(gè)最大值。(5)制作相應(yīng)修正表,對8個(gè)最小值與8個(gè)最大值進(jìn)行修正。修正表的制作利用的是,內(nèi)存模組的時(shí)鐘信號的飛越總線在相鄰兩兩內(nèi)存芯片之間的延時(shí)差值。修正后,所有數(shù) 據(jù)組Write DQS延時(shí)可配置的范圍變?yōu)?r僅為了區(qū)分修正前后的值,無確定涵義)
弟 7 數(shù)據(jù)組[7min_r,7max_r]
弟 6 數(shù)據(jù)組[6min_r,6max_r]
弟 5 數(shù)據(jù)組[5min_r,5max_r]
弟 4 數(shù)據(jù)組[4min_r,4max_r]
弟 3 數(shù)據(jù)組[3min_r,3max_r]
弟2數(shù)據(jù)組[2.1,2max_J 弟 I 數(shù)據(jù)組[lmin-r,Imax-J 第 O 數(shù)據(jù)組[0min_r,OmaxJ
(6)對8個(gè)最小值與8個(gè)最大值進(jìn)行修正之后,通過Write DQS延時(shí)值計(jì)算方法,得到各個(gè)數(shù)據(jù)組Write DQS延時(shí)最終值。(7)將各個(gè)數(shù)據(jù)組Write DQS延時(shí)最終值寫入相應(yīng)的延時(shí)寄存器,控制相應(yīng)寫操作時(shí)序。圖2示出了印制電路板(PCB)設(shè)計(jì)延時(shí)等長要求。如圖2所示,數(shù)據(jù)組與數(shù)據(jù)組之間也得保持嚴(yán)格的延時(shí)等長控制。通常在DDR3的PCB設(shè)計(jì)中,都需要數(shù)據(jù)組與數(shù)據(jù)組之間做延時(shí)等長控制。但是本發(fā)明方法中,要求數(shù)據(jù)組與數(shù)據(jù)組之間做嚴(yán)格的延時(shí)等長控制,數(shù)據(jù)組與數(shù)據(jù)組之間的延時(shí)差值要求很小。控制數(shù)據(jù)組與數(shù)據(jù)組之間的等長,是通過控制各個(gè)數(shù)據(jù)組的DQS的等長來實(shí)現(xiàn)。嚴(yán)格的延時(shí)等長控制主要包括三點(diǎn)。第一點(diǎn),在PCB設(shè)計(jì)中,等長控制,按照總延時(shí)來控制,而不按照總線長來控制,原因是表層走線和內(nèi)層走線的單位長度延時(shí)值也不一樣,總延時(shí)等于各段走線的延時(shí)總和;第二點(diǎn),總延時(shí)計(jì)算的兩個(gè)端點(diǎn),其中一個(gè)端點(diǎn)為內(nèi)存插槽引腳,另外一個(gè)端點(diǎn)在內(nèi)存控制器內(nèi)部,即總延時(shí)需要計(jì)入內(nèi)存控制器所在芯片的芯片內(nèi)部引腳封裝延時(shí);第三點(diǎn),數(shù)據(jù)組與數(shù)據(jù)組之間的總延時(shí)的差值要控制在40ps以下。圖中TDCTTD7分別對應(yīng)表示數(shù)據(jù)組O至數(shù)據(jù)組7的DQS的延時(shí)值。開始寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練之前,完成訓(xùn)練所需的基本配置。先給每個(gè)數(shù)據(jù)組配置一個(gè)能夠滿足基本的讀操作的參數(shù),包括控制器接受數(shù)據(jù)窗口開啟的時(shí)機(jī)、讀操作中數(shù)據(jù)選通信號(DQS)針對數(shù)據(jù)(DQ)的延時(shí),再給每個(gè)數(shù)據(jù)組配置寫操作中數(shù)據(jù)(DQ)針對數(shù)據(jù)選通信號(DQS)的延時(shí)。因?yàn)楸景l(fā)明方法中使用的Write DQS Training,對內(nèi)存本身只是低強(qiáng)度的讀寫,這三點(diǎn)基本參數(shù)配置要求比較低。根據(jù)固態(tài)技術(shù)協(xié)會(JEDEC)的定義,控制器接受數(shù)據(jù)窗口開啟的時(shí)機(jī)只要選在讀準(zhǔn)備(Read Preamble)過程中就可,可配置的寬度大于O. 9個(gè)時(shí)鐘周期。讀操作中數(shù)據(jù)選通信號(DQS)針對數(shù)據(jù)(DQ)的延時(shí),和寫操作中數(shù)據(jù)(DQ)針對數(shù)據(jù)選通信號(DQS)的延時(shí)都是配置為O. 25個(gè)時(shí)鐘周期。按照Write DQS Training方法,完成各個(gè)數(shù)據(jù)組的選通信號延時(shí)訓(xùn)練,統(tǒng)計(jì)得到所有數(shù)據(jù)組Write DQS延時(shí)可配置的范圍。該發(fā)明方法,統(tǒng)計(jì)得到的所有數(shù)據(jù)組Write DQS延時(shí)可配置的范圍通常需要修正。需要修正的原因主要有兩方面一方面是Write DQS延時(shí)寄存器本身有最大值及最小值限制,因?yàn)榧拇嫫鞅旧硗ǔ2荒茉O(shè)置為負(fù)值,最小值通常為0,最大值通常最大不超過I個(gè)時(shí)鐘周期;另一方面,根據(jù)固態(tài)技術(shù)協(xié)會(JEDEC)的定義,內(nèi)存芯片接收到控制器發(fā)來的數(shù)據(jù)選通信號上升沿與時(shí)鐘的上升沿相位差不能超過O. 25個(gè)時(shí)鐘周期,也就是說每個(gè)數(shù)據(jù)組Write DQS延時(shí)值能滿足寫進(jìn)去讀出來正確的范圍寬度為O. 5個(gè)周期左右。而時(shí)鐘信號的飛越總線走線經(jīng)過8位位寬組成的模組的第一個(gè)內(nèi)存芯片與最后一個(gè)內(nèi)存芯片之間的物理延時(shí)差很大,這樣就導(dǎo)致8個(gè)max值和8個(gè)min值中有部分值會遭遇邊界,遭遇邊界的值 為無效值,這些無效值需要修正。修正的原理主要有兩方面,一方面是滿足DDR3無緩沖雙列直插內(nèi)存模組設(shè)計(jì)規(guī)范(DDR3 SDRAM Unbuffered DIMM Design Specification)的 8 位位寬組成的內(nèi)存模組,內(nèi)存芯片的擺布對稱均勻,有規(guī)律。圖3示出了滿足DDR3無緩沖雙列直插內(nèi)存模組設(shè)計(jì)規(guī)范的8位位寬組成的內(nèi)存模組的時(shí)鐘信號的飛越總線走線。如圖3所示,同步隨機(jī)動(dòng)態(tài)存儲芯片(SDRAM)在內(nèi)存模組上均勻分布,時(shí)鐘信號的飛越總線走線,在左邊4個(gè)SDRAM (SDRAMO, SDRAMU SDRAM2、SDRAM3)相鄰兩兩之間的走線長度值相同,這個(gè)長度值都為Ltc,在右邊4個(gè)SDRAM (SDRAM4、SDRAM5、SDRAM6、SDRAM7)相鄰兩兩之間走線長度值相同,這個(gè)長度值也都為U,SDRAM3和SDRAM4之間的走線長度值為Lw。也就是說,整個(gè)內(nèi)存模組上內(nèi)存芯片相鄰兩兩之間的長度差值只有兩個(gè),U和Lw。修正原理的另一方面是,滿足DDR3無緩沖雙列直插內(nèi)存模組設(shè)計(jì)規(guī)范的8位位寬組成的內(nèi)存模組上,時(shí)鐘信號的飛越總線走線依次經(jīng)過SDRAMO、SDRAMU SDRAM2、SDRAM3、SDRAM4、SDRAM5、SDRAM6、SDRAM7。假設(shè)Write DQS延時(shí)寄存器本身沒有最大最小值限制,理論上應(yīng)會出現(xiàn)
^min〉6min〉5min〉4min〉8min〉3min〉2min〉lmin〉0min
^max〉6max ^ ^max〉4max ^ ^max ^ ^max ^ ^max〉lmax〉0max
可以看出7min理論上最大,遭遇最小值邊界概率最小,通常不需要修正;8個(gè)max值之間的大小關(guān)系可以看出Omax作理論上最小,遭遇最大值邊界概率最小,通常不需要修正,因此將7min及Omax作為修正的基準(zhǔn)值。也就是說,8個(gè)最小值和8個(gè)最大值中,遭遇邊界的無效值就用7min或Omax為基準(zhǔn)進(jìn)行修正。制作修正表時(shí),需要將內(nèi)存芯片相鄰兩兩之間的長度差值轉(zhuǎn)化為延時(shí)差值Τφ和ΤΨ,然后再轉(zhuǎn)化為對應(yīng)Write DQS延時(shí)寄存器最小單元個(gè)數(shù)Φ和Ψ。如圖4所示,通常情況下,Ltc和Lw均為內(nèi)層走線。Φ= (174ps/inch) * L0/tΨ= (174ps/inch) *LW/1
t是Write DQS延時(shí)寄存器最小單元,單位為ps。Ltc和Lw的單位為inch。圖5示出了針對8個(gè)最小值與8個(gè)最大值的修正表。修正時(shí),首先根據(jù)值大小判斷是為有效 值還是無效值,
(I)如果等于Write DQS延時(shí)寄存器能設(shè)的最大值或者最小值,那么遭遇邊界,為無效值,遭遇邊界的無效值需要根據(jù)修正表進(jìn)行修正。修正時(shí)以7min或Omax為基準(zhǔn)的,以被修正數(shù)據(jù)組對應(yīng)的內(nèi)存芯片與內(nèi)存芯片7或者內(nèi)存芯片O之間的時(shí)鐘信號的飛越總線走線延時(shí)差為修正幅度。(2)大于Write DQS延時(shí)寄存器能設(shè)大的最小值且小于能設(shè)的最大值,那么為有效值,修正值和原來值相等。將8個(gè)各個(gè)數(shù)據(jù)組的Write DQS延時(shí)可配置的范圍修正以后,接下來,在已修正的8個(gè)最小值和8個(gè)最大值基礎(chǔ)上,根據(jù)相應(yīng)Write DQS延時(shí)值計(jì)算方法計(jì)算出最終結(jié)果值。圖6示出了每個(gè)數(shù)據(jù)Write DQS延時(shí)的最終值計(jì)算方法。本發(fā)明方法中,每個(gè)數(shù)據(jù)組修正之后Write DQS延時(shí)可配置最小值與最大值分別求算術(shù)平均值,作為各個(gè)數(shù)據(jù)組Write DQS延時(shí)最終值。將這些最終值寫入相應(yīng)寄存器,用來控制寫操作時(shí)序。
權(quán)利要求
1.一種通過訓(xùn)練加修正配置DDR3中數(shù)據(jù)選通信號延時(shí)的方法,其特征在于,包括如下步驟 步驟一印制電路板PCB設(shè)計(jì)中,通道內(nèi)所有數(shù)據(jù)組做嚴(yán)格延時(shí)等長控制; 步驟二 進(jìn)行寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練所需的基本配置,給每個(gè)數(shù)據(jù)組配置一個(gè)能夠滿足基本的讀操作的參數(shù),包括控制器接受數(shù)據(jù)窗口開啟的時(shí)機(jī)、讀操作中數(shù)據(jù)選通信號針對數(shù)據(jù)的延時(shí)、寫操作中數(shù)據(jù)針對數(shù)據(jù)選通信號的延時(shí); 步驟三進(jìn)行通道內(nèi)所有數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練,然后統(tǒng)計(jì)得到所有數(shù)據(jù)組寫操作數(shù)據(jù)選通信號延時(shí)可配置的范圍; 步驟四根據(jù)內(nèi)存模組的時(shí)鐘信號的飛越總線在相鄰兩兩內(nèi)存芯片之間的延時(shí)差值來制作修正表,并根據(jù)修正表修正各個(gè)數(shù)據(jù)組寫操作數(shù)據(jù)選通信號延時(shí)可配置的范圍; 步驟五對各個(gè)數(shù)據(jù)組的修正后寫操作數(shù)據(jù)選通信號延時(shí)可配置的最大值與最小值分別求平均值,將該平均值作為寫操作數(shù)據(jù)選通信號延時(shí)最終值; 步驟六將各個(gè)數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)最終值寫入相應(yīng)的延時(shí)寄存器,控制相應(yīng)寫操作時(shí)序。
2.根據(jù)權(quán)利要求I所述的方法,其特征是所述嚴(yán)格延時(shí)等長控制是指從內(nèi)存控制器芯片內(nèi)部延時(shí)加上PCB板上的各段PCB走線的總延時(shí),在數(shù)據(jù)組與數(shù)據(jù)組之間保持嚴(yán)格的總延時(shí)等長,而非線長等長控制,且總延時(shí)需要計(jì)入內(nèi)存控制器所在芯片的芯片內(nèi)部引腳封裝延時(shí)。
3.根據(jù)權(quán)利要求2所述的方法,其特征是所述數(shù)據(jù)組與數(shù)據(jù)組之間總延時(shí)的差值需要控制在40ps以下。
4.根據(jù)權(quán)利要求I所述的方法,其特征是所述控制器接受數(shù)據(jù)窗口開啟的時(shí)機(jī)需選擇在讀準(zhǔn)備過程中,可配置寬度大于O. 9個(gè)時(shí)鐘周期;所述讀操作中數(shù)據(jù)選通信號針對數(shù)據(jù)的延時(shí)、寫操作中數(shù)據(jù)針對數(shù)據(jù)選通信號的延時(shí)均配置為O. 25個(gè)時(shí)鐘周期。
5.根據(jù)權(quán)利要求I所述的方法,其特征是所述寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練的步驟如下 (1)先對某一數(shù)據(jù)組進(jìn)行寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練,將此數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號的延時(shí)值設(shè)為寄存器本身能設(shè)的最大值; (2)發(fā)出寫操作; (3)發(fā)出讀操作,讀取步驟(2)寫操作寫進(jìn)去的值,檢查此數(shù)據(jù)組讀取的值是否正確; (4)將此數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號的延時(shí)值逐一減小,每次減小I;每設(shè)一個(gè)數(shù)據(jù)選通信號延時(shí)值就做一次寫操作,檢查讀取的值與寫進(jìn)去的值是否一致; (5)以滿足寫進(jìn)去再讀出來數(shù)據(jù)組對應(yīng)值正確為條件,統(tǒng)計(jì)此數(shù)據(jù)組可配置的寫操作數(shù)據(jù)選通信號延時(shí)值的范圍,即寫進(jìn)去再讀出來正確的寫操作數(shù)據(jù)選通信號延時(shí)值的最小值與最大值; (6)完成此數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練,并按以上步驟完成通道內(nèi)所有數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)訓(xùn)練。
6.根據(jù)權(quán)利要求I所述的方法,其特征是所述修正之前需要先根據(jù)各個(gè)數(shù)據(jù)組寫操作數(shù)據(jù)選通信號延時(shí)可配置的范圍值大小,來判斷是不需修正的有效值,還是需要修正的無效值(1)若等于寫操作數(shù)據(jù)選通信號延時(shí)寄存器能設(shè)的最大值或者最小值,那么遭遇邊界,為無效值,遭遇邊界的無效值需要根據(jù)修正表進(jìn)行修正; (2)若大于寫操作數(shù)據(jù)選通信號延時(shí)寄存器能設(shè)大的最小值且小于能設(shè)的最大值,那么為有效值,修正值和原來值相等。
7.根據(jù)權(quán)利要求6所述的方法,其特征是所述修正是以被修正數(shù)據(jù)組對應(yīng)的內(nèi)存芯片與作為修正基準(zhǔn)的內(nèi)存芯片之間的時(shí)鐘信號的飛越總線走線延時(shí)差為修正幅度,具體計(jì)算方法為將內(nèi)存芯片相鄰兩兩之間的長度差值記為Ltc和Lw,其中Lw代表內(nèi)存模組上位于中間的兩個(gè)芯片之間的長度差值,U代表其余的相鄰芯片兩兩之間的長度差值;將U、Lw 轉(zhuǎn)化為延時(shí)差值 Τφ 和 ΤΨ,T0=174ps/inch* U,Tw=174ps/inch* Lw ;再將 Τφ、ΤΨ 轉(zhuǎn)化為對應(yīng)寫操作數(shù)據(jù)選通信號延時(shí)寄存器最小單元個(gè)數(shù)Φ和Ψ,Φ= ΤΦΑ, Ψ=ΤΨΛ,其中t是寫操作數(shù)據(jù)選通信號延時(shí)寄存器最小單元;Φ和Ψ便是用來修正寫操作數(shù)據(jù)選通信號延時(shí)可配置范圍的修正值。
全文摘要
本發(fā)明公開了一種通過訓(xùn)練加修正配置DDR3中數(shù)據(jù)選通信號延時(shí)的方法,以實(shí)現(xiàn)合理配置數(shù)據(jù)組的寫操作數(shù)據(jù)選通信號延時(shí)值。本發(fā)明方法主要是通過訓(xùn)練找出每個(gè)數(shù)據(jù)組能完成正常寫入再讀出正確的Write DQS延時(shí)值的范圍,再根據(jù)時(shí)鐘信號的飛越總線走線經(jīng)過所有內(nèi)存芯片相鄰兩兩之間的延時(shí)差值,對Write DQS延時(shí)值范圍進(jìn)行修正,最后對各個(gè)數(shù)據(jù)組的修正后Write DQS延時(shí)可配置的最大值與最小值分別求平均值,作為最終的每個(gè)數(shù)據(jù)組的Write DQS的延時(shí)值。本發(fā)明通過寫數(shù)據(jù)進(jìn)去再讀出來的方式比較是否正確,簡單實(shí)用,容易操作。
文檔編號G06F13/20GK102637155SQ20121000499
公開日2012年8月15日 申請日期2012年1月10日 優(yōu)先權(quán)日2012年1月10日
發(fā)明者吳少剛, 周國強(qiáng), 張斌, 張福新, 錢宇力 申請人:江蘇中科夢蘭電子科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1