在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

典型的FPGA方法:如何開始使用Digilent的開發板

YCqV_FPGA_EETre ? 來源:lq ? 2019-04-30 16:42 ? 次閱讀

過去,設計人員傾向于使用現場可編程門陣列 (FPGA) 在硬件設計中提升計算密集型應用的性能,例如計算機視覺通信、工業嵌入式系統,以及越來越多的物聯網 (IoT)。然而,傳統 FPGA 編程中涉及的繁瑣步驟一直讓人望而卻步,促使設計人員到目前都還在尋求替代處理解決方案。

基于 Jupyter 筆記本的 Python Productivity for Zynq (PYNQ) 開發環境的問世,解決了 FPGA 的可編程性問題。使用專為支持 PYNQ 而設計的開發板,即使 FPGA 經驗很少的開發人員也可快速實現相關設計,從而充分利用 FPGA 性能來加快計算密集型應用。

本文將說明典型的 FPGA 方法,然后介紹并演示如何開始使用 Digilent 的開發板。該開發板為快速開發基于 FPGA 的系統提供了一種強大的開源替代方法。

為何使用 FPGA?

若需要使用計算密集型復雜算法工程師常常依賴 FPGA 提高執行速度,同時又不影響緊張的功率預算。實際上,FPGA 已成為在邊緣計算系統中提高人工智能算法速度的主流平臺。

更先進的 FPGA 片上系統 (SoC) 器件專為嵌入式應用而設計,將可編程邏輯 (PL) 結構與微控制器集成在一起。例如,Xilinx 的 Zynq-7000 SoC 在集成式可編程邏輯 (PL) 結構中結合了一個 Arm? Cortex?-A9 雙核處理器系統,以及最多 444,000 個邏輯單元(圖 1)。除了內置處理器和全套外設外,Zynq SoC 還提供最多 2,020 個數字信號處理 (DSP) 塊(或稱切片)。開發人員使用這些資源,便可將 PL 結構配置到專用的處理鏈中,以便在復雜的計算密集型算法中提高吞吐量。

圖 1:Xilinx 的 Zynq-7000 SoC 結合了 Arm Cortex-A9 雙核處理器、可編程邏輯結構,以及很多嵌入式應用中所需的全套外設和接口。(圖片來源:Xilinx)

除了可減少元器件數量外,處理器與 PL 結構的集成還允許通過片上總線而不是片外訪問來執行運算。這種集成也進一步簡化了在上電或復位序列期間,加載 PL 結構的關鍵任務。

在使用 FPGA 構建的基于微控制器的典型系統中,開發人員需要管理用于加載 FPGA 編程比特流的序列和安全性。在 Zynq SoC 中,集成的處理器負責執行常規微控制器的任務,包括管理 PL 結構和其他片上外設。因此,與傳統的 FPGA 比特流初始化相比,該 FPGA 加載過程更接近于常規微控制器的引導過程。

該引導過程通過由其中一個 Zynq 處理器管理的短步驟序列完成(圖 2)。上電或復位時,如果 Zynq 處理器執行其只讀 BootROM 中的一小段代碼,以從引導設備獲取實際引導代碼,則引導過程開始。除了用于配置處理器系統組件的代碼外,引導代碼還包含 PL 比特流以及用戶應用。當引導代碼加載完成時,處理器使用其中包含的比特流來配置 PL。而完成組件和 PL 的配置后,該器件開始執行引導代碼中包含的應用。

圖 2:在類似于常規微控制器的引導序列中,Xilinx 的 Zynq-7000 SoC 運行 Boot ROM 中的代碼來加載和執行引導加載程序,該加載程序負責處理后續階段,包括使用引導代碼中封裝的比特流來配置可編程邏輯結構。(圖片來源:Xilinx)

即使有了簡化的 PL 加載處理,開發人員在過去仍需自行處理復雜的 FPGA 開發過程,才能生成所需比特流。對于希望利用 FPGA 性能的開發人員來說,傳統的 FGPA 開發過程仍然是他們實現設計的一大障礙。Xilinx 通過其 PYNQ 環境有效地消除了這一障礙。

PYNQ 環境

在 PYNQ 中,PL 比特流封裝在預先構建的庫中。這些庫稱為覆蓋層,在開發過程和執行環境中,其角色與軟件庫類似。在引導加載過程中,與所需覆蓋層相關聯的比特流將配置 PL 結構。不過,對于通過與每個覆蓋層關聯的 Python 應用程序編程接口 (API) 來利用覆蓋層功能的開發人員而言,該過程保持透明。在開發過程中,工程師可以根據需要組合軟件庫和覆蓋層,通過其各自 API 來實現應用。在執行過程中,處理器系統像往常一樣執行軟件庫代碼,而 PL 結構負責實現覆蓋層中提供的功能。這樣做的結果是可以提升性能,從而進一步促使開發人員對日益嚴苛應用進行 FPGA 設計的興趣。

顧名思義,PYNQ 利用了與 Python 編程語言相關的更高開發生產力。Python 之所以能夠成為頂級語言之一,不僅是因為其相對簡單,還因為它具有龐大且不斷擴增的生態系統。開發人員可能會在 Python 開源模塊的存儲庫中,找到支持服務或專用算法所需的軟件庫。與此同時,開發人員可以使用 C 語言實現關鍵功能,因為 PYNQ 使用常見 C 語言實現 Python 解釋器。該實現允許輕松訪問數千個現有 C 語言庫,并簡化開發人員提供的 C 語言庫的使用。盡管經驗豐富的開發人員可以使用專用硬件覆蓋層和 C 語言軟件庫來擴展 PYNQ,但是 PYNQ 的真正優勢在于,它可為任何能夠構建 Python 程序的開發人員提供高生產力開發環境。

PYNQ 本身是一個開源項目,基于另一個開源項目(Jupyter 筆記本)而構建。針對通過交互方式探索算法,以及使用 Python 或任何其他受支持的編程語言(目前超過 40 種)對復雜應用進行原型開發,Jupyter 筆記本可提供極其有效的環境。Jupyter 筆記本由 Project Jupyter 基于社區共識而開發,將可執行代碼行與描述文本和圖形結合在一起。這一功能使各開發人員能夠更有效地記錄進展,而無需轉到其他開發環境。例如,開發人員可以使用筆記本,將查看數據所需的數行代碼與代碼生成的圖形結合起來(圖 3)。

圖 3:來自 Xilinx 樣例存儲庫的 Jupyter 筆記本將描述文本、可執行代碼以及與應用相關的輸出結合起來。(圖片來源:Xilinx)

Jupyter 筆記本之所以能夠同時包含代碼、輸出和描述文本,是因為它是一種活動文檔,并在 Jupyter 筆記本服務器提供的交互式開發環境中進行維護(圖 4)。在 Jupyter 會話中,服務器使用 HTTP 協議在常規 Web 瀏覽器中呈現筆記本文件,并對所呈現文檔中的靜態和動態內容應用 HTTP 和 Websocket 協議。在后端,服務器使用 ZeroMQ (?MQ) 開源消息傳遞協議與代碼執行內核通信。

圖 4:在 Jupyter 會話中,筆記本服務器將筆記本文件的內容呈現到 Web 瀏覽器,同時與執行代碼的后端內核進行交互。

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

    關注

    48

    文章

    7799

    瀏覽量

    153133
  • FPGA
    +關注

    關注

    1638

    文章

    21882

    瀏覽量

    610726
  • python
    +關注

    關注

    56

    文章

    4821

    瀏覽量

    85653

原文標題:使用Python和Jupyter筆記本快速構建基于FPGA的設計并進行編程

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    開發者福利 一文帶你了解Digilent Arty S7 FPGA開發板

    Digilent為Arty FPGA開發板系列增加了新的成員——兩種不同規格的新的Arty S7,這款FPGA開發板是基于中等大小(size
    的頭像 發表于 09-27 06:33 ?8661次閱讀
    <b class='flag-5'>開發</b>者福利 一文帶你了解<b class='flag-5'>Digilent</b> Arty S7 <b class='flag-5'>FPGA</b><b class='flag-5'>開發板</b>

    fpga開發板的新手,如何開始使用引腳分配

    我是fpga開發板的新手,我想知道如何開始使用引腳分配,特別是u*** / serial引腳連接。任何其他pin信息都會有所幫助謝謝
    發表于 07-19 11:47

    Digilent公司推出新型FPGA硬件開發平臺:NEXYSTM3開發板

    Digilent公司推出了一款新型的基于FPGA的硬件開發平臺,NEXYSTM3開發板。此開發板采用了Xilinx公司最先進的Spartan
    發表于 08-22 09:28 ?1536次閱讀

    fpga開發板電路圖

    最全面的fpga開發板電路圖,一共有10多份fpga開發板電路圖。
    發表于 04-19 12:50 ?133次下載
    <b class='flag-5'>fpga</b><b class='flag-5'>開發板</b>電路圖

    Digilent公司basys2開發板的全套開發例程

    Digilent公司basys開發板的全套開發例程,感興趣的小伙伴們可以看看。
    發表于 07-29 17:46 ?256次下載

    Digilent公司發布新款FPGA開發板

    Digilent公司宣布了新款FPGA開發板,歸屬于其Nexys產品線——Nexys4——上集成一個賽靈思Artix-7100T FPGA
    發表于 02-09 14:09 ?1630次閱讀

    digilent JTAG編程電線特點

    產品特點:   低成本JTAG配置解決方案   專為非Digilent FPGA開發板設計
    的頭像 發表于 11-13 17:04 ?2308次閱讀
    <b class='flag-5'>digilent</b> JTAG編程電線特點

    digilent Virtex-5 FPGA開發板簡介

    Genesys Virtex-5 FPGA開發板集成了功能強大的Xilinx Virtex?-5 FPGA,為廣大用戶帶來了一個功能強大、方便實用的設計平臺。上還有千兆以太網,高速內
    的頭像 發表于 11-14 17:01 ?4709次閱讀
    <b class='flag-5'>digilent</b> Virtex-5 <b class='flag-5'>FPGA</b><b class='flag-5'>開發板</b>簡介

    digilent Spartan-7開源創客開發板介紹

    Arty S7 開發板搭載 Xilinx 最新的 Spartan-7 FPGA 芯片,是 DIGILENT Arty 家族系列產品的最新成員,該家族系列產品專門面向創客和FPGA興趣
    的頭像 發表于 11-19 14:38 ?2765次閱讀
    <b class='flag-5'>digilent</b> Spartan-7開源創客<b class='flag-5'>開發板</b>介紹

    digilent Artix-7 FPGA開發板簡介

    Nexys 4 DDR是一款Digilent多孔RAM-based Nexys開發板的簡易替代品。
    的頭像 發表于 11-19 14:43 ?3531次閱讀
    <b class='flag-5'>digilent</b> Artix-7 <b class='flag-5'>FPGA</b><b class='flag-5'>開發板</b>簡介

    開始使用 RL78/G14 快速原型開發板/Wi-Fi-Pmod-Expansion-Board

    開始使用 RL78/G14 快速原型開發板/Wi-Fi-Pmod-Expansion-Board
    發表于 02-02 19:31 ?0次下載
    <b class='flag-5'>開始使用</b> RL78/G14 快速原型<b class='flag-5'>開發板</b>/Wi-Fi-Pmod-Expansion-Board

    開始使用 RL78/G14快速原型開發板/Wi-Fi-Pmod-Expansion-Board

    開始使用 RL78/G14 快速原型開發板/Wi-Fi-Pmod-Expansion-Board
    發表于 07-04 19:16 ?0次下載
    <b class='flag-5'>開始使用</b> RL78/G14快速原型<b class='flag-5'>開發板</b>/Wi-Fi-Pmod-Expansion-Board

    fpga開發板與linux開發板區別

    FPGA開發板與Linux開發板是兩種不同的硬件開發平臺,各自具有不同的特點和應用場景。在以下的文章中,我將詳細介紹FPGA
    的頭像 發表于 02-01 17:09 ?2724次閱讀

    fpga開發板使用教程

    FPGA開發板的使用教程主要包括以下幾個關鍵步驟。
    的頭像 發表于 03-14 15:50 ?1494次閱讀

    fpga開發板是什么?fpga開發板有哪些?

    FPGA開發板是一種基于FPGA(現場可編程門陣列)技術的開發平臺,它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實現各種數字
    的頭像 發表于 03-14 18:20 ?2767次閱讀
    主站蜘蛛池模板: 91精品国产亚洲爽啪在线影院 | 在线麻豆国产传媒60在线观看 | 国产亚洲综合色就色 | 在线观看黄网 | 天天爱夜夜爱 | 欧洲精品码一区二区三区免费看 | 天天做天天爱天天爽综合区 | eee在线播放成人免费 | 天天干干| 日本免费不卡视频一区二区三区 | tube亚洲高清老少配 | 黄色大片a级 | 国产色司机在线视频免费观看 | 91精品国产91久久久久久青草 | 手机在线观看你懂得 | 久久看精品| 一卡二卡≡卡四卡亚洲高清 | 好大好硬好深好爽的视频 | 四虎影院永久免费观看 | 丁香五月网久久综合 | 亚洲欧美成人综合久久久 | 国产成人精品曰本亚洲78 | 久久久久国产精品免费免费 | 99久久免费午夜国产精品 | 色天天综合色天天天天看大 | 国产亚洲欧美成人久久片 | 四虎影午夜成年免费精品 | 久久综合九九亚洲一区 | 久热精品视频 | 午夜寂寞影视 | 日本特级黄色录像 | 夜夜精品视频一区二区 | 亚洲一区小说区中文字幕 | 日本爱爱片| 三级理论片 | 四虎影院国产 | 视色4se在线视频播放 | 网红和老师啪啪对白清晰 | 日本污视频在线观看 | 国产精品嫩草影院午夜 | 色播.com|