內存測試

隨着時鐘速率和數據傳輸速率不斷增長和性能的提升,設計工程師必須保證系統的性能指標,或確保系統內部存儲器和存儲器控制設備的互操做性,存儲器子 系統的模擬信號完整性已成爲設計工程師愈來愈多重點考慮的問題。許多性能問題,甚至在協議層發現的問題,也能夠追溯到信號完整性問題上。所以,存儲器的模 擬信號完整性驗證已經成爲不少電子設計驗證關鍵的一步。

  JEDEC(電子工程設計發展聯合協會)已經明確規定存儲設備詳細測試要求,須要對抖動、定時和電氣信號質量進行驗證。測試參數:如時 鍾抖動、創建和保持時間、信號的過沖、信號的下衝、過渡電壓等列入了JEDEC爲存儲器技術制定的測試規範。但執行規範裏的這些測試是一個很大的挑戰,因 爲進行這些測試極可能是一個複雜而又耗時的任務。擁有正確的工具和技術,能夠減小測試時間,並確保最準確的測試結果。在本應用文章中,咱們將討論針對存儲 器測試的解決方案,這個方案可以幫助工程師打敗挑戰和簡化驗證過程。前端

 

目錄

[隱藏]

硬件檢測

  信號的獲取和探測 算法

  存儲器驗證的第一個難點問題是如何探測並採集必要的信號。JEDEC標準規定的測試應在存儲器元件的BGA(球柵陣列結構的PCB)上。而FBGA封裝組件包括一個焊球鏈接陣列(這是出於實際目的),沒法進入鏈接,如何進行存儲器的探測呢?網絡

  一種解決方案是在PCB佈線過程當中設計測試點,或探測存儲器元件板的背面的過孔。雖然這些測試點沒有嚴格在「存儲器元件附近」,PCB走線長度通常都比較短,對信號衰減的影響很小。當使用這種方法探測時,信號完整性一般是至關不錯的,能夠進行電氣特性的驗證。工具

DDR3雙列直插內存模塊(DIMM)「背面」的測試點.jpg

  對於這種類型應用,可使用手持探頭,可是在多個探頭前端和測試點同時保持良好的電接觸很是困難。性能

  考慮到有些JEDEC的測量要求三個或更多的測試點,加上其餘信號如芯片選擇信號、RAS和CAS可能須要肯定存儲器狀態,許多工程師經常選擇使用焊接式探頭進行鏈接。測試

  泰克公司開發了一種專爲這種類型的應用設計的探測解決方案。P7500系列探頭有4~20GHz的帶寬,是存儲器驗證應用的選擇。圖2 說明了幾個可用的 P7500系列探頭前端之一,這種探頭很是適合存儲器驗證的應用。這些微波同軸」前端在須要多個探測前端進行焊接狀況時提供了有效的解決方案,同時提供優 秀的信號保真度和4GHz帶寬,足已知足存儲器DDR3@1600MT/s的測試需求。spa

P7500系列微波同軸探頭焊接到DIMM上.jpg


  P7500 系列探頭針對存儲器測試應用的另外一個優勢是泰克專有的TriMode(三態)功能。這種獨特的功能容許探頭不但能夠測試+和-差分信號,又能夠測試單端信 號。使用探頭前端的三個焊接鏈接,用戶就可使用探頭上控制按鈕或在示波器菜單來對差分和單端探測模式之間進行切換。使用焊接探頭的+鏈接到單端數據或地 址線,使用焊接探頭的-鏈接到另外一相鄰線。而後用戶可使用一個探頭,經過兩個單端測量模式之間切換,很容易地測量其中任何兩個信號。設計

P7500三態前端鏈接.jpg

  然而,不少狀況下經過背面過孔探測信號可能不是一種好的選擇。使用嵌入式存儲器設計,存儲器元件背面可能沒有可用的板上空間。甚至不少標準的DIMM,在板的兩面都有存儲器元件,以增長存儲密度。這種狀況下,測試工程師怎樣才能探測到測試點呢?內存

  幸運的是,即便這樣狀況,如今也有探測解決方案。泰克公司與Nexus科技公司合做開發了全部標準DDR3和DDR2存儲器設備轉接板 內插板組件。這些轉接板內插板使用插槽代替存儲器元件鏈接到被測設備。在轉接板有探測的測試點,而後對齊到插槽上的位置。存儲器元件再插到轉接板上。圖4 是這種「鏈接」的示意圖。開發

DDR轉接板內插板組件.jpg

 Nexus轉接獨特的特色是使用專有插座和保留了每個焊料的組成部分。這使得更換轉接板和存儲器元件時不須要從新焊接,從而增長了靈活性,同時也下降了因爲屢次焊接操做帶來不穩定的電氣鏈接的風險。

  轉接板內插板嵌入了小型隔離電阻,儘量接近存儲器的BGA焊盤。這些電阻與P7500系列探頭前端電網絡徹底匹配,確保良好的信號保真度。

 

軟件測試

RAM測試方法回顧

  (1)方法1

  參考文獻中給出了一種測試系統RAM的方法。該方法是分兩步來檢查,前後向整個數據區送入#00H和#FFH,再前後讀出進行比較,若不同,則說明出錯。

  (2)方法2

  方法1並不能徹底檢查出RAM的錯誤,在參考文獻中分析介紹了一種進行RAM檢測的標準算法MARCH—G。MARCH一G算法可以提 供很是出色的故障覆蓋率,可是所須要的測試時間是很大的。MARCH—G算法須要對全地址空間遍歷3次。設地址線爲」根,則CPU需對RAM訪問6×2n 次。

  (3)方法3

  參考文獻中給出了一種經過地址信號移位來完成測試的方法。在地址信號爲全O的基礎上,每次只使地址線Ai的信號取反一次,同時保持其餘 非檢測地址線 Aj(i≠j)的信號維持0不變,這樣從低位向高位逐位進行;接着在地址信號爲全1的基礎上,每次只使地址線Ai的信號取反一次,同時保持其餘非檢測地址 線Aj(i≠j)的信號維持1不變,一樣從低位向高位逐位進行。所以地址信號的移位其實就是按照2K(K爲整數,最大值爲地址總線的寬度)非線性尋址,整 個所需的地址範圍能夠當作是以全0和全1爲背景再經過移位產生的。在地址變化的同時給相應的存儲單元寫入不一樣的僞隨機數據。在以上的寫單元操做完成後,再 倒序地將地址信號移位讀出所寫入的僞隨機數據並進行檢測。設地址線爲n根,則CPU只對系統RAM中的2n+2個存儲單元進行訪問。

 

基於種子和逐位倒轉的RAM測試方法

  基於種子和逐位倒轉的測試方法是在方法3的基礎上進一步改進得到的。方法3主要是使用全O和全1兩個背景數來移位展開的,與MARCH—G算法 相比得到的故障覆蓋率稍微低些,但使用了較少的地址單元。這裏咱們把方法3中的背景數稱爲「種子」。以地址線爲8根的RAM爲例,種子分別取 00000000和11111111兩個數,取00000000、111111十一、0000llll和 llll0000四個數,以及取00000000、111111十一、000011十一、11110000、001100十一、1100llOO、 01010101和10101010八個數來移位展開測試,所達到的故障覆蓋率是不同的。種子數爲2的改進方法要低於MARCH—G算法的故障覆蓋率, 種子數爲4的改進方法與MARCH—G算法至關,種子數爲8的改進方法可以超過MARCH—G算法的效果。總體上基於種子和逐位倒轉的改進方法是能夠代替 MARCH—G算法的,可是種子數目不一樣所須要的尋址次數也是不一樣的。設地址線爲n根,種子數爲2時須要訪問RAM共計4」+4次,種子數爲4時須要訪問 RAM共計8n+8次,種子數爲8時須要訪問RAM共計16n+16次,而MARCH—G算法須要訪問RAM共計6×2n次。可見,基於種子和逐位倒轉的 改進方法比MARCH—G算法的測試時間開銷大大下降。同時,故障覆蓋率會隨着種子數目的增長而提升,固然不一樣種子數時所須要的測試時間開銷也不一樣。在實 際測試應用中要根據測試時間和測試故障覆蓋率的需求來選擇合適的種子數目,才能達到滿意的效果。

相關文章
相關標籤/搜索