?

基于FPGA 的自動測試設備信號延時誤差測量

2022-08-31 07:57季振凱
電子與封裝 2022年8期
關鍵詞:延時時鐘芯片

季振凱,吳 鎮

(無錫中微億芯有限公司,江蘇無錫 214072)

1 引言

自動測試設備(ATE)是一種集成多種測試功能,由電腦控制對待測芯片的功能與電特性進行測試的自動化設備。在芯片的封裝測試領域,ATE 能根據操作人員的需求對封裝芯片進行甄別,大大降低芯片的測試時間。ATE 可大致分為設備控制模塊、物理操作模塊和電氣測試模塊3 個部分。設備控制模塊通常是一臺集成在機器內部的PC 機,負責將操作員的指令轉化為不同模塊的調度指令,并將模塊的運行數據和結果反饋給操作員。物理操作模塊負責芯片在機臺上的移動、固定以及芯片測試溫度控制等。電氣測試模塊是設備中最關鍵的部分,負責對芯片的功能進行測試。測試項目一般可分為直流測試、交流測試與功能測試3 種,通過對待測芯片輸出激勵,采集待測芯片的反饋來測試芯片功能的好壞。在一個測試項中,通常需要對芯片的不同引腳同時發出激勵,激勵信號經過傳輸通道到達待測芯片時會形成一定延時,而不同通道間形成的延時不盡相同,因此會造成信號間的不同步,形成“競爭-冒險”現象,待測芯片反饋的輸出信號亦有此問題。這種信號不同步而產生的測量錯誤概率將隨著激勵信號頻率的提高而大幅度提升。因此,在ATE 的使用過程中,對設備激勵源至待測器件(DUT)間所有信號通道的信號延時進行測量是十分必要的。本文提出一種基于FPGA 的ATE 信號延時測量方法,在測量信號延時量的同時利用FPGA 的特性,可以在一定范圍內根據需求調整測量精度。

2 信號延時分析

在理想狀態下,高速數字系統中的信號源點與信號終點應嚴格按照時序要求進行數據的發送與接收[1]。當傳輸信號的時序關系變差時,系統產生問題的概率隨之變大。在印制電路板(PCB)傳輸系統中,造成信號發生時序問題的主要因素有信號延時、信號反射、信號串擾以及信號振鈴等幾種[2]。本文主要針對信號延時對高速信號系統的影響進行研究。

當系統中信號發生延時,且沒有足夠的時間實現穩定時,系統容易在運行過程中變得不穩定[3],這一問題在高速信號系統中尤為突出。通常將電信號通過整個傳輸路徑所需的時間稱為時延(TD),將電信號通過單位長度路徑所需的時間稱為傳輸延時(PD,tPD)。電信號在傳輸路徑中的傳輸速度為:

式中c0為電信號在真空中的傳播速度,可視為光速3×105km/s;ε 為介電常數;μ 為磁導率;εr為傳輸路徑中傳播介質的相對介電常數。常見PCB 材質及其參數如表1 所示,表中δ 為介質損耗角。市面上的電路板板材的介電常數在3.8~4.8 之間。若以4 進行簡單計算,代入式(1)可以計算得知信號傳播速度約為c0/2,通過單位換算可得約15 cm/ns 的經驗值。

表1 常見PCB 材質及其參數

在多層電路板設計中,傳輸線可以根據走線的位置分為僅有一個參考平面的微帶線與嵌入式微帶線、有上下兩個參考平面的對稱帶狀線與不對稱帶狀線。整體而言,微帶線的介電常數較低且信號傳輸速率快,帶狀線的介電常數較高且信號傳輸慢[4]。多層電路板中的通孔將會對時延產生明顯的影響,文獻[4]的研究表明,通孔越長、通孔孔徑越小,電信號的傳輸速率越低。通常一個標準通孔會造成24 ps 左右的延時[5-7]。因此在時序嚴格的高速信號傳輸系統中,僅通過走線長度不足以正確計算信號傳輸延時。

3 測試系統

3.1 信號傳輸系統結構

目前國內外主流的傳輸延時測量方法主要有兩種,第一種是使用高精度采樣儀器,以等長度探頭同時采樣信號源點與信號終點兩處信號。在同一時鐘下,兩處信號會呈現出先后關系,而兩處信號的間隔時間就是信號在兩點間的傳輸延時。該方法雖精度較高,但需要外部高精度儀器輔助,且對于集成度較高的設備而言,外部探針無法接入理想檢測點是十分常見的問題。第二種方法則是利用時域反射技術(TDR)計算出路徑延時,TDR 利用的是信號傳輸路徑上特征阻抗不連續時將會產生反射這一特性。通過目標反射的形態特性,計算信號在路徑上的傳輸時間,從而達到計算延時的方法。目前主流NI、Advabtest 公司的ATE 均采用該方法。該方法需要在數據通道上連接至少一個模擬開關,用于切換TDR 通道與測試通道。傳統TDR 的結果需要使用高速高精度的模數轉換器(ADC)對其形成的信號進行采集,用于延時計算,由于高速高精度ADC 成本較高,常見ATE 通常使用1 個或幾個ADC通過模擬開關在不同通道間進行切換,測試所需時間較長。

將本文提出的信號傳輸誤差測量系統應用在國產ATE 上,設備產生的激勵信號頻率小于200 MHz,傳輸系統結構如圖1 所示。

圖1 本文提出的ATE 信號傳輸系統結構

本文所提出的方法將用于測量從FPGA 端對激勵信號源發出控制信號到FPGA 接收到檢測端反饋信號的時間差,作為傳輸路徑的延時測量值。為了減少誤差,在該系統中要求FPGA 至激勵源和檢測端至FPGA 的走線同層、嚴格等長且盡可能短。

3.2 測試系統

測試系統利用TDR 的基本原理,使用ATE 中的高速比較器代替高速高精度ADC 對反饋信號進行檢測,相較于TDR 設備的測試方法,節約了高速高精度ADC 的成本,且可以實現多通道同時檢測,節省了測試準備時間。根據信號反射原理,反射系數ρ 為:

式中R 為輸入阻抗,Z 為傳輸線阻抗。當負載端為開路時,可以推算出:

由式(3)可知,當負載開路電阻無窮大時,反射系數為1,反射波與入射波大小相等,相位相同。本文提出的測試系統使用比較器進行不同路徑的延時誤差計算,TDR 波形如圖2 所示。根據文獻[8]中所述,圖2中T 可近似為信號源至開路點,即芯片引腳接觸點的信號傳輸時間[9]。信號S 是信號源輸出的激勵信號,信號C 是接收的檢測端反饋信號,VH、VL為2 個觀測點電壓,在不同路徑中時長t0、t1一致。A 和B 點為以VL和VH為閾值時檢測的有效點。因此,測量A、B 2 個觀測點的時間差就能計算出不同路徑中的傳輸時間差。

圖2 TDR 波形

3.3 誤差分析

本文采用FPGA 對信號源的輸出與檢測端反饋信號進行控制與采樣,使用FPGA 對不同路徑的A、B 2 點間信號的傳輸時間進行測量,并計算出不同路徑下信號傳輸時間差,FPGA 內部程序結構如圖3 所示。

圖3 程序結構

根據圖1、3 可得該系統測量結果中的各個分量為

式中tchx表示通道x 的測量結果,tFPGA_to_Source表示FPGA信號至信號發生源的傳遞時間,tSource表示信號發生源的傳遞延時,tCompare表示檢測端傳遞延時,tCompare_to_FPGA表示檢測端至FPGA 的傳遞時間,Tx代表從信號發生源至檢測端的信號傳遞時間。下標含y 的各變量定義可參照前面的定義。

不同路徑中采用同一規格的激勵源與檢測端,且輸入、輸出信號類型一致,因此可以認為激勵源與檢測端響應時間一致。根據上文的要求,保證每一路徑中tFPGA_to_Source與tCompare_to_FPGA各自相等。因此,通過對2 個路徑間的測量結果求差,可以獲得2 倍延時差值。將延時較短路徑的信號進行延時補償,則可以使不同路徑的測試信號同時到達待測器件,完成誤差補償。

4 實驗結果

4.1 實驗步驟與方法

本文采用FPGA 中IOdelay 與時鐘計數相結合的方式進行延遲時間測量,使用計數器的計數值作為時間的粗有效值,使用IOdelay 的設置值作為細有效值。IOdelay 模塊位于FPGA 的I/O 模塊中,擁有一定數量tap 的環繞延遲單元,可以根據編程輸入對輸入信號進行延時,延時精度取決于tap 的分辨率。本文采用Xilinx 的Kintex UltraScale 系列KU060 芯片進行計算處理。該芯片搭載IOdelay3 模塊,固定延時為0.200 ns,tap 分 辨 率 為0.005 ns,tap 級 數 為512 個,在VAR_LOAD 模式下單一模塊可以完成最大2.76 ns 的延時,模塊的固定延時不影響信號的同步性。

使用IOdelay 模塊將計時時鐘分割為若干個區域,并使用IOdelay 的DEKAY_VALUE 與計時時鐘計數值來描述測量結果。為保證在不同情況下測量結果的連續性,IOdelay 產生信號延時的最大值需要大于計時時鐘周期。具體方法如下:

1)將IOdelay 的DELAY_VALUE 設置為0,發出激勵信號的同時使用計時時鐘開始計數,當VL檢測端信號有效時,記錄下當時的計數器數值做VL的粗有效時間,執行下一步;

2)按一定步進step 增大DELAY_VALUE 設置值,發出激勵信號并使用計時時鐘開始計數,當VL檢測端信號有效時,記錄下當時的計數器數值,執行下一步;

3)比較2 次記錄結果,若第2 步的計數器數值大于第1 步的計數器數值,執行下一步,否則執行第2步;

4)減小step 值,得到step2,以step2 為步進減小DELAY_VALUE 設置值,發出激勵信號,并使用計時時鐘開始計數,當VL檢測端信號有效時,記錄下當時的計數器數值,執行下一步;

5)比較2 次記錄結果,若第4 步的計時數值小于第3 步的計數器數值,執行下一步,否則執行第4 步;

6)進一步減小步進,重復第2~5 步,直到步進為1個tap 且DELAY_VALUE 設置為臨界值時,將該DELAY_VALUE 值作為VL點的細有效時間,則該點的精確時間為[(粗有效時間+1)×計數時鐘周期-(細有效時間×單個tap 延時)];

7)重復上述步驟,獲得所有通道VL、VH點的有效時間;

8)用同一路徑的VH時間減去VL時間,獲得該路徑的測量延時;

9)將不同路徑下的延時數據進行排序,用最大延時值分別減去其余路徑延時值,求得不同路徑與最大延時路徑延時的差值;

10)補償延時短的路徑,使得不同路徑上的信號至DUT 時同步,本文中采用IOserdes+IOdelay 的方法進行補償。

實驗信號波形如圖4 所示。圖4(a)為步驟1 首次檢測的波形圖,圖4(b)為以step 為步進向實際檢測有效點靠近的情況,圖4(c)為檢測有效點低于實際有效點,按步驟4 縮小步進為step2 的情況,圖4(d)為調轉求解方向,向實際有效點靠近的情況。

圖4 實驗信號波形

最終檢測波形如圖5 所示。信號C1表示低檢測點的最終波形,當達到該波形時,記錄下此時的DELAY_VALUE 設置值。信號C2表示高檢測點的最終波形,當達到該波形時,記錄下此時的DELAY_VALUE 設置值。

圖5 最終檢測波形

4.2 實驗條件與結果

本文使用的FPGA 芯片為Kintex UltraScale 系列KU060 芯片。將Idelay 與Odelay 結合使用,可以形成5.52 ns 的最大延時,延時可調范圍為0.400~5.52 ns。使用200 MHz 時鐘作為計時時鐘,用IOdelay 將每個周期時鐘分隔為500 個區域,每個區域寬度為0.01 ns。激勵信號為幅度1.2 V、頻率200 kHz 的方波信號。檢測端高閾值設為0.75 V,低閾值設為0.45 V。實驗中使用標準走線板對不同路徑信號進行標準長度延長,模擬不同長度路徑對信號的影響,測量結果如表2 所示。

表2 不同路徑測量結果

使用示波器檢測來測試該系統準確性。檢測示波器使用2 支同一規格探針,1 支連接激勵源輸出端,1支連接該路徑對應的DUT 連接端。以激勵源輸出端的探針作為觸發信號,抓取激勵信號,比較兩個信號間的時間差,即是傳輸延時,示波器檢測結果如表3所示。

表3 不同路徑示波器檢測結果

經過多次對比示波器檢測結果與該系統檢測結果,發現兩者測量結果差異范圍小于0.2 ns,滿足測試系統所需精度要求(小于200 MHz)[10-12]。

5 結論

本文提出的方法在國產ATE 中可以很好地完成路徑延時差異檢測工作,經多次測試發現,該系統測試結果的正確性與激勵源和檢測端的精度及穩定性息息相關。在實驗過程中,為避免走線中其他阻抗非連續點帶來的影響,需要在保證信號上升時間一致的前提下,盡可能加大激勵信號幅度,減少非目標反射對檢測結果的影響。

猜你喜歡
延時時鐘芯片
芯片會議
別樣的“時鐘”
人體微芯片
關于射頻前端芯片研發與管理模式的思考
古代的時鐘
日光燈斷電關閉及自動延時開關設計
有趣的時鐘
基于CD4060 的室內換氣系統延時關機電路設計
時鐘會開“花”
宋湘延時答妙對
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合