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