[導(dǎo)讀]如果面試官問你什么是功能驗證,功能驗證是在做什么,你可能怎么回答?這確實是一個可以上升到世界觀的程度了,我們每個人都有不同的觀點。并且,所有的觀點可能都是“正確的”。簡單地說,功能驗證需要構(gòu)建和運行一些軟件代碼,在被流片之前就確保DUT(通俗點說是,高大上的“芯片”)按照預(yù)期運行...
如果面試官問你什么是功能驗證,功能驗證是在做什么,你可能怎么回答?這確實是一個可以上升到世界觀的程度了,我們每個人都有不同的觀點。并且,所有的觀點可能都是“正確的”。
簡單地說,功能驗證需要構(gòu)建和運行一些軟件代碼,在被流片之前就確保DUT(通俗點說是,高大上的“芯片”)按照預(yù)期運行。這里的“預(yù)期”已經(jīng)超出了“功能”的范疇了,所以我覺得應(yīng)該稍微改變下描述的術(shù)語:
1、不應(yīng)該再稱之為“功能驗證”,只按照驗證平臺劃分。比如EDA驗證、FPGA驗證、硅后測試等等,在不同的平臺可以基于項目的需求和條件驗證不同的芯片特性,例如功能、性能、功耗、安全性、可測試性等等
2、DUT,可在驗證工程師心中可以視之為“DUE、Design Under Explore”。如果有時間的話,就去探索一些所測模塊相關(guān)的內(nèi)容,偶爾的驚喜便是給驗證工程師的獎勵了。當然了,大多數(shù)情況下,項目周期都很趕,驗證工程師就只是驗證工程師。
3、驗證的最終目標時候是什么?就是讓你的模塊驗證交付之后,你具有極大的信心、能夠拍拍胸脯保證這個模塊絕對沒有任何問題(當然,這僅限于自己這個驗證層次所能看到的范圍和內(nèi)容,很多時候只會關(guān)注功能以及嚴重降低性能的部分)。?在功能驗證的角度,如何能夠發(fā)現(xiàn)問題呢?一般情況下可以通過大范圍的隨機激勵、邊界場景、錯誤注入(至少需要保證芯片不會掛死) 以及構(gòu)造用例確保芯片的性能目標。另外,還需確保芯片中所有其他的特性、例如寄存器、中斷上報、安全保護等等就能夠按照預(yù)期工作。?不同的公司、不同的驗證工程師都有不同的驗證觀點,那么你所在的公司或者個人怎么看待功能驗證或者EDA驗證呢?流水線偶爾有個氣泡、仲裁偶爾會不公平你會關(guān)注么?你所在的公司會關(guān)注么?
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。