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

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

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

3天內不再提示

【ZYNQ Ultrascale+ MPSOC FPGA教程】第一章MPSoC芯片介紹

FPGA技術專欄 ? 來源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-01-20 15:23 ? 次閱讀

原創聲明:

本原創教程由芯驛電子科技(上海)有限公司(ALINX)創作,版權歸本公司所有,如需轉載,需授權并注明出處。

適用于板卡型號:

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P/AXU9EG/AXU15EG

簡介

ZynqUltraScale+MPSoC系列是Xilinx第二代Zynq平臺。其亮點在于FPGA里包含了完整的ARM處理子系統(PS),包含了四核Cortex-A53處理器或雙核Cortex-A53加雙核Cortex-R5處理器,整個處理器的搭建都以處理器為中心,而且處理器子系統中集成了內存控制器和大量的外設,使處理器核在Zynq中完全獨立于可編程邏輯單元,也就是說如果暫時沒有用到可編程邏輯單元部分(PL),ARM處理器的子系統也可以獨立工作,這與以前的FPGA有本質區別,其是以處理器為中心的。

Zynq就是兩大功能塊,PS部分和PL部分,說白了,就是ARM的SOC部分,和FPGA部分。其中,PS集成了APUARMCortex?-A53處理器,RPUCortex-R5處理器,AMBA?互連,內部存儲器(OCM),外部存儲器接口DDRController)和外設(IOU)。這些外設(IOU)主要包括USB總線接口,以太網接口,SD/eMMC接口,I2C總線接口,CAN總線接口,UART接口,GPIO等。高速接口如PCIe,SATA,DisplayPort。

o4YBAGAH2nWAclUlAAC6EUMsl88415.jpgZYNQMPSoC芯片的總體框圖

PS:處理系統(ProcessingSystem),就是與FPGA無關的ARM的SoC的部分。

PL:可編程邏輯(ProgarmmableLogic),就是FPGA部分。

1.1PS和PL互聯技術

ZYNQ作為將高性能ARMCortex-A53系列處理器與高性能FPGA在單芯片內緊密結合的產品,為了實現ARM處理器和FPGA之間的高速通信和數據交互,發揮ARM處理器和FPGA的性能優勢,需要設計高效的片內高性能處理器與FPGA之間的互聯通路。因此,如何設計高效的PL和PS數據交互通路是ZYNQ芯片設計的重中之重,也是產品設計的成敗關鍵之一。本節,我們就將主要介紹PS和PL的連接,讓用戶了解PS和PL之間連接的技術。

其實,在具體設計中我們往往不需要在連接這個地方做太多工作,我們加入IP核以后,系統會自動使用AXI接口將我們的IP核與處理器連接起來,我們只需要再做一點補充就可以了。

AXI全稱AdvancedeXtensibleInterface,是Xilinx從6系列的FPGA開始引入的一個接口協議,主要描述了主設備和從設備之間的數據傳輸方式。在ZYNQ中繼續使用,版本是AXI4,所以我們經常會看到AXI4.0,ZYNQ內部設備都有AXI接口。其實AXI就是ARM公司提出的AMBA(AdvancedMicrocontrollerBusArchitecture)的一個部分,是一種高性能、高帶寬、低延遲的片內總線,也用來替代以前的AHB和APB總線。第一個版本的AXI(AXI3)包含在2003年發布的AMBA3.0中,AXI的第二個版本AXI(AXI4)包含在2010年發布的AMBA4.0之中。

AXI協議主要描述了主設備和從設備之間的數據傳輸方式,主設備和從設備之間通過握手信號建立連接。當從設備準備好接收數據時,會發出READY信號。當主設備的數據準備好時,會發出和維持VALID信號,表示數據有效。數據只有在VALID和READY信號都有效的時候才開始傳輸。當這兩個信號持續保持有效,主設備會繼續傳輸下一個數據。主設備可以撤銷VALID信號,或者從設備撤銷READY信號終止傳輸。AXI的協議如圖,T2時,從設備的READY信號有效,T3時主設備的VILID信號有效,數據傳輸開始。

pIYBAGAH2naAX3kCAABizGYjhOo587.jpgAXI握手時序圖

在ZYNQ中,支持AXI-Lite,AXI4和AXI-Stream三種總線,通過表5-1,我們可以看到這三種AXI接口的特性。

接口協議 特性 應用場合
AXI4-Lite 地址/單數據傳輸 低速外設或控制
AXI4 地址/突發數據傳輸 地址的批量傳輸
AXI4-Stream 僅傳輸數據,突發傳輸 數據流和媒體流傳輸

AXI4-Lite:

具有輕量級,結構簡單的特點,適合小批量數據、簡單控制場合。不支持批量傳輸,讀寫時一次只能讀寫一個字(32bit)。主要用于訪問一些低速外設和外設的控制。

AXI4:

接口和AXI-Lite差不多,只是增加了一項功能就是批量傳輸,可以連續對一片地址進行一次性讀寫。也就是說具有數據讀寫的burst功能。

上面兩種均采用內存映射控制方式,即ARM將用戶自定義IP編入某一地址進行訪問,讀寫時就像在讀寫自己的片內RAM,編程也很方便,開發難度較低。代價就是資源占用過多,需要額外的讀地址線、寫地址線、讀數據線、寫數據線、寫應答線這些信號線。

AXI4-Stream:

這是一種連續流接口,不需要地址線(很像FIFO,一直讀或一直寫就行)。對于這類IP,ARM不能通過上面的內存映射方式控制(FIFO根本沒有地址的概念),必須有一個轉換裝置,例如AXI-DMA模塊來實現內存映射到流式接口的轉換。AXI-Stream適用的場合有很多:視頻流處理;通信協議轉換;數字信號處理;無線通信等。其本質都是針對數值流構建的數據通路,從信源(例如ARM內存、DMA、無線接收前端等)到信宿(例如HDMI顯示器、高速AD音頻輸出,等)構建起連續的數據流。這種接口適合做實時信號處理。

AXI4和AXI4-Lite接口包含5個不同的通道:

  • ReadAddressChannel

  • WriteAddressChannel

  • ReadDataChannel

  • WriteDataChannel

  • WriteResponseChannel

其中每個通道都是一個獨立的AXI握手協議。下面兩個圖分別顯示了讀和寫的模型:

o4YBAGAH2naAXguIAAA062yT1N8997.jpgAXI讀數據通道pIYBAGAH2neAXFSlAAA7wcqYvc0802.jpgAXI寫數據通道

在ZYNQ芯片內部用硬件實現了AXI總線協議,包括12個物理接口,分別為S_AXI_HP{0:3}_FPD,S_AXI_LPD,S_AXI_ACE_FPD,S_AXI_ACP_FPD,S_AXI_HPC{0,1}_FPD,M_AXI_HPM{0,1}_FPD,M_AXI_HPM0_LPD接口。

S_AXI_HP{0:3}_FPD接口,是高性能/帶寬的AXI4標準的接口,總共有四個,PL模塊作為主設備連接。主要用于PL訪問PS上的存儲器(DDR和FPDMainSwitch)

S_AXI_LPD接口,高性能端口,連接PL到LPD。低延遲訪問OCM和TCM,訪問PS端DDR。

S_AXI_HPC{0,1}_FPD接口,連接PL到FPD,可連接到CCI,訪問L1和L2Cache,由于通過CCI,訪問DDR控制器會有較大延遲。

M_AXI_HPM{0,1}_FPD接口,高性能總線,PS為master,連接FPD到PL,可用于CPU,DMA,PCIe等從PS推送大量數據到PL。

M_AXI_HPM0_LPD接口,低延遲接口總線,PS為master,連接LPD到PL,可直接訪問PL端的BRAM,DDR等,也經常用于配置PL端的寄存器。

o4YBAGAH2neAb4AeAAC_U3VVluw603.jpg

只有M_AXI_HPM{0,1}_FPD和M_AXI_HPM0_LPD是MasterPort,即主機接口,其余都是SlavePort(從機接口)。主機接口具有發起讀寫的權限,ARM可以利用兩個主機接口主動訪問PL邏輯,其實就是把PL映射到某個地址,讀寫PL寄存器如同在讀寫自己的存儲器。其余從機接口就屬于被動接口,接受來自PL的讀寫,逆來順受。在PS與PL互聯應用,用的最多的接口為S_AXI_HP{0:3}_FPD、M_AXI_HPM{0,1}_FPD和M_AXI_HPM0_LPD。

位于PS端的ARM直接有硬件支持AXI接口,而PL則需要使用邏輯實現相應的AXI協議。Xilinx在Vivado開發環境里提供現成IP如AXI-DMA,AXI-GPIO,AXI-Dataover,AXI-Stream都實現了相應的接口,使用時直接從Vivado的IP列表中添加即可實現相應的功能。下圖為Vivado下的各種DMAIP:

o4YBAGAH2niAWUNYAABjzQZAx1c085.jpg

下面為幾個常用的AXI接口IP的功能介紹:

AXI-DMA:實現從PS內存到PL高速傳輸高速通道AXI-HP<---->AXI-Stream的轉換

AXI-FIFO-MM2S:實現從PS內存到PL通用傳輸通道AXI-HPM<----->AXI-Stream的轉換

AXI-Datamover:實現從PS內存到PL高速傳輸高速通道AXI-HP<---->AXI-Stream的轉換,只不過這次是完全由PL控制的,PS是完全被動的。

AXI-VDMA:實現從PS內存到PL高速傳輸高速通道AXI-HP<---->AXI-Stream的轉換,只不過是專門針對視頻、圖像等二維數據的。

AXI-CDMA:這個是由PL完成的將數據從內存的一個位置搬移到另一個位置,無需CPU來插手。

關于如何使用這些IP,我們會在后面的章節中舉例講到。有時,用戶需要開發自己定義的IP同PS進行通信,這時可以利用向導生成對應的IP。用戶自定義IP核可以擁有AXI4-Lite,AXI4,AXI-Stream,PLB和FSL這些接口。后兩種由于ARM這一端不支持,所以不用。

有了上面的這些官方IP和向導生成的自定義IP,用戶其實不需要對AXI時序了解太多(除非確實遇到問題),因為Xilinx已經將和AXI時序有關的細節都封裝起來,用戶只需要關注自己的邏輯實現即可。

AXI協議嚴格的講是一個點對點的主從接口協議,當多個外設需要互相交互數據時,我們需要加入一個AXIInterconnect模塊,也就是AXI互聯矩陣,作用是提供將一個或多個AXI主設備連接到一個或多個AXI從設備的一種交換機制(有點類似于交換機里面的交換矩陣)。

這個AXIInterconnectIP核最多可以支持16個主設備、16個從設備,如果需要更多的接口,可以多加入幾個IP核。

AXIInterconnect基本連接模式有以下幾種:

  • N-to-1Interconnect

  • to-NInterconnect

  • N-to-MInterconnect(CrossbarMode)

  • N-to-MInterconnect(SharedAccessMode)

pIYBAGAH2niAOaHkAAAhhrZjg8o999.jpg多對一的情況o4YBAGAH2nmAEM4FAAAnGXHZ5-4621.jpg一對多的情況pIYBAGAH2nmALfouAACFiWQnfUY599.jpg多對多讀寫地址通道o4YBAGAH2nqAR0xzAACSs0Cc3xE120.jpg多對多讀寫數據通道

ZYNQ內部的AXI接口設備就是通過互聯矩陣的的方式互聯起來的,既保證了傳輸數據的高效性,又保證了連接的靈活性。Xilinx在Vivado里我們提供了實現這種互聯矩陣的IP核axi_interconnect,我們只要調用就可以。

pIYBAGAH2nqATtl9AABLJoYxRGE896.jpgAXIInterconnectIP

1.2ZYNQ芯片開發流程的簡介

由于ZYNQ將CPU與FPGA集成在了一起,開發人員既需要設計ARM的操作系統應用程序和設備的驅動程序,又需要設計FPGA部分的硬件邏輯設計。開發中既要了解Linux操作系統,系統的構架,也需要搭建一個FPGA和ARM系統之間的硬件設計平臺。所以ZYNQ的開發是需要軟件人員和硬件硬件人員協同設計并開發的。這既是ZYNQ開發中所謂的"軟硬件協同設計”。

ZYNQ系統的硬件系統和軟件系統的設計和開發需要用到開發環境和調試工具:XilinxVivado。

Vivado設計套件實現FPGA部分的設計和開發,管腳和時序的約束,編譯和仿真,實現RTL到比特流的設計流程。Vivado并不是ISE設計套件的簡單升級,而是一個全新的設計套件。它替代了ISE設計套件的所有重要工具,比如ProjectNavigator、XilinxSynthesisTechnology、Implementation、COREGenerator、Constraint、Simulator、ChipscopeAnalyzer、FPGAEditor等設計工具。

XilinxSDK(SoftwareDevelopmentKit),SDK是Xilinx軟件開發套件(SDK),在Vivado硬件系統的基礎上,系統會自動配置一些重要參數,其中包括工具和庫路徑、編譯器選項、JTAG和閃存設置,調試器連接已經裸機板支持包(BSP)。SDK也為所有支持的XilinxIP硬核提供了驅動程序。SDK支持IP硬核(FPGA上)和處理器軟件協同調試,我們可以使用高級C++或C++語言來開發和調試ARM和FPGA系統,測試硬件系統是否工作正常。SDK軟件也是Vivado軟件自帶的,無需單獨安裝。

ZYNQ的開發也是先硬件后軟件的方法。具體流程如下:

1)在Vivado上新建工程,增加一個嵌入式的源文件。

2)在Vivado里添加和配置PS和PL部分基本的外設,或需要添加自定義的外設。

3)在Vivado里生成頂層HDL文件,并添加約束文件。再編譯生成比特流文件(*.bit)。

4)導出硬件信息到SDK軟件開發環境,在SDK環境里可以編寫一些調試軟件驗證硬件和軟件,結合比特流文件單獨調試ZYNQ系統。

5)在SDK里生成FSBL文件。

6)在VMware虛擬機里生成u-boot.elf、bootloader鏡像。

7)在SDK里通過FSBL文件,比特流文件system.bit和u-boot.elf文件生成一個BOOT.bin文件。

8)在VMware里生成Ubuntu的內核鏡像文件Zimage和Ubuntu的根文件系統。另外還需要要對FPGA自定義的IP編寫驅動。

9)把BOOT、內核、設備樹、根文件系統文件放入到SD卡中,啟動開發板電源,Linux操作系統會從SD卡里啟動。

以上是典型的ZYNQ開發流程,但是ZYNQ也可以單獨做為ARM來使用,這樣就不需要關系PL端資源,和傳統的ARM開發沒有太大區別。ZYNQ也可以只使用PL部分,但是PL的配置還是要PS來完成的,就是無法通過傳統的固化Flash方式把只要PL的固件固化起來。

1.3學習ZYNQ要具備哪些技能

學習ZYNQ比學習FPGA、MCU、ARM等傳統工具開發要求更高,想學好ZYNQ也不是一蹴而就的事情。

1.3.1軟件開發人員

  • 計算機組成原理

  • C、C++語言

  • 計算機操作系統

  • tcl腳本

  • 良好的英語閱讀基礎

1.3.2邏輯開發人員

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

    關注

    1630

    文章

    21766

    瀏覽量

    604604
  • Xilinx
    +關注

    關注

    71

    文章

    2168

    瀏覽量

    121767
  • Zynq
    +關注

    關注

    10

    文章

    610

    瀏覽量

    47221
  • MPSoC
    +關注

    關注

    0

    文章

    199

    瀏覽量

    24300
  • Vitis
    +關注

    關注

    0

    文章

    147

    瀏覽量

    7464
收藏 人收藏

    評論

    相關推薦

    如何利用ZYNQ MPSoC玩DOOM?

    賽靈思和 DornerWorks 的系統軟件團隊在賽靈思的 Zynq? Ultrascale+? MPSoC 上啟動 Xen Project 管理程序時,我們發現可通過運行當年叱詫
    發表于 10-09 06:21

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

      如何調試Zynq UltraScale+ MPSoC VCU DDR控制器  Zynq UltraScale+
    發表于 01-07 16:02

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發表于 01-22 06:29

    ZYNQ Ultrascale+ MPSOC FPGA教程

    ZYNQ Ultrascale+ MPSOC FPGA教程
    發表于 02-02 07:53

    Zynq UltraScale+ MPSoC存儲器接口系統的介紹

    該視頻重點介紹UltraScale +產品系列的第一個成員Zynq?UltraScale+?MPSoC
    的頭像 發表于 11-29 06:36 ?3343次閱讀

    Zynq UltraScale+ MPSoC的發售消息

    Zynq?UltraScale+?MPSoC,現已開始發售。視頻向您重點介紹了Xilinx UltraScale +產品組合的
    的頭像 發表于 11-27 06:47 ?3621次閱讀

    米爾科技Zynq UltraScale+ MPSoC技術參考手冊介紹

    Zynq UltraScale+ MPSoC是Xilinx推出的第二代多處理SoC系統,在第一Zynq-7000的基礎上做了全面升級,在單
    的頭像 發表于 11-18 11:03 ?3229次閱讀
    米爾科技<b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>技術參考手冊<b class='flag-5'>介紹</b>

    ZYNQ Ultrascale+ MPSOC FPGA教程】第一章 MPSoC芯片介紹

    Zynq UltraScale+ MPSoC系列是Xilinx第二代Zynq平臺。其亮點在于FPGA里包含了完整的ARM處理子系統(PS),
    發表于 01-31 07:43 ?17次下載
    【<b class='flag-5'>ZYNQ</b> <b class='flag-5'>Ultrascale+</b> <b class='flag-5'>MPSOC</b> <b class='flag-5'>FPGA</b>教程】<b class='flag-5'>第一章</b> <b class='flag-5'>MPSoC</b><b class='flag-5'>芯片</b><b class='flag-5'>介紹</b>

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    Zynq UltraScale+ MPSoC VCU DDR 控制器是款專用 DDR 控制器,只支持在 Zynq
    發表于 02-23 06:00 ?15次下載
    如何調試 <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b> VCU DDR 控制器?

    米爾電子zynq ultrascale+ mpsoc底板外設資源清單分享

    米爾電子推出的國內首款zynq ultrascale+ mpsoc平臺核心板(及開發板):MYC-CZU3EG吸引了人工智能、工業控制、嵌入式視覺、ADAS、算法加速、云計算、有線/無線通信等
    發表于 01-07 15:20 ?3次下載
    米爾電子<b class='flag-5'>zynq</b> <b class='flag-5'>ultrascale+</b> <b class='flag-5'>mpsoc</b>底板外設資源清單分享

    ZYNQ Ultrascale+ MPSoC系列FPGA芯片設計

    基于 Xilinx 公司ZYNQ Ultrascale+ MPSoC系列 FPGA 芯片設計,應用于工廠自動化、機器視覺、工業質檢等工業領域
    發表于 11-02 14:35 ?1600次閱讀

    Zynq UltraScale+ MPSoC中的隔離方法

    電子發燒友網站提供《Zynq UltraScale+ MPSoC中的隔離方法.pdf》資料免費下載
    發表于 09-13 17:11 ?1次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>中的隔離方法

    Zynq UltraScale+ MPSoC的隔離設計示例

    電子發燒友網站提供《Zynq UltraScale+ MPSoC的隔離設計示例.pdf》資料免費下載
    發表于 09-13 11:28 ?3次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>的隔離設計示例

    Zynq UltraScale+ MPSoC驗證數據手冊

    電子發燒友網站提供《Zynq UltraScale+ MPSoC驗證數據手冊.pdf》資料免費下載
    發表于 09-15 10:13 ?0次下載
    <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale+</b> <b class='flag-5'>MPSoC</b>驗證數據手冊

    Zynq UltraScale+ MPSoC數據手冊

    電子發燒友網站提供《Zynq UltraScale+ MPSoC數據手冊.pdf》資料免費下載
    發表于 12-30 14:37 ?0次下載
    主站蜘蛛池模板: 欧洲一级鲁丝片免费| 欧洲乱码专区一区二区三区四区| 亚洲一区二区综合| 丁香六月激情网| 女人十六毛片| 97久久综合九色综合| 澳门三级bd高清| 六月丁香中文字幕| 色婷婷成人| 一级特黄aaa大片免色| 每日最新avhd101天天看新片| 日本zzzwww大片免费| 午夜操| a爱视频| 图片区网友自拍另类图区| 日本黄色录像| 88av影院| 亚洲乱强| 88av在线视频| 性生交酡| 中文一区在线| 一区二区三区在线观看免费 | 欧美一二| 国产一区二区三区 韩国女主播| 色在线国产| 深爱五月综合网| 免费美剧在线观看| 理论片人人51| 成人国产日本亚洲精品| 高清色黄毛片一级毛片| 国产美女精品视频免费观看| 国产专区视频| 天天在线天天在线天天影视| 国产精品成人一区二区| 日本一区二区三区在线 视频观看免费| 亚洲日韩图片专区第1页| 欧美日韩亚洲国产| 久久综合久久精品| 午夜久久久久久久| 亚洲性爱城| 亚洲国产成人在线|