ZYNQ第一天学习笔记
1.Zynq-7000 All Programmable SoC
ZYNQ是赛灵思公司(Xilinx)推出的新一代全可编程片上系统,它将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。
ZYNQ旨在为视频监控、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理能力与计算性能。这款基于ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力等要求。
SOC概念:SYStem ON chip ,一个芯片上实现一个系统的功能。
特点: 与板上系统相比,SoC的解决方案成本更低,能在不同的系统单元之间实现更快更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更好的可靠性。
板上系统:
SOC片上系统:
(1)基于ASIC的SoC:手机的麒麟芯片使用的是ASIC的SOC。
(2)可编程片上系统(SOPC,System-on-Progammable-Chip):FPGA
(3)全可编程 片上系统(APSoC,All-Programmable SoC):zynq
ZYNQ的本质特征,是它组合了一个双核ARM Cortex-A9处理器(蓝色)和一个传统的现场可编程门阵列 (FPGA)逻辑部件(黄色)。
2.PL部分(等价于一片FPGA)
(1)允许用户自行修改内部连接的集成电路:可编程逻辑器件(Programmable Logic Device)
1、PLD内部的电路结构可以通过写入编程数据来设置;
2、写入PLD的编程数据还可以擦除重写(可重配置);
PLD的逻辑功能可以由使用者通过编程(对硬件进行编程)来设定。
常用的可编程逻辑器件:
CPLD:复杂可编程逻辑器件(Complex Programmable Logic Device)
FPGA:现场可编程门阵列(Field Programmable Gate Array)
本质差异:电路结构不同。
CPLD:基于**“乘积项”的与或逻辑阵列
FPGA:基于“查找表”(LUT,Look UP Table)的CLB阵列。
什么是FPGA?
一种可通过编程来修改其逻辑功能**的数字集成电路(芯片)。
(2)FPGA架构:
可编程IO单元:可以配置为输入输出模式。
可编程逻辑单元:CLB,可配置的逻辑块。
底层嵌入功能单元:PLL,dsp等。
嵌入式块RAM:用于存储数据电路结构。
布线资源:负责把功能模块连接起来,可配置。
硬核:专用
(3)ZYNQ PL架构:
硬核:XADC block、gtx transceivers
Artix™-based devices: Z-7010, Z-7015, and Z-7020
Kintex™-based devices: Z-7030, Z-7045, and Z-7100
3.PS部分
AXI Interface:PS与PL进行连接互联。
APU:应用处理单元红框。双核。
FPU:浮点单元。
NEON Engine:单指令多数据,视频像素点并行处理,快速FFT、傅里叶变换等。
MMU:存储单元,实现物理地址到虚拟地址的映射。
I-Cache(指令 ) d-cache(数据) 一级缓存。
512KB L2c ache 二级缓存。
OCM intercenne:片上存储器
GIC:外部中断处理器
EMIO:扩展的MIO,可以连接到PL的IO引脚。
XADC:可以直接访问PL的XADC硬核。
irq:PL产生中断信号给到PS。
PS架构:
ACP接口:实现PS的二级缓存的访问,实现PL到PS存储器低延时的访问,加速器一致接口。
GP接口:通用接口分为主从。
HP接口:实现高带宽数据访问,PL做主机,PS做丛机。
AXI is Part of ARM’s AMBA
Memory map:存储映射,中低速
Stream:大量数据的搬移
lite:轻量级,memory map的简化版
上一篇:C语言例程:学生成绩管理程序