乙個小白的數字IC驗證入門之路 簡單的驗證思想

2021-10-21 13:33:32 字數 940 閱讀 2895

如文章所敘述中,經歷了 簡單的驗證環境搭建, 和 模組化設計 後( 這些都是我在學校接觸的較少的 ),我開始跨進了這個門。

其實這些理解是歷經了多個專案後慢慢總結下來,而不是經歷了risc-cpu這個簡單的過程就認識到,但這裡先做簡單敘述,便於之後我講述時的分類。

本質

我們拋開驗證方法,工具,結果分析什麼的,回歸到最本質而言,數字ic前端驗證就是保證乙份rtl**的正確性。這個正確性是相對於spec(產品定義)而言的。我們先有乙份spec, 設計工程師a根據spec進行設計,驗證工程師b根據spec進行驗證,這樣會得出更加客觀的結果。

我在同時設計和驗證的過程中犯過錯,因為設計和驗證的思維是不太一樣的,考慮的東西不是特別一樣,甚至驗證會考慮更多。比如某個功能,為什麼設計工程師要這樣設計?如果我來設計會怎麼設計?

這裡我只詳述下驗證的感悟,就是驗證過程,要以spec為最理想參考,一般不要去質疑spec,實在不理解,與領導討論,切莫簡單地自我認為spec有錯誤。特別是對於小白而言。

流程組成

我覺得一次完整地驗證過程應該包括一下幾個部分:

1,對spec有完善的理解

2,製作乙份完整的驗證計畫(testplan)

3, 驗證( 看輸出結果, 列印中間值, 看波形,對比**模型, assertion判斷, 覆蓋率收集等等 )

4,製作乙份驗證報告

其中2,4的過程是枯燥但是特別重要的。對於我而言,早期工作的時候,常常覺得2,4這些枯燥無趣,更喜歡3的**工作,敲**,debug, 執行.

這其實取決於個人吧,現在我認為乙個好的驗證工程師,應該是能制訂乙份完整的testplan, 做出乙份詳盡的驗證報告的,需要縝密的思想,大局觀。

這些講述比較枯燥無趣,下次我舉個小例子,講講我理解下的testplan, 與驗證報告。

乙個小白的數字ic驗證入門之路–乙個簡單的驗證例子

乙個小白的數字IC驗證入門之路 狀態機

實習期間主要是做乙個risc cpu的設計和驗證。關於risc cpu,大家可以在網上找到挺多的資料。大概包含以下這些模組 1,算術邏輯運算部件 alu 2,累加器 3,程式計數器 4,指令暫存器,解碼器 5,時序和控制部件 大致上執行的過程呢,就是 程式計數器 做位址上的操作,跳轉乙個指定的位址,...

乙個前端小白的面試之路

第一次寫自己的部落格,居然是寫自己的職業,哈哈,算是一種緣分吧,只是想講講自己的面試之路 想來自己的第一次面試也不是自己的職業,而是做兼職,我還清晰的記得是去某飲料廠裝箱。那是在學校的貼吧裡面看見了招聘,想著反正寒假也沒啥事,就去試試,面試也沒什麼技術含量,當然,只是去當苦力的,手腳和心智健全就應該...

乙個VC愛好者的入門之路

乙個vc愛好者的入門之路 看到那些對vc不知從何下手而苦苦掙扎的朋友,希望我的學習之路能給他們一下借鑑。學vc並不是傳說的那麼難,可不下些功夫是學不成的。學程式設計急不得,沒有程式設計的基礎知識上來就學vc肯定碰一頭灰,說vc難就難在這點上了。如果硬上,意志堅強的話還能挺過來,但最後還得回頭來補習基...