加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

FPGA設(shè)計與驗證之間的思維沖突

2022/04/24
386
閱讀需 3 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

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

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

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

 

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

 

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

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

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

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