日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初学ZYNQ(理论准备)

發(fā)布時間:2024/1/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初学ZYNQ(理论准备) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

  • 一、 ZYNQ-7000 All Programmable Soc
  • 二、PL(Programmable Logic)
  • 三、PS(Processing System)
  • 四、AXI總線

本文是正點原子的學(xué)習(xí)筆記,參考自原子哥ZYNQ資料、知乎電子小C。

一、 ZYNQ-7000 All Programmable Soc

ZYNQ是賽靈思(Xilinx)推出的新一代全可編程片上系統(tǒng),它是一款A(yù)RM+FPGA的Soc平臺。由于處理器的軟件可編程性欲FPGA的硬件可編程性進行完美整合,這款基于ARM處理器的SoC可滿足復(fù)雜嵌入式系統(tǒng)的高性能、低功耗和多核處理能力等要求。


與板上系統(tǒng)(PCB板)相比,SoC(片上系統(tǒng),將各分離的部件整合到了一起)的解決方案成本更低,能在不同的系統(tǒng)單元之間實現(xiàn)更快更安全的數(shù)據(jù)傳輸,具有更高的整體系統(tǒng)速度、更低的功耗、更小的物理尺寸和更好的可靠性。

SoC發(fā)展歷程:

  • SoC:早期的SoC都是基于ASIC,一系列功能模塊集合在一個SoC上。典型的例子是華為的麒麟系列處理器,它就是采用基于ASIC的SoC。
  • SOPC:可編程片上系統(tǒng)(使用FPGA進行搭建)
  • APSoC:全可編程片上系統(tǒng)(集成了一個硬核處理器,性能有所提高),它包含兩個部分,即PS、PL。

ZYNQ的本質(zhì)特征,是它組合了一個雙核ARM Cortex-A9處理器(性能大大提升)和一個傳統(tǒng)的現(xiàn)場可編程門陣列邏輯部件,即FPGA。它是全可編程片上系統(tǒng),它將處理器的軟件可編程性與FPGA的硬件可編程性進行完美整合,以提供無與倫比的系統(tǒng)性能、靈活性與可擴展性。

下面這張就是ZYNQ的結(jié)構(gòu)圖,ZYNQ是ARM+FPGA,圖中黃色部分就是FPGA,藍色部分是整合了外圍設(shè)備的ARM。在ZYNQ上ARM部分叫做PS(Processing System)部分,FPGA叫做PL(Programable Logic)部分。


二、PL(Programmable Logic)

PL等價與FPGA的概念。
早期生產(chǎn)的數(shù)字集成電路邏輯功能都是固定不變,后來出現(xiàn)了允許用戶自行修改內(nèi)部連接的集成電路:PLD(Programmable Logic Device可編程邏輯器件),PLD有兩大特點:

  • PLD內(nèi)部的電路結(jié)構(gòu)可以通過寫入編程數(shù)據(jù)來設(shè)置;
  • 寫入PLD的編程數(shù)據(jù)還可以擦除重寫;

常用的可編程邏輯器件(PLD):

  • CPLD:基于“乘積項”的與或邏輯陣列
  • FPGA:基于“查找表”(LUT,Look UP Table)的CLB陣列

什么是FPGA?
FPGA是一種可通過編程來修改其邏輯功能的數(shù)字集成電路(芯片)
。FPGA的原理是基于SRAM的查找表結(jié)構(gòu)。通俗的講就是:可以將FPGA看做是一片SRAM,利用開發(fā)工具軟件計算出所有的輸入組合排列對應(yīng)的輸出結(jié)果,然后將輸入組合作為SRAM的地址,該地址中存放的是與輸入組合對應(yīng)的輸出。當(dāng)輸入信號變化時,到相應(yīng)的地址中讀取提前計算好存入的結(jié)果,然后輸出。

FPGA共包括5個模塊:
可編程IO單元、可編程邏輯單元(CLB)、底層嵌入功能單元、嵌入式塊RAM(Block RAM)、布線資源、硬核(不是所有FPGA都有)。

Xilinx公司的ZYNQ7000系列的FPGA型號有:

  • Artix-based devices:Z-7010,Z-7015,Z-7020
  • Kintex-based devices:Z-7030,Z-7045,Z-7100

總的來說,PL部分可以看做是外圍設(shè)備,其中一個唯一不同于其他外圍設(shè)備的就是PL的可變性很大(根據(jù)型號不一樣020以下整合Artix7、030以上整合Kintex7)。

三、PS(Processing System)

去掉PL部分PS部分可以完全當(dāng)成ARM單片機使用,加上PL部分你可以在上面映射你自己的IP或者算法,但不管怎么樣PL相對于PS而言,就是一個掛載到AXI總線上的設(shè)備而已。

正是這種結(jié)構(gòu)讓實現(xiàn)某個邏輯功能的可能性在ZYNQ上多了很多。比如GPIO就有三種:MIO(PS部分的引腳引出),EMIO(PS的GPIO在PL引出),AXI GPIO(用PL的IP)。

由上面的圖可以看出,PS部分的核心是應(yīng)用處理器單元APU(Application Processor Unit)包括:兩個Cortex A9 CPU+浮點運算協(xié)處理器+調(diào)試接口+Cache+在片存儲器OCM+定時計數(shù)器等。

然后前面所說的這些算是這個Soc的最核心,這個最核心還不是PS部分的全部因為它還需要整合相應(yīng)的I/O設(shè)備,才能算是Soc。而這些都需要總線連接,在ZYNQ里主要使用的是AXI總線。


四、AXI總線

AXI(Advanced eXtensible Interface) 本是由ARM公司提出的一種總線協(xié)議。用于PL和PS之間的通信。

總線、協(xié)議、接口區(qū)別是什么?

  • 總線:是一組傳輸通道,是各種邏輯器件構(gòu)成的傳輸數(shù)據(jù)的通道,一般由數(shù)據(jù)線、地址線、控制線等構(gòu)成。
  • 接口:是一種連接標(biāo)準,又常常被稱之為物理接口。
  • 協(xié)議:就是傳輸數(shù)據(jù)的規(guī)則。

AXI總線協(xié)議的兩端可以分為主(master)、從(slave)兩端,他們之間一般需要通過一個AXI Interconnect相連接,作用是提供一個或多個AXI主設(shè)備連接到一個或多個AXI從設(shè)備的一種交換機制。

zynq的AXI接口共有3種類型:

  • AXI_ACP接口:加速器一致性接口,用來管理DMA之類不帶緩沖的AXI外設(shè),PS端是Slave接口。

  • AXI_HP接口:高性能/帶寬的AXI3.0標(biāo)準接口,共有4個,PL模塊作為主設(shè)備連接。主要用于PL訪問PS上的存儲器(DDR和On-Chip RAM)。

  • AXI_GP接口:通用AXI接口,共有4個,包括兩個32位主設(shè)備接口和32位從設(shè)備接口。

總結(jié)

以上是生活随笔為你收集整理的初学ZYNQ(理论准备)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。