前言
随着电子系统设计的复杂性和需求不断增长,FPGA(现场可编程门阵列)因其灵活性和高性能而成为许多应用领域的首选技术。Xilinx(现已被AMD收购)作为FPGA领域的领导者之一,提供了强大的开发工具来支持从设计到实现的整个流程。此前,我们已经分享了如何搭建Altera(现为Intel的一部分)的开发环境,包括Quartus、ModelSim、Visio和Notepad++等软件的安装与配置。请看
这里,我们继续分享如何搭建 Xilinx 的开发环境,并详细介绍Vitis和Vivado软件平台的设计套件安装过程。此外,我们还将解析 ZYNQ-7010 系列开发板各部位器件的作用,帮助我们更好地理解和使用这一强大的硬件平台。
一. 环境搭建
1. 安装过程
这里只介绍安装流程,不提供应用程序,想要的可以打赏后私我,获取软件应用。应用下载完成后,直接打开exe文件,等待安装程序运行,请看
然后直接点击Next > 全部选中,I Agree,点击Next > 点击Next > 选择安装位置,注意这里选择的文件名称外围不能有中文,且选择盘符较大的磁盘。选中安装位置后,点击Next > 点击Next > 点击Install,安装应用。安装中,
安装结束后会提示,installation completed successfully,安装成功完成,直接点击确定,完后安装。这里会出现几个提示框,直接点击关闭 或者 点击Ignore忽略。
2. 安装成功
程序安装完成后,桌面会出现4个应用分别是,Vitis HLS、Vivado、Xilinx Vitis 和 DocNav,这些工具是 Xilinx 提供的完整 FPGA 开发生态系统的一部分,它们彼此紧密集成,能够覆盖从硬件设计到软件开发的完整流程。每个工具在 FPGA 开发的不同阶段扮演不同的角色,提供不同的功能。
3. 安装文档
有需要的,可以下载安装过程详细介绍的PDF文档
二. ZYNQ-7010
1. 介绍
ZYNQ-7010是Xilinx公司推出的一款集成了ARM Cortex-A9处理器和FPGA(现场可编程门阵列)逻辑的可编程片上系统(SoC),属于Zynq-7000系列,旨在提供高效的计算能力和灵活的硬件配置。该芯片配备两个ARM Cortex-A9核心,支持多线程处理,适合运行复杂的实时应用和操作系统。
Zynq-7010支持DDR3和DDR3L内存,提供高速数据存取,且具有多种接口(如USB、UART、I2C、SPI、CAN等),便于与外部设备连接。这种集成设计不仅降低了系统的复杂性和成本,还提高了性能,广泛应用于工业控制、汽车电子、医疗设备、网络通信、物联网等领域。
由于其可编程特性,用户可以根据特定需求进行定制,从而实现高效的硬件加速和实时处理,是一款功能强大且灵活的SoC解决方案,适合多种高性能计算和嵌入式系统应用。
2. 外观
看下实际收到的开发板图例(ZYNQ_MINI_7010)
不同版本,可能部件位置稍有不同,大致相同。
3. 解析
FPGA开发板,ZYNQ_MINI_7010常用的各部位器件,作用解析。为了让大家更容易记住和区分各个部位的期间,这里将开发板器件,分为三类:接口类、标识类、控件类。
- 接口类(可插入的接口)
- 标识类(器件标识,不可操作的器件)
- 控件类(可操作的器件,类似开关和按键)
①. 接口
可插入的接口,请看
- SD1:SD卡和TF卡插槽,允许用户通过插入SD卡或TF卡进行数据存储和系统引导。
- HDMI | OUT:TNDS编码的HDMI接口,用于传输与输出高清音视频信号,确保高质量的图像和音频体验。
- SDO Boot:通过SD卡或TF卡加载操作系统或固件的引导机制,支持快速启动和便捷更新,适用于需要频繁更新的软件环境。
- EXT IO:扩展输入输出接口,提供连接外部设备或模块的能力,支持多种通信协议,如GPIO、PWM等,以满足特定应用需求并增强系统功能和灵活性。
- UART:串口和供电口(PS),用于串行通信传输和芯片供电,常用于调试和数据传输。串口只针对操作DDR3(PS)端。
- USB:USB接口与供电口,支持数据传输和通过 USB 接口进行电源供电,适用于调试和设备连接。
JTAG:仿真口与供电口(下载器),用于芯片的调试、烧录和供电,连接 JTAG 下载器以编程和调试芯片的内部逻辑。UART、USB、JTAG都可以对开发板进行供电。UART、USB、JTAG都是USB Type-C插口,功能不同,都可以对开发板进行供电。
ETH PL:千兆网口;可编程逻辑(PL)部分的以太网接口,用于通过FPGA实现自定义以太网通信,适合需要高性能网络传输的自定义逻辑设计。
ETH PS:千兆网口;处理系统(PS)部分的以太网接口,由ARM处理器直接控制,用于常规网络通信和数据传输,通常用于系统的标准网络应用。
②. 标识
器件标识,不可操作的器件。请看
PL50.0M时钟:提供给可编程逻辑(PL)部分的50.0 MHz时钟信号,用于确保FPGA逻辑电路的正常运行和时序控制。
ZYNQ:ZYNQ,SOC;可编程片上系统(SOC),集成FPGA和双核ARM Cortex-A9处理器。结合了高性能处理能力和可编程逻辑,支持灵活的硬件加速和软件开发,适用于需要实时处理的嵌入式系统和复杂应用。
DDR3:512M,DDR3(PS);DDR3是计算机系统和嵌入式设备中用于数据存储和快速访问的常见类型内存,是第三代双倍数据速率同步动态随机存取存储器。
PL(D1/D2/D3/D4):4个用户LED灯;可编程逻辑(FPGA部分),通过 D1、D2、D3、D4 指示灯状态反映 FPGA 的运行情况,负责用户定义的硬件加速、数据处理和其它自定义逻辑功能。
OLED096:0.96英寸OLED显示屏,用于显示系统信息、状态或调试输出,能够以高对比度显示文本和图形,适合嵌入式系统的状态指示或简单交互。
DONE:DONE信号指示;操作完成指示灯,用于提示当前任务或操作已经顺利完成,确保系统状态的可视化反馈。
QFLASH:快速闪存存储器接口,用于存储固件、配置文件或系统数据,支持快速访问和更新,通常用于存储系统引导信息或应用程序。
USB灯:USB电源能指示灯;USB电源的启用指示灯,用于显示USB接口是否已通电,确保设备通过USB接口正确供电。
PS33.33M时钟:提供给处理系统(PS)部分的33.33 MHz时钟信号,确保ARM处理器和相关系统模块的时序正确运行。
EEPROM:EEPROM电可擦可编程只读存储器,用于存储系统配置参数、校准数据或其他需要长期保存的数据,即使断电后仍能保持数据完整性。
③. 控件
可操作的器件,类似开关和按键。请看
- BOOT:启动方式;系统启动控制接口,用于选择启动模式和引导顺序。支持SD卡、eMMC或网络启动等多种引导源,提供灵活的系统初始化选项,便于调试和系统恢复。
- POR:重新启动/系统复位;电源重置控制,执行系统硬重置。触发后使所有硬件恢复初始状态,清除临时数据和错误。适用于系统死机、调试或需完全重新初始化的情况。
- K1:可编程按键,支持单击、双击、长按等操作模式(操作的是DDR3存储器)。可自定义功能控制系统电源、切换模式、启动应用或执行任务序列,提升交互体验和操作效率。
- K2/K3:可编程按键,支持单击、双击、长按等操作模式(操作的是片上系统SOC,也就是ZYNQ;如果单纯做FPGA的话,会用到这两个按键)。可自定义功能控制系统电源、切换模式、启动应用或执行任务序列,提升交互体验和操作效率。K1/K2/K3都属于是用户按钮,用于操作不同的器件。
④. 整合
器件顺序整合,按照顺时针介绍。请看
- SD1:SD卡和TF卡插槽,允许用户通过插入SD卡或TF卡进行数据存储和系统引导。
- HDMI | OUT:TNDS编码的HDMI接口,用于传输与输出高清音视频信号,确保高质量的图像和音频体验。
- PL50.0M时钟:提供给可编程逻辑(PL)部分的50.0 MHz时钟信号,用于确保FPGA逻辑电路的正常运行和时序控制。
- SDO Boot:通过SD卡或TF卡加载操作系统或固件的引导机制,支持快速启动和便捷更新,适用于需要频繁更新的软件环境。
- EXT IO:扩展输入输出接口,提供连接外部设备或模块的能力,支持多种通信协议,如GPIO、PWM等,以满足特定应用需求并增强系统功能和灵活性。
- POR:重新启动/系统复位;电源重置控制,执行系统硬重置。触发后使所有硬件恢复初始状态,清除临时数据和错误。适用于系统死机、调试或需完全重新初始化的情况。
- DDR3:512M,DDR3(PS);DDR3是计算机系统和嵌入式设备中用于数据存储和快速访问的常见类型内存,是第三代双倍数据速率同步动态随机存取存储器。
- BOOT:启动方式;系统启动控制接口,用于选择启动模式和引导顺序。支持SD卡、eMMC或网络启动等多种引导源,提供灵活的系统初始化选项,便于调试和系统恢复。
- K1:可编程按键,支持单击、双击、长按等操作模式(操作的是DDR3存储器)。可自定义功能控制系统电源、切换模式、启动应用或执行任务序列,提升交互体验和操作效率。
- K2/K3:可编程按键,支持单击、双击、长按等操作模式(操作的是片上系统SOC,也就是ZYNQ;如果单纯做FPGA的话,会用到这两个按键)。可自定义功能控制系统电源、切换模式、启动应用或执行任务序列,提升交互体验和操作效率。K1/K2/K3都属于是用户按钮,用于操作不同的器件。
- UART:串口和供电口(PS),用于串行通信传输和芯片供电,常用于调试和数据传输。串口只针对操作DDR3(PS)端。
- USB:USB接口与供电口,支持数据传输和通过 USB 接口进行电源供电,适用于调试和设备连接。
-
JTAG:仿真口与供电口(下载器),用于芯片的调试、烧录和供电,连接 JTAG 下载器以编程和调试芯片的内部逻辑。UART、USB、JTAG都是USB Type-C插口,功能不同,都可以对开发板进行供电。
-
PL(D1/D2/D3/D4):4个用户LED灯;可编程逻辑(FPGA部分),通过 D1、D2、D3、D4 指示灯状态反映 FPGA 的运行情况,负责用户定义的硬件加速、数据处理和其它自定义逻辑功能。
-
OLED096:0.96英寸OLED显示屏,用于显示系统信息、状态或调试输出,能够以高对比度显示文本和图形,适合嵌入式系统的状态指示或简单交互。
-
DONE:DONE信号指示;操作完成指示灯,用于提示当前任务或操作已经顺利完成,确保系统状态的可视化反馈。
-
QFLASH:快速闪存存储器接口,用于存储固件、配置文件或系统数据,支持快速访问和更新,通常用于存储系统引导信息或应用程序。
-
USB灯:USB电源能指示灯;USB电源的启用指示灯,用于显示USB接口是否已通电,确保设备通过USB接口正确供电。
-
PS33.33M时钟:提供给处理系统(PS)部分的33.33 MHz时钟信号,确保ARM处理器和相关系统模块的时序正确运行。
-
ETH PL:千兆网口;可编程逻辑(PL)部分的以太网接口,用于通过FPGA实现自定义以太网通信,适合需要高性能网络传输的自定义逻辑设计。
-
ETH PS:千兆网口;处理系统(PS)部分的以太网接口,由ARM处理器直接控制,用于常规网络通信和数据传输,通常用于系统的标准网络应用。
-
ZYNQ:ZYNQ SOC;可编程片上系统(SOC),集成FPGA和双核ARM Cortex-A9处理器。结合了高性能处理能力和可编程逻辑,支持灵活的硬件加速和软件开发,适用于需要实时处理的嵌入式系统和复杂应用。
-
EEPROM:EEPROM电可擦可编程只读存储器,用于存储系统配置参数、校准数据或其他需要长期保存的数据,即使断电后仍能保持数据完整性。
-
因为开发板不同批次,器件位置稍有不同,而且介绍的都是常用的部分器件,可能稍有不同,对号入座,多看开发板标识。
⑤. SD与TF
上文有提到SD卡与TF卡
SD卡(Secure Digital Card)
SD卡是一种存储卡,用来在数码相机、摄像机等设备上保存照片、视频和其他文件。它有不同的容量和速度等级,可以快速读写数据。
TF卡(TransFlash卡),也称为MicroSD卡
TF卡或MicroSD卡是更小的存储卡,主要用于手机和平板电脑,用来存照片、视频和应用。它也有不同的容量和速度,方便携带和使用。‘
’
SD卡与TF卡的区别
主要区别在于尺寸和应用场景。SD卡体积较大,适合需要标准卡槽的设备;而TF卡更小巧,用于便携式电子设备。尽管两者在功能和容量上相似,但TF卡可通过适配器兼容SD卡槽,而SD卡则无法直接用于TF卡槽。