国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

            關注千鋒學習站小程序
            隨時隨地免費學習課程

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

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

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

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

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

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

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


            自動生成C測試

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

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

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

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

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

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

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

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

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

            結論

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

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

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

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

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

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

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

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

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

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

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

            2023-12-12 06:35:55