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

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

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

3天內不再提示

如何利用FPGA部分可重配置特性實現PYNQ-PRIO經典案例

454398 ? 來源:PYNQ開源社區微信公眾號 ? 作者:品客 ? 2020-09-28 10:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PYNQ-PRIO是一個介紹如何利用FPGA部分可重配置特性和PYNQ框架提供的方便的API,對FPGA分時復用,提高FPGA靈活性的項目。可重配置是指在一個FPGA工程中,劃分了靜態邏輯部分和動態邏輯部分,靜態邏輯部分是指在運行過程中邏輯不變的部分,動態邏輯部分是指在運行過程中可以根據需要下載特定比特流文件實現不同邏輯的部分,在工作時,修改某一動態邏輯部分不會對靜態邏輯部分和其他動態邏輯部分造成影響,實現了FPGA的功能上的分時復用。

上圖為工程項目示意圖。通過軟硬件劃分,在PS端中負責Linux通信,PL端例化了6個PR(Partitial Reconfiguration)塊。每個塊中有GPIO、uart和IIC等幾種不同的RM(Reconfiguration Module),它們通過各自的partitial bitstream下載。動態邏輯部分和靜態邏輯部分使用分離器保證它們互不影響,并在動態邏輯部分下載完成后對下載好的部分進行復位。

此項目中在PYNQ框架下有兩種驅動這些IP的方式:一是直接使用PYNQ提供的API操作overlay里面的IP,二是將這些IP通過DTS(Device Tress Source)注冊到linux sysfs中,然后調用linux提供的驅動。

快速開始

運行下面這條命令即可快速安裝:

sudo -H pip3 install git+https://github.com/Siudya/PYNQ-PRIO.git

項目演示

1 、 使用pynq API的方法:

打開~/prio/uart.ipynb,前面一段代碼是UART的驅動程序和必要的功能代碼,不是本文重點請讀者自己研讀。

接下來就是下載bit文件。首先下載靜態邏輯bit文件,靜態bit文件中的PR部分是默認的RM。然后下載PR的bit文件。注意,下載一個PR的bit文件后要立刻例化一個驅動實例,這是因為每個PR的bit文件所對應的hwh文件中其他PR部分都使用默認RM,但是下載一個PR的bit文件并不會影響其他PR和靜態邏輯。

然后可以測試一下兩個UART的狀態,在這里我們并沒有開啟中斷。

下一步我們測試兩個串口的收發。用杜邦線將uart1的TX(Arduino的Pin 9)和uart3的RX(Arduino的Pin 34),uart1的RX(Arduino的Pin 8)和uart3的TX(Arduino的Pin 35)連接起來,運行這段代碼,可以看到信息被正確地收發了。

接下來我們試試含中斷的收發。首先仍然是例化實例,不過在這里我們要從overlay.interrupts_pins中讀取每個uart的中斷引腳,然后初始化uart實例。

利用asyncio庫和中斷,我們可以實現異步收發。

2 、使用linux sysfs API的方法:

打開~/prio_linux/uart_linux.pynb

首先和上面使用pynq的API的方法一樣,首先下載靜態邏輯的bit文件,再下載PR的bit文件。但是不同的是同時注冊了對應的dtbo到linux系統中。dtbo由dtso編譯而來,dtso是描述設備樹的文件,關于它的編寫參閱以下鏈接:
https://www.raspberrypi.org/documentation/configuration/device-tree.md

注冊完成后可以直接在/dev下看到這兩個uart模塊。然后可以使用linux自帶的serial庫調用它們。

這個項目中我們利用了FPGA的部分可重構的特性,實現了運行中的部分邏輯的動態轉換。另外我們可以看到利用PYNQ提供的API,可以輕松注冊設備到Linux系統,方便了其他程序對我們自定義IP的使用。
編輯:hfy

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

    關注

    1644

    文章

    22008

    瀏覽量

    616521
  • Linux
    +關注

    關注

    87

    文章

    11496

    瀏覽量

    213235
  • uart
    +關注

    關注

    22

    文章

    1275

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FPGA芯片的概念和結構

    FPGA(Field Programmable Gate Array,現場可編程門陣列),是一種可在出廠后由用戶根據實際需求進行編程配置的集成電路。與專用集成電路(如ASIC)不同,FPGA在硬件層面具備高度的
    的頭像 發表于 05-12 09:30 ?777次閱讀

    CADENAS 數字產品配置器輕松實現Ascendor電梯規劃

    。2022 年,Ascendor 啟動了一項數字化推進計劃,其中一個重要部分就是實施由 CADENAS 提供技術支持的數字化產品配置器。 利用高質量的規劃數據進行靈活的電梯規劃 數字產品配置
    發表于 04-28 14:22

    基于FPGA的GigE Vision相機圖像采集方案設計

    1 概述 GigE Vision是一個比較復雜的協議,要在FPGA中完全實現具有較大的難度。如果FPGA作為接收端希望實現GigE Vision相機的
    的頭像 發表于 01-07 09:34 ?957次閱讀
    基于<b class='flag-5'>FPGA</b>的GigE Vision相機圖像采集方案設計

    利用FPGA實現USB 2.0通信接口

    USB?2.0接口的實現方式 利用FPGA實現USB 2.0接口的方式一般有兩種,一是借助外圍的USB接口芯片,二是FPGA內部
    的頭像 發表于 12-30 13:59 ?2767次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>FPGA</b><b class='flag-5'>實現</b>USB 2.0通信接口

    FPGA 在人工智能中的應用

    FPGA是一種可編程的半導體設備,它允許工程師在生產后重新配置硬件邏輯。與傳統的ASIC(應用特定集成電路)相比,FPGA具有更高的靈活性,可以根據不同的應用需求進行編程和重配置。這
    的頭像 發表于 12-02 09:53 ?2130次閱讀

    基于PYNQ和機器學習探索MPSOC筆記

    引言:《Exploring Zynq MPSoC With PYNQ and Machine Learning Applications》是當年Zynq Book(ZYNQ-7000)的升級版本,在
    的頭像 發表于 11-16 11:32 ?654次閱讀
    基于<b class='flag-5'>PYNQ</b>和機器學習探索MPSOC筆記

    固化FPGA配置芯片的方式

    FPGA可以反復的重新配置,這就意味著設計者可以不斷的反復的下載設計的邏輯做驗證。如果出現錯誤或者需要升級,只需要修改設計,重新下載設計邏輯電路即可。FPGA雖然有重新配置的優勢,帶來
    的頭像 發表于 10-24 18:13 ?1188次閱讀
    固化<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>芯片的方式

    一種簡單高效配置FPGA的方法

    本文描述了一種簡單高效配置FPGA的方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設備。這種方法減少了硬件組件、板空間和成
    的頭像 發表于 10-24 14:57 ?1528次閱讀
    一種簡單高效<b class='flag-5'>配置</b><b class='flag-5'>FPGA</b>的方法

    FPGA在圖像處理領域的優勢有哪些?

    語言編程的,因此可以根據圖像處理的實際需求,動態地調整硬件資源的使用。這使得FPGA在處理圖像時能夠實現更高的能效比,從而降低系統的功耗。這對于需要長時間運行的圖像處理系統尤為重要。 五、
    發表于 10-09 14:36

    如何在FPGA實現按鍵消抖

    FPGA(現場可編程門陣列)中實現按鍵消抖是一個重要的設計環節,特別是在處理用戶輸入時,由于物理按鍵的機械特性和電氣特性,按鍵在按下和釋放的瞬間會產生抖動現象,這種抖動可能導致系統錯
    的頭像 發表于 08-19 18:15 ?3413次閱讀

    使用PYNQ訓練和實現BNN

    使用 PYNQ 可以輕松在 FPGA實現加速 AI/ML,而無需編寫一行 HDL!讓我們看看如何做到這一點。
    的頭像 發表于 08-05 17:15 ?1015次閱讀
    使用<b class='flag-5'>PYNQ</b>訓練和<b class='flag-5'>實現</b>BNN

    FPGA和ASIC有什么不同之處

    FPGA是“重構邏輯”器件。先制造的芯片,再次設計時“重新配置”。
    的頭像 發表于 07-24 09:32 ?1428次閱讀
    <b class='flag-5'>FPGA</b>和ASIC有什么不同之處

    FPGA實現LeNet-5卷積神經網絡

    利用 FPGA 實現神經網絡成為了一種高效、低功耗的解決方案,特別適合于邊緣計算和嵌入式系統。本文將詳細介紹如何使用 FPGA 實現 Le
    的頭像 發表于 07-11 10:27 ?3324次閱讀

    基于PYNQ的智能垃圾分類系統

    ,同時在這個 ARM+FPGA 平臺,為了最大化主控板優勢,我 們針對軟件算法進行了相應的硬件實現進行提速,解決了在有限的資源內實現了資源 利用和效率的最大化,同時在
    發表于 07-09 18:44

    基于FPGA的攝像頭心率檢測裝置設計

    其中 fpga 圖像處理模塊使用 Xilinx 公司的 pynq 平臺進行實現,其中又劃 分為以下幾個軟件模塊:畫面獲取模塊,感興趣區域 roi 獲取(人臉識別)模塊,變化信號提取模塊,快速
    發表于 07-01 17:58
    主站蜘蛛池模板: 黄色网久久 | 日本一区二区三区在线 视频观看免费 | 中国色老头| 国产一级片免费 | 天天操夜夜操 | 91大神精品长腿在线观看网站 | 美女黄色一级片 | 亚洲成人综合网站 | 黄色免费网站在线播放 | 奇米色吧| 亚洲男人的天堂成人 | 2021最新久久久视精品爱 | 色爱区综合五月激情 | 高清人人天天夜夜曰狠狠狠狠 | 天天草狠狠干 | 女人张开腿双腿让男人桶 | 亚洲欧美v视色一区二区 | 午夜无遮挡怕怕怕免费视频 | 天天做日日爱 | 色视频在线免费观看 | 国产三级在线观看播放 | 久久99综合 | 国产区一区二区三区 | 毛片网站免费 | 国产精品午夜在线观看 | 给我一个可以看片的www日本 | 天天躁日日躁狠狠躁一级毛片 | 四虎影院永久免费 | 91夜夜人人揉人人捏人人添 | 欧美ol丝袜高跟秘书在线播放 | 亚洲三级黄色 | 亚洲一区二区精品推荐 | 美女又黄又免费的视频 | 中文字幕区 | 成 人色 网 站999 | 久久五月天婷婷 | 国产三级观看久久 | 国产人免费人成免费视频 | 亚洲经典一区二区三区 | 国产精品三级视频 | 亚洲综合五月天婷 |