RM新时代网站-首页

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

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

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

記錄一下ZYNQ7020芯片系列的基本概念

FPGA技術(shù)江湖 ? 來源:叁芯智能FPGA課程 ? 作者:Lucien_大輝哥 ? 2022-07-13 17:47 ? 次閱讀

一、ZYNQ基本結(jié)構(gòu)

ZYNQ7000系列分為Artix-7 Kintex-7 Virtex-7

二、ZYNQ7020 分為PS端、PL端

PS: 處理系統(tǒng) (Processing System) , 就是與 FPGA 無關(guān)的 ARM 的 SOC 的部分。

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

ZYNQ7020的整體架構(gòu)如下圖所示

ab477746-028b-11ed-ba43-dac502259ad0.png

Zynq 就是兩大功能塊,PS 部分和 PL 部分, 說白了,就是 ARM 的 SOC 部分,和 FPGA部分。其中,PS 集成了兩個(gè) ARM Cortex-A9 處理器,AMBA互連,內(nèi)部存儲(chǔ)器,外部儲(chǔ)器接口和外設(shè)。這些外設(shè)主要包括 USB 總線接口,以太網(wǎng)接口,SD/SDIO 接口,I2C 總線接口,CAN 總線接口,UART 接口,GPIO 等。

三、PS和PL互聯(lián)技術(shù)

3.1、ZYNQ作為首款將高性能ARM Cortex-A9系列處理器與高性能FPGA在單芯片內(nèi)緊密結(jié)合的產(chǎn)品,為了實(shí)現(xiàn)ARM處理器和FPGA之間的高速通信和數(shù)據(jù)交互

3.2、發(fā)揮 ARM 處理器和 FPGA的性能優(yōu)勢,需要設(shè)計(jì)高效的片內(nèi)高性能處理器與 FPGA 之間的互聯(lián)通路。本節(jié),我們就將主要介紹 PS 和 PL 的連接,讓用戶了解 PS 和 PL 之間連接的技術(shù)。

3.3、在具體設(shè)計(jì)中我們往往不需要在連接這個(gè)地方做太多工作,我們加入 IP 核以后,系統(tǒng)會(huì)自動(dòng)使用 AXI 接口將我們的 IP 核與處理器連接起來,我們只需要再做一點(diǎn)補(bǔ)充就可以了。

AXI 全稱 Advanced eXtensible Interface,是 Xilinx 從 6 系列的 FPGA 開始引入的一個(gè)接口協(xié)議,主要描述了主設(shè)備和從設(shè)備之間的數(shù)據(jù)傳輸方式。在 ZYNQ 中繼續(xù)使用,版本是 AXI4,所以我們經(jīng)常會(huì)看到 AXI4.0,ZYNQ 內(nèi)部設(shè)備都有 AXI 接口。

3.4、其實(shí) AXI 就是 ARM 公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一個(gè)部分,是一種高性能、高帶寬、低延遲的片內(nèi)總線,也用來替代以前的 AHB 和 APB 總線。

AXI 協(xié)議主要描述了主設(shè)備和從設(shè)備之間的數(shù)據(jù)傳輸方式,主設(shè)備和從設(shè)備之間通過握手信號(hào)建立連接。當(dāng)從設(shè)備準(zhǔn)備好接收數(shù)據(jù)時(shí),會(huì)發(fā)出 READY 信號(hào)。當(dāng)主設(shè)備的數(shù)據(jù)準(zhǔn)備好時(shí),會(huì)發(fā)出和維持 VALID 信號(hào),表示數(shù)據(jù)有效。數(shù)據(jù)只有在 VALID 和 READY 信號(hào)都有效的時(shí)候才開始傳輸。當(dāng)這兩個(gè)信號(hào)持續(xù)保持有效,主設(shè)備會(huì)繼續(xù)傳輸下一個(gè)數(shù)據(jù)。

3.5、主設(shè)備可以撤銷VALID 信號(hào),或者從設(shè)備撤銷 READY 信號(hào)終止傳輸。AXI 的協(xié)議如圖,T2 時(shí),從設(shè)備的 READY信號(hào)有效,T3 時(shí)主設(shè)備的 VILID 信號(hào)有效,數(shù)據(jù)傳輸開始。

信號(hào)有效,T3 時(shí)主設(shè)備的 VILID 信號(hào)有效,數(shù)據(jù)傳輸開始。

ab640456-028b-11ed-ba43-dac502259ad0.png

ab89206a-028b-11ed-ba43-dac502259ad0.png

四、ZYNQ 芯片內(nèi)部用硬件實(shí)現(xiàn)了 AXI 總線協(xié)議,包括 9 個(gè)物理接口,分別為 AXI-GP0~AXIGP3,AXI-HP0~AXI-HP3,AXI-ACP 接口。

1、AXI_ACP 接口,是 ARM 多核架構(gòu)下定義的一種接口,中文翻譯為加速器一致性端口,用來管理 DMA 之類的不帶緩存的 AXI 外設(shè),PS 端是 Slave 接口。2、AXI_HP 接口,是高性能/帶寬的 AXI3.0 標(biāo)準(zhǔn)的接口,總共有四個(gè),PL 模塊作為主設(shè)備連接。主要用于 PL 訪問 PS 上的存儲(chǔ)器(DDR 和 On-Chip RAM)3、AXI_GP接口,是通用的AXI接口,總共有四個(gè),包括兩個(gè)32位主設(shè)備接口和兩個(gè)32位從設(shè)備接口

aba6361e-028b-11ed-ba43-dac502259ad0.png

可以看到,ARM只有兩個(gè) AXI-GP 是 Master Port,即主機(jī)接口,其余 7 個(gè)口都是 Slave Port(從機(jī)接口)。主機(jī)接口具有發(fā)起讀寫的權(quán)限,ARM 可以利用兩個(gè) AXI-GP 主機(jī)接口主動(dòng)訪問 PL 邏輯,其實(shí)就是把 PL 映射到某個(gè)地址,讀寫 PL 寄存器如同在讀寫自己的存儲(chǔ)器。其余從機(jī)接口就屬于被動(dòng)接口,接受來自 PL 的讀寫,逆來順受。

4.1、這 9 個(gè) AXI 接口性能也是不同的。GP 接口是 32 位的低性能接口,理論帶寬600MB/s,而 HP 和 ACP 接口為 64 位高性能接口,理論帶寬 1200MB/s。

4.2、有人會(huì)問,為什么高性能接口不做成主機(jī)接口呢?這樣可以由 ARM 發(fā)起高速數(shù)據(jù)傳輸。答案是高性能接口根本不需要 ARM CPU 來負(fù)責(zé)數(shù)據(jù)搬移,真正的搬運(yùn)工是位于 PL 中的 DMA 控制器。

4.3、位于 PS 端的 ARM 直接有硬件支持 AXI 接口,而 PL 則需要使用邏輯實(shí)現(xiàn)相應(yīng)的 AXI 協(xié)議。Xilinx 在 Vivado 開發(fā)環(huán)境里提供現(xiàn)成 IP 如 AXI-DMA,AXI-GPIO,AXI-Dataover, AXI-Stream 都實(shí)現(xiàn)了相應(yīng)的接口,使用時(shí)直接從 Vivado 的 IP 列表中添加即可實(shí)現(xiàn)相應(yīng)的功能。下圖為 Vivado 下的各種 DMA IP:


abcf5b34-028b-11ed-ba43-dac502259ad0.png

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


poYBAGLOlWKATDwAAADwVRiJ5D0144.jpg
poYBAGLOlWiAa6QpAAA0DLdg4EI379.jpg

4.4、AXI協(xié)議嚴(yán)格的講是一個(gè)點(diǎn)對(duì)點(diǎn)的主從接口協(xié)議,當(dāng)多個(gè)外設(shè)需要互相交互數(shù)據(jù)時(shí),我們需要加入一個(gè)AXI Interconnect模塊,也就是AXI互聯(lián)矩陣,

4.5、作用是提供將一個(gè)或多個(gè) AXI 主設(shè)備連接到一個(gè)或多個(gè) AXI 從設(shè)備的一種交換機(jī)制(有點(diǎn)類似于交換機(jī)里面的交換矩陣)。

4.6、這個(gè) AXI Interconnect IP 核最多可以支持 16 個(gè)主設(shè)備、 16 個(gè)從設(shè)備,如果需要更多的接口,可以多加入幾個(gè) IP 核。

pYYBAGLOlYKAAKh7AABnJ6t5MbY710.jpg

abdae2b0-028b-11ed-ba43-dac502259ad0.png?  

abf2234e-028b-11ed-ba43-dac502259ad0.png

abfdd90a-028b-11ed-ba43-dac502259ad0.png

五、內(nèi)部鏈接

ZYNQ 內(nèi)部的 AXI 接口設(shè)備就是通過互聯(lián)矩陣的的方式互聯(lián)起來的,既保證了傳輸數(shù)據(jù)的高效性,又保證了連接的靈活性。

Xilinx 在 Vivado 里我們提供了實(shí)現(xiàn)這種互聯(lián)矩陣的 IP 核axi_interconnect,我們只要調(diào)用就可以。

ac296066-028b-11ed-ba43-dac502259ad0.png

六、引腳分配

ZYNQ7020是400腳封裝,從官網(wǎng)的文檔,可以看出ZYNQ7020的引腳分配

PS端的引腳包括BANK500、BANK501、BANK502、

PL端引腳包括 BANK13(部分包含)BANK35、BANK34

ac4427fc-028b-11ed-ba43-dac502259ad0.png

下面這張圖,更加形象

ac5b7ce0-028b-11ed-ba43-dac502259ad0.png

七、上面的部分,并沒有把引腳講的很清楚,這里看官方手冊(cè),有如下描述

意思是,PS端的引腳數(shù)量是固定的,并且不能分配給PL端使用,最多有54個(gè)引腳可以連接到PS端,

他們可以軟件編程連接ps的內(nèi)部外設(shè)或者靜態(tài)內(nèi)存控制器

ac6a27f4-028b-11ed-ba43-dac502259ad0.png

八、MIO概述

MIO的功能是將從PS外設(shè)和靜態(tài)內(nèi)存接口的訪問,復(fù)用到配置寄存器中定義的PS引腳。在PS端最多有54針被用以IOP(I/O Peripheral )和靜態(tài)內(nèi)存接口

下表4顯示了可以映射不同外設(shè)引腳的位置。圖2顯示了MIO模塊的框圖。

如果超過了54個(gè)引腳個(gè)數(shù)的其它I/O功能是設(shè)計(jì)必須的,那他可以通過PL端,路由到與這些功能相關(guān)聯(lián)的I/O引腳

這個(gè)特性被稱為可擴(kuò)展多路復(fù)用I/O (EMIO)。

ac8b9f74-028b-11ed-ba43-dac502259ad0.png

acb7ff6a-028b-11ed-ba43-dac502259ad0.png

acec1fe8-028b-11ed-ba43-dac502259ad0.png

九、MIO、EMIO和AXI_GPIO的關(guān)系

ZYNQ7000中與PS相連的引腳包含MIO、EMIO和AXI_GPIO三種類型。

1、MIO直接掛在PS上,而EMIO與PL相連,PS通過PL調(diào)用EMIO。MIO共有54bit,EMIO共有64bit。

MIO管腳是固定的,而EMIO需要通過管腳約束文件進(jìn)行分配。MIO、EMIO管腳號(hào)均通過實(shí)際原理圖查找。

acfe0e9c-028b-11ed-ba43-dac502259ad0.png

2、AXI_GPIO是通過AXI總線掛在PS上的GPIO,一般通過調(diào)用IP核實(shí)現(xiàn),如PS通過AXI_Uartlite調(diào)用PL端資源。

而EMIO在Block Design文件上表現(xiàn)為PS上的一個(gè)引出接口。

十、PS-PL MIO-EMIO信號(hào)和接口

由于MIO引腳的數(shù)量有限,MIO是I/O外圍連接的基礎(chǔ)??梢攒浖幊蘄O信號(hào)路由到MIO引腳。也可以通過EMIO接口將I/O外圍信號(hào)路由到PL端,

這非常有用,用來PS獲得更多的設(shè)備引腳(PL端引腳),或者允許一個(gè)PS端外設(shè)的一個(gè)引腳路由到PL的內(nèi)部IP邏輯端口,如圖2

ad095e0a-028b-11ed-ba43-dac502259ad0.png

十一、啟動(dòng)流程

ad24e710-028b-11ed-ba43-dac502259ad0.png

12.1、啟動(dòng)模式


pYYBAGLOleyAQitiAABIleLJ_xE467.jpg

12.2、啟動(dòng)階段


poYBAGLOlgCAfyieAABeipXad7I621.jpg

12.3、階段0:Stage-0 Boot (BootROM)

ad383ebe-028b-11ed-ba43-dac502259ad0.png

12.4、階段1:FSBL(First Stage Bootloader )

FSBL(第一階段引導(dǎo)加載程序)在BootROM之后啟動(dòng),這個(gè)BootROM將FSBL加載到OCM(On-Chip Memory ),

FSBL負(fù)責(zé)下面的幾項(xiàng)工作

pYYBAGLOlhiAZzW6AABzA64PM10114.jpg

FSBL流程圖

ad5719ec-028b-11ed-ba43-dac502259ad0.png

下圖是一個(gè)簡單的FSBL流程圖:

ad69bafc-028b-11ed-ba43-dac502259ad0.png

12.5、第二階段啟動(dòng)流程:Second Stage Bootloader

第二階段引導(dǎo)加載程序是可選的,并由用戶設(shè)計(jì)。

Zynq-7000 AP SoC BootROM加載程序需要引導(dǎo)映像頭,它加載單個(gè)分區(qū),通常是FSBL。引導(dǎo)映像的其余部分由FSBL加載和處理。

xilinx提供了一個(gè)名為Bootgen的實(shí)用程序(用來創(chuàng)建一個(gè)適合ROM或Fash的引導(dǎo)映像)。它通過構(gòu)建所需的引導(dǎo)頭、

附加描述以下分區(qū)的表并將輸入數(shù)據(jù)文件(ELF文件、FPGA bit流和其他二進(jìn)制文件)處理到分區(qū)來創(chuàng)建映像。

12.6、Boot Image 格式

pYYBAGLOljWAQ064AABKIHSQez8679.jpg

ad8de396-028b-11ed-ba43-dac502259ad0.png

12.7、下圖顯示了Zynq-7000 AP SoC Linux引導(dǎo)映像分區(qū)的示例。

ad9d6c12-028b-11ed-ba43-dac502259ad0.png



審核編輯:劉清

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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602971
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9084

    瀏覽量

    367373
  • I2C總線
    +關(guān)注

    關(guān)注

    8

    文章

    390

    瀏覽量

    60916
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    609

    瀏覽量

    47174

原文標(biāo)題:學(xué)員筆記精選 | ZYNQ7000系列 PS、PL、AXI 、啟動(dòng)流程基本概念篇

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ZYNQ7000系列 PS、PL、AXI 、啟動(dòng)流程基本概念

    ZYNQ基本結(jié)構(gòu) ZYNQ7000系列分為?Artix-7 Kintex-7 Virtex-7,各個(gè)型號(hào)區(qū)別參考下面的博文 https://www.jianshu.com/p
    的頭像 發(fā)表于 05-12 10:25 ?1.7w次閱讀
    <b class='flag-5'>ZYNQ</b>7000<b class='flag-5'>系列</b> PS、PL、AXI 、啟動(dòng)流程<b class='flag-5'>基本概念</b>

    vivado zynq實(shí)現(xiàn)錯(cuò)誤

    你好,我在Win10中使用vivado 2016.2 for zynq7020。我的時(shí)鐘方案是zynq PS FCLK_CLK0-->時(shí)鐘向?qū)P輸入(Primitive PLL)的輸入。合成
    發(fā)表于 11-05 11:40

    zynq7020板子+ad采集+dma傳輸問題?

    求助各位大神,我用的是ad7606采集數(shù)據(jù),然后通過dma傳輸?shù)絘rm核中,用的板子時(shí)zynq7020,但是直出現(xiàn)個(gè)問題,[BD 41-237] Bus Interface property
    發(fā)表于 06-17 16:51

    zynq 7020 PS和zynq PL是如何通話的?

    嗨,我必須找出zynq 7020 PS和zynq PL如何通話,特別是我必須找到將在ARM中處理的SDK C代碼。你能用個(gè)明確的C代碼告訴我,它解釋了數(shù)據(jù)如何從PS轉(zhuǎn)移到PL,這是A
    發(fā)表于 05-08 09:37

    基于Zynq的嵌入式開發(fā)流程

    A53都有,對(duì)于ZYNQ7020來說,它集成了塊ARM Cortex-A9雙核處理器,性能足夠運(yùn)行Linux下圖為Zynq-7000系列SoC的系統(tǒng)框圖[外鏈圖片轉(zhuǎn)存失敗,源站可能有
    發(fā)表于 08-23 08:15

    講解一下A/D和 D/A的基本概念

    文章目錄前言A/D 和 D/A 的基本概念前言今天給大家講解一下,單片機(jī)中的基礎(chǔ)概念,A/D 和 D/A 的基本概念。A/D 和 D/A 的基本概念
    發(fā)表于 11-25 06:31

    實(shí)現(xiàn)上位機(jī)與zynq7020開發(fā)板通信的方法

    最近想實(shí)現(xiàn)上位機(jī)與zynq7020開發(fā)板通信。采用串口通信方式,利用QT編寫個(gè)簡易串口助手實(shí)現(xiàn)與下位機(jī)的通信。 下位機(jī)給上位機(jī)發(fā)送收據(jù),上位機(jī)能夠正常接受。但是上位機(jī)給下位機(jī)串口發(fā)數(shù)據(jù),下位機(jī)
    發(fā)表于 02-17 07:08

    AD9681是否可被zynq-7020的pl端驅(qū)動(dòng)?

    您好: 我想咨詢AD9681是否可以被zynq-7020的PL端驅(qū)動(dòng)(zynq7020的性能是否足夠)。我們需要做衛(wèi)星的探測載荷,由于衛(wèi)星能源控制嚴(yán)格,我們需要低功耗、多通道(至少8個(gè))、高采樣率
    發(fā)表于 12-04 08:18

    介紹一下ARCore的基本概念并剖析其工作機(jī)理

    本文主要有兩個(gè)目的,是向大家介紹一下ARCore的基本概念,了解這些概念對(duì)于大家后續(xù)深入的學(xué)習(xí) ARCore具有關(guān)鍵的作用。二是深入剖析一下
    的頭像 發(fā)表于 01-24 10:35 ?6258次閱讀

    ZYNQ7020開發(fā)板的電路原理圖免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是ZYNQ7020開發(fā)板的電路原理圖免費(fèi)下載。
    發(fā)表于 02-12 16:07 ?495次下載
    <b class='flag-5'>ZYNQ7020</b>開發(fā)板的電路原理圖免費(fèi)下載

    FPGA學(xué)習(xí)教程之硬件設(shè)計(jì)基本概念

    目前在做FPGA移植加速CNN卷積神經(jīng)網(wǎng)絡(luò)Inference相關(guān)的學(xué)習(xí),使用的是Xilinx公司的ZYNQ-7000系列的FPGA開發(fā)板,該博客為記錄相關(guān)學(xué)習(xí)內(nèi)容,如有問題歡迎指教。前面已經(jīng)介紹了
    發(fā)表于 12-25 17:34 ?22次下載
    FPGA學(xué)習(xí)教程之硬件設(shè)計(jì)<b class='flag-5'>基本概念</b>

    ZYNQ7020的程序固化

    階段0,主要是運(yùn)行芯片內(nèi)部固化的BootROM程序,這個(gè)BootROM主要是識(shí)別啟動(dòng)模式(spi/sd/nand/nor/)是哪種?
    發(fā)表于 07-22 10:06 ?5365次閱讀

    ZYNQ7020的PS端的基本開發(fā)流程

    這篇文章記錄ZYNQ7020的PS端的基本開發(fā)流程,關(guān)于PL端的開發(fā)流程,參考之前文章,這里放個(gè)超鏈接。
    的頭像 發(fā)表于 07-24 18:12 ?7830次閱讀

    AX7020原理圖等資料分享

    ZYNQ7020原理圖等資料SCH和PCB封裝等免費(fèi)下載。
    發(fā)表于 09-23 15:14 ?28次下載

    Zynq-7020千兆網(wǎng)口的3種擴(kuò)展方案

    常用的以太網(wǎng)接口通常是MAC + 物理PHY的形式,外接RJ45插頭實(shí)現(xiàn)GE_T模式的電口應(yīng)用。而Zynq-7020的PS部分包含兩個(gè)千兆以太網(wǎng)MAC層硬核,因此還需要以太網(wǎng)物理層傳輸芯片實(shí)現(xiàn)千兆以太網(wǎng)接口。Zynq-7020
    的頭像 發(fā)表于 12-14 15:56 ?3168次閱讀
    RM新时代网站-首页