最近在研究Zynq-7000系列FPGA(惭愧惭愧,XILINX都出到Ultra+了,我还停留在7系列。。。),有感UG585手册内容太多,太难啃,决定好好学习并记录下(不是对照翻译,只记录本人认为比较重要的部分,尽量覆盖到位)。
可能要花好长时间写完,尽量往前赶吧。
1. 概述
Zynq-7000基于XILINX SoC架构,集成了1个或2个Cortex-A9处理器(PS)和一个基于XILINX 可编程器件(PL),采用28nm工艺,拥有在系统存储、外部存储接口和丰富的IO接口。
Zynq-7000系列SoC的功能框图如下:
PS和PL供电部分相互独立,可以关闭PL电源,达到节能的目的。
7z010/7z015/7z020(双核器件)7z007s/7z012s/7z014s (单核器件)沿用Artix-7架构,7z030/7z035/7z045/7z100沿用Kintex-7架构,更多关于PL的特性,可参考XILINX 7系列FPGA用户手册部分(UG471~UG480)。
7007s和7010 CLG225器件 PS特性和其他器件不同,包括更少的MIO引脚(32个),更少的DDR数据线(16 pin)以及更少的XADC信号(4组)。
2. PS基本特性描述
2.1 APU
应用处理单元(APU),基本特性如下:
- 系统级控制寄存器(SLCR);
- 256KB 在系统SRAM(OCM),含奇偶校验;
- DMA控制器(PS/PL各4个通道);
- 通用中断控制器(GIC);
- 看门狗定时器。
2.2 存储接口
- DDR控制器:支持DDR3/DDR3L/DDR2/LPDDR-2,16b/32b位宽(16b含ECC);
- QSPI控制器:4-bit 双向IO信号,读取速率支持x1/x2/x4,写入速率支持x1/x4,主模式最高时钟频率100MHz,128Mb以下(含)容量器件支持IO和线性模式,128Mb以上(不含)器件仅支持IO模式,支持两片QSPI器件并联
- 静态存储控制器:NAND控制器(8/16-bit位宽含1位片选,异步操作模式),并行SRAM/NOR控制器(8-bit位宽含1/2位片选,异步存储模式)。
2.3 IO外设
IO外设如下:
- GPIO:多达54个(可配置为三态输出),192个交互GPIO;
- 吉比特以太网(2组):RGMII接口(MIO),SGMII接口(GTP/GTX),符合IEEE802.3-2008;
- USB控制器(2组):7010仅有一个USB控制器,支持12个终端,需要外部PHY;
- SD/SDIO控制器(2组):支持全速/低速,支持1-bit/4-bit数据接口;
- SPI控制器(2组):最高支持50MHz时钟频率;
- CAN控制器(2组):符合ISO11898-1规范,支持标准帧/扩展帧,最高速率1Mb/s;
- UART控制器(2组):数据位6/7/8-bit,停止位1/1.5/2-bit;
- I2C控制器(2组):符合I2C总线规范V2;
- PS MIO IO:Bank 0包含[0:15],Bank 1包含[16:53],输出电压可配置位1.8/2.5/3.3V,CMOS/HSTL电平。
3. PL基本特性描述
PL部分基本特性如下:
- 可配置逻辑块(CLB);
- 36Kb 块RAM;
- 数字信号处理单元(DSP48E1);
- 时钟管理;
- 可配置IO;
- 低功耗吉比特以太网(GTX/GTP);
- 模数转换器(XADC):双通道12-bit 1MSPS ADC;
- 集成PCIe接口:符合2.1规范。
4. 互联特性描述
可参考图1.1和图5.1。
4.1 基于高带宽AXI总线的PS互联
包含OCM互联和中央互联。
- OCM互联:提供了从中央互联/PL到OCM(256KB存储)的通道,通过SCU访问OCM将提供最低的延迟;
- 中央互联:64-bit,将IOP/DMA控制器连接到DDR控制器/OCM/AXI_GP接口,连接本地DMA单元,连接PS到IOP;
4.2 PS-PL互联
存在两种接口,功能接口和配置引脚。
- 功能接口:包含AXI互联、扩展MIO(EMIO),可连接至PL用户自定义IP;
- 配置引脚:包含PCAP、配置状态、SEU、Program/Done/Init。
AXI接口包含AXI_ACP、AXI_HP和AXI_GP。
5. 系统软件
参考UG821。