RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

這4種CPU錯誤該如何找到,沒找到會有什么后果

eeDesigner ? 來源:物聯(lián)網(wǎng)評論 ? 作者:物聯(lián)網(wǎng)評論 ? 2022-04-29 15:28 ? 次閱讀

Codasip 驗證總監(jiān) Philippe Luc 分享了他對驗證工程師應(yīng)注意哪些錯誤的看法。

您是否知道在設(shè)計復(fù)雜的處理器內(nèi)核時可能會出現(xiàn) 1,000 到 2,000 個錯誤?真的,一千個蟲子?嗯,這就是經(jīng)驗告訴我們的。并非所有的錯誤都是生來平等的:它們的重要性和后果可能會有很大差異。讓我們來看看 4 類CPU 錯誤,如何找到它們,如果我們沒有找到它們會給用戶帶來什么后果。

類型 1:驗證工程師容易發(fā)現(xiàn)的處理器 BUG

“哦,我忘記了分號”。是的,這是一個錯誤。很容易檢測到,通常是您在編譯時直接發(fā)現(xiàn)的錯誤。除了睜大眼睛,沒有其他辦法可以避免這些.

“哦,原來規(guī)范的一部分沒有實現(xiàn)”。這是另一個容易找到的 CPU 錯誤,您可以通過任何體面的測試平臺找到 - 前提是存在顯式測試。在這種情況下,執(zhí)行該功能的第一個簡單測試將失敗。您的處理器驗證團(tuán)隊需要做什么?確保你有詳盡的測試。另一方面,設(shè)計團(tuán)隊需要努力仔細(xì)閱讀規(guī)范,并在開發(fā)過程中遵循規(guī)范中的任何更改。

換句話說,簡單的錯誤是通過運行一個測試該功能的測試來發(fā)現(xiàn)的。它的(壞)行為是系統(tǒng)性的,而不是時間條件。詳盡的驗證是找到此類 CPU 錯誤的關(guān)鍵。代碼覆蓋率會幫助你,但絕對不夠。如果 RTL 中沒有對某個特性進(jìn)行編碼,那么覆蓋率如何報告它缺失?代碼審查- 手頭有規(guī)范 - 絕對有幫助。

類型 2:驗證團(tuán)隊喜歡找到的極端案例

極端情況下的CPU 錯誤更難找到,需要強大的測試平臺。運行該功能的簡單測試用例正確通過,即使有隨機(jī)延遲。很多時候,當(dāng)異步事件加入聚會時,您會發(fā)現(xiàn)這些錯誤。例如,一個中斷恰好在 2 條指令之間以精確的時間到達(dá)。或者緩存中的一行在存儲緩沖區(qū)想要合并時被驅(qū)逐。要解決這些錯誤,您需要一個能夠兼顧指令、參數(shù)和延遲的測試平臺,以便執(zhí)行所有可能的指令和事件交錯。顯然,一個好的檢查者應(yīng)該發(fā)現(xiàn)任何與預(yù)期的偏差。

在這種情況下,代碼覆蓋率有幫助嗎?不幸的是沒有。僅僅因為錯誤的情況是已經(jīng)單獨涵蓋的幾個事件的組合。在這里,條件覆蓋分支覆蓋可能會有所幫助。但分析起來很痛苦,而且最終很少有好處。

動畫展示了 4 種 CPU 錯誤的演變過程

1. 測試臺發(fā)現(xiàn)了簡單的錯誤和一些極端情況。2.我們從這些極端案例中學(xué)習(xí),以改進(jìn)測試平臺并擴(kuò)大驗證范圍。這樣做,我們會發(fā)現(xiàn)隱藏的案例變成了極端案例(或簡單的錯誤)。3. 由于Bug“成群結(jié)隊”,我們可以根據(jù)最后發(fā)現(xiàn)的Bug進(jìn)一步擴(kuò)大我們的驗證范圍。當(dāng)我們遇到一個愚蠢的錯誤時,我們知道我們的測試已經(jīng)足夠遠(yuǎn)了。

類型 3:意外發(fā)現(xiàn)的隱藏 CPU 錯誤 - 或由客戶發(fā)現(xiàn)

隱藏的錯誤是由客戶發(fā)現(xiàn)的(這是不好的),或者是偶然發(fā)現(xiàn)的(在內(nèi)部,在發(fā)布之前)。在這兩種情況下,這意味著驗證方法無法找到它們。

如果您使用不同的測試臺或環(huán)境,您可能會因為刺激不同而找到其他案例。很公平。那么,我們所說的“偶然發(fā)現(xiàn)”是什么意思?這是隨機(jī)測試平臺方法的限制。

對于隨機(jī)刺激,測試平臺通常會生成“相同”的東西。如果你擲骰子得到一個隨機(jī)數(shù),那么連續(xù) 10 次得到數(shù)字 6 的機(jī)會很少。準(zhǔn)確地說,6000 萬分之一的機(jī)會。對于具有 100 條不同指令的RISC-V CPU,(等概率的)隨機(jī)指令生成器每 102? 次只有 1 次機(jī)會連續(xù)生成 10 次相同的指令。只是魔方不同位置數(shù)量的兩倍……在 10 級流水線處理器上,使用所有流水線級上存在的相同指令對其進(jìn)行測試并非不合理。如果你不調(diào)整你的隨機(jī)約束,祝你好運......

類型 4:現(xiàn)實生活中不會發(fā)生的愚蠢錯誤

您可能會過度尋找極端案例和隱藏案例,最終創(chuàng)建的測試太愚蠢了。

在連接調(diào)試器的同時在每個周期來回更改字節(jié)順序可能永遠(yuǎn)不會在消費產(chǎn)品上發(fā)生,如果 CPU 錯誤的后果對客戶來說永遠(yuǎn)不可見,那么它就不是真正的錯誤。如果您在復(fù)制文件時故意拔下 U 盤,而文件已損壞,我認(rèn)為這不是錯誤。如果某些操作導(dǎo)致 USB 控制器掛起,那么是的,這是一個錯誤。

謹(jǐn)防擴(kuò)大驗證范圍。當(dāng)發(fā)現(xiàn)愚蠢的案例時,您可能將工程工作投入到錯誤的地方。

您可以應(yīng)用不同的驗證技術(shù)在客戶之前有效地發(fā)現(xiàn) CPU 錯誤。在 Codasip,我們使用多個組件測試平臺、各種隨機(jī)測試生成器、隨機(jī)刺激器和其他幾種技術(shù)來驗證我們的產(chǎn)品。隨著項目的發(fā)展,我們開發(fā)了這些技術(shù)以擁有強大的驗證方法。在我們的博客文章中了解更多信息,其中我們解釋了我們?nèi)绾尾粩喔倪M(jìn)我們的驗證方法。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10854

    瀏覽量

    211574
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9123

    瀏覽量

    85322
  • 錯誤
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    17364
收藏 人收藏

    評論

    相關(guān)推薦

    找不到這個啊?在哪里能找到圖標(biāo)

    找不到這個圖標(biāo)到處也沒找到 求大師們知道小的一下
    發(fā)表于 04-23 21:37

    這是什么函數(shù),沒找到?

    請問高手們,這是什么函數(shù),沒找到?
    發(fā)表于 10-09 12:11

    請教各位大神,在proteus中繪制LM3409HV調(diào)光電路時,怎么找到LM3409HV這個芯片,找了好久沒找到

    請教各位大神,在proteus中繪制LM3409HV調(diào)光電路時,怎么找到LM3409HV這個芯片,找了好久沒找到
    發(fā)表于 07-11 21:03

    請教各位大神,在proteus中繪制LM3409HV調(diào)光電路時,怎么找到LM3409HV這個芯片,找了好久沒找到

    請教各位大神,在proteus中繪制LM3409HV調(diào)光電路時,怎么找到LM3409HV這個芯片,找了好久沒找到
    發(fā)表于 07-15 18:55

    求助,急,找了好多都沒找到!

    導(dǎo)入3D圖片控件時,導(dǎo)入的wrl格式的文件,但是我想改變這個wrl格式的文件屬性顏色,沒有找到,不知道是為什么,stl格式和ase格式的都可以改變顏色屬性,就是wrl沒找到,不知道哪位大神知道可以更改wrl格式的顏色屬性。下面是ase和stl格式更改顏色屬性的,太急了,求
    發(fā)表于 08-26 22:31

    Labview 測量I/O里面沒找到研華的信息?

    各位大神最近安裝了Labview2012和研華的采集卡PCI1716L驅(qū)動,同時安裝DAQNavi SDK 3.1版本。但是在函數(shù)面板-測量I/O里面沒找到研華的信息,這是什么問題??謝謝
    發(fā)表于 08-10 18:36

    請問在CCS3.3里,運行時有一個菜單“Animate”,CCS4.2里沒找到對應(yīng)的菜單是我沒找到還是沒有?

    在CCS3.3里,運行時有一個菜單“Animate”,設(shè)個斷點,可以連續(xù)運行到斷點,可以在CCS里看連續(xù)的波形。我在CCS4.2里沒找到對應(yīng)的菜單。請問高手,是我沒找到還是沒有,謝謝!
    發(fā)表于 07-30 08:46

    請問TMDSCNCD28035圖紙沒找到是在哪里

    我手里有TMDSCNCD28035 + TMDSHVMTRPFCKIT套件,TMDSHVMTRPFCKIT的圖紙在controlsuite里面有,TMDSCNCD28035沒找到,是否可以幫忙找一下,謝謝!
    發(fā)表于 09-11 11:21

    沒找到STM8S庫中的ABS(X)功能

    您好,我是STM8S用戶。我在stm8s代碼示例中找到了STM8S math.h,math.s但是我沒找到它,我想在math.h中使用ABS(X),ABS(X)嗎?以上來自于谷歌翻譯以下為原文
    發(fā)表于 01-15 15:30

    如何找到錯誤的符號?

    --------------------錯誤表明下面列出的信號有錯誤,我無法找到這些錯誤下列出的任何信號。如何
    發(fā)表于 06-27 09:08

    C6748沒找到它的CSL文件怎么辦?

    路過的大俠:小弟剛?cè)胧諧6748,準(zhǔn)備在上面開發(fā)應(yīng)用程序。但一直沒找到它的CSL文件,有沒有人有鏈接?。磕懿荒馨l(fā)一個,謝謝!
    發(fā)表于 08-11 08:17

    如何找到所需網(wǎng)站的IP地址以及如何找到IP地址的來源

    要跟蹤信號的來源,請使用類似的網(wǎng)站,網(wǎng)站會告訴您信號的來源,但是要找到公司和關(guān)于他們的其他事情也使用這個。
    的頭像 發(fā)表于 12-10 16:48 ?5940次閱讀
    如何<b class='flag-5'>找到</b>所需網(wǎng)站的IP地址以及如何<b class='flag-5'>找到</b>IP地址的來源

    如何找到燒壞電阻的值

    今天給大家分享一點簡單的:4方法,幫你找到燒壞電阻的值。
    的頭像 發(fā)表于 02-16 09:12 ?2225次閱讀

    如何快速找到PCB中的GND?

    如何快速找到PCB中的GND?
    的頭像 發(fā)表于 12-07 14:26 ?1365次閱讀
    如何快速<b class='flag-5'>找到</b>PCB中的GND?

    西門子博途中CPU錯誤的反應(yīng)

    如果CPU的操作系統(tǒng)檢測到錯誤,它會以O(shè)B調(diào)用的形式搜索適當(dāng)?shù)?b class='flag-5'>錯誤處理。如果找到了相應(yīng)的OB,則執(zhí)行OB并完成
    的頭像 發(fā)表于 12-11 17:12 ?954次閱讀
    西門子博途中<b class='flag-5'>CPU</b>對<b class='flag-5'>錯誤</b>的反應(yīng)
    RM新时代网站-首页