傳統(tǒng)的嵌入式 SoC 硬件系統(tǒng)架構(gòu)如下:
XILINX 作為 FPGA (Field Programmable Gate Array)的領(lǐng)導(dǎo)者,率先將專用的中央處理器 CPU 硬核與 FPGA 集成于一顆芯片中,產(chǎn)生了一種全新的異構(gòu)平臺,稱之為全可編程片上系統(tǒng)(All Programmable SoC);這個全新平臺的誕生,對全球信
息技術(shù)的發(fā)展起到了巨大的推動作用。一方面,使得嵌入式系統(tǒng)的設(shè)計結(jié)構(gòu)更加靈活,體積顯著縮小,可靠性和系統(tǒng)整體性能明顯提高;另一方面,使得FPGA可以進入到嵌入式系統(tǒng)應(yīng)用領(lǐng)域,極大地擴展了 FPGA 的應(yīng)用范圍。(Altera 也有類似產(chǎn)品);
其中的“處理系統(tǒng)”為 PS,“可編程邏輯”為 PL
PS 處理系統(tǒng)包含 ARM 的硬核,可以上 OS 并跑一些復(fù)雜的軟件應(yīng)用,PL 端可以定制需要的運算或者外設(shè),通過 AXI 總線與 PS 通信:
使用一顆 ZYNQ 來實現(xiàn)以前的 ARM 外掛 FPGA 的設(shè)計架構(gòu),即降低了總成本,同時可以改善性能,降低功耗,較少體積的同時,提升可靠性;
XILINX 的 ZYNQ 產(chǎn)品線按照不同的場景分了很多類:
從入門級的 ZYNQ-7000 SoC系列到高端的 ZYNQ UltraScale+RFSoC 系列;
不同系列包含的不同主要體現(xiàn)在兩方面:
1、包含的 ARM 處理器核心不一樣(CPU 核心數(shù)目以及 CPU 核心版本比如 Cortex-A9,Cortex-A53+Cortex-R)
2、包含的 FPGA 資源不一樣(資源多少以及 XILINX 的 Artix 器件系列和 Kintex系列差別)
這里,我選擇了入門款的 ZYNQ-7000 系列來玩玩,具體的型號為 XC72020,也就是 7020 這款;
具體的 ZYNQ-7000 選型列表參考:
《Zynq-7000 SoC Family Product Selection Guide》
這款 ZYNQ-7000 集成了 ARM Cortex-A9 雙核處理器(硬核)+ Artix 7 系列的 FPGA 特性
下面是 ZYNQ-7000 包含的資源:
可以看到7020 這款包含 Dual-Core ARM Cortex-A9 MPCore 以及豐富的外設(shè),F(xiàn)PGA 方面列出了 LUTs 個數(shù),F(xiàn)F 個數(shù),BRAM,DSP Slices 的個數(shù)(沒有 PCIe 的 IP);
它的內(nèi)部互聯(lián)結(jié)構(gòu)如下:
兩顆 ARM Cortex-A9 核心帶 L1/L2 Cache,帶 MMU,F(xiàn)PU & NEON 引擎,內(nèi)部片上存儲器 OCM(On Chip Memory),豐富的外設(shè)以及 GIC 中斷控制器;下端是 FPGA 部分,使用 AXI 總線通過 Interconnect 與 CPU 硬核以及外部部分組成互聯(lián)結(jié)構(gòu);
大致了解 ZYNQ-7000 的情況后,還需要更加深入的了解工作原理、機制、和相關(guān)的一些資料,這樣才能將其玩好;針對 ZYNQ-7000 系列的資料,最主要的有如下內(nèi)容:
UG585, ZYNQ-7000 的 TRM 手冊,關(guān)鍵的關(guān)鍵
由于 ZYNQ 的 FPGA 是 XINLIX 7 系列的 FPGA,所以針對 FPGA 方面需要了解的還有:
? UG471, 7 Series FPGAs SelectIO Resources User Guide
? UG472, 7 Series FPGAs Clocking Resources User Guide
? UG473, 7 Series FPGAs Memory Resources User Guide
? UG474, 7 Series FPGAs Configurable Logic Block User Guide
? UG476, 7 Series FPGAs GTX Transceiver User Guide
? UG482, 7 Series FPGAs GTP Transceiver User Guide
? PG054, 7 Series FPGAs Integrated Block for PCI Express LogiCORE IP Product Guide
? UG479, 7 Series FPGAs DSP48E1 User Guide
? UG480, 7 Series FPGAs XADC User Guide
? UG821, Zynq-7000 SoC Software Developers Guide
關(guān)于 7 系列的 FPGA 的個別部分,之前的博客有所涉及,待今后具體使用到的時候在更加深入的分析;
更多的與 ZYNQ-7000 相關(guān)的資料,參考 XILINX 官方網(wǎng)站部分,后續(xù)還可能還會涉及到 VIVADO 相關(guān)的一些操作說明和 ZYNQ-7000 的 Linux(PetaLinux 工具)的部分,這些 XILINX 官方也有技術(shù)手冊,到時候涉及到的時候在分享;
官方的 Xilinx Zynq?-7000 的 Demo 單板叫 ZedBoard 有興趣的可以網(wǎng)上搜索一下,我是某寶上購得一塊 7020,以此學(xué)習(xí)研究 ZYNQ 異構(gòu);