當(dāng)一家公司決定研發(fā)一款芯片時(shí),起初架構(gòu)師和幾位頂層設(shè)計(jì)一起創(chuàng)建一些需求、規(guī)范文檔。
例如各種寄存器、接口、使用手冊等等。不管文檔是否清晰規(guī)范,這些文檔就是各個(gè)模塊設(shè)計(jì)的起點(diǎn)。模塊設(shè)計(jì)拿著這些起始的需求規(guī)格文件,使用RTL建模實(shí)現(xiàn)預(yù)期的功能。
當(dāng)然,實(shí)際的項(xiàng)目進(jìn)程一般不會這么直接,很多東西存在變化和迭代。例如需求的變化、上下游模塊接口的變化,甚至整個(gè)芯片的架構(gòu)變化等等。
功能驗(yàn)證過程也和設(shè)計(jì)一樣,伴隨著各種變化。因?yàn)轵?yàn)證就是設(shè)計(jì)的另一雙眼睛,和設(shè)計(jì)具有同樣一個(gè)需求起點(diǎn)(理論上)。
很多時(shí)候,設(shè)計(jì)會比驗(yàn)證更早地接觸需求,但是有責(zé)任的驗(yàn)證需要通過各類檢視活動從設(shè)計(jì)規(guī)格中追溯到原始需求,然后再將原始需求作為驗(yàn)證起點(diǎn)。
簡單來說,設(shè)計(jì)工程師需要實(shí)現(xiàn)預(yù)期的需求(功能、性能、安全性、可靠性等等), 驗(yàn)證工程師需要確保設(shè)計(jì)正確地完成了這項(xiàng)工作。
驗(yàn)證工程師可以說是設(shè)計(jì)的第二雙眼睛,理論上兩個(gè)人可以比一個(gè)人看得更加清楚。(但是不排除1+1<2的情況)。
驗(yàn)證工程師和設(shè)計(jì)工程師并行地開發(fā)需求的模型(設(shè)計(jì)開發(fā)RTL模型,驗(yàn)證開發(fā)參考模型和checker)。如果實(shí)現(xiàn)了真正的并行獨(dú)立開發(fā),那出錯(cuò)的概率就很小了,但是很多時(shí)候驗(yàn)證模型為了和設(shè)計(jì)RTL模型比對,就會削弱獨(dú)立性,導(dǎo)致驗(yàn)證模型和設(shè)計(jì)RTL模型錯(cuò)成一樣。
驗(yàn)證工程師和設(shè)計(jì)工程師,哪個(gè)看得更加清楚,因人而異,和職業(yè)本身沒有絕對的關(guān)系。
有時(shí)設(shè)計(jì)會驗(yàn)證自己的設(shè)計(jì),甚至選擇放棄第2雙眼睛(不需要驗(yàn)證)。例如,需求要求實(shí)現(xiàn)2+2=4,但是設(shè)計(jì)理解成2+2=5,并將硬件實(shí)現(xiàn)為2+2=5。然后,設(shè)計(jì)自我驗(yàn)證的參考模型預(yù)期依然是2+2=5。這個(gè)時(shí)候就需要第2雙眼睛的方法,另外引入一個(gè)驗(yàn)證工程師獨(dú)立地理解需求,再次理解成2+2=5的概率就很小的,很大概率可以發(fā)現(xiàn)這個(gè)設(shè)計(jì)的bug。
真實(shí)的芯片項(xiàng)目中,會有多個(gè)層級的驗(yàn)證,模塊級別EDA、系統(tǒng)級EDA、加速器和FPGA等等。所有人都錯(cuò)的概率幾乎為零。
真實(shí)項(xiàng)目中的bug來源千奇百怪,可能來自代碼編寫錯(cuò)誤、可能來自需求本身不合理無法實(shí)現(xiàn)、可能是系統(tǒng)配合等等原因,甚至可能是工具的bug導(dǎo)致芯片的bug。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618496 -
加速器
+關(guān)注
關(guān)注
2文章
827瀏覽量
39121 -
RTL
+關(guān)注
關(guān)注
1文章
389瀏覽量
61123 -
EDA設(shè)計(jì)
+關(guān)注
關(guān)注
1文章
47瀏覽量
13878
原文標(biāo)題:驗(yàn)證是設(shè)計(jì)的另一雙眼睛
文章出處:【微信號:芯片驗(yàn)證工程師,微信公眾號:芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
隨機(jī)化在PCIe IDE驗(yàn)證中的重要性

揭秘PCB阻抗在高速信號傳輸中的重要性
電橋在電子測試中的重要性
PCB板元器件點(diǎn)膠加固的重要性

評論