RM新时代网站-首页

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

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

3天內不再提示

PYNQ案例(一):ZYNQ的PL與PS開發(fā)

電子設計 ? 來源:Pynq ? 作者:Pynq ? 2020-12-25 14:11 ? 次閱讀

上一期的學習中,我們系統(tǒng)性地介紹了PYNQ與ZYNQ地區(qū)別與聯(lián)系。PYNQ = Python + ZYNQ,即將ZYNQ部分功能的Python化,直接調用Python庫和FPGA硬件庫進行功能的開發(fā)。

Pynq降低了開發(fā)人員的門檻,但知其然也知其所以然,開發(fā)效率將會更高。因此,在進入PYNQ的python開發(fā)之前,我們先來學習ZYNQ的PL與PS開發(fā),為接下來的學習提供良好的基礎。

本部分的學習,我們依舊借助PYNQ_z2來完成。

1. ZYNQ功能塊
ZYNQ中包含兩大功能塊:PS部分和PL部分。

PS部分指Processing System,一個基于雙ARM Cortex A9內核的處理系統(tǒng),其中集成了內存存儲器和外部存儲器接口,以及如GPIO、UART接口等大量的外設。

PL部分指Programmable Logic,基于Xilinx 7系列架構的可編程邏輯單元,通過PL部分可以為ARM定制很多外設,這也是ZYNQ的一大優(yōu)點。

2. ZYNQ整體架構
ZYNQ中雖然包含PS端和PL端,但是整個設計是以ARM處理器中心的,PS端的ARM內核可以獨立于PL端運行;雖然PL端也可以獨立于PS端運行,但是PL的配置是由PS端完成的,所以不能采用傳統(tǒng)的固化FLASH的方式固化PL端程序。

PS端和PL端通信是通過AXI接口協(xié)議連接,這個協(xié)議是AMBA的一部分,是一種高性能、高帶寬、低延遲的片內總線。

3. vivado與PL開發(fā)
下面我們通過一個LED燈的小項目進行本部分學習:

實驗:輪流點亮LED燈

1. 打開vivado hls,點擊Create New Project Project”,創(chuàng)建一個新工程。

2. 設置工程名led和路徑,在工程類中中選擇RTL Project,目標語言“Target language“選擇選擇“Verilog Verilog”,多語言混合編程。

選擇板子的時候搜索xc7z020clg400-1,這是PYNQ的板子號,選擇完成(PYNQ-Z2板采用ZYNQ XC7Z020-1CLG400C SoC)。

3. 新建一個 VerilogHDL 文件,可以通過右擊 Design sourse 選擇 AddSourse,選擇第二個選項

選擇 CreateFile…在彈出下面窗口填寫新建源文件名稱

創(chuàng)建完成點擊 Finish

4. 在用戶區(qū) VerilogHDL 文件窗口中輸入源程序,保存時文件名與實體名 保持一致,代碼如下:

o4YBAF9uHx6AFyosAADJJJLoq1M006.png

得到的最終界面:

pIYBAF9uHySAfD19AAVNWkGbCyo885.png

5. 新建約束文件,輸入下面指令

pIYBAF9uHyaAGPlqAAEW2Ef8TWQ369.png

6.單擊”Run Synthesis“開始綜合->彈出的對話框單擊”O(jiān)K“->綜合完成后單擊”cancle“->點擊“Constrain wizard"

點擊finish

7. 時序約束向導分析出設計中的時鐘,這里把“sys_clk”頻率設置為50Mhz,然后點擊Skip to Finish結束時序約束向導。

在彈出的框選擇OK,接著選finish

這個時候led.xdc文件已經更新,點擊“Reload”重新加載文件

8. 點擊“Generate Bitstream”,直接生成bit 文件。

在彈出的對話框中可以選擇任務數(shù)量,這里和CPU核心數(shù)有關,一般數(shù)字越大,編譯越快,單擊”O(jiān)K”

9. 這個時候開始編譯,可以看到右上角有個狀態(tài)信息,在編譯過程中可能會被殺毒軟件、電腦管家攔截運行,導致無法編譯或很長時間沒有編譯成功。

編譯中沒有任何錯誤,編譯完成,彈出一個對話框讓我們選擇后續(xù)操作,這里選項“open hardware manager” ,然后單擊“OK”

10. 下載到板子

1)連接好開發(fā)板的 JTAG接口,給開發(fā)板上電

2)可以看到JTAG掃描到arm和 FPGA 內核

3)選擇FPGA內核,右鍵選擇“Program Device...” ,在彈出窗口中點擊“Program”

4)等待下載,下載完成以后,我們可以看到4 顆LED開始每秒變化一次

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

    關注

    1629

    文章

    21729

    瀏覽量

    602986
  • led
    led
    +關注

    關注

    242

    文章

    23252

    瀏覽量

    660561
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84627
收藏 人收藏

    評論

    相關推薦

    基于Xilinx ZYNQ7000 FPGA嵌入式開發(fā)實戰(zhàn)指南

    電子發(fā)燒友網站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開發(fā)實戰(zhàn)指南.pdf》資料免費下載
    發(fā)表于 12-10 15:31 ?2次下載

    ZYNQ 7035/7045開發(fā)板原理圖

    ZYNQ 7035/7045開發(fā)板原理圖
    發(fā)表于 12-05 13:46 ?0次下載

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

    新版本中,不僅僅介紹了MPSOC的體系結構和應用場景,更是結合當前應用最廣的PYNQ框架和機器學習應用進行分析。作為本不可多得的免費電子英文書籍,本書既是使用Zynq MPSoC的開發(fā)
    的頭像 發(fā)表于 11-16 11:32 ?283次閱讀
    基于<b class='flag-5'>PYNQ</b>和機器學習探索MPSOC筆記

    正點原子ZYNQ7015開發(fā)板!ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2,性能強悍,資料豐富!

    ! 正點原子Z15 ZYNQ開發(fā)板,搭載Xilinx Zynq7000系列芯片,核心板主控芯片的型號是XC7Z015CLG485-2。開發(fā)板由核心板+底板組成,外設資源豐富,板載1路
    發(fā)表于 09-14 10:12

    [XILINX] 正點原子ZYNQ7035/7045/7100開發(fā)板發(fā)布、ZYNQ 7000系列、雙核ARM、PCIe2.0、SFPX2!

    7000系列芯片,核心板支持Xilinx Zynq-7035、Zynq-7045和Zynq-7100三種型號。開發(fā)板由核心板+底板組成,外設資源豐富,板載2路千兆以太網接口(
    發(fā)表于 09-02 17:18

    復旦微PS+PL異構多核開發(fā)案例分享,基于FMQL20SM國產處理器平臺

    本文主要介紹復旦微FMQL20S400M的PS + PL異構多核開發(fā)案例,開發(fā)環(huán)境如下: Windows開發(fā)環(huán)境:Windows 7 64b
    發(fā)表于 08-22 14:04

    使用PYNQ訓練和實現(xiàn)BNN

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

    FM20S用戶手冊-PS + PL異構多核案例開發(fā)手冊

    PS端) + FPGA可編程邏輯資源(PL端)異構多核SoC處理器設計的全國產工業(yè)評估板,PS端主頻高達1GHz。核心板CPU、ROM、RAM、電源、晶振、連接器等所有器件均采用國產工業(yè)級方案
    發(fā)表于 07-25 16:14

    FM20S用戶手冊-PL端案例開發(fā)手冊

    PS端) + FPGA可編程邏輯資源(PL端)異構多核SoC處理器設計的全國產工業(yè)評估板,PS端主頻高達1GHz。核心板CPU、ROM、RAM、電源、晶振、連接器等所有器件均采用國產工業(yè)級方案
    發(fā)表于 07-25 16:12

    有關PL端利用AXI總線控制PS端DDR進行讀寫(從機wready信號直不拉高)

    直拉高的。這與寫數(shù)據通道好像有點區(qū)別。 我不清楚PS 端的DDR到底發(fā)生了什么,但是和MIG核就是有點不樣,通過仿真MIG核可以發(fā)現(xiàn),PL端的DDR是會先
    發(fā)表于 05-31 12:04

    簡談Xilinx Zynq-7000嵌入式系統(tǒng)設計與實現(xiàn)

    FPGA靈活性和可擴展性,也提供了專用集成電路的相關性能、功耗和易用性。 ZYNQ 7000的結構便于將定制邏輯和軟件分別映射到PLPS中,這樣就可實現(xiàn)獨無二和差異化的系統(tǒng)功能。
    發(fā)表于 05-08 16:23

    Xilinx ZYNQ 動手實操演練

    。 實操演示 下面做個從uart打印hello world的實驗,只用PS,不用PL部分,程序從SD卡啟動,跑在PS的內部RAM。 zyn
    發(fā)表于 05-03 19:28

    AMD Versal AI Edge自適應計算加速平臺之體驗ARM,裸機輸出(7)

    我們從原理圖中可以看到 ZYNQ 芯片分為PLPS,PS端的IO分配相對是固定的,不能任意分配,而且不需要在Vivado軟件里分配管腳,雖然本實驗僅僅使用了
    的頭像 發(fā)表于 04-19 10:45 ?1361次閱讀
    AMD Versal AI Edge自適應計算加速平臺之體驗ARM,裸機輸出(7)

    簡談Xilinx Zynq-7000嵌入式系統(tǒng)設計與實現(xiàn)

    PLPS中,這樣就可實現(xiàn)獨無二和差異化的系統(tǒng)功能。與傳統(tǒng)的FPGA方法不同的是,ZYNQ 7000 SoC總是最先啟動PS內的處理器,
    發(fā)表于 04-10 16:00

    請問FX3的UART口和Xilinx ZYNQ7000的PS端的UART進行硬件連接需要TTL電平轉換嗎?

    想讓FX3的UART口和Xilinx ZYNQ7000的PS(Processor system)端的內置UART相互通信,兩個芯片使用的是同個電源(同在塊板子上或分別在兩塊相互連接
    發(fā)表于 02-28 08:32
    RM新时代网站-首页