摘要
观看正点原子启明星7020教学视频进行相关名词汇总,仅作为学习笔记
http://【【正点原子】手把手教你学ZYNQ之FPGA开发篇-基于领航者/启明星 V2 ZYNQ7020】 https://www.bilibili.com/video/BV1CK411A7d3/?share_source=copy_web&vd_source=2e43b736cdce3f18e8791d213e542bba
http://【【正点原子】手把手教你学ZYNQ之FPGA开发篇-基于领航者/启明星 V2 ZYNQ7020】 https://www.bilibili.com/video/BV1CK411A7d3/?p=2&share_source=copy_web&vd_source=2e43b736cdce3f18e8791d213e542bba
一、总体
1.ZYNQ:Zynq-7000 All Programmable SoC(APSoC),赛灵思公司(AMD Xilinx)推出的新一代全可编程片上系统。ZYNQ将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。
2.PS:Processing System,处理系统(也就是我们常用的单片机,负责软件编程)
3.PL:Program Logic,可编程逻辑(也就是我们常用的FPGA,负责硬件编程)
4.Soc:System on Chip,片上系统。把需要多颗芯片完成的内容集成到一颗芯片中。与板上系统相比,SoC的解决方案成本更低,能在不同的系统单元之间实现更快更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更高的可靠性。
5.板上系统:通常指把一个完整电子系统所需的多个芯片和器件安装在同一块电路板上。
6.ASIC:Application-Specific Integrated Circuit,“专用集成电路”。电路在制造时固定,不可修改。把确定好的硬件电路做成芯片。
7.SOPC:System-on-Progammable-Chip,可编程片上系统。
8.APSoC:ALL-Programmable SoC,全可编程片上系统
9.常见开发过程:功能需求 -> 使用Verilog/VHDL设计 -> 在FPGA上验证 -> 进行ASIC综合与物理设计 -> 流片 -> 封装测试
二、PL可编程逻辑
1.FPGA:Field Rrogrammable Gate Array,现场可编程门阵列
2.CLB:Configurable Logic Block,可配置逻辑块。FPGA 内部实现普通数字逻辑的基本单元。通常包含LUT(查找表),触发器FF,进位链,多路选择器
3.进位链:用于加速加法器,减法器,比较器和计数器。普通布线:每到一个人都要进办公室、登记,再传给下一个人。进位链:所有人站成一排,消息直接快速递给旁边的人。
4.LUT:Look UP Table,查找表;它本质上是一小块预先存好结果的存储单元:输入作为地址,LUT 直接查出对应的输出。LUT 就是把逻辑函数的所有答案提前存好,输入来了以后直接查答案。
5.FF:Flip-Flop,触发器,FPGA 中用于保存 1 位数据的基本存储单元。到达指定的时钟边沿时,把 D 的值保存到 Q;其他时间保持 Q 不变。
6.FPGA架构
7.FPGA 芯片内部资源分布示意图
8.Artix 和 Kintex 都是 AMD/Xilinx 的 FPGA 系列,各有优势
| 对比 | Artix-7 | Kintex-7 |
|---|---|---|
| 定位 | 低成本、低功耗 | 中高性能、价格性能平衡 |
| 逻辑规模 | 通常较小 | 通常更大 |
| DSP数量 | 较少 | 较多 |
| BRAM容量 | 较少 | 较多 |
| 工作频率 | 相对较低 | 相对较高 |
| 高速收发器 | 主要是 GTP | 主要是速度更高的 GTX |
| PCIe能力 | 最高常见为 ×4 Gen2 | 最高常见为 ×8 Gen2 |
| 价格、功耗 | 较低 | 较高 |
三、PS(Processing System)处理系统
1.ARM处理器(硬处理器):已经固定的硬件电路,无法改变
2.MicroBlaze处理器(软处理器):质上是一份可配置的处理器 IP,被映射到 FPGA 可编程逻辑中
3.内部系统框图
4.Application Processor Unit:应用处理器单元,APU是PS中负责执行软件的核心区域
5.ARM Cortex-A9 CPU:真正执行程序指令的硬处理器
6.FPU:Floating-Point Unit,浮点运算单元
7.NEON Engine :ARM的SIMD向量处理单元。普通指令可能以此处理一个数据,NONE一条指令可以并行处理一组数据。
8. MMU:Memory Management Uint,内存管理单元
9.32 KB I-Cache:I-Cache 是指令缓存,每个 CPU 核拥有32 KB。它暂存 CPU 即将执行的指令,减少 CPU 反复从较慢的 DDR 中读取程序代码。
10.32 KB D-Cache:D-Cache 是数据缓存,每个 CPU 核也有32 KB。它暂存 CPU 经常读写的数据。
11.GIC:Generic Interrupt Controller,通用中断控制器
12.Snoop Controller:这是缓存一致性控制单元 SCU 的核心功能。双核 CPU 各有自己的 L1 Cache。假如 CPU0 修改了一个数据,CPU1 必须知道该数据已经变化。Snoop Controller 会监听缓存访问并维持两个 CPU 的 L1 Cache 一致性。ACP 接口的数据一致性也由它参与维护。
13.Central Interconnect:PS 内部的总线互连网络。负责连接:ARM 处理器、PS 外设、DMA、OCM、DDR 控制器、PS 与 PL 之间的 AXI 端口
14.MIO:(Multiplexed I/O)PS 专用的复用引脚,PS 外设可以直接通过 MIO 连接到芯片外。
15.EMIO:先把 PS 外设信号引入 PL,再由 PL 连接到 FPGA 的普通 I/O。EMIO 传递的是外设信号,不是高速存储数据通道;大量数据交换通常走 AXI 接口。
16.General-Purpose Ports:通用端口(三类关键的AXI接口之一)。通过这些端口PS和PL能相互进行访问。
17.High-Performance Ports:高性能端口。用于 PL 高速访问 PS 内存系统。HP 接口特别适合:摄像头图像写入 DDR、ADC 高速采集、视频帧读写、大块矩阵数据交换、硬件加速器批量读取和写回数据
18.ACP:加速器一致性端口.它把 PL 主设备连接到 APU 的 Cache 一致性系统。PL 访问数据时,可以与 CPU 的 L1/L2 Cache 协同。
19. Config AES/SHA:底部的Config AES/SHA是配置安全模块。