• <strike id="aymay"></strike>
    <strike id="aymay"></strike>
    <ul id="aymay"><dfn id="aymay"></dfn></ul>
    <ul id="aymay"><sup id="aymay"></sup></ul>
  • <del id="aymay"></del>

    基于FPGA的軟硬件協同仿真加速技術講解

    2014-10-11 10:43 來源:電子信息網 作者:云際

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

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

    軟硬件協同加速仿真

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

    1

    圖1 設計驗證進程

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

    2

    圖2 設計例子框圖

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

    3

    圖3 加速仿真

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

    1 2 > 
    FPGA 仿真

    相關閱讀

    暫無數據

    一周熱門

    主站蜘蛛池模板: 国产精品日韩深夜福利久久| 国产精品无码v在线观看| 免费精品精品国产欧美在线欧美高清免费一级在线 | 国产精品1024在线永久免费| 欧美大片日韩精品| 亚洲福利精品一区二区三区| 日本一卡精品视频免费| 成人国产精品高清在线观看| 成人精品一区二区三区| 亚洲精品成人在线| 久久国产乱子伦精品免费强| 久久久WWW免费人成精品| 久久国产精品一国产精品金尊| 精品久久香蕉国产线看观看亚洲| 精品欧美一区二区在线观看 | 久久久久亚洲精品无码蜜桃| 777欧美午夜精品影院| 无码国产精品一区二区免费3p| 一本久久a久久精品综合夜夜 | 久久久不卡国产精品一区二区| 日韩精品专区AV无码| 久久久精品午夜免费不卡| 无码AⅤ精品一区二区三区| 国产乱码精品一区二区三区四川人| 免费看污污的网站欧美国产精品不卡在线观看| 久久久久人妻精品一区 | 国产亚洲精品国产| 无码国产乱人伦偷精品视频| 精品综合久久久久久88小说| 国产福利91精品一区二区| 亚洲日韩精品一区二区三区无码| 99久久夜色精品国产网站| 国产精品无码A∨精品影院| 网友偷拍日韩精品| 国产精品无打码在线播放| 91麻豆精品国产| 亚洲αv在线精品糸列| 四虎永久在线精品免费一区二区| 亚洲精品电影网| 久久综合九色综合精品| 国产精品视频久久久|