當你發(fā)現(xiàn)一個bug,該怎么和設計溝通?
時間:2021-11-12 14:16:55
手機看文章
掃描二維碼
隨時隨地手機看文章
[導讀]驗證工程師的任務是發(fā)現(xiàn)所有的設計bug。為此驗證工程師必須要理解設計,并且和設計進行密切地合作。?驗證工程師對于設計的理解分為兩次層次,規(guī)格級別(?specificationlevel?)和RTL實現(xiàn)級別(implementationlevel?)?規(guī)格級別規(guī)定了設計的整體功能。...
驗證工程師的任務是發(fā)現(xiàn)所有的設計bug。為此驗證工程師必須要理解設計,并且和設計進行密切地合作。?驗證工程師對于設計的理解分為兩次層次,規(guī)格級別(?specification level?)和RTL實現(xiàn)級別(implementation level?)?規(guī)格級別規(guī)定了設計的整體功能。它包括體系結(jié)構(gòu)、輸入和輸出以及性能要求。體系結(jié)構(gòu)是設計的主要規(guī)格,例如處理器的指令集、I/O的協(xié)議、性能要求和內(nèi)部存儲的大小等。規(guī)格一般有很好的文檔記錄。?實現(xiàn)級別就是設計的微架構(gòu),例如控制流、數(shù)據(jù)流、時鐘門控以及狀態(tài)機等。實施級別的文檔一般會比較缺失,這些信息主要來自RTL的設計者。如有必要,驗證工程師可以通過設計深刻地理解設計的實現(xiàn),這有利于驗證工程師針對內(nèi)部設計進行更高效的壓力測試(這也是驗證人員需要看RTL的原因,端到端的黑盒功能驗證往往是不充分的)。?考慮到驗證人員在仿真時發(fā)現(xiàn)問題,某些驗證工程師可能會說,“你的代碼有bug,請馬上修復?!边@可能會激怒設計人員,并影響下次配合。而且大多數(shù)時候可能并不是RTL設計的問題,而是驗證環(huán)境的checker誤報,或者輸入非法場景激勵導致的。?所以當發(fā)現(xiàn)仿真報錯時,我們應該這樣和設計溝通:“我發(fā)現(xiàn)一個很有意思的場景,balabala,你能幫忙看一下么 ?”