• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

FPGA設(shè)計(jì)與驗(yàn)證之間的思維沖突

2022/04/24
274
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

HDL是HardwareDescriptionLanguage(硬件描述語(yǔ)言)。設(shè)計(jì)FPGA時(shí),就是通過HDL來搭建底層硬件電路,最終實(shí)現(xiàn)不同功能的電路。即FPGA設(shè)計(jì)是設(shè)計(jì)一個(gè)完成某種需求的電路。

而對(duì)FPGA驗(yàn)證時(shí),是對(duì)FPGA硬件電路輸入各種數(shù)據(jù),經(jīng)過電路處理數(shù)據(jù)后,得到輸出數(shù)據(jù)與參考數(shù)據(jù)進(jìn)行比較。在這里,數(shù)據(jù)輸入、處理、輸出、比較的過程一般由PC機(jī)的CPU軟件模擬來完成。即FPGA驗(yàn)證是通過CPU模擬電路的數(shù)據(jù)輸入、處理、輸出、比較的過程,軟件模擬器設(shè)計(jì)的過程。

我們可以初略理解為:FPGA設(shè)計(jì)是電路設(shè)計(jì),F(xiàn)PGA驗(yàn)證是軟件設(shè)計(jì)。電路設(shè)計(jì)是基于時(shí)鐘脈沖的并行設(shè)計(jì),軟件設(shè)計(jì)是基于CPU指令集的串行設(shè)計(jì)。也就有了2種思維的沖突:硬件與軟件的思維沖突、并行與串行的思維沖突。

因?yàn)檫@種思維沖突,在FPGA驗(yàn)證初期編寫testbench仿真HDL代碼時(shí),就會(huì)遇到各種困惑和調(diào)試?yán)щy,這種初期FPGA驗(yàn)證手寫TB驗(yàn)證的方式效率極低,在量級(jí)大的代碼面前效果也不好,自然需要更好的方案。

 

SV的仿真調(diào)度機(jī)制能很好地解決這種沖突,它利用時(shí)間片time slot的思想,將硬件并行運(yùn)行的各個(gè)任務(wù)抽象為獨(dú)立運(yùn)行的線程,留給用戶上層的應(yīng)用接口來開發(fā)驗(yàn)證工作,再隨后,有了UVM等驗(yàn)證框架的加入,讓驗(yàn)證開發(fā)更便利和高效。整個(gè)過程的技術(shù)發(fā)展都被抽象后封裝,用戶不用關(guān)心,但同時(shí)帶來FPGA設(shè)計(jì)到驗(yàn)證入門和理解比較困難的問題。

 

如果我們能夠多一些去理解SV的仿真調(diào)度機(jī)制到UVM的抽象過程,就自然能夠很好的理解FPGA設(shè)計(jì)和仿真之間思維的沖突。

注: 原創(chuàng)不易,未經(jīng)作者本人授權(quán),禁止轉(zhuǎn)載,轉(zhuǎn)載必究。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

由點(diǎn)到面,串聯(lián)各技術(shù)思維方式和學(xué)習(xí)感悟,取長(zhǎng)補(bǔ)短,由一個(gè)技術(shù)開發(fā)者邁向一個(gè)系統(tǒng)設(shè)計(jì)開發(fā)者。