黑盒驗(yàn)證、白盒驗(yàn)證和灰盒驗(yàn)證有什么區(qū)別?
時(shí)間:2021-11-11 14:52:41
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]黑盒驗(yàn)證:?大多數(shù)基于仿真的驗(yàn)證環(huán)境都是黑盒驗(yàn)證。驗(yàn)證工程師學(xué)習(xí)設(shè)計(jì)的規(guī)格,然后編寫驗(yàn)證環(huán)境中的drivers,monitors,checkers,和scoreboard。整個(gè)過程中,驗(yàn)證工程師對(duì)設(shè)計(jì)的內(nèi)部實(shí)現(xiàn)知之甚少。黑盒驗(yàn)證有利也有弊。有利的一方面是,DUT內(nèi)部的結(jié)構(gòu)變化對(duì)驗(yàn)...
黑盒驗(yàn)證:?
大多數(shù)基于仿真的驗(yàn)證環(huán)境都是黑盒驗(yàn)證。驗(yàn)證工程師學(xué)習(xí)設(shè)計(jì)的規(guī)格,然后編寫驗(yàn)證環(huán)境中的 drivers, monitors, checkers,和scoreboard。整個(gè)過程中,驗(yàn)證工程師對(duì)設(shè)計(jì)的內(nèi)部實(shí)現(xiàn)知之甚少 。
黑盒驗(yàn)證有利也有弊。有利的一方面是,DUT內(nèi)部的結(jié)構(gòu)變化對(duì)驗(yàn)證環(huán)境影響很小,比如設(shè)計(jì)內(nèi)部增加打拍邏輯對(duì)驗(yàn)證幾乎沒有影響,設(shè)計(jì)和驗(yàn)證相對(duì)比較獨(dú)立。?
白盒驗(yàn)證:和黑盒驗(yàn)證的優(yōu)缺點(diǎn)正好相反,白盒驗(yàn)證需要驗(yàn)證工程師充分理解DUT的內(nèi)部結(jié)構(gòu)。驗(yàn)證工程師可以觀察設(shè)計(jì)內(nèi)部信號(hào),預(yù)測(cè)內(nèi)部FIFO、流水線、狀態(tài)機(jī)等微架構(gòu)行為,并添加相應(yīng)的檢查。也就是說,白盒驗(yàn)證常常能夠在設(shè)計(jì)源頭上發(fā)現(xiàn)bug,而不用等到bug已經(jīng)體現(xiàn)到了接口上。?白盒驗(yàn)證和設(shè)計(jì)微結(jié)構(gòu)緊密聯(lián)系在一起,僅僅是設(shè)計(jì)內(nèi)部信號(hào)名的修改,驗(yàn)證環(huán)境也要同步修改,維護(hù)成本比較高。因此,我們應(yīng)該只在低層次等級(jí)上進(jìn)行白盒驗(yàn)證,盡量對(duì)微架構(gòu)有足夠的了解,但是也不要被設(shè)計(jì)的verilog代碼所引導(dǎo)。?灰盒驗(yàn)證:灰盒驗(yàn)證介于白盒驗(yàn)證和黑盒驗(yàn)證之間,這個(gè)“灰”也可以理解為灰度吧,每個(gè)驗(yàn)證工程師所負(fù)責(zé)的模塊是應(yīng)該更黑一點(diǎn)還是更白一點(diǎn),這也是無法考究的。?灰盒驗(yàn)證存在的另一個(gè)原因是作為黑盒驗(yàn)證的助手,對(duì)于cache這樣的設(shè)計(jì),我們無法從端到端實(shí)時(shí)預(yù)測(cè)輸出結(jié)果,這時(shí)候就需要借助一些設(shè)計(jì)內(nèi)部信號(hào)。當(dāng)然,需要強(qiáng)調(diào)的是,這個(gè)內(nèi)部信號(hào)需要經(jīng)過充分的驗(yàn)證和檢視確認(rèn)。???
大多數(shù)基于仿真的驗(yàn)證環(huán)境都是黑盒驗(yàn)證。驗(yàn)證工程師學(xué)習(xí)設(shè)計(jì)的規(guī)格,然后編寫驗(yàn)證環(huán)境中的 drivers, monitors, checkers,和scoreboard。整個(gè)過程中,驗(yàn)證工程師對(duì)設(shè)計(jì)的內(nèi)部實(shí)現(xiàn)知之甚少 。
黑盒驗(yàn)證有利也有弊。有利的一方面是,DUT內(nèi)部的結(jié)構(gòu)變化對(duì)驗(yàn)證環(huán)境影響很小,比如設(shè)計(jì)內(nèi)部增加打拍邏輯對(duì)驗(yàn)證幾乎沒有影響,設(shè)計(jì)和驗(yàn)證相對(duì)比較獨(dú)立。?
白盒驗(yàn)證:和黑盒驗(yàn)證的優(yōu)缺點(diǎn)正好相反,白盒驗(yàn)證需要驗(yàn)證工程師充分理解DUT的內(nèi)部結(jié)構(gòu)。驗(yàn)證工程師可以觀察設(shè)計(jì)內(nèi)部信號(hào),預(yù)測(cè)內(nèi)部FIFO、流水線、狀態(tài)機(jī)等微架構(gòu)行為,并添加相應(yīng)的檢查。也就是說,白盒驗(yàn)證常常能夠在設(shè)計(jì)源頭上發(fā)現(xiàn)bug,而不用等到bug已經(jīng)體現(xiàn)到了接口上。?白盒驗(yàn)證和設(shè)計(jì)微結(jié)構(gòu)緊密聯(lián)系在一起,僅僅是設(shè)計(jì)內(nèi)部信號(hào)名的修改,驗(yàn)證環(huán)境也要同步修改,維護(hù)成本比較高。因此,我們應(yīng)該只在低層次等級(jí)上進(jìn)行白盒驗(yàn)證,盡量對(duì)微架構(gòu)有足夠的了解,但是也不要被設(shè)計(jì)的verilog代碼所引導(dǎo)。?灰盒驗(yàn)證:灰盒驗(yàn)證介于白盒驗(yàn)證和黑盒驗(yàn)證之間,這個(gè)“灰”也可以理解為灰度吧,每個(gè)驗(yàn)證工程師所負(fù)責(zé)的模塊是應(yīng)該更黑一點(diǎn)還是更白一點(diǎn),這也是無法考究的。?灰盒驗(yàn)證存在的另一個(gè)原因是作為黑盒驗(yàn)證的助手,對(duì)于cache這樣的設(shè)計(jì),我們無法從端到端實(shí)時(shí)預(yù)測(cè)輸出結(jié)果,這時(shí)候就需要借助一些設(shè)計(jì)內(nèi)部信號(hào)。當(dāng)然,需要強(qiáng)調(diào)的是,這個(gè)內(nèi)部信號(hào)需要經(jīng)過充分的驗(yàn)證和檢視確認(rèn)。???