概觀
當提到數位測試時,大家往往會先聯想到 1 個簡單應用:產生或擷取「1」與「0」的波形 (Pattern),以溝通或測試在測單元 (DUT)。最近數位元件的轉變則包含更高的速度、新的邏輯系列 (Login family),與更小的封包;以期透過更少針腳達到更高的資料傳輸量。除了低驅動邏輯 (Drive logic low) 與高驅動邏輯 (Drive logic high) 的 2 種基本狀態之外,數位測試器必須要能支援更多作業才能達到上述的轉變。
高階數位測試設備可執行的作業,包含驅動彈性電壓準位、停用電路、雙向通訊,與分析已擷取資料的精確度。此外,目前從簡單記憶體晶片到複雜通訊系統的數位電子儀器,均需要彈性且功能強大的數位測試解決方案,以期降低在介接多種電子裝置的成本與時間。NI 6552 與 6551 數位波形產生器/分析器具有以下特性,為數位測試作業提供了全新的開放式解決方案:
- 適用於雙向控制的每週期、每通道 3 態 (Tristate)
- 透過即時硬體,將預期資料與擷取所得的資料進行比較
這些特性再搭配彈性的電壓選擇功能,讓設計與測試工程師使用 NI 655x 介面卡建立完整的數位激發/響應測試系統,可用於位元錯誤率測試 (BERT) 到高速雙向通訊的應用中。
本篇技術文件將針對 NI 655x 架構,說明應如何比較每週期 3 態與即時硬體。此外將接著使用 NI LabVIEW 圖形化程式設計語言中的範例程式碼,說明實際的數位測試應用。
數位 ATE 功能
測試工程師應根據不同工能的通訊與測試應用,選擇所需的不同 I/O 儀器。數位測試設備的核心功能,即是能夠產生硬體時脈,及/或透過儲存於裝置記憶體中的預先定義數位測試波形以進行擷取作業。數位儀器不僅具備 1 與 0 的數位波形,亦能支援表 1 所示的某些邏輯狀態波形。
|
邏輯狀態 |
驅動資料 |
期望回應 |
|
| 驅動狀態 |
0 |
邏輯低 |
無關 |
|
1 |
邏輯高 |
無關 |
|
|
Z |
停用 |
無關 |
|
| 比較狀態 |
L |
停用 |
邏輯低 |
|
H |
停用 |
邏輯高 |
|
|
X |
停用 |
無關 |
表 1. 某些數位測試設備所支援的數位邏輯狀態
如表 1 所示,此 6 種邏輯狀態可控制電壓驅動器,且可於支援條件下控制數位測試器的比較引擎。這些狀態可指定測試器在特定通道中所驅動的激發資料,還有受測裝置 (DUT) 的預設響應。當這些狀態出現在數位測試器中,即可執行雙向通訊並迅速 (On-the-fly) 比較已擷取的資料。
NI 655x 數位波形產生器/分析器可支援表 1 的全部 6 種邏輯狀態。接著將說明這些功能的硬體建置作業,並針對每週期雙向控制與即時硬體比較作業,提供更詳細的分析。
每週期 (Per-cycle) 雙向控制
當為 DUT 選擇數位測試系統時,能否控制通訊作業的方向則為關鍵功能。最基本的數位 I/O 儀器包含簡易的單向控制,意即單一通道僅限將資料驅動至針腳或擷取資料。較為完整的裝置則可設定將激發資料驅動至針腳,或透過該針腳擷取資料,卻仍無法在單一作業中完成此 2 項作業。由 1 代表的高驅動邏輯與 0 代表的低驅動邏輯,則為可控制產生作業的 2 種基本邏輯狀態。但仍無法於相同作業中支援雙向功能。這些裝置的常見應用則包含基本數碼 I/O (Pattern I/O)、交素,與數位資料記錄。
更複雜的數位測試器,則可於單一數位操作中進行雙向作業,意即該儀器能夠於連續的時脈週期內切換資料產生與資料擷取。由於激發通道必須亦能停用電壓驅動器,因此為了支援雙向控制,則需要 2 種以上的邏輯狀態。此第三種狀態即所謂的 3 態 (Tristate),亦稱為 High-Z 或高阻抗 (High-impedance) 狀態。3 態可控制裝置進而驅動通道,以確保多重裝置並不會同時驅動該單一通道;進而避免接收錯誤資料。針對如 I2C 通訊、IC 測試、位元錯誤率測試 (BERT),與通用數位激發/響應測試的雙向應用,均必須使用 3 態功能。
NI 655x 則以每通道、每時脈週期為基礎,完全支援 3 態功能。圖 1 則是透過 NI 655x數位波形產生器/分析器中的 FPGA,所建置的單一 3 態通道。此圖的產生邏輯為數位測試器的上半部,擷取電路則為下半部。

[+] 放大圖
圖 1. 單一 NI 655X 數位通道的程式圖
如記憶體晶片的常見雙向設備測試,必須先將激發資料或測試波形下載至數位測試器的快取 (On-board) 記憶體中。接著激發資料經過解碼,以決定是否需要啟動通道的電壓驅動。若必須啟動之,則要決定所要驅動的資料。在 NI 655x 介面卡中,擷取電路的比較元 (Comparator) 將直接連至數位器的電壓驅動輸出。意即 NI 655x 可同時擷取來自於數位測試器與 DUT 的激發資料。由於比較元無法分辨是 DUT 還是數位測試器 (可能 2 者均有) 將資料驅動到通道,因此必須在讀取作業期間,將數位測試器的電壓驅動設定為 3 態,避免 DUT 與數位測試器的電壓驅動器同時將資料傳送至通道。
在完成訊號擷取之後,資料解譯 (Interpret) 電路將決定所擷取的訊號屬於低邏輯或高邏輯,並將擷取結果儲存於快取記憶體中。所擷取的響應資料最後將寫入至電腦,以進行後續分析與記錄。接著將進一步擴充此程式圖,以介紹 NI 655x 介面卡對所擷取響應資料的快速比較功能。
即時硬體比較
數位測試器的另 1 項重要功能,即是要在不同的使用條件與激發資料下,找出由 DUT 所回傳的正確響應資料。為了達到此功能,共有 2 種方法可比較所擷取的響應資料與預期資料。首先是擷取實際響應資料,並使用軟體解譯其結果。應用程式僅需 2 種基本邏輯狀態,即可設定測試器的激發資料。另 1 種方法則是將激發資料與預期的響應資料,預先載入至硬體,以即時比較所擷取的資料。此種方法在過去僅可用於高價位的數位測試器;但由於目前功能強大且較低價位的 FPGA 技術,使此種功能更為普及,讓表 1 的 3 種比較狀態,亦可用於即時硬體比較作業。只要波形包含比較狀態,則所擷取的回應資料即可與預測的響應資料進行比較。
圖 2 為 NI 655X 通道的完整程式圖,包含硬體硬體比較電路與前述的每通道 3 態功能。

[+] 放大圖
圖 2 . 具備硬體比較電路的 NI 655X 數位通道程式圖
FPGA 的資料比較邏輯,將可連接產生與擷取電路。資料解碼器可從快取記憶體接收資料,在根據各個樣本的邏輯狀態啟用或停用驅動器。解碼器將預期響應傳 送至 FIFO 記憶體。只要開始擷取響應資料,FIFO 記憶體隨即將預期資料傳送至資料比較邏輯中。若比較期間偵測到錯誤,則錯誤資訊與擷取資料個別儲存,讓此 2 種資料均可透過應用軟體進行深入分析。
FPGA 將儲存下列偵測到的錯誤資訊:
- 錯誤取樣數
- 發生錯誤的通道
- 錯誤總數
常見數位測試應用
此章節將針對常見數位測試應用,說明應如何建置前述的數位 ATE 功能,如功能測試與特性描述 (Characterization)。
功能測試
對許多產業而言,最重要的測試作業之一即為元件的功能測試,如客制 ASIC 與現成 (COTS) 的 ADC。而需要可擴展功能測試的常見雙向裝置,即為記憶體晶片。圖 3 即為常見的 SRAM 積體電路 (IC) 與其針腳輸出。

圖 3. SRAM IC針腳輸出
如上圖所示,常見的記憶體 IC 具備 3 組位址線 (Address line)、8 組資料線、1 組寫入啟用 (Write enable,WE) 線,與 1 組讀取啟用 (Read enable,OE) 線。表 2 為 Marching Zero 測試模式,可測試此 SRAM 晶片。
| 取樣 |
測試資料 |
實際響應 |
|
W/R |
位址資料 |
|
|
0 |
10 000 01111111 |
01111111 |
表 2. 記憶體 IC 的 Marching Zero 測試模式
當 WE 為高電壓準位時,IC 晶片則透過如數位測試器的外接裝置接收資料,並將資料寫入至位址線路所指定的位置。若 OE 為高電壓準位,則 IC 將從位址線路所指定的位置接收資料,並將資料驅動至資料線路上。要檢驗此款記憶體設備的最後步驟,即是比較預期響應,以進一步分析該輸出。
接著 2 個章節將透過 NI 655x 數位波形產生器/分析器,並於 LabVIEW 中使用軟體解決方案與硬體解決方案,以建置功能測試作業。
軟體比較方法
在軟體比較應用中,測試器將產生激發資料、擷取實際響應資料,最後將資料儲存於主機電腦記憶體之後,即分析響應資料。實際的響應資料分析作業,將完全於軟體中進行而非即時完成。下列步驟則進一步說明軟體比較作業。
1. 如表 3 所示,原始測試資料是由使用者輸入,或通過檔案讀取之。測試資料則同時包含激發資料與響應資料。
| 測試資料 | 0011ZZHLHL |
| 激發數據 | 0011ZZZZZZ |
表 3. 測試向量與激發資料的轉換
2. 如表 3 所示,純粹的激發資料是從測試資料中所提取。測試資料中的 1 與 0 將代表激發資料;其他所有字元則表示未產生任何資料,因此電壓驅動器必須置入 3 態中以停用之。
3. 數位測試器於通道中產生激發資料,並接著擷取響應資料。產生與擷取作業為同時進行。
4 . 在完成產生與擷取作業後,應用程式將於軟體中逐一比較各個位元。表 4 為已擷取響應資料的範例。當「H」或「L」出現在原始測試資料中,則最後的 Pass/Fail 結果,才會因所擷取的響應資料而有所不同。
| 測試資料 | 0011ZZHLHL |
| 所擷取的響應資料 | 0011111010 |
| 結果 | Pass |
表 4. 測試向量與實際響應資料的比較
軟體比較作業,必須將所有資料傳送至主機電腦以進行後處理,使之適合於較低速度的應用。若所擷取的資料超過測試器快取記憶體的容量,則在將所有資料傳送到主機電腦時,可能將超出電腦的頻寬限制。針對此種需要較高比較速率的應用,應使用即時硬體比較作業。
下圖所示為 NI LabVIEW 圖形化程式設計語言,即針對 NI 655x 介面卡展示數位軟體比較應用所需的功能。接著數張圖片則說明應如何建立個別的產生與擷取作業,接著可將之整合至同步化的功能測試應用中。
首先,圖 4 顯示以 LabVIEW 程式所建立的產生作業部分。其中的關鍵功能包含測試器設定、載入測試模式,並開始產生作業。
圖 4. LabVIEW高速數位產生程式
在測試資料載入至快取產生記憶體之前,圖 5 則顯示原始的數位測試資料,並剖析 (Parse) 為激發資料與預期的響應資料。在剖析資料之後,則接著下載激發資料至 NI 6552 進行產生作業。

圖 5. LabVIEW數位表格
建立程式的擷取部分其實極為相似。圖 6 則為功能測試應用所需的擷取程式。

[+] 放大圖
圖 6. LabVIEW 高速數位擷取程式
雖然 NI 6552 支援可同時進行此 2 個程式,但僅是進行簡單整合並非有效的測試方法。若只是同步執行擷取與產生程式,並無法正確比較已擷取資料與預期的響應資料。由於這些程式是在較不精確的軟體中執行,因此不能依賴程式時脈可自行維持其一致性。此外,亦需考慮 DUT 與 DUT 連接線所產生的傳播延遲 (Propagation delay)。資料從數位測試器穿過 DUT 與連接線,再回到測試器的總時間,即為所謂的往返延遲 (Round-trip delay,RTD);如圖 7 所示。

[+] 放大圖
圖 7. 使用外部連結功能解決 RTD
要解決 RTD 與軟體延遲的最佳方式,即是匯出與開始測試時相對應的邊緣訊號。針對 NI 655x,Data Active 事件即提供了此功能,並可由外部連接至擷取作業的開始觸發器;如圖 8 所示。請注意:此作業必須確實進行訊號連接,而資料才會產生相同的 RTD。

[+] 放大圖
圖 8. 使用 Data Active 事件以觸發擷取與產生作業
使用者亦可使用 Data Active 事件,以控制響應資料與 Sample 時脈活動邊緣 (Active edge) 之間的相對延遲。舉例來說,可將 PFI 1 上的 Data Active 事件匯出,並將之銜接到 PFI 2 上。如圖8所示,PFI 2 設定為擷取的 Start 的觸發訊號源。亦可將 Sample 產生時脈匯出至 DDC CLK OUT,並將 Sample 擷取時脈設定為 STROBE。
圖 9 的 LabVIEW 程式,則設定並外部連接了 Data Active 事件與 Sample 時脈。標有箭頭的函式將進行所需的額外設定。
圖 9. 透過 Data Active 事件與已匯出的 Sample 時脈,以同步化產生與擷取作業
如圖 10 所示,擷取作業必須在產生作業之前開始,以確保擷取作業在產生作業開始之前,即已準備接收 Start 觸發。最後可選的步驟即是分析已擷取的資料。使用者可使用簡易的 Pass/Fail 決定功能。與其透過軟體詳細分析所擷取的響應資料,下面章節將討論應如何使用即時硬體的比較功能,使分析作業的效率能夠超過軟體。

圖 10. 確保在產生作業開始之前,即已準備擷取 Start 觸發
即時硬體比較方法
透過快取 (On-board) FPGA 比較已擷取的響應資料與預期的資料,即能夠大幅提升激發響應應用的速度與穩定性。若要開發以硬體比較響應資料的程式,僅需針對前述的 LabVIEW 軟體比較程式稍做修改即可。
- 如圖 11 所示,在產生與擷取作業的設定階段中,使用 niHSDIO 屬性節點 (Property Node) 以啟用 NI 655x 的硬體比較區塊。

圖 11. 屬性節點可輕鬆啟動硬體比較
- 一旦啟動硬體比較作業,波形中的 6 個邏輯狀態將主導 NI 655x 作業,而可將剖析 (Parsing) 與分析函式的需求降至最低。請參閱表 1 以進一步了解 6 個邏輯狀態。
- 對於更複雜的錯誤分析應用,則可透過 Fetch 函式擷取錯誤資料與附近的取樣點。針對各筆錯誤的取樣,均可得到以下資訊:
- 包含錯誤的取樣數量
- 各個錯誤取樣中位元數
- 來自於 DUT 的預設響應
若使用屬性節點搭配 HardwareCompare.SampleErrorBacklog 屬性,則可直接從 NI 655x FPGA 檢索錯誤總數。圖 12 的硬體比較範例,即使用取樣錯誤回存 (Backlog) 屬性,針對錯誤取樣前後各 5 筆取樣,來回傳輸 (Fetch) 所擷取的響應資料。只要取得這些資訊,即可進行更詳細的錯誤分析。
圖 12. 使用取樣錯誤回存 (Backlog) 以來回傳輸錯誤附近的資料
所有的資料比較作業,均是依逐筆取樣於硬體中完成,可大幅縮短以軟體分析資料所耗費的時間。透過硬體比較功能,即可輕鬆進行 NI 655x 的程式設計,以進行高效能的功能測試與其他激發響應應用。
若要完整的硬體比較範例,則可參閱 NI Developer Zone (ni.com/zone) 中的「高速數位即時硬體比較 (High-Speed Digital Real-time Hardware Compare)」範例。
特性參數描述 (Characterization)
前述所提動的功能測試範例,亦可擴充執行 DUT 的特性描述 (Characterization) 作業。舉例來說,若要描述 DUT 的 Sample 時脈率特性,則必須修改應用以能掃瞄從低頻開始的大範圍 Sample 時脈率。特性描述測試作業,將透過前述的功能測試回傳 Pass/Fail;然而若測試通過,則將提高 Sample 時脈率並重新執行測試。這些步驟將不斷重複直到 DUT 回傳失敗訊息。而通過測試的最高頻率,即為 DUT 的最高作業頻率。
為建置此種特徵描述作業,必須為程式新增 1 組迴路,以調整所需的測試參數並重複測試作業。NI-HSDIO 並不需要在每次迴路循環期間,均重設數位測試器的所有設定,因此可縮短測試之間的重設時間。圖 13 則為此程式碼的修改範例。

[+] 放大圖
圖 13. 新增迴路並修改參數,以執行特徵描述
另請參閱:
高速數位即時硬體比較
可調整性
由於數位電子設備日趨複雜,且其元件可能從序列裝置的數個針腳,乃至於複雜 IC 的數百個針腳。為了測試這些設備,數位測試系統必須能夠調整期通道數。使用 NI-TClk (觸發時脈) 同步技術,即可於單一系統中以亞毫微秒 (Subnanosecond) 為單位,輕鬆同步化多個 NI 655x 模組以測試高通道數的裝置。以需要 40 個通道的系統為例,下列程式將說明同步化多重裝置所需的附加函式。
圖 14. 使用「For」迴路與儀器名稱陣列,可有效設定多組設備
各個模組仍需透過本身專屬的函式集配置並控制之;但是若新增 1 個簡單的 For 迴路,則可大幅減少所需的程式設計作業。圖 14 即是使用「For」回率與儀器名稱陣列,針對多重模組擴充產生程式。一旦所有裝置均於迴路中完成設定,則 NI- TClk 同步化作業將僅需 3 組附加 VI;如圖 15 所示。

圖 15. 可啟動亞毫微秒 (Subnanosecond) 同步化作業的 3 組 NI-TClK 函式
亦可使用 NI-TClk 撰寫程式,讓多重模組可透過相同的同步化作業,對外部觸發訊號進行回應。若要進一步了解 NI-TClk 技術,則可至 ni.com/info 並輸入資訊代碼 rdtctf,以參閱「National Instruments T-Clock Technology for Timing and Synchronization of Modular Instruments」技術文件。
當以 NI-TClk 同步化多個模組並執行硬體比較時,若於 1 個 NI 655x 介面卡上偵測到錯誤,則僅有該組裝置將儲存錯誤資訊。系統中的其他 NI 655x 介面卡將繼續取樣作業。由於各個裝置將記錄本身錯誤,因此使用者不需擔心系統將多次計算相同錯誤。但請注意,若要計算取樣錯誤率,則必須後續處理所有模組的資訊,以建立完整的列表。
結論
NI 655x 數位波形產生器/分析器,新增每週期雙向控制與即時硬體比較功能,較於其他電腦架構的裝置,則可提供更為完整的數位測試應用解決方案。新的解決方案涵蓋記憶體晶片的功能測試,到位元錯誤率測試 (BERT) 的快速特性描述應用。PXI 平台的可調整性與軟體彈性,將進一步提升數位測試儀器的彈性與功能。
另請參閱:
用於時脈與同步化的 NI T-Clock 技術
相關連結:
合法
此教學由美商國家儀器 (以下簡稱 NI) 開發。此教學受 NI 技術支援,但未經完整測試及檢驗。NI 不保證品質,亦不為其更新版本、相關產品及驅動程式等後續支援負責。此教學不具任何形式保證,且不受任何特定用途規範。(http://ni.com/legal/termsofuse/unitedstates/us/)




