chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用QuickPlay進行軟件定義的FPGA計算 最新的FPGA設計方法

PCB線路板打樣 ? 來源:LONG ? 2019-08-07 14:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)據(jù)中心設備制造商長期以來一直熱衷于利用FPGA可能實現(xiàn)的大規(guī)模并行性,以在高效的功率預算內實現(xiàn)與需求保持同步所需的處理性能和I/O帶寬。然而,傳統(tǒng)上,在FPGA中實現(xiàn)硬件計算平臺一直是一項復雜的挑戰(zhàn),需要設計人員處理一些最低級別的硬件實現(xiàn)。

盡管一些最新的FPGA設計方法結合了高級綜合(HLS)工具和軟件編程語言(如OpenCL,C和C ++)簡化了任務,并沒有消除對專業(yè)FPGA設計專業(yè)知識的需求。需要一種高級工作流程,允許軟件工程師將FPGA用作軟件定義的計算平臺,而無需硬件設計的痛苦。為滿足這一需求,此類工作流應該能夠:

從純軟件代碼創(chuàng)建功能硬件

合并現(xiàn)有硬件IP塊,如果

推斷并創(chuàng)建所有支持硬件(接口,控制,時鐘等)。

支持使用商用,現(xiàn)成的電路板和自定義平臺

通過構造確保生成的硬件正確,從而消除硬件調試

僅支持使用標準軟件調試工具調試功能塊

考慮一個包含兩個基本功能的軟件算法:將數(shù)據(jù)處理成一個函數(shù),然后發(fā)送到另一個函數(shù)進行進一步處理。從軟件的角度來看,這個實現(xiàn)就像調用Function1(),然后單獨調用Function2()一樣簡單,使用指向要處理的數(shù)據(jù)位置的指針。

使用QuickPlay進行軟件定義的FPGA計算 最新的FPGA設計方法

圖1對數(shù)據(jù)執(zhí)行的功能

實施此類在沒有正確的硬件抽象工具流程的基于FPGA的硬件平臺上的算法將要求軟件開發(fā)人員提出類似于圖2中的硬件設計(其中內核1和內核2各自相應)功能1和功能2的硬件實現(xiàn)。

使用QuickPlay進行軟件定義的FPGA計算 最新的FPGA設計方法

圖2使用雙功能算法的詳細硬件實現(xiàn)傳統(tǒng)的FPGA工具

硬件設計需要包括控制平面和數(shù)據(jù)平面。控制平面是執(zhí)行引擎,它生成時鐘和重置,管理系統(tǒng)啟動,編排數(shù)據(jù)平面操作,并執(zhí)行所有內務處理功能。數(shù)據(jù)平面實例化并連接處理元素,內核1和內核2,以及讀取數(shù)據(jù)和寫入處理數(shù)據(jù)所需的必要I/O接口。在圖2中所示的示例中,這些接口是以太網(wǎng)和PCI Express(PCIe)。

熟悉的挑戰(zhàn)

沒有特定硬件專業(yè)知識的軟件開發(fā)人員可以使用高級綜合工具(如 Vivado HLS )生成內核1和內核2,以編譯軟件函數(shù)Function1()和Function2( )用C或C ++編寫的VHDL或Verilog的FPGA硬件描述。但是,使用HLS工具無法生成設計的非算法元素,如接口,控制,時鐘和復位。需要硬件設計人員將其創(chuàng)建為自定義IP。獲取這些元素并連接它們的工作帶來了另一個挑戰(zhàn),因為某些元素可能不容易獲得,或者可能具有不同類型或大小的接口以及不同的時鐘要求,特定的啟動順序等等。

實施設計同樣面臨嚴峻挑戰(zhàn)。這些包括將設計映射到所選FPGA平臺的資源,生成適當?shù)募s束,并確認在FPGA硬件上進行邏輯綜合和實現(xiàn)后滿足這些約束。即使是經(jīng)驗豐富的硬件設計人員也可能需要數(shù)周才能在新的FPGA硬件上實現(xiàn)最簡單的設計。

新方法

PLDA集團是嵌入式電子系統(tǒng)和IP的開發(fā)商,它創(chuàng)建了QuickPlay,允許軟件開發(fā)人員完成這些任務,從而在FPGA硬件上部分或全部實現(xiàn)CPU的應用程序。在這種以軟件為中心的方法中,設計人員首先開發(fā)硬件引擎的C/C ++功能模型,然后使用標準C/C ++調試工具驗證功能模型。然后指定目標FPGA平臺和I/O接口(PCIe,以太網(wǎng),DDR,QDR等),最后編譯和構建硬件引擎。

為了使這個過程無縫工作,必須保證生成的硬件引擎與原始軟件模型的功能相同。這意味著模型必須是確定性的,因此它將產(chǎn)生與硬件相同的結果,無論硬件實現(xiàn)運行得多快。不幸的是,大多數(shù)并行系統(tǒng)遭受不確定性執(zhí)行。例如,多線程軟件執(zhí)行取決于CPU,OS,以及在同一主機上運行的非相關進程。多次運行相同的多線程程序可能會有不同的行為。

硬件中的這種非確定性需要在電子波形級別調試硬件引擎本身。這將破壞針對軟件開發(fā)人員的工具的目的,但QuickPlay的數(shù)據(jù)流模型保證了確定性執(zhí)行,而不管執(zhí)行引擎如何。該模型由并發(fā)功能組成,稱為內核,與流通道通信,這與軟件開發(fā)人員如何在白板上繪制應用程序相關聯(lián)。任何內核的內容都可以是任意的C/C ++代碼,第三方IP,甚至是HDL代碼。

QuickPlay設計流程非常簡單,如圖3所示。

使用QuickPlay進行軟件定義的FPGA計算 最新的FPGA設計方法

圖3QuickPlay編譯和執(zhí)行流程

仔細研究設計流程

第1階段:純軟件設計。 FPGA設計是通過在C中添加和連接內核,并使用開發(fā)軟件指定通信通道來創(chuàng)建的。 QuickPlay IDE提供了一個C/C ++庫和API來創(chuàng)建內核,流,流端口和內存端口,以及讀取和寫入流端口和內存端口。

第2階段:功能驗證確保軟件模型正常工作。該模型在桌面上編譯并使用測試程序執(zhí)行,該測試程序將數(shù)據(jù)發(fā)送到輸入,從而驗證輸出的正確性。

階段3:然后從軟件模型生成FPGA硬件。在此階段,使用簡單的下拉菜單選擇目標FPGA平臺和映射到設計輸入和輸出端口的物理接口。

階段4:系統(tǒng)執(zhí)行類似于功能驗證,除了FPGA設計在選定的FPGA板上運行,而主機應用程序仍在軟件中運行。實際數(shù)據(jù)可以流入和流出FPGA板。在此階段可以運行比在功能驗證期間更多的測試。

階段5:系統(tǒng)調試。即使在硬件中執(zhí)行功能后發(fā)現(xiàn)錯誤,也無需在硬件級別進行調試,因為QuickPlay可確保軟件模型與硬件實現(xiàn)之間的功能等效。軟件版本中也存在硬件版本中的任何錯誤。

階段6 :(可選)優(yōu)化。雖然QuickPlay構建的整個基礎架構在性能和利用率方面都非常高效,但設計的整體質量將取決于用戶創(chuàng)建的內核的質量。由于通用C代碼不會產(chǎn)生最有效的硬件實現(xiàn),因此軟件開發(fā)人員可以遵循一些技術和指南來大大提高HLS生成代碼的效率。進一步優(yōu)化也可以通過使用Vivado HLS或在HDL中重新編碼某些內核來完成。

摘要

這種簡單的方法為大量軟件工程師開放了基于FPGA的計算,他們現(xiàn)在可以使用熟悉的技術在軟件中進行建模,然后構建系統(tǒng)和硬件測試。目前還沒有其他工具采用這種方法,也沒有提供軟件工程師可以在源級別專門設計和調試的框架。

生成的硬件效率也使QuickPlay成為硬件工程師尋找的好工具通過讓QuickPlay處理平凡的硬件設計任務來節(jié)省數(shù)周或數(shù)月的設計工作,同時他們專注于真正的增值:處理內核。

QuickPlay的數(shù)據(jù)流計算模型使其成為理想的選擇大量的FPGA應用,無論是純CPU協(xié)同處理,CPU采集數(shù)據(jù)的預處理還是后處理,還是僅涉及不涉及CPU的系統(tǒng)(網(wǎng)絡,廣播,視覺,醫(yī)療等應用)無線,HPC等。)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1664

    文章

    22508

    瀏覽量

    639431
  • PCB打樣
    +關注

    關注

    17

    文章

    2982

    瀏覽量

    23683
  • 華強PCB
    +關注

    關注

    8

    文章

    1831

    瀏覽量

    29335
  • 華強pcb線路板打樣

    關注

    5

    文章

    14629

    瀏覽量

    44726
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于直方圖算法進行FPGA架構設計

    引言 直方圖統(tǒng)計在圖像增強和目標檢測領域有重要應用,比如直方圖均衡,梯度直方圖。直方圖的不同種類和統(tǒng)計方法請見之前的文章。本章就是用FPGA進行直方圖的計算,并且利用
    的頭像 發(fā)表于 12-10 16:37 ?3823次閱讀

    如何使用Verilog HDL進行FPGA設計

    FPGA設計流程是利用EDA開發(fā)軟件和編程工具對FPGA芯片進行開發(fā)的過程。FPGA的設計流程如上圖所示:包括設計
    發(fā)表于 04-04 10:29 ?3208次閱讀

    基于FPGA軟件定義無線電參考設計

    BeRadio,基于FPGA軟件定義無線電參考設計。 SDR通常是具有在固件和軟件定義的主要功能(模/解調,濾波等)的無線電,數(shù)字域
    發(fā)表于 07-04 10:09

    FPGA進行系統(tǒng)設計的Xilinx軟件使用方法

    Solution:在對FPGA設計進行最初步的系統(tǒng)規(guī)劃的時候,需要進行模塊劃分,模塊接口定義等工作。通常,我們只能在紙上進行設計。雖然在紙上
    發(fā)表于 06-07 08:21 ?1169次閱讀

    FPGA 開發(fā)經(jīng)驗與技巧—ORCAD 與 FPGA 軟件協(xié)同設計

    現(xiàn)在的很多 PCB 工具和 FPGA 開發(fā)軟件都有附帶的接口,可以相互轉換。將 PCB 設計軟件中的管腳轉換 成 FPGA 的約束文件,或者再 FP
    發(fā)表于 12-16 15:31 ?3次下載

    QuickPlay迅速構建基于 FPGA 的高效應用

    QuickPlay 的高級工作流程讓軟件開發(fā)人員迅速構建基于 FPGA 的高效應用。 隨著物聯(lián)網(wǎng)和大數(shù)據(jù)處理的崛起,人們對數(shù)據(jù)傳輸和處理的需求急劇增長,僅靠 CPU 再也不能滿足這一指數(shù)級增長需求
    發(fā)表于 01-13 11:50 ?773次閱讀

    基于軟件測試技術的FPGA測試研究[圖]

    針對FPGA的特點進行改進,形成了一套實用的FPGA測試方法。 現(xiàn)場可編程門陣列(FPGA)的出現(xiàn)大大壓縮了電子產(chǎn)品研發(fā)的周期和成本,由于
    發(fā)表于 01-19 22:34 ?3466次閱讀

    FPGA通過開發(fā)軟件和編程工具來對芯片進行開發(fā)

    FPGA的設計流程就是利用EDA開發(fā)軟件和編程工具對FPGA芯片進行開發(fā)的過程。FPGA的開發(fā)流程一般如下圖所示,包括功能
    發(fā)表于 10-15 11:25 ?4019次閱讀

    FPGA_ASIC-DSP和FPGA共用FLASH進行配置的方法

    FPGA_ASIC-DSP和FPGA共用FLASH進行配置的方法(哪些專業(yè)適合嵌入式開發(fā))-該文檔為FPGA_ASIC-DSP和
    發(fā)表于 07-30 11:16 ?22次下載
    <b class='flag-5'>FPGA</b>_ASIC-DSP和<b class='flag-5'>FPGA</b>共用FLASH<b class='flag-5'>進行</b>配置的<b class='flag-5'>方法</b>

    來自Digilent設計大賽的FPGA上的軟件定義無線電

    電子發(fā)燒友網(wǎng)站提供《來自Digilent設計大賽的FPGA上的軟件定義無線電.zip》資料免費下載
    發(fā)表于 11-23 09:59 ?2次下載
    來自Digilent設計大賽的<b class='flag-5'>FPGA</b>上的<b class='flag-5'>軟件</b><b class='flag-5'>定義</b>無線電

    使用Zynq平臺進行嵌入式軟件FPGA設計時有哪些挑戰(zhàn)

    本文介紹了在AMD Xilinx Zynq平臺上實現(xiàn)嵌入式軟件FPGA設計的集成工作流程,使用Simulink進行Zynq模型設計,以及使用HDL協(xié)同仿真和FPGA-in-Loop
    的頭像 發(fā)表于 08-21 09:46 ?1639次閱讀

    為什么對FPGA軟件進行測評?

    FPGA軟件包含進行設計而產(chǎn)生的程序、文檔和數(shù)據(jù),同時包含與之相關的軟件特性和硬件特性。FPGA軟件
    發(fā)表于 03-06 11:39 ?1634次閱讀

    fpga軟件是什么意思

    FPGA軟件通常指的是用于編程、配置和管理FPGA(現(xiàn)場可編程門陣列)芯片的工具和應用程序的集合。FPGA是一種可編程的集成電路,它允許用戶通過編程來改變其硬件功能,以滿足各種不同的應
    的頭像 發(fā)表于 03-15 14:28 ?2765次閱讀

    FPGA門數(shù)的計算方法

    我們在比較FPGA的芯片參數(shù)時經(jīng)常說某一款FPGA是多少萬門的,也有的說其有多少個LE,那么二者之間有何關系呢? FPGA等效門數(shù)的計算方法有兩種,一是把
    的頭像 發(fā)表于 11-11 09:45 ?2019次閱讀
    <b class='flag-5'>FPGA</b>門數(shù)的<b class='flag-5'>計算方法</b>

    使用Python/MyHDL創(chuàng)建自定義FPGA IP

    使用 Python/MyHDL 創(chuàng)建自定義 FPGA IP,與 Vivado 集成,并通過 PYNQ 進行控制——實現(xiàn)軟件上的簡單硬件設計。
    的頭像 發(fā)表于 04-09 09:53 ?266次閱讀
    使用Python/MyHDL創(chuàng)建自<b class='flag-5'>定義</b><b class='flag-5'>FPGA</b> IP