賀志容 張 祥
(武漢數(shù)字工程研究所 武漢 430205)
圖形處理器(Graphics Processing Unit,GPU),又稱顯示核心、視覺處理器、顯示芯片,是一種專門在個人電腦、工作站、游戲機和一些移動設(shè)備(如平板電腦、智能手機等)上做圖像和圖形相關(guān)運算工作的微處理器[1]。
本文研究的某型號圖形處理器采用CMOS 130nm工藝制造,集成度約為1000萬門;顯示接口為VGA/數(shù)字接口;支持8位、16位和32位色多種色彩模式,圖形模式下支持640×480、800×600、1024×768分辨率,最大分辨率1280×1024;支持ZOOM VIDEO視頻接口;支持雙通道雙屏顯示;支持色彩空間轉(zhuǎn)換(YUV-RGB);支持VGA/VESA標準;支持標準PCI協(xié)議讀寫;視頻數(shù)據(jù)采集存儲;支持2D圖形加速:BitBLT,ROP,256 3-0p;可以用作PCI顯卡的主處理芯片,完成操作系統(tǒng)界面顯示和基本圖形繪制及顯示,視頻采集回放等功能。其功結(jié)構(gòu)如圖1所示[2~3]。
圖1 GPU功能圖
主機總線接口模塊受到來自PCI總顯得讀寫操作,包括對寄存器的讀寫操作和對顯示存儲的讀寫操作,包括對寄存器的讀寫操作和對顯示存儲的讀寫操作,完成對寄存器的初始化后,基本圖形模式能夠正常輸出顯示。打開視頻采集寄存器后能夠?qū)崟r采集顯示視屏圖像窗口[4]。
正向設(shè)計GPU芯片,首先根據(jù)技術(shù)指標和功能說明進行RTL設(shè)計編寫,前端設(shè)計結(jié)束后分別進行模塊級和系統(tǒng)級仿真驗證,保證設(shè)計的準確性;然后進行FPGA原型驗證,后端設(shè)計、后仿真等。芯片測試則可以基于仿真過程文件,產(chǎn)生的測試向量覆蓋率高,功能針對性強,測試的可靠性和可控性高?;诜抡嫖募男酒瑴y試,也是芯片生產(chǎn)通用的測試方法[5]。
1)主機總線接口模塊
主機總線接口模塊要求主機可以通過PCI總線對GPU進行讀寫操作,讀寫時序滿足PCI協(xié)議要求。仿真時先對某些地址進行總線寫操作,再對這些地址進行總線讀操作,比對讀寫數(shù)據(jù),結(jié)果一致,主機總線接口功能正確[6]。整體電路仿真,功能覆蓋率達能到90%。
2)VGA寄存器模塊
VGA寄存器模塊按照地址列表來操作,結(jié)果能夠正常讀寫和顯示初始化。
3)視屏采集模塊
視頻采集模塊要求實現(xiàn)視屏實時采集回放功能,采用多硬件圖層設(shè)計。方針是模擬視頻輸入數(shù)據(jù)作為激勵,讀取顯示輸出數(shù)據(jù)并與理想顯示輸出數(shù)據(jù)進行自動比對,結(jié)果一致,視屏實時采集回放功能正確[7~8]。
4)顯示輸出模塊
顯示輸出模塊要求實現(xiàn)VGA和LVDS雙屏顯示,且通過寄存器可配置成拷貝模式和擴展模式。顯示分辨率要求支持到1280*1024,色彩模式支持16位色。方針是通過寄存器配置顯示模式,采集VGA接口和LVDS接口的數(shù)據(jù)和行場同步信號進行分析,與VESA標準的波形一致,顯示輸出功能正確[9~10]。
93000 集成電路測試系統(tǒng)是業(yè)界領(lǐng)先的測試系統(tǒng),該系統(tǒng)提供了強大的測試能力,支持數(shù)字、模擬、混合信號和SOC測試應(yīng)用。支持各類仿真設(shè)計文件到系統(tǒng)所能識別的圖形、時序文件轉(zhuǎn)化,是完成GPU測試的有效平臺[11]。
基于GPU正向設(shè)計得到的仿真文件,能夠充分針對GPU的內(nèi)部功能實現(xiàn)測試,從仿真文件(*.vcd)生成包括時序文件(tim),向量文件(binl)等V93000測試系統(tǒng)規(guī)定格式文件。如圖2所示為仿真圖形轉(zhuǎn)換示意圖[12]。
圖2 仿真圖形轉(zhuǎn)換示意圖
利用VCDTO93K工具完成測試圖形生成。文件轉(zhuǎn)化需要的過程文件有:
1)管腳定義文件(pin configure):用于給出芯片單pin或pin組的定義文件;
2)方向配置文件(direction configure):給出管腳或組的方向描述信息,包括I/O/IO;
3)控制配置文件(control configure):用于描述輸入輸出方向控制信號與被控制信號的一一對應(yīng)關(guān)系;
4)延時配置文件(delay configure):用于給出管腳或信號組的延遲信息,以周期的百分比形式給出。
基于仿真文件,以及上述四個相關(guān)文件(*.pin、*.dir、*.ctrl、*.delay)利用系統(tǒng)自帶命令,完成仿真文件到93000系統(tǒng)可用時序(timing)和圖形(pattern)文件的轉(zhuǎn)換。
通過仿真文件得到的圖形、時序文件,與芯片的實際時序存在延時造成的差異,需要通過后期調(diào)整適配,得到真實的芯片時序和圖形。
GPU的測試是基于93000測試系統(tǒng)開發(fā)的。測試程序的主要組成文件如表1。
表1 測試程序文件組成
利用仿真平臺,各關(guān)鍵電路模塊的仿真驗證結(jié)果如圖3~7所示[13]。
圖3 主機總線寫時序圖
圖4 主機總線讀時序圖
對GPU類芯片,顯示輸出模塊的像素時鐘信號(PXL_CLK)、行同步信號(HSYNC)、場同步信號(VSYNC)是重要的顯示性能參數(shù)。行同步信號的作用是選擇出顯示面板上有效行信號區(qū)間,場同步信號的作用是選擇出顯示面板上有效場信號區(qū)間,行場同步信號的共同作用,可選擇出顯示面板的有效視頻區(qū)間。像素時鐘頻率與顯示器的工作模式有關(guān),分辨率越高,像素時鐘信號的頻率也越高;數(shù)字信號在像素時鐘信號的作用下,按照一定的順序,傳輸?shù)斤@示面板中,使各電路按照一定的節(jié)拍協(xié)調(diào)地工作;且都是在像素時鐘的下降沿或上升沿到來時才對數(shù)字信號進行讀取,以確保讀取數(shù)據(jù)的正確性[14~15]。
圖5 VGA寄存器模塊仿真圖
圖6 視頻采集模塊仿真圖
圖7 顯示輸出模塊仿真圖
利用得到的仿真文件,在93000上完成轉(zhuǎn)換后,得到對應(yīng)的時序和的圖形文件,編制測試項目進行測試,測試波形圖如圖8~12所示。
圖8 PCI總線狀態(tài)測試時序圖(1)
除了常規(guī)參數(shù),如輸入電平(VILVIH),輸出電平(VOLVOH),漏電流(IILIIH)、電源電流(ICC),建立保持時間、傳輸延遲時間等,對GPU類芯片,數(shù)據(jù)手冊中對顯示輸出模塊的像素時鐘信號(PXL_CLK)、行同步信號(HSYNC)、場同步信號(VSYNC)信號規(guī)范值和實際測量值如表2所示,利用仿真文件轉(zhuǎn)換后的圖形文件,在93000測試系統(tǒng)下實際測到顯示輸出模塊信號結(jié)果也如表2所示。
表2 像素時鐘信號、行同步信號、場同步信號規(guī)范值與實測值
圖9 PCI總線狀態(tài)測試時序圖(2)
圖10 顯示輸出模塊像素時鐘測試波形圖
圖11 顯示輸出模塊行、場同步信號測試波形圖(1)
圖12 顯示輸出模塊行、場同步信號測試波形圖(2)
可以看出,GPU芯片在基于仿真文件的測試系統(tǒng)圖形控制下,正常運轉(zhuǎn),滿足了正常工作的所有條件,給出了理想的輸出。
通過電路仿真,結(jié)合測試機臺的時序、圖形轉(zhuǎn)換方法,實現(xiàn)GPU芯片功能測試,能夠很好地復現(xiàn)芯片的功能,提高芯片的測試質(zhì)量。