基于軟件測試技術(shù)的FPGA測試研究
摘 要: 基于對FPGA系統(tǒng)失效機(jī)理的深入分析, 提出了軟件測試技術(shù)在FPGA測試中的應(yīng)用, 并分析了其可行性; 通過對比FPGA與軟件系統(tǒng)的異同, 歸納出FPGA特有的測試要求,從而在軟件測試技術(shù)的基礎(chǔ)上針對FPGA的特點(diǎn)進(jìn)行改進(jìn), 形成了一套實(shí)用的FPGA測試方法。
關(guān)鍵詞: 現(xiàn)場可編程門陣列;軟件測試;硬件描述語言
現(xiàn)場可編程門陣列(FPGA)的出現(xiàn)大大壓縮了電子產(chǎn)品研發(fā)的周期和成本,由于FPGA器件具有高密度、低功耗、高速、高可靠性等優(yōu)點(diǎn),在航空、航天、通信、工業(yè)控制等方面得到了大量應(yīng)用。隨著FPGA應(yīng)用領(lǐng)域的擴(kuò)展以及重要性和復(fù)雜程度的提高,其可靠性問題變得越來越突出,因此對FPGA系統(tǒng)的測試需求變得尤為迫切。
目前FPGA測試技術(shù)的研究主要集中于對FPGA芯片資源的測試,通過編程覆蓋FPGA所有的邏輯資源[1,2]和連接資源[3],驗(yàn)證每個單元基本邏輯功能的正確性,而無法對電路的整體行為進(jìn)行有效的驗(yàn)證。硬件描述語言(HDL)是FPGA電路設(shè)計的主要實(shí)現(xiàn)方式,和軟件一樣,HDL也是人腦思維的邏輯產(chǎn)物,同樣存在著不希望或不可接受的人為錯誤。隨著設(shè)計復(fù)雜程度的提高,由HDL引入的缺陷成為影響FPGA可靠運(yùn)行的關(guān)鍵因素,對FPGA電路行為的測試成為提高系統(tǒng)質(zhì)量和可靠性的重要環(huán)節(jié)。
MIN Y.H.提出了在FPGA系統(tǒng)中進(jìn)行高層測試的必要性[4]。高層測試即任何高于門級的測試,考慮的是高層描述,如HDL、狀態(tài)圖、功能塊圖等,通過高層測試發(fā)現(xiàn)設(shè)計中的缺陷,并在系統(tǒng)的開發(fā)階段充分考慮測試需求,指導(dǎo)系統(tǒng)設(shè)計。以此為基礎(chǔ),先后提出了一系列具體的實(shí)施方法,如層次化的測試方法、基于電路功能或結(jié)構(gòu)的測試方法、基于模擬的測試方法等。
1 研究背景
1.1 軟件測試技術(shù)概述
在IEEE的軟件工程標(biāo)準(zhǔn)術(shù)語中,軟件測試定義為使用人工和自動手段來運(yùn)行或測試某個系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或找出預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。
&n