一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當前位置:首頁  >  技術(shù)干貨  > 嵌入式開發(fā):嵌入式系統(tǒng)驗證的自動化C測試用例

嵌入式開發(fā):嵌入式系統(tǒng)驗證的自動化C測試用例

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-12-12 02:42:35 1702320155

隨著片上系統(tǒng)(SoC)設(shè)計向更大的復(fù)雜性進軍,包含數(shù)千行系統(tǒng)級驗證代碼的測試套件仍在繼續(xù)手工編寫,這是一種古老而低效的做法,違背了“盡可能自動化”的格言。在嵌入式開發(fā)中,對于在SoC的嵌入式處理器上運行以在制造之前驗證整個器件的C測試來說尤其如此。

在可能的情況下,自動化驗證測試組合已被證明可以提高SoC開發(fā)的許多階段的生產(chǎn)率。例如,在通用驗證方法(UVM)測試臺中,約束隨機技術(shù)利用針對特定場景的隨機測試向量來增加覆蓋率。雖然這些提高了硬件模塊級的驗證效率,但設(shè)計仍被視為一個黑盒,激勵、檢查和覆蓋代碼分別編寫,對于大型模塊而言,這仍是一項繁重且容易出錯的任務(wù)。

考慮到需要將處理器測試代碼與I/O事務(wù)結(jié)合起來,通常在仿真器或原型系統(tǒng)上執(zhí)行,很難將這種方法擴展到系統(tǒng)級。為了正確驗證SoC,必須對處理器本身進行測試。UVM和其他約束隨機方法不考慮處理器上運行的代碼。事實上,為了在SoC上使用UVM,處理器通常被移除,并被SoC總線上的虛擬輸入和輸出所取代,從而允許子系統(tǒng)減去處理器進行驗證。

SoC驗證工程師認識到了受限隨機測試平臺的局限性,促使他們手寫C測試以在處理器上運行模擬和硬件仿真,即使他們在充分運用SoC設(shè)計方面受到限制。這些驗證平臺的性能不足以運行完整的操作系統(tǒng)(OS),因此這些測試執(zhí)行“裸機”,這大大增加了合成工作的開銷。在嵌入式開發(fā)中,手寫測試,尤其是在沒有操作系統(tǒng)服務(wù)幫助的情況下,在利用多線程的多核處理器上以協(xié)調(diào)的方式運行是不常見的。結(jié)果是SoC行為的各個方面,例如并發(fā)操作和一致性,得到了最低限度的驗證。


自動生成C測試

當然,自動生成的C測試會更有效地利用工程資源。它們也增加了覆蓋面。與手寫測試相比,生成的C測試用例可以測試更多的SoC功能,并且可以找出難以想象的復(fù)雜的極限情況。多線程、多處理器測試用例可以測試設(shè)計中的所有并行路徑,以驗證并發(fā)性。它們可以在內(nèi)存段之間移動數(shù)據(jù)以強調(diào)一致性算法,并在數(shù)據(jù)應(yīng)該發(fā)送到芯片的輸入或從其輸出讀取時與I/O事務(wù)協(xié)調(diào)。這樣做的總體效果是增加系統(tǒng)功能覆蓋率,通常高于90%,而數(shù)字通常要低得多。

測試生成軟件,被稱為測試套件合成,使用一個易于理解的、基于圖形的場景模型來捕獲預(yù)期的設(shè)計行為。這些模型可以使用Accellera可移植刺激標準使用本地C++編寫或可視化描述。場景模型由設(shè)計或驗證工程師創(chuàng)建,作為SoC開發(fā)的自然部分,因為它們類似于傳統(tǒng)的芯片數(shù)據(jù)流圖,可以在白板上繪制以解釋部分設(shè)計規(guī)范。

這些模型本質(zhì)上包括激勵、檢查、覆蓋細節(jié)和調(diào)試信息,為生成器提供了生成高質(zhì)量、自檢C測試用例所需的一切,這些測試用例強調(diào)了設(shè)計的每個方面。在嵌入式開發(fā)中,因為它們是分層的和模塊化的,所以在模塊級開發(fā)的任何測試都可以作為完整SoC模型的一部分完全重用,并且可以很容易地與不同的團隊和跨項目共享。最后,合成工具可以分解單個意圖模型,以提供跨線程和I/O端口的并發(fā)測試,所有測試都同步在一起。

優(yōu)勢測試套件綜合

測試套件合成的一個顯著優(yōu)勢是能夠在意圖模型上預(yù)先定義覆蓋目標。一旦指定了意圖,該工具就可以對其進行分析,以了解可能產(chǎn)生的測試數(shù)量以及將要實現(xiàn)的功能意圖的覆蓋范圍。

對于SoC來說,這可能需要數(shù)千次測試。然后,可以通過約束要測試的意圖并將工具集中在關(guān)鍵領(lǐng)域來設(shè)置覆蓋目標。這種能力避免了傳統(tǒng)方法中出現(xiàn)的痛苦的迭代循環(huán),傳統(tǒng)方法是設(shè)置測試,運行驗證工具,理解實現(xiàn)的覆蓋范圍,然后一次又一次地重置測試。

在一個由著名半導(dǎo)體公司開發(fā)的大型SoC的典型項目中,驗證工程師將測試組合時間減少到以前需要手寫測試的20%。自動化技術(shù)產(chǎn)生了更嚴格的測試用例,覆蓋率從84%提高到97%。此外,這些型號便于攜帶。

在嵌入式開發(fā)中,單個模型可以為虛擬平臺、寄存器傳輸級(RTL)模擬、仿真、現(xiàn)場可編程門陣列(FPGA)原型或?qū)嶒炇抑姓谶M行硅后驗證的實際芯片生成測試用例。

調(diào)試是工程師的另一個時間陷阱,尤其是在SoC層面。如果一個測試用例發(fā)現(xiàn)了一個潛伏的設(shè)計錯誤,驗證工程師必須了解是哪個測試觸發(fā)了這個錯誤,從而追蹤到它的來源。測試用例失敗可能是由于場景模型中的一個錯誤,因此必須能夠?qū)y試用例與捕獲設(shè)計意圖的圖相關(guān)聯(lián)。這個過程創(chuàng)建了高度模塊化和自包含的測試,這些測試很容易被分解,這樣就很容易看到為發(fā)現(xiàn)bug而執(zhí)行的測試。

結(jié)論

就像約束隨機測試平臺消除了塊驗證的人工工作一樣,基于嵌入式處理器的SOC的綜合測試內(nèi)容已被證明可以減少系統(tǒng)級驗證工作。此外,在嵌入式開發(fā)中,該解決方案目前正在塊級應(yīng)用,并用于芯片后驗證。在這個例子中,自動化C測試用例應(yīng)用了“盡可能自動化”的格言,顯著地提高了覆蓋率,同時縮短了驗證計劃。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
嵌入式培訓(xùn)課程:探索技術(shù)的無限可能

近年來,嵌入式系統(tǒng)的廣泛應(yīng)用已經(jīng)深刻改變了我們的生活方式。從智能手機到智能家居,從汽車到醫(yī)療設(shè)備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會不可或缺的...詳情>>

2023-12-12 11:02:35
嵌入式開發(fā):Linux網(wǎng)絡(luò)編程的探索與實踐

在當今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機、電視、汽車到醫(yī)療設(shè)備等。而在這些設(shè)備中,Linux網(wǎng)絡(luò)編程扮演著至...詳情>>

2023-12-12 09:55:55
Java游戲項目開發(fā):技術(shù)概覽與實踐

在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂的重要方式之一。隨著科技的不斷進步,游戲開發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門廣泛使用的編程語...詳情>>

2023-12-12 08:49:15
Web前端的基石:HTML

在數(shù)字化的時代,網(wǎng)頁設(shè)計已經(jīng)成為了一個重要的領(lǐng)域。而在這個領(lǐng)域中,HTML(HyperTextMarkupLanguage)無疑是最基礎(chǔ)、最重要的一環(huán)。它是構(gòu)建...詳情>>

2023-12-12 08:15:55
嵌入式開發(fā):內(nèi)存分配的方式

嵌入式系統(tǒng)開發(fā)中,內(nèi)存分配是一個至關(guān)重要的話題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

2023-12-12 06:35:55
快速通道