用于dram 系統(tǒng)的驗證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總體上涉及集成電路系統(tǒng)驗證。尤其,本發(fā)明涉及一種用于動態(tài)隨機(jī)存取存儲器(DRAM)系統(tǒng)的驗證方法,所述系統(tǒng)中讀和寫數(shù)據(jù)在自由運(yùn)行差分時鐘(afree-running differential forwarded clock)的兩邊沿傳輸,例如 GDDR5 (GraphicsDouble Data Rate, vers1n5)系統(tǒng),更具體地涉及一種用于在驗證中建立DRAM接口的方法。
【背景技術(shù)】
[0002]在半導(dǎo)體芯片設(shè)計階段,工程師們以生產(chǎn)工作模型為目標(biāo),排除明顯缺陷并考慮產(chǎn)品可能不合格的可能途徑。由驗證工程師判斷他們是否取得成功。這可包括測試泛網(wǎng)絡(luò)連接、確認(rèn)各部件同步運(yùn)行正常以及解決屬于特定產(chǎn)品的特定問題。
[0003]隨著成品率和上市時間安排的至關(guān)重要性,開發(fā)驗證和分析方案以提供盡可能好的性能、同時最小化迭代時間和數(shù)據(jù)量很重要。隨著尖端技術(shù)如片上系統(tǒng)(SoC)的出現(xiàn),將標(biāo)準(zhǔn)IP核(Intellectual Property Cores)加入單晶娃的需求也增加了。在芯片設(shè)計中,包括基于IP核的SoC設(shè)計,改進(jìn)的驗證和分析流程可對產(chǎn)品的成功做出顯著的貢獻(xiàn)。
[0004]同時,半導(dǎo)體芯片產(chǎn)品設(shè)計的開始幾步包括產(chǎn)品需求、產(chǎn)品架構(gòu)設(shè)計以及子系統(tǒng)設(shè)計。子系統(tǒng)設(shè)計中的一個是存儲系統(tǒng)。存儲系統(tǒng)設(shè)計取決于各種因素,如存儲容量、速度、能力、現(xiàn)有或發(fā)展的標(biāo)準(zhǔn)、現(xiàn)有設(shè)計的再利用以及其他需求。
[0005]近來為需要高帶寬的應(yīng)用設(shè)計的高性能的DRAM圖像存儲系統(tǒng),如⑶DR5,提供高數(shù)據(jù)傳輸率(high data rates),使得相比以前的技術(shù)在更窄的存儲接口上具有更多的帶寬。然而,高性能的DRAM圖像存儲系統(tǒng),如⑶DR5,在測試和驗證方面遇到許多挑戰(zhàn)。
[0006]例如,⑶DR5的一些有助于改進(jìn)數(shù)據(jù)眼開口的特征以芯片上的高速時鐘方案為目標(biāo),而其他的特征用于外部接口或者存儲控制器與DRAM之間的互相連接上的實際信號。就這一點(diǎn)而言,之前的雙數(shù)據(jù)速率(Double Data Rate,DDR)接口(如,DDR3、⑶DR3)對寫和讀使用選通脈沖。相應(yīng)地,由于DRAM側(cè)和控制器側(cè)都能通過基于選通信號的時鐘數(shù)據(jù)恢復(fù)(OTR)容易地提取讀/寫數(shù)據(jù),在之前的DDR系統(tǒng)驗證中DRAM接口調(diào)試通常不是一種必須的或一項測試項目。與此相反,GDDR5具有不使用選通脈沖的高速接口,其讀和寫數(shù)據(jù)在自由運(yùn)行差分時鐘的兩邊沿傳輸。由于GDDR5使用自由運(yùn)行差分寫時鐘(WCK)引腳代替寫入數(shù)據(jù)時鐘(WDQS),以及使用自由運(yùn)行的錯誤檢測代碼(EDC)引腳代替讀取數(shù)據(jù)時鐘(RDQS),要求存儲控制器通過接口調(diào)試確認(rèn)寫數(shù)據(jù)和讀數(shù)據(jù)的正確的數(shù)據(jù)相位和數(shù)據(jù)幀,且DRAM接口調(diào)試在⑶DR5系統(tǒng)驗證中是一項測試項目。
【發(fā)明內(nèi)容】
[0007]有兩種常見的在驗證中設(shè)置DRAM接口的方案;
[0008]一種是在仿真環(huán)境中設(shè)置正式的調(diào)試序列,以在各種條件下建立DRAM鏈接。這種方案具有初始化時間長的缺點(diǎn),需要大約?150000的時鐘時間甚至需要硬件調(diào)試加速,這對于模塊級和系統(tǒng)級仿真來說都是不可接受的。
[0009]另一個方案是跳過調(diào)試,但是把系統(tǒng)投入仿真環(huán)境已確定的狀態(tài),強(qiáng)制對存儲控制器和存儲物理層(PHY)中的時鐘和FIFO指針偏置賦值。這種方案減少了調(diào)試時間,但是對于設(shè)計和測試環(huán)境的改變(如時鐘頻率改變、系統(tǒng)動力狀態(tài)轉(zhuǎn)換等)非常脆弱。而且,由于這種方案不能驗證待測設(shè)計和系統(tǒng)的隨機(jī)行為,在仿真中大量的強(qiáng)制賦值也成為一種潛在的風(fēng)險。
[0010]為了克服以上這些缺點(diǎn)以及其他DRAM系統(tǒng)驗證中的缺點(diǎn),本發(fā)明提供了一種在驗證系統(tǒng)的新的配置時序中建立DRAM接口的新方法。本發(fā)明的所述方法不受驗證方式的支配,可在如System C、verilog或System Verilog語言下實行。
[0011]雖然本發(fā)明的實施方式專門地描述為從存儲控制器的GDDR5接口到GDDR5存儲設(shè)備,所述系統(tǒng)和方法可應(yīng)用于許多系統(tǒng)。本發(fā)明的一方面提供了這樣的方法和系統(tǒng)可在任何讀和寫數(shù)據(jù)在自由運(yùn)行差分時鐘的兩邊沿傳輸?shù)腄RAM系統(tǒng)中實行。
[0012]在體現(xiàn)第一方面的一個實施方式中,提供了一種驗證方法。所述方法提供了用于任何讀和寫數(shù)據(jù)在自由運(yùn)行差分時鐘的兩邊沿傳輸?shù)腄RAM系統(tǒng)的驗證,包括監(jiān)測數(shù)據(jù)通路中的延時值,計算從指令分配到讀數(shù)據(jù)的返回在數(shù)據(jù)通路中的延時,在待測設(shè)計中設(shè)置延時配置以與數(shù)據(jù)通路中的全部延時相匹配,以及基于延時設(shè)置配置與待測設(shè)計的DRAM接口。
[0013]在體現(xiàn)第二方面的一個實施方式中,所述驗證方法包括監(jiān)測物理層(PHY)中的RX接收和TX發(fā)送FIFO的寫指針和讀指針、監(jiān)測數(shù)據(jù)通路中的時鐘偏差,以及監(jiān)測DRAM時序延遲。
[0014]在體現(xiàn)第三方面的一個實施方式中,所述驗證方法包括調(diào)諧時鐘信號的相位,其中調(diào)諧時鐘信號的相位包括確定接收RX時鐘信號是否與數(shù)據(jù)隊列對齊,如果沒有對齊,調(diào)整接收RX時鐘信號的相位使其與數(shù)據(jù)隊列對齊。所述方法可進(jìn)一步包括確定發(fā)送TX時鐘信號是否與數(shù)據(jù)隊列對齊,如果沒有對齊,調(diào)整發(fā)送TX時鐘信號的相位使其與數(shù)據(jù)隊列對齊。
[0015]在體現(xiàn)第四方面的一個實施方式中,所述驗證方法包括Rx巾貞(Rxframe)調(diào)諧和TX幀(Txframe)調(diào)諧,其中所述調(diào)諧是基于數(shù)據(jù)通路中的全部延時。
【附圖說明】
[0016]本發(fā)明以示例但不限制的形式圖示在后附的附圖中,其中
[0017]圖1示出了聯(lián)接到存儲控制器上的GDDR5系統(tǒng)的簡化的示范圖;
[0018]圖2示出了根據(jù)本發(fā)明的、將存儲控制器作為待測設(shè)計(DUT)的GDDR5驗證系統(tǒng)的示范圖的一個示例性實施例;
[0019]圖3示出了根據(jù)本發(fā)明的一個示例性的調(diào)諧序列;
[0020]圖4 (A)給出了 Rx相位調(diào)諧的一個示例;
[0021]圖4 (B)示出了用于圖2中的系統(tǒng)的Rx相位調(diào)諧的算法;
[0022]圖5給出了 Rx幀的示例以及示出了用于圖2中的系統(tǒng)的Rx幀調(diào)諧的算法。
【具體實施方式】
[0023]下面將參照附圖中所示的一些實施例具體描述本發(fā)明。在下文的描述中,描述了一些具體的細(xì)節(jié)以提供對本發(fā)明的更深的理解。然而,對于本領(lǐng)域的技術(shù)人員來說顯而易見的是,即使不具有這些具體細(xì)節(jié)中的一些,本發(fā)明也可被實施。另一方面,一些公知的工藝步驟和/或結(jié)構(gòu)沒有被詳細(xì)描述以避免不必要地使本發(fā)明變得難以理解。
[0024]圖1示出了聯(lián)接到存儲控制器上的GDDR5系統(tǒng)的簡化的示范圖。
[0025]在圖1所示的系統(tǒng)中,存儲控制器包括三個部件:INTF(接口),SEQ(序列發(fā)生器),and PHY(物理層)。
[0026]INTF是對客戶流量提供接口的功能模塊。它在不同客戶的流量中做一些調(diào)停。
[0027]SEQ是INTF和PHY之間的協(xié)議轉(zhuǎn)換模塊。它從INTF獲得流量包然后將其轉(zhuǎn)換成DRAM命令/數(shù)據(jù)信號以滿足DRAM協(xié)議。SEQ以滿足DRAM時序的方式安排TX/RX信號。
[0028]PHY是進(jìn)行物理層信號轉(zhuǎn)換的功能模塊。對每個DRAM接口信號,它具有RX接收和TX發(fā)送。由于SEQ和PHY以不同的時鐘運(yùn)行,對每一個指令信號(CMD)和數(shù)據(jù)信號(DQ),PHY還具有自由運(yùn)行的緩沖區(qū)(FIFO,先進(jìn)先出),其位于使用mclk的SEQ和使用yelk的RX/TX之間。
[0029]圖1中的DRAM總線功能模型(bfm)是⑶DR5bfm。當(dāng)然,bfm可以是任何讀和寫數(shù)據(jù)在自由運(yùn)行差分時鐘的兩邊沿傳輸?shù)腄RAM。
[0030]如圖1中的流程圖所示,當(dāng)SEQ接收來自上游的指令(CMD)后,分配該指令。⑶DR5從PHY內(nèi)部的TX FIFO獲得指令。如果該指令是讀指令,⑶DR5將讀數(shù)據(jù)返回給PHY中的RX FIFO然后再到SEQ。SEQ接收并將數(shù)據(jù)儲存在數(shù)據(jù)接收存儲器(Rxdata mem),然后將脈沖信號送回INTF/客戶。
[0031]為了在驗證中建立DRAM鏈接,至少要考慮Rx相位(Rxphase)和Rx幀(Rxframing)0
[0032]關(guān)于Rx相位,來自⑶DR5的數(shù)據(jù)(DQ)對于PHY的時鐘yelk來說是異步信號。為了避免亞穩(wěn)問題,有必要通過正確調(diào)諧在DQ處的接收相位的yelk對數(shù)據(jù)眼進(jìn)行采樣。這由PI (phase interpolator相位插值器)來執(zhí)行。PI將I個yelk周期分成64等分。
[0033]關(guān)于Rx幀,I個數(shù)據(jù)幀是一個單獨(dú)的數(shù)據(jù)脈沖。當(dāng)信號完整性被調(diào)整之后,Rx幀應(yīng)被調(diào)諧以確保當(dāng)讀數(shù)據(jù)從PHY返回時數(shù)據(jù)幀是正確的。
[0034]Rx相位和Rx幀都是挑戰(zhàn),因為⑶DR5具有沒有選通的高速接口,其讀和寫數(shù)據(jù)在自由運(yùn)行差分時鐘的兩邊沿傳輸。
[0035]現(xiàn)在看附圖2,根據(jù)本發(fā)明的、將存儲控制器作為待測設(shè)計(DUT)的⑶DR5驗證系統(tǒng)的一個實施例。
[0036]如圖2所示,本發(fā)明的驗證系統(tǒng)包括監(jiān)測器和自動調(diào)諧配置時序。
[0037]在待測設(shè)計下面的監(jiān)測器包括FIFO指針監(jiān)測器、時鐘偏差監(jiān)測器和DRAM設(shè)置監(jiān)測器。
[0038]FIFO指針是指PHY中的RX/TX FIFO的寫指針(wptr)和讀指針(rptr)。由于FIFO指針是自由運(yùn)行的,知道指針距離就可以知道FIFO的延遲。