李秦華 李可

摘 要:本文對當前國內外數字信號處理器(DSP)產品測試方法標準進行研究。分析了現行的GJB 7705-2012《DSP測試方法》,提出了DSP內核工作頻率測試方法、綜合性能測試方法等新方法。為開展DSP芯片性能測試或者集成了DSP IP核的系統級芯片(SoC)中DSP性能測試工作提供了技術指引和支撐,為DSP相關的產品研發、產品測試驗證提供了參考。
關鍵詞:DSP,測試方法,標準
DOI編碼:10.3969/j.issn.1002-5944.2023.08.021
0 引 言
DSP是以數字形式對信號進行變換、估值、濾波、壓縮、增強等處理的專用芯片。DSP具備數字器件的穩定性和可重復性等特點,又具備作為處理器的可編程、易于實現自適應處理等特點,自問世以來,廣泛應用于雷達、通信、信號處理、多媒體處理、自動控制等諸多領域。
在DSP出現之前,只能通過微處理器來完成數字信號處理任務。由于運算速度較低,微處理器無法實現高速實時的應用場景。自1980年第一個具備硬件乘法器的DSP芯片問世以來,隨著大規模集成電路技術的發展,DSP的設計和制造不斷取得突破,架構從定點到浮點、單核到多核,頻率從數十MHz到1 GHz以上,乘加運算(MAC)能力提高了幾十倍,性能不斷提升,應用范圍不斷擴大[1-2]。
隨著DSP的飛速發展,DSP的測試技術也在不斷進步,但是在DSP測試方法標準方面卻沒有及時跟進。目前,國外的DSP測試方法都是一些協會組織和商業公司提出的零散的測試規范,尚無系統的DSP測試方法方面的標準。現行的國家標準、國家軍用標準及行業標準中針對DSP測試方法的標準只有GJB 7705-2012《DSP測試方法》。該標準于2013年實施,目的是規范軍用產品中使用的DSP芯片的功能、性能的測試方法,實施以來在民用DSP芯片以及DSP IP的測試中也得到了廣泛的應用。
1 標準的主要內容
GJB 7705-2012《DSP測試方法》參考了GJB548B-2005的獨立篇章模式,將所有測試方法進行分類,共劃分了四類(1000類:功能與電特性測試;2000類:性能參數測試;3000類:綜合性能測試;4000類:接口測試),每項測試方法歸到這四類,并按類進行編號,獨立成篇(段落),如圖1所示。
2 標準的要點解析
GJB 7705-2012中的測試方法是在總結DSP參數指標體系的基礎上,提煉歸納出需要測試并且能夠在工程中實現的參數指標的測試方法,每個測試方法有明確的測試原理、測試要求和測試步驟。這些測試方法又分為兩類,一類是引用或參照已有的測試方法標準,“1000類:功能與電特性測試”和“4000類:接口測試”就屬于這類;另一類是首次提出的新方法,“2000類:性能參數測試”和“3000:類 綜合性能測試”。
2.1 功能與電特性測試
功能和電特性測試包括:功能測試、電特性測試,測試基于自動測試機臺進行。功能測試規定了DSP指令集以及內部控制部件、運算部件、寄存器文件、外設模塊和存儲器等功能模塊的測試方法。電特性測試規定了DSP的靜態與動態電特性參數的測試方法,測試方法引用了GB/T 17574-1998《半導體器件 集成電路 第2部分:數字集成電路》中靜態特性參數和動態特性參數的測試方法。
2.2 性能參數測試
通過分析梳理DSP的參數指標,結合工程實現方式,標準提煉了反映DSP架構和性能最關鍵的8個參數,包括:字長、頻率、功耗、同構多核數量、多核運算性能、快速傅里葉變換(FFT)時間、峰值乘加能力和峰值運算能力,首次提出了基于工程測試板的測試方法,明確了測試原理,規范了測試流程。
2.2.1 字長和同構多核數量測試
字長和同構多核數量測試是通過軟件讀取DSP相關寄存器的值來實現的。字長測試是讀取存放進行移位操作次數和存放特殊定點運算結果的通用寄存器的值來驗證DSP通用寄存器和整數運算部件的位寬,從而驗證DSP的字長。同構多核數量測試是讀取存放DSP核運行周期數的寄存器的值,通過驗證每個DSP核運行同一個匯編測試程序的運行周期數是否一致來驗證同構DSP核的數量。
2.2.2 功耗測試
功耗測試是采用傳統的加壓測流方式來實現的。在DSP芯片的所有電壓域施加規定的電壓,運行測試程序,測量每路電壓域的平均電流,計算得到每路電壓域的平均功耗,然后求和,得到整個DSP芯片的平均功耗。
2.2.3 頻率、多核運算性能、FFT時間、峰值乘加能力和峰值運算能力測試
頻率、多核運算性能、FFT時間、峰值乘加能力和峰值運算能力測試都是轉換為對時間的測量。通過測量測試程序的運行時間來實現對頻率和運算性能的精確測試,同時,由于運行時間都是通過示波器直接測量得到,保證了測量結果的直觀和可朔源。
(1)FF T時間和多核運算性能測試就是測量1024點或1M(1024×1024)點FFT程序的運行時間。
(2)峰值乘加能力和峰值運算能力是一個理論計算值,與DSP指令流水線結構和頻率緊密相關。實際測試是通過測量DSP完成一定數量的乘加指令或者浮點/定點操作指令所使用的時間計算得到DSP的乘加能力和運算能力。測試代碼根據DSP的指令流水線上指令執行并發度編排指令,盡可能使用乘加和浮點/定點相關指令填滿指令流水線,以獲得最大的乘加和浮點/定點操作數算能力。實測的DSP乘加能力和運算能力只能是接近理論值,實際上是反映理論值的效率。
(3)頻率測試方法是標準首次提出的周期法,解決了DSP內核工作頻率無法直接測量或者測量結果無法朔源的難題。一般來講,DSP內核工作頻率是基頻通過PLL倍頻后得到的,芯片外沒有能夠直接測量DSP內核頻率的測試點,無法通過示波器等設備直接測量。
周期法的原理是通過測量DSP運行一定數量的數據相關的單周期機器指令所用的時間,推算出DSP內核的工作頻率。測試代碼包含M條數據相關(比如:累加操作)的單周期指令并循環運行這段指令N 次,總的指令數為M×N 。用示波器測量運行M×N 條單周期指令所需的時間t ,計算出處理器核的工作頻率為:(M×N )/t 。由于運行時間是通過示波器精確測量得到,因此,通過周期法得到的DSP內核工作頻率不但精確,并且可以朔源。
使用周期法進行DSP內核工作頻率測試時,應當注意以下幾點:
① 測試代碼一定要數據相關,即上一拍的運算結果作為下一拍運算的輸入,以確保每一拍只執行一條單周期指令;
② 測試指令數量M×N 通過審查測試代碼得到,為保證M×N條測試指令數量準確,測試代碼應當使用匯編指令編寫,包括跳轉操作,以消除高級語言在編譯時產生指令擴展帶來的指令數誤差;
③ 示波器測量運行時間的方法:測試程序開始運行,選定一個GPIO端口輸出高電平;到M×N條測試指令開始時,將GPIO端口電平翻轉(變低電平);到M×N 條測試指令運行結束時,再將GPIO電平翻轉(變高電平),用示波器測量GPIO端口的低電平時間,即為M×N條測試指令的執行時間t。
2.3 綜合性能測試
綜合性能測試也是屬于標準首次提出的新方法,分2類:核心基準性能測試、應用領域基準性能測試,包含了11個核心基準和4個應用領域基準,考察每個基準程序的運行時間和程序代碼量,測試基于工程測試板進行。綜合性能測試是通過考核DSP在數字信號處理的基礎和核心算法和典型應用中的性能實現對DSP核和整體性能的評估,具體測試方法借鑒參考了國外著名評測公司BDTI的做法。[3]與性能參數測試一樣,綜合性能測試中所有運行時間的結果都是通過示波器直接測量得到。
核心基準的算法包括:FFT、濾波、向量運算、矩陣運算等,每個算法給出了參考代碼。核心基準算法程序都比較小,基本上都是在片內存儲空間中運行,主要用于評估DSP核的運算性能。
應用領域基準測試是對包括DSP核、外部存儲器、高速接口在內的DSP整體性能進行評估,考核DSP是否滿足某一特定應用領域的性能需求。DSP的應用領域非常廣泛,很難將所有應用都納入到標準中,因此,標準的應用領域基準測試針對目前DSP在軍事應用的4個主要領域:聲吶、雷達、通信、音視頻,提出性能測試方法,并規定了測試條件、測試算法模型、測試輸入等。
2.4 接口測試
接口測試從接口功能以及接口電參數兩個方面規定了DSP接口的測試方法,測試基于工程測試板進行。其中接口電參數分為發送端和接收端兩類,發送端規定了5種參數:發送數據速率、發送信號幅度、發送信號眼圖、上升下降時間、發送信號抖動的測試方法,接收端規定了2種參數:接收信號幅度、接收信號抖動的測試方法,參數定義參見相應的規范要求。
3 結 語
GJB 7705-2012《DSP測試方法》提出了一套基于電參數測試、性能參數測試、綜合性能測試和接口測試的DSP整體測試評價體系,為國內DSP產品提供了統一的測試方法和評價標準,部分測試方法還可以應用于嵌入式CPU的測試。本文對該標準中覆蓋的測試參數、測試方法、測試要求等進行了分析,并提出了DSP內核頻率等關鍵的性能參數測試方法在實施過程中的注意事項和建議,為該標準的應用推廣提供借鑒參考。
參考文獻
魏曉云,陳杰,曾云.DSP技術的最新發展及其應用現狀[J].半導體技術,2003(9):18-21.
馬曉東,李冰琪,魏鵬,等.DSP技術發展與應用研究綜述[J].電子世界,2018(24):46-47.
BDTI.BDTI DSP Kernel Benchmarks?[EB/OL].(2023-01-29)[2023-02-02].https://www.bdti.com/services/bdti-dsp-kernelbenchmarks.
作者簡介
李秦華,本科,工程師,研究方向為集成電路測評及標準化。
李可,本科,工程師,研究方向為集成電路測評及標準化。
(責任編輯:張瑞洋)