xilinx ZYNQ学习随笔(0)
0.为什么要写这个随笔
这是一个关于赛灵思FPGA+linux学习的博客,持续更新到我完成毕设为止,预计将会在27年1月前完成全部工作。(希望吧www)
1.前置知识
1.1何为FPGA
在学习FPGA前,我了解过一些嵌入式系统,也参加过一些嵌入式相关的比赛如电赛、嵌赛,在赛题的众多解决方案中,不乏有使用FPGA完成题目要求的。和传统MCU相比,FPGA最大的特点就在于他的可重构性。
现场可编程门阵列(FPGA)是一种半导体器件,可通过编程执行各种数字功能。它由可编程逻辑块阵列和互连器件组成,通过配置可实现定制的数字电路。与拥有固定硬件并按顺序执行指令的微控制器不同,FPGA 可通过改变其内部连接和逻辑重新编程,以执行不同的任务。
FPGA 的主要组件是逻辑元件 (LE) 和可编程互连器件。逻辑元件是数字电路的构件,可执行各种功能,如基本逻辑运算、算术和内存存储。每个逻辑元件通常包含一个查找表 (LUT)、一个触发器和其他元件,使其能够执行复杂的操作。另一方面,可编程互连器件负责连接 LE 以形成所需的电路。它们可以通过配置来创建各种连接,从而在设计定制数字电路时具有极大的灵活性。
在某些应用中,与传统微控制器和专用集成电路(ASIC)相比,FPGA 具有多种优势。其中最显著的优势之一是其可重新编程性,这使得设计人员即使在现场部署了 FPGA 后,仍可修改其功能。这一特性可实现快速原型开发和迭代设计,并能在不实际更换器件的情况下更新或修复硬件错误。此外,FPGA 还能为并行处理任务提供卓越的性能,因为其架构允许同时执行多个操作。这使得 FPGA 非常适合数字信号处理、高性能计算和密码学等应用。
1.2何为ZYNQ
以下文字摘自小梅哥 【用户手册】AC820开发板用户手册_Zynq7020 v1.1
自 2013 年,Xilinx 全球首发集成高性能双核ARM Cortex-A9 硬核 CPU 的ZYNQ 全可编程 SOC FPGA 以来,到今天,已经过去了整整 11 个年头。这十一年里,我们深深感受到了 CPU+FPGA 这种混合架构计算芯片的强大魅力。ZYNQ,他在 28nm 的 FPGA 中首次集成了当时非常先进的高性能双核 ARM Cortex-A9 硬核 CPU,并给 CPU 和 FPGA 之间架上了几架高带宽的 AXI 通信总线,让 FPGA 随时可以与 CPU 进行高速高效率的数据通信。为工业控制和信号分析领域,带来了巨大的便利。从此,大家不必再因为传统的 ARM 与 FPGA 独立芯片系统中两者的通信速度和通信效率发愁。FPGA 强大的现场可编程特性,也为传统以 CPU为主导的系统,提供了更加灵活的设计方案,当 CPU的外设数量或功能无法满足某个系统设计需求时,我们可以使用 ZYNQ 中的 FPGA 来构建相应功能并连接到 CPU 的外设总线上,打破 CPU 的结构限制。在 ZYNQ 发布 6 个月后,另一家老牌 FPGA 厂商——Altera,也发布了其集成双核 ARM Cortex-A9 硬核 CPU 以及 28nm FPGA 的 SOC FPGA。其中最具代表性的就是 Cyclone V SoC 系列。
(这应该也是大多同学了解到的第一款SOC FPGA)
不管是 Xilinx 的 ZYNQ 还是 Altera 的 SoC FPGA,两家的器件结构大同小异,都是高性能的 CPU 加高性能的可编程逻辑,都可以运行成熟的 Linux 系统,也都有着各自完善的开发环境。两大 FPGA 巨头前后脚押注这种异构器件,也证明了该结构的巨大魅力和广阔的市场前景。
2.我的学习路径
对于FPGA,我可以说是一窍不通,相反,我先前的嵌入式学习和比赛经历让我能够较快地入手开发板上的A核开发工作。恰好,我在项目中承担的主要就是这部分工作,我的学习计划如下:
- 认识 Zynq 和开发环境
- 启动系统、串口登录
- 在板上使用 Linux
- 网线连接与文件传输
- 交叉编译与模拟数据程序
- 网页显示模拟数据
- 理解和构建 Linux 系统
- 设备树、驱动与 FPGA 接入
3.学习目标与展望
顺利毕业!

浙公网安备 33010602011771号