一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用FPGA部分可重配置特性實(shí)現(xiàn)PYNQ-PRIO經(jīng)典案例

454398 ? 來(lái)源:PYNQ開(kāi)源社區(qū)微信公眾號(hào) ? 作者:品客 ? 2020-09-28 10:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PYNQ-PRIO是一個(gè)介紹如何利用FPGA部分可重配置特性和PYNQ框架提供的方便的API,對(duì)FPGA分時(shí)復(fù)用,提高FPGA靈活性的項(xiàng)目。可重配置是指在一個(gè)FPGA工程中,劃分了靜態(tài)邏輯部分和動(dòng)態(tài)邏輯部分,靜態(tài)邏輯部分是指在運(yùn)行過(guò)程中邏輯不變的部分,動(dòng)態(tài)邏輯部分是指在運(yùn)行過(guò)程中可以根據(jù)需要下載特定比特流文件實(shí)現(xiàn)不同邏輯的部分,在工作時(shí),修改某一動(dòng)態(tài)邏輯部分不會(huì)對(duì)靜態(tài)邏輯部分和其他動(dòng)態(tài)邏輯部分造成影響,實(shí)現(xiàn)了FPGA的功能上的分時(shí)復(fù)用。

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

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

快速開(kāi)始

運(yùn)行下面這條命令即可快速安裝:

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

項(xiàng)目演示

1 、 使用pynq API的方法:

打開(kāi)~/prio/uart.ipynb,前面一段代碼是UART的驅(qū)動(dòng)程序和必要的功能代碼,不是本文重點(diǎn)請(qǐng)讀者自己研讀。

接下來(lái)就是下載bit文件。首先下載靜態(tài)邏輯bit文件,靜態(tài)bit文件中的PR部分是默認(rèn)的RM。然后下載PR的bit文件。注意,下載一個(gè)PR的bit文件后要立刻例化一個(gè)驅(qū)動(dòng)實(shí)例,這是因?yàn)槊總€(gè)PR的bit文件所對(duì)應(yīng)的hwh文件中其他PR部分都使用默認(rèn)RM,但是下載一個(gè)PR的bit文件并不會(huì)影響其他PR和靜態(tài)邏輯。

然后可以測(cè)試一下兩個(gè)UART的狀態(tài),在這里我們并沒(méi)有開(kāi)啟中斷。

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

接下來(lái)我們?cè)囋嚭袛嗟氖瞻l(fā)。首先仍然是例化實(shí)例,不過(guò)在這里我們要從overlay.interrupts_pins中讀取每個(gè)uart的中斷引腳,然后初始化uart實(shí)例。

利用asyncio庫(kù)和中斷,我們可以實(shí)現(xiàn)異步收發(fā)。

2 、使用linux sysfs API的方法:

打開(kāi)~/prio_linux/uart_linux.pynb

首先和上面使用pynq的API的方法一樣,首先下載靜態(tài)邏輯的bit文件,再下載PR的bit文件。但是不同的是同時(shí)注冊(cè)了對(duì)應(yīng)的dtbo到linux系統(tǒng)中。dtbo由dtso編譯而來(lái),dtso是描述設(shè)備樹(shù)的文件,關(guān)于它的編寫(xiě)參閱以下鏈接:
https://www.raspberrypi.org/documentation/configuration/device-tree.md

注冊(cè)完成后可以直接在/dev下看到這兩個(gè)uart模塊。然后可以使用linux自帶的serial庫(kù)調(diào)用它們。

這個(gè)項(xiàng)目中我們利用了FPGA的部分可重構(gòu)的特性,實(shí)現(xiàn)了運(yùn)行中的部分邏輯的動(dòng)態(tài)轉(zhuǎn)換。另外我們可以看到利用PYNQ提供的API,可以輕松注冊(cè)設(shè)備到Linux系統(tǒng),方便了其他程序?qū)ξ覀冏远xIP的使用。
編輯:hfy

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618472
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213811
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1276

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    法的速度。我們將首先使用C語(yǔ)言進(jìn)行代碼實(shí)現(xiàn),然后在Vivado HLS中綜合實(shí)現(xiàn),并最終在FPGA板(pynq-z2)上進(jìn)行硬件實(shí)現(xiàn),同時(shí)于
    的頭像 發(fā)表于 07-10 11:09 ?734次閱讀
    基于<b class='flag-5'>FPGA</b>的壓縮算法加速<b class='flag-5'>實(shí)現(xiàn)</b>

    FPGA芯片的概念和結(jié)構(gòu)

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

    CADENAS 數(shù)字產(chǎn)品配置器輕松實(shí)現(xiàn)Ascendor電梯規(guī)劃

    。2022 年,Ascendor 啟動(dòng)了一項(xiàng)數(shù)字化推進(jìn)計(jì)劃,其中一個(gè)重要部分就是實(shí)施由 CADENAS 提供技術(shù)支持的數(shù)字化產(chǎn)品配置器。 利用高質(zhì)量的規(guī)劃數(shù)據(jù)進(jìn)行靈活的電梯規(guī)劃 數(shù)字產(chǎn)品配置
    發(fā)表于 04-28 14:22

    基于FPGA的GigE Vision相機(jī)圖像采集方案設(shè)計(jì)

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

    利用FPGA實(shí)現(xiàn)USB 2.0通信接口

    USB?2.0接口的實(shí)現(xiàn)方式 利用FPGA來(lái)實(shí)現(xiàn)USB 2.0接口的方式一般有兩種,一是借助外圍的USB接口芯片,二是FPGA內(nèi)部
    的頭像 發(fā)表于 12-30 13:59 ?2895次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>USB 2.0通信接口

    FPGA 在人工智能中的應(yīng)用

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

    基于PYNQ和機(jī)器學(xué)習(xí)探索MPSOC筆記

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

    固化FPGA配置芯片的方式

    FPGA可以反復(fù)的重新配置,這就意味著設(shè)計(jì)者可以不斷的反復(fù)的下載設(shè)計(jì)的邏輯做驗(yàn)證。如果出現(xiàn)錯(cuò)誤或者需要升級(jí),只需要修改設(shè)計(jì),重新下載設(shè)計(jì)邏輯電路即可。FPGA雖然有重新配置的優(yōu)勢(shì),帶來(lái)
    的頭像 發(fā)表于 10-24 18:13 ?1257次閱讀
    固化<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>芯片的方式

    一種簡(jiǎn)單高效配置FPGA的方法

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

    FPGA在圖像處理領(lǐng)域的優(yōu)勢(shì)有哪些?

    語(yǔ)言編程的,因此可以根據(jù)圖像處理的實(shí)際需求,動(dòng)態(tài)地調(diào)整硬件資源的使用。這使得FPGA在處理圖像時(shí)能夠實(shí)現(xiàn)更高的能效比,從而降低系統(tǒng)的功耗。這對(duì)于需要長(zhǎng)時(shí)間運(yùn)行的圖像處理系統(tǒng)尤為重要。 五、
    發(fā)表于 10-09 14:36

    如何在FPGA實(shí)現(xiàn)按鍵消抖

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)中實(shí)現(xiàn)按鍵消抖是一個(gè)重要的設(shè)計(jì)環(huán)節(jié),特別是在處理用戶輸入時(shí),由于物理按鍵的機(jī)械特性和電氣特性,按鍵在按下和釋放的瞬間會(huì)產(chǎn)生抖動(dòng)現(xiàn)象,這種抖動(dòng)可能導(dǎo)致系統(tǒng)錯(cuò)
    的頭像 發(fā)表于 08-19 18:15 ?3549次閱讀

    使用PYNQ訓(xùn)練和實(shí)現(xiàn)BNN

    使用 PYNQ 可以輕松在 FPGA實(shí)現(xiàn)加速 AI/ML,而無(wú)需編寫(xiě)一行 HDL!讓我們看看如何做到這一點(diǎn)。
    的頭像 發(fā)表于 08-05 17:15 ?1078次閱讀
    使用<b class='flag-5'>PYNQ</b>訓(xùn)練和<b class='flag-5'>實(shí)現(xiàn)</b>BNN

    基于 FPGA 的會(huì)議系統(tǒng)設(shè)計(jì)

    固定,當(dāng)會(huì)議一端有多人參與時(shí),就需要每人都單獨(dú)開(kāi)一個(gè)窗口才能有較好的效果,較為不便?;诖耍覀?cè)O(shè)計(jì)了一個(gè)新的會(huì)議系統(tǒng),以更好地適應(yīng)多人會(huì)議的需求。 本系統(tǒng)以 Xilinx PYNQ-Z2 FPGA
    發(fā)表于 08-01 18:40

    FPGA和ASIC有什么不同之處

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

    FPGA如何估算分析功耗

    FPGA的功耗由4部分組成:上電功耗、配置功耗、靜態(tài)功耗和動(dòng)態(tài)功耗。一般的FPGA都具有這4種功耗,但是Actel Flash FPGA由于
    的頭像 發(fā)表于 07-18 11:11 ?2549次閱讀
    <b class='flag-5'>FPGA</b>如何估算分析功耗