【ZYNQ学习之FPGA开发】零、ZYNQ硬件初探
2023-09-11 14:20:36 时间
ZYNQ All Programmable SoC
- 赛灵思(Xilinx)推出的新一代全可编程片上系统,它将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。
- ZYNQ旨在为视频监控、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理能力与计算性能。这款基于ARM处理器的SoC可满足嵌入式系统的高性能、低功耗和多核处理能力等要求.
SoC概念
- 一个芯片上实现一个系统的功能
- 与板上系统相比,SoC的解决方案成本更低,能在不同的系统单元之间实现更快更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更好的可靠性。
SoC发展
- 基于ASIC的SoC
- 可编程片上系统(SOPC,System-on-Progammable-Chip)
- 在FPGA部分实现ARM处理器
- 全可编程片上系统(APSoC,All-Programmable SoC)
- 硬核ARM处理器
ZYNQ组成
- PS(Processing System)
- ARM处理器端
- PL(Programmable Logic)
- FPGA部分
- 性能 Artix < Kintex,如下图
PL
- PLD(Programmable Logic Device)可编程逻辑器件
- PLD内部的电路结构可以通过写入编程数据来设置
- 写入PLD的编程数据还可以擦除重写。即,PLD逻辑功能刻有使用者通过编程来设定
- 常用的PLD
- CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件
- 基于乘积项的与或逻辑阵列
- FPGA(Field Programmable Gare Array)现场可编程门阵列
- 基于查找表(LUT,Look Up Table)的CLB阵列
- FPGA定义:一种可通过编程来修改其逻辑功能的数字集成电路。
- CPLD与FPGA本质差异:电路结构不同
- CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件
FPGA的架构
更详细的内部
- 可编程IO单元
- 可编程逻辑单元 - 如前面提到的CLB
- 底层嵌入功能单元 - 如PLL、DSP
- 嵌入式块RAM(Block RAM)
- 布线资源
- 硬核 - 有的有,有的没
PS部分
Vivado简介
- 类似Quartues
- 支持Block Design、Verilog、VHDL等多种设计输入方式
- 内嵌综合器以及仿真器
- 可以完成从设计输入、综合适配、仿真(通常也可以借助第三方仿真软件modelsim)到下载的完整FPGA开发流程
- 集成HLS(High Level Synthesis)工具,可以直接从高级语言生成硬件描述语言
Vivado开发流程(PL部分)
- 打开软件
- 新建工程
- 设计输入
- 如使用Verilog语言
- 分析与综合
- 语法检查、优化、转化为底层电路
- 约束输入
- IO约束(分配管脚)
- 时序约束(系统时钟、对于高速设计才需要添加)
- 设计实现
- 生成和下载比特流(bit - 用来下载程序)
调试利器
- ILA核(Integrated Logic Analyzer)
- 监控逻辑内部信号和端口信号
- VIO核(Virtual Input/Output)
- 实时监控和驱动逻辑内部信号和端口信号
相关文章
- [Python学习] 专题一.函数的基础知识
- 光模块硬件学习
- Opencv学习笔记 在OpenCV中使用Mask R-CNN
- Python语言学习:Python语言学习之硬件交互应用(arduino、树莓派等)相关的简介、案例应用之详细攻略
- Py之scikit-learn:机器学习sklearn库的简介、六大基本功能介绍(数据预处理/数据降维/模型选择/分类/回归/聚类)、安装、使用方法(实际问题中如何选择最合适的机器学习算法)之详细攻略
- 成为Qt开发大牛,从入门到精通,一步一步走完整个学习路线!
- 一个有意思还有用的Python包-汉字转换拼音(附零基础学习教程)
- 极角排序学习
- Stealth视频教程学习笔记(第一章)
- 机器学习——最大熵模型
- 智能车学习(一)—— 硬件准备
- cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建
- 【youcans 的 OpenCV 学习课】8. 频率域图像滤波(上)
- 【机器学习】采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?(面试回答)
- gradle学习入门:Gradle自动化构建工具的安装和使用
- 深度学习7 hsigmoid硬件友好的激活函数实现
- 【硬件架构的艺术】学习笔记(4)流水线的艺术
- 【硬件架构的艺术】学习笔记(1)亚稳态的世界