基于FPGA的軟硬件協(xié)同仿真加速技術(shù)講解

2014-10-11 10:43 來源:電子信息網(wǎng) 作者:云際

電源電路設(shè)計中,仿真技術(shù)是必不可少的一項工作,進(jìn)行仿真就需要設(shè)計工作師需要為設(shè)計項目建立一個測試平臺,從而提供可供觀測的輸出響應(yīng),根據(jù)這些輸出響應(yīng)信息,工程師便可以判斷設(shè)計項目是否滿足預(yù)期的功能。通常工程師一般先對各個功能模塊進(jìn)行仿真驗證,全部通過后再對整個系統(tǒng)設(shè)計進(jìn)行仿真。當(dāng)設(shè)計工程師在仿真中發(fā)現(xiàn)錯誤,就需要進(jìn)行仔細(xì)調(diào)試,找出錯誤發(fā)生的原因并加以修改。本文就將針對一種基于FPGA的軟硬件協(xié)同仿真加速技術(shù)進(jìn)行講解。

在針對復(fù)雜電路進(jìn)行軟件仿真時,系統(tǒng)的仿真時間往往需要占據(jù)大部分的設(shè)計時間。常常會為了仿真電路的某些功能,而不得不等上幾個小時甚至幾天。如何提高仿真效率,減少仿真復(fù)雜度,縮短仿真時間,將成為系統(tǒng)設(shè)計中的關(guān)鍵一環(huán).利用基于C語言的設(shè)計和驗證方法來代替?zhèn)鹘y(tǒng)的基于HDL語言設(shè)計的仿真,從而加快仿真速度,但是這種方法只適用設(shè)計的早期階段。為了方便而快速的實現(xiàn)仿真驗證,及時得到測試數(shù)據(jù),本文提出運用硬件加速的思想,采用硬件仿真平臺和軟件仿真平臺相互通信,即通過主機上運行的仿真軟件與硬件平臺相結(jié)合,實現(xiàn)軟硬件協(xié)同加速仿真,仿真速度可以提高30倍。

軟硬件協(xié)同加速仿真

在傳統(tǒng)的設(shè)計與驗證過程中,設(shè)計工程師首先將復(fù)雜的系統(tǒng)逐模塊的用硬件描述語言表述,待所有模塊在仿真器上單獨驗證通過后,通過模塊間整合進(jìn)行局部和整個設(shè)計的仿真,如圖1所示。

1

圖1 設(shè)計驗證進(jìn)程

假設(shè)模塊Master和模塊Slave是整個復(fù)雜設(shè)計中的一部分。模塊Master負(fù)責(zé)把輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,隨后把處理后數(shù)據(jù)發(fā)送到下一個模塊 Slave,Slave模塊完成一個功能復(fù)雜的算法運算,運算結(jié)束后把結(jié)果返回到模塊Master中,進(jìn)行下一步操作,設(shè)計框圖如圖2所示。

2

圖2 設(shè)計例子框圖

設(shè)計工程師在完成模塊Master和模塊Slave的HDL設(shè)計后,用HDL仿真器軟件分別對兩個模塊進(jìn)行仿真驗證,模塊Master的仿真時間花費了五分鐘,模塊Slave花費了十五分鐘,兩個模塊進(jìn)行聯(lián)合仿真花費了二十分鐘。如果設(shè)計不正確,則要對設(shè)計進(jìn)行重新修改和仿真直到驗證通過為止,重復(fù)的仿真工作將要花費幾天甚至幾星期。為了縮短仿真時間,本文提出利用硬件加速的思想,對設(shè)計進(jìn)行軟硬件協(xié)同加速仿真。模塊Master和模塊Slave的功能首先分別在軟件上仿真驗證通過,待模塊Slave經(jīng)綜合實現(xiàn)后,把模塊 Slave下載到硬件中,模塊Master仍然運行在軟件上,通過HDL仿真工具提供的外部接口實現(xiàn)軟硬件間的數(shù)據(jù)交互,進(jìn)行模塊Slave和模塊 Master的聯(lián)合仿真驗證,一旦仿真通過,把模塊Master和模塊Slave都放入硬件中進(jìn)行加速仿真驗證,這時兩個模塊的聯(lián)合仿真時間將大大縮短。

3

圖3 加速仿真

加速仿真技術(shù)實現(xiàn)框圖如圖3所示。DUT(Design Under Test)由可綜合的Verilog HDL語言設(shè)計完成。DUT綜合實現(xiàn)后,下載到現(xiàn)場可編程門陣列(FPGA:Field Programmable Gate Array)中進(jìn)行加速仿真驗證。運行在HDL 仿真器上的測試文件TestBench給DUT發(fā)送測試激勵并響應(yīng)輸出信息,F(xiàn)PGA與HDL仿真器間的信息交換由仿真器提供的Verilog 編程語言接口(PLI:Programming Language Interface)來實現(xiàn)。Verilog PLI為Verilog代碼調(diào)用C語言編寫的函數(shù)提供了一種機制,它提供了C語言動態(tài)鏈接程序與仿真器的接口,可以實現(xiàn)C語言和Verilog語言的協(xié)同仿真。由于C語言在過程控制方面比Verilog語言有優(yōu)勢,可以用C程序來產(chǎn)生測試激勵和讀取信號的值。以Windows平臺為例,用戶通過運用C語言和Verilog PLI編寫接口函數(shù),編譯代碼并生成動態(tài)鏈接庫(DLL:Dynamic Link Library),然后在由Verilog語言編寫的TestBench中調(diào)用這些函數(shù)。在執(zhí)行TestBench文件進(jìn)行仿真時,TestBench中的C函數(shù)一旦鏈接成功,C函數(shù)將詳細(xì)信息傳遞給HDL仿真器,執(zhí)行C函數(shù)就可以像仿真Verilog代碼一樣進(jìn)行仿真。這樣,設(shè)計工程師利用 Verilog PLI接口創(chuàng)建自己的系統(tǒng)調(diào)用任務(wù)和系統(tǒng)函數(shù),就可以通過C語言編程對DUT進(jìn)行輔助仿真,達(dá)到Verilog語法所不能實現(xiàn)的功能。

1 2 > 
FPGA 仿真

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門

  • 江波龍存儲出海:賦能巴西高端封測,服務(wù)美洲市場
    江波龍完成對巴西SMART Modular公司的股權(quán)收購,持有81%的股份,并更名為Zilia(智憶巴西)。為何江波龍做
  • SAE 2024 低空飛行器與城市智慧立體交通國際學(xué)術(shù)會議在杭州召開
    9月6-7日,第二屆SAE 2024低空飛行器與城市智慧立體交通國際學(xué)術(shù)會議在杭州舉行,吸引了來自國內(nèi)外低空飛行器、航空
  • 大華股份鴻鵠智能物聯(lián)主機 賦能萬千場景數(shù)視升級
    作為全球首款采用全國產(chǎn)化硬件鴻蒙系統(tǒng)物聯(lián)主機,大華鴻鵠主機采用寬溫設(shè)計,雙板雙控,具備4000+海量協(xié)議和22Tops超